getcwd: Fix cross-compilation guess for musl libc.
[gnulib.git] / ChangeLog
blob12bb66a4eaf5e05573ce74d86c39754b43ec2ac4
1 2021-01-24  Bruno Haible  <bruno@clisp.org>
3         getcwd: Fix cross-compilation guess for musl libc.
4         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Guess no also on
5         musl libc.
6         * doc/posix-functions/getcwd.texi: Update platform info.
8 2021-01-24  Bruno Haible  <bruno@clisp.org>
10         expm1l: Fix configure test result with GCC 10 on powerpc64le.
11         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Change test to avoid GCC optimization.
13 2021-01-23  Bruno Haible  <bruno@clisp.org>
15         utime: Fix configure test (regression 2020-12-04).
16         Reported by Ryan Schmidt <wget@ryandesign.com> via Tim Rühsen in
17         <https://lists.gnu.org/archive/html/bug-gnulib/2021-01/msg00282.html>.
18         * m4/utime.m4 (gl_FUNC_UTIME): In the test program, include <utime.h>,
19         not <time.h>.
21 2021-01-23  Paul Eggert  <eggert@cs.ucla.edu>
23         libc-config: port to Xcode 7
24         Problem reported by Mattias Engdegård in:
25         https://lists.gnu.org/r/emacs-devel/2021-01/msg01089.html
26         * lib/cdefs.h (__nonnull): If already defined but glibc is not in
27         use, override the definition with Gnulib’s _GL_ATTRIBUTE_NONNULL.
28         This is needed for Xcode 7, which has a ‘#define __nonnull
29         _Nonnull’ builtin for backwards-compatibility with an older Xcode
30         syntax that GNUish code never uses.
32 2021-01-23  Bastien Roucariès  <rouca@debian.org>
34         explicit_bzero: Add fallback for other compilers.
35         * lib/explicit_bzero.c (explicit_bzero): For other compilers, invoke
36         memset through a volatile function pointer.
38         explicit_bzero: Add support for clang.
39         * lib/explicit_bzero.c (explicit_bzero): Add a compiler barrier for
40         clang.
42 2021-01-21  Paul Eggert  <eggert@cs.ucla.edu>
44         Port FALLTHROUGH to clang 3.4 and earlier
45         Problem reported by Akim Demaille in:
46         https://lists.gnu.org/r/bug-gnulib/2021-01/msg00241.html
47         * lib/cdefs.h (__glibc_has_attribute):
48         * m4/gnulib-common.m4 (gl_COMMON_BODY):
49         Do not trust __has_attribute in clang 3.4 and earlier, as
50         <https://releases.llvm.org/3.5.0/tools/clang/docs/ReleaseNotes.html>
51         says that __has_attribute is unreliable in these old versions.
53 2021-01-20  Bruno Haible  <bruno@clisp.org>
55         gc-random: Fix link error in tests.
56         * modules/crypto/gc-random (Link): New section.
57         * modules/crypto/gc-tests (Makefile.am): Link test-gc with
58         $(LIB_GETRANDOM).
60 2021-01-20  Simon Josefsson  <simon@josefsson.org>
62         gc-random: Replace implementation with call to getrandom.
63         * lib/gc-gnulib.c [GNULIB_GC_RANDOM]: Replace #include's with
64         those needed for getrandom.
65         (gc_init): Remove old randomness code.
66         (gc_done): Likewise.
67         (randomize): Rewrite using getrandom, inspired by getentropy.
68         * m4/gc-random.m4: Remove file.
69         * modules/crypto/gc-random: Drop gc-random.m4, gl_GC_RANDOM, and
70         LIB_GC_RANDOM.  Add conditional dependency on getrandom.
71         * modules/crypto/gc-tests (test_gc_LDADD): Drop LIB_GC_RANDOM.
73 2021-01-20  Bruno Haible  <bruno@clisp.org>
75         exec*e tests: Avoid test failures on Cygwin.
76         * tests/test-execle-main.c (main): On Cygwin, add /bin to the new PATH.
77         * tests/test-execve-main.c (main): Likewise.
78         * tests/test-execvpe-main.c (main): Likewise.
80 2021-01-20  Bruno Haible  <bruno@clisp.org>
82         canonicalize-lgpl: Work around a Cygwin bug.
83         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Test for lstat. Add a
84         test case that involves a symbolic link to an existing file.
85         * doc/posix-functions/realpath.texi: Mention the Cygwin bug.
87 2021-01-20  Bruno Haible  <bruno@clisp.org>
89         doc: Document ptsname_r bug on Cygwin.
90         * doc/glibc-functions/ptsname_r.texi: Mention Cygwin bug.
92 2021-01-20  Bruno Haible  <bruno@clisp.org>
94         sethostname tests: Avoid test failure on Cygwin.
95         * tests/test-sethostname2.c (main): Treat errno EACCESS like EPERM.
97 2021-01-19  Paul Eggert  <eggert@cs.ucla.edu>
99         fnmatch, regex, fts: FALLTHROUGH consistency
100         Be more consistent about how FALLTHROUGH is defined.
101         For Gnulib, use attribute.h.  For glibc, use __GNUC__ >= 7.
102         Problem for glibc reported by Vaseeharan Vinayagamoorthy in:
103         https://sourceware.org/pipermail/libc-alpha/2021-January/121778.html
104         * lib/fnmatch.c (FALLTHROUGH) [_LIBC]:
105         * lib/regex_internal.h (FALLTHROUGH) [_LIBC]:
106         Don’t worry about Clang, as it’s not needed and provokes GCC.
107         * lib/fts.c (FALLTHROUGH) [!_LIBC]:
108         * lib/regex_internal.h (FALLTHROUGH) [!_LIBC]:
109         Rely on attribute.h for FALLTHROUGH
110         * modules/regex: Depend on attribute module.
112 2021-01-19  KO Myung-Hun  <komh78@gmail.com>
114         spawn-pipe: Fix SIGSEGV on OS/2 kLIBC.
115         * lib/spawn-pipe.c [OS/2 kLIBC]: Check directory correctly if it means
116         a current directory.
118 2021-01-19  KO Myung-Hun  <komh78@gmail.com>
120         dirent: Fix compilation error in C++ mode on OS/2 kLIBC.
121         * lib/dirent.in.h (dirfd): Redefine dirfd macro as a rpl function
122         always.
124 2021-01-19  KO Myung-Hun  <komh78@gmail.com>
126         zerosize-ptr: Fix compilation on OS/2 kLIBC.
127         * tests/zerosize-ptr.h [OS/2 kLIBC]: Don't use mmap().
129 2021-01-19  KO Myung-Hun  <komh78@gmail.com>
131         stddef: Fix compilation for max_align_t on OS/2 kLIBC.
132         * lib/stddef.in.h [OS/2 kLIBC]: Include <cstddef> in C++ mode.
134 2021-01-19  KO Myung-Hun  <komh78@gmail.com>
136         yield: Implement for OS/2 kLIBC.
137         * modules/yield (Depends-on): Add sched_yield.
139         sched_yield: Implement for OS/2 kLIBC.
140         * lib/sched_yield.c (sched_yield) [OS/2 kLIBC]: New implementation.
142 2021-01-19  KO Myung-Hun  <komh78@gmail.com>
144         spawn: Use special invocation for <spawn.h> on OS/2 kLIBC.
145         * lib/spawn.in.h: Use special invocation to include <spawn.h> properly
146         on OS/2 kLIBC.
148 2021-01-18  Bruno Haible  <bruno@clisp.org>
150         noreturn tests: Avoid test failure on Solaris 10/x86 with cc.
151         * tests/test-noreturn.c (main): Return 0.
153 2021-01-18  Bruno Haible  <bruno@clisp.org>
155         uninorm tests: Fix compilation error on Cygwin.
156         * tests/uninorm/test-nfc.c (n): Don't define when using a preinstalled
157         libunistring on Windows.
158         * tests/uninorm/test-nfd.c (n): Likewise.
159         * tests/uninorm/test-nfkc.c (n): Likewise.
160         * tests/uninorm/test-nfkd.c (n): Likewise.
162 2021-01-17  Bruno Haible  <bruno@clisp.org>
164         immutable: Implement on native Windows.
165         * lib/immutable.h (IMMUTABLE_EFFECTIVE): Set to 1 on native Windows.
166         * lib/immutable.c: Include <windows.h>.
167         (CreateFileMapping): New macro.
168         (init_pagesize, init_mmap_file, alloc_pages, free_pages): Add
169         implementation for native Windows.
171 2021-01-17  Bruno Haible  <bruno@clisp.org>
173         canonicalize-lgpl tests: Fix link error.
174         * modules/canonicalize-lgpl-tests (Makefile.am): Link
175         test-canonicalize-lgpl with $(LIBINTL).
177 2021-01-17  Bruno Haible  <bruno@clisp.org>
179         canonicalize-lgpl: Work around // handling in realpath() of musl 1.2.2.
180         Reported by Natanael Copa <ncopa@alpinelinux.org> in
181         <https://lists.gnu.org/archive/html/bug-gettext/2021-01/msg00021.html>.
182         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add a test whether // is
183         the same as /, on Linux only.
184         * lib/canonicalize-lgpl.c: Correct indentation of preprocessor
185         directives.
186         * doc/posix-functions/realpath.texi: Mention the musl 1.2.2 bug.
188 2021-01-17  Bruno Haible  <bruno@clisp.org>
190         canonicalize[-lgpl] tests: Add more tests.
191         * tests/test-canonicalize.c (main): Add detailed tests for // handling.
192         * tests/test-canonicalize-lgpl.c (main): Likewise.
194 2021-01-17  Bruno Haible  <bruno@clisp.org>
196         argp tests: Avoid test failures on Alpine Linux.
197         * tests/test-argp-2.sh: Use the test framework (init.sh). Use the
198         'compare' function instead of 'diff -c'.
199         * tests/test-argp-version-etc-1.sh: Likewise.
201 2021-01-17  Bruno Haible  <bruno@clisp.org>
203         get-rusage-data tests: Avoid test failure on musl libc.
204         * modules/get-rusage-data-tests (Files): Add m4/musl.m4.
205         (configure.ac): Invoke gl_MUSL_LIBC.
206         * tests/test-get-rusage-data.c (main): Treat musl libc like glibc.
208 2021-01-17  Bruno Haible  <bruno@clisp.org>
210         immutable, get-rusage-data: Fix autoconf warning.
211         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Define through AC_DEFUN_ONCE.
213 2021-01-16  Bruno Haible  <bruno@clisp.org>
215         vma-iter: Port to 64-bit Haiku.
216         * lib/vma-iter.c (vma_iterate): Adapt to changed signature of
217         get_next_area_info.
219 2021-01-15  Bruno Haible  <bruno@clisp.org>
221         doc: Update doc about realpath.
222         * doc/posix-functions/realpath.texi: Update info about macOS.
224 2021-01-13  Paul Eggert  <eggert@cs.ucla.edu>
226         verify: simplify static_assert configuration
227         * lib/verify.h (_GL_HAVE__STATIC_ASSERT, _GL_HAVE__STATIC_ASSERT1):
228         Do not define for C++.  This should be good enough nowadays,
229         since recent-enough C++ compilers have static_assert.
230         (_GL_HAVE_STATIC_ASSERT_CXX11, _GL_HAVE_STATIC_ASSERT_CXX17):
231         Remove.  All uses replaced by simply checking __cpp_static_assert.
233 2021-01-13  Simon Josefsson  <simon@josefsson.org>
235         lib-msvc-compat: Update libtool usage recommendation.
236         * doc/ld-output-def.texi (Visual Studio Compatibility): Install
237         .def files into libdir, not bindir.  Have libfoo-*.def file depend
238         on libfoo.la to fix parallell builds.
240 2021-01-12  Bruno Haible  <bruno@clisp.org>
242         verify: Use C++11 static_assert when available.
243         Reported by Alexandre Duret-Lutz <adl@lrde.epita.fr> in
244         <https://lists.gnu.org/archive/html/bug-gnulib/2021-01/msg00177.html>.
245         * lib/verify.h (_GL_HAVE_STATIC_ASSERT_CXX11): New macro.
246         (_GL_HAVE_STATIC_ASSERT_CXX17): Renamed from _GL_HAVE_STATIC_ASSERT1.
247         (_GL_VERIFY): Use static_assert when available with C++11 syntax.
249 2021-01-11  Paul Eggert  <eggert@cs.ucla.edu>
251         tempname: consume less entropy
252         Derived from a glibc patch proposed by Adhemerval Zanella in:
253         https://sourceware.org/pipermail/libc-alpha/2021-January/121302.html
254         * lib/tempname.c: Include stdbool.h.
255         (random_bits): New arg use_getrandom.
256         (try_tempname_len): Skip getrandom on the first try,
257         unless __GT_NOCREATE.
258         * modules/tempname (Depends-on): Add stdbool.
260 2021-01-10  Bruno Haible  <bruno@clisp.org>
262         lchmod-tests: Fix link error.
263         * modules/lchmod-tests (Makefile.am): Don't assume that LIBINTL is set.
265 2021-01-10  Simon Josefsson  <simon@josefsson.org>
267         Correct preceeding change.
268         * top/gitsub.sh: Update link.
270 2021-01-09  Bruno Haible  <bruno@clisp.org>
272         immutable: Add tests.
273         * tests/test-immutable.sh: New file.
274         * tests/test-immutable.c: New file.
275         * modules/immutable-tests: New file.
277         immutable: New module.
278         * lib/immutable.h: New file.
279         * lib/immutable.c: New file.
280         * m4/immutable.m4: New file.
281         * m4/mprotect.m4: New file, based on libffcall/m4/codeexec.m4.
282         * modules/immutable: New file.
284 2021-01-10  Simon Josefsson  <simon@josefsson.org>
286         Use https:// instead of git://.
287         * build-aux/bootstrap (default_gnulib_url): Ditto.
288         * config/srclistvars.sh: Ditto.
289         * doc/gnulib-readme.texi (Git Checkout): Ditto.
290         * doc/gnulib-tool.texi (VCS Issues): Ditto.
291         * top/gitsub.sh: Update link.
293 2021-01-09  Paul Eggert  <eggert@cs.ucla.edu>
295         snippet/_Noreturn: port to pedantic clang
296         Problem reported by Joe Nelson in:
297         https://lists.gnu.org/r/bug-gnulib/2021-01/msg00152.html
298         * doc/noreturn.texi: Improve.
299         * lib/_Noreturn.h (_Noreturn):
300         * m4/gnulib-common.m4 (gl_COMMON_BODY):
301         Do not assume _Noreturn works as-is when __STRICT_ANSI__ is
302         defined, unless __STDC_VERSION__ indicates C11 or later.
303         * lib/_Noreturn.h (_Noreturn): Fall back on __attribute__
304         ((__noreturn__)) if Clang; this merges the
305         2020-08-10T23:53:13Zbruno@clisp.org patch to m4/gnulib-common.m4.
307 2021-01-09  Darshit Shah  <darnir@gnu.org>
309         Allow setting CVS username for gnu-web-doc-update.
310         * build-aux/gnu-web-doc-update: Introduce new option --user to set the
311         name of the user on Savannah, when it doesn't match $USER.
313 2021-01-09  Bruno Haible  <bruno@clisp.org>
315         exp* tests: Work around clang 6.0.1 optimization bugs on x86.
316         * tests/test-exp-ieee.h (test_function): Mark some variable as
317         'volatile'.
318         * tests/test-exp2-ieee.h (test_function): Likewise.
320 2021-01-09  Bruno Haible  <bruno@clisp.org>
322         fchmodat: Work around trailing slash bug in fchmodat() on AIX 7.2.
323         * m4/fchmodat.m4 (gl_FUNC_FCHMODAT): In the test whether fchmodat works,
324         also test for the trailing slashes behaviour. Define
325         HAVE_NEARLY_WORKING_FCHMODAT if this is the only missing feature.
326         * lib/fchmodat.c (fchmodat): If HAVE_NEARLY_WORKING_FCHMODAT, handle
327         trailing slashes here.
328         * modules/fchmodat (Depends-on): Sort by condition, not alphabetically.
329         * doc/posix-functions/fchmodat.texi: Document the AIX bug.
331 2021-01-09  Bruno Haible  <bruno@clisp.org>
333         fchmod-tests, fchmodat tests, lchmod tests: Add more tests.
334         * tests/test-fchmod.c: Include <fcntl.h>.
335         (BASE): New macro.
336         (main): Add more tests.
337         * tests/test-fchmodat.c (main): Add more tests.
338         * tests/test-lchmod.c (main): Likewise.
340 2021-01-09  Bruno Haible  <bruno@clisp.org>
342         utimensat: Fix typo in last commit.
343         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Fix typo in macro explanation.
345 2021-01-09  Bruno Haible  <bruno@clisp.org>
347         truncate: Document last workaround.
348         * doc/posix-functions/truncate.texi: Document the AIX bug.
350 2021-01-08  Paul Eggert  <eggert@cs.ucla.edu>
352         dynarray: work even if ‘free’ is replaced
353         Problem reported by Darshit Shah in:
354         https://lists.gnu.org/r/bug-gnulib/2021-01/msg00140.html
355         * lib/malloc/dynarray-skeleton.c (DYNARRAY_FREE): New macro.
356         Use it everywhere instead of DYNARRAY_NAME (free).
358         tempname: don’t block for minutes
359         Derived from a patch proposed by Adhemerval Zanella in:
360         https://sourceware.org/pipermail/libc-alpha/2021-January/121302.html
361         * lib/tempname.c (random_bits): Use GRND_NONBLOCK.
363         tempname: sync with proposed glibc patch
364         This is from Adhemerval Zanella in:
365         https://sourceware.org/pipermail/libc-alpha/2021-January/121301.html
366         * lib/tempname.c (__lxstat64): Remove.
367         (__lstat64, __stat64): New replacement macros.  All uses changed.
369         regex: stop using alloca
370         * lib/regex_internal.h: Do not include <alloca.h> or define
371         __libc_use_alloca or alloca.  Patch written by Adhemerval Zanella:
372         https://sourceware.org/pipermail/libc-alpha/2021-January/121374.html
373         * modules/regex (Depends-on): Remove alloca-opt.
375         regexec: remove alloca usage in build_trtable
376         Prompted by this different change proposed by Adhemerval Zanella:
377         https://sourceware.org/pipermail/libc-alpha/2021-January/121373.html
378         * lib/regexec.c (build_trtable): Prevent inlining,
379         so that it doesn’t bloat the caller’s stack.
380         Use auto variables instead of alloca/malloc.
381         After these changes, build_trtable’s total stack allocation is
382         only 20 KiB on a 64-bit machine, and this is less than glibc’s 64
383         KiB cutoff so there’s little point to using alloca to shrink it.
384         Although Gnulib traditionally has used a 4 KiB cutoff, going to 20
385         KiB here should not be a significant problem in practice;
386         Gnulib-using packages concerned about overflow of tiny stacks can
387         compile with something like gcc -fstack-clash-protection.
389         scratch_buffer: add scratch_buffer_dupfree macro
390         * lib/scratch_buffer.h (__libc_scratch_buffer_dupfree):
391         New macro, needed to support recent changes in this module.
393         regex: remove alloca usage on regex set_regs
394         Derived from this patch by Adhemerval Zanella:
395         https://sourceware.org/pipermail/libc-alpha/2021-January/121372.html
396         * lib/regex_internal.h: Include dynarray.h, for Gnulib.
397         * lib/regexec.c (DYNARRAY_STRUCT, DYNARRAY_ELEMENT)
398         (DYNARRAY_PREFIX): New macros.
399         Include malloc/dynarray-skeleton.c.
400         (set_regs): Use dynarray rather than alloca.
401         * modules/regex (Depends-on): Add dynarray.
403         dynarray: new module
404         * config/srclist.txt: Mention the new files.
405         * lib/cdefs.h (__attribute_maybe_unused__): New macro,
406         like Gnulib’s _GL_ATTRIBUTE_MAYBE_UNUSED but with glibc
407         naming conventions.
408         * lib/libc-config.h: Use it instead of __glibc_likely.
409         * lib/dynarray.h, modules/dynarray: New files.
410         * lib/malloc/dynarray-skeleton.c, lib/malloc/dynarray.h:
411         * lib/malloc/dynarray_at_failure.c:
412         * lib/malloc/dynarray_emplace_enlarge.c:
413         * lib/malloc/dynarray_finalize.c, lib/malloc/dynarray_resize.c:
414         * lib/malloc/dynarray_resize_clear.c, modules/dynarray:
415         New files, from glibc with the following changes needed for
416         portability to compilers that are not recent-enough GCC.
417         * lib/malloc/dynarray_at_failure.c: Include stdlib.h, for abort.
418         (__libc_dynarray_at_failure) [!_LIBC]: Simply abort.
419         * lib/malloc/dynarray_emplace_enlarge.c:
420         * lib/malloc/dynarray_resize.c:
421         Include intprops.h, and use INT_MULTIPLY_WRAPV instead
422         of __builtin_mul_overflow.
423         * lib/malloc/dynarray.h (__libc_dynarray_at_failure):
424         Use _Noreturn instead of __attribute__ ((noreturn)).
425         * lib/malloc/dynarray_resize_clear.c: Do not include stdlib.h;
426         it’s not needed.
427         (__libc_dynarray_resize_clear): Do not do arithmetic on void *.
428         * lib/malloc/dynarray-skeleton.c (struct DYNARRAY_STRUCT):
429         Do not use anonymous unions, as they are not in C99. All uses changed.
430         Use __nonnull (X) instead of __attribute__ ((nonnull X)),
431         and __attribute_maybe_unused__ instead of __attribute__ ((unused)).
433 2021-01-06  Simon Josefsson  <simon@josefsson.org>
435         bootstrap: Fix parsing of package name.
436         * build-aux/bootstrap (package): Attempt to use autoconf --trace
437         to parse AC_INIT before falling back to sed expression.
439 2021-01-07  Bruno Haible  <bruno@clisp.org>
441         localename: Fix link error with duplocale on AIX 7.2 (regr. 2019-12-18).
442         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize
443         LOCALENAME_ENHANCE_LOCALE_FUNCS.
444         * m4/intl-thread-locale.m4 (gt_FUNC_USELOCALE):
445         Set gt_working_uselocale.
446         (gt_INTL_THREAD_LOCALE_NAME): Set gt_fake_locales, gt_good_uselocale,
447         gt_localename_enhances_locale_funcs, LOCALENAME_ENHANCE_LOCALE_FUNCS.
448         Define HAVE_GOOD_USELOCALE, LOCALENAME_ENHANCE_LOCALE_FUNCS.
449         * m4/localename.m4 (gl_LOCALENAME): Test
450         gt_localename_enhances_locale_funcs instead of gt_nameless_locales.
451         * modules/locale (Makefile.am): Substitute
452         LOCALENAME_ENHANCE_LOCALE_FUNCS.
453         * lib/locale.in.h (newlocale, duplocale, freelocale): Don't override if
454         module 'localename' is in use but LOCALENAME_ENHANCE_LOCALE_FUNCS is 0.
455         * lib/localename.c (HAVE_GOOD_USELOCALE): Don't define here.
456         (get_locale_t_name, newlocale, duplocale, freelocale): Define if
457         LOCALENAME_ENHANCE_LOCALE_FUNCS.
459 2021-01-06  Bruno Haible  <bruno@clisp.org>
461         logb: Fix test failure on glibc/powerpc.
462         * doc/posix-functions/logb.texi: Update platform info.
463         * m4/logb.m4 (gl_FUNC_LOGB_WORKS): Test against bug with negative
464         subnormal numbers.
466 2021-01-06  Paul Eggert  <eggert@cs.ucla.edu>
468         libc-config: simplify clang __has_* macros
469         cdefs.h sometimes used names like __glibc_clang_has_attribute and
470         sometimes __glibc_has_attribute.  There is no need in glibc or
471         Gnulib to distinguish clang from other compilers here, so be
472         consistent and use the simpler names.
473         * lib/cdefs.h (__glibc_has_builtin, __glibc_has_extension):
474         Rename from __glibc_clang_has_builtin, __glibc_clang_has_extension.
475         All uses changed.
476         (__glibc_clang_has_attribute): Remove. All uses replaced
477         by __glibc_has_attribute.
478         * lib/libc-config.h [!__glibc_likely]: Undef them here too.
479         This fixes a problem where __glibc_has_attribute was not undeffed.
481 2021-01-06  Bruno Haible  <bruno@clisp.org>
483         flock: Update documentation.
484         * doc/glibc-functions/flock.texi: Document what to expect on AIX and
485         Solaris.
487 2021-01-06  Bruno Haible  <bruno@clisp.org>
489         ilogbl: Fix compilation error with xlclang on AIX 7.2.
490         * lib/math.in.h (ilogbl): Undefine macro before declaration.
492 2021-01-06  Bruno Haible  <bruno@clisp.org>
494         ilogbl: Fix test failures on AIX 7.1 in 64-bit mode.
495         * m4/ilogbl.m4 (gl_FUNC_ILOGBL_WORKS): Test also some denormalized
496         argument.
497         * doc/posix-functions/ilogbl.texi: Mention the AIX bug.
499 2021-01-06  Bruno Haible  <bruno@clisp.org>
501         ilogb: Fix test failures on AIX 7.1 in 64-bit mode.
502         * m4/ilogb.m4 (gl_FUNC_ILOGB_WORKS): Test also some denormalized
503         argument.
504         * doc/posix-functions/ilogb.texi: Mention the AIX bug.
506 2021-01-05  Bruno Haible  <bruno@clisp.org>
508         fclose: Fix test failure on AIX 7.2.
509         * m4/fclose.m4 (gl_FUNC_FCLOSE_STDIN): New macro.
510         (gl_FUNC_FCLOSE): Invoke it. Set REPLACE_FCLOSE accordingly.
511         * doc/posix-functions/fclose.texi: Update platform information.
512         * doc/posix-functions/fflush.texi: Likewise.
514 2021-01-05  Bruno Haible  <bruno@clisp.org>
516         pipe-filter-gi: Fix test failure on AIX 7.2.
517         * lib/pipe-filter-aux.h (SSIZE_MAX) [AIX]: Set to 4096.
519 2021-01-05  Bruno Haible  <bruno@clisp.org>
521         utimens, utimensat, fdutimensat: Avoid test failures on AIX 7.2.
522         * lib/utimecmp.c (utimecmpat): On AIX, declare equality when the two
523         times differ by less than 0.01 seconds.
524         * tests/test-futimens.h (test_futimens): Pass UTIMECMP_TRUNCATE_SOURCE
525         flag.
527 2021-01-05  Bruno Haible  <bruno@clisp.org>
529         utimensat: Work around trailing slash bug in utimensat() on AIX 7.2.
530         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Require AC_CANONICAL_HOST. Add a
531         test for trailing slash handling. Improve cross-compilation guesses.
532         Conditionally define HAVE_NEARLY_WORKING_UTIMENSAT.
533         * lib/utimensat.c (rpl_utimensat): Add alternative implementation when
534         HAVE_NEARLY_WORKING_UTIMENSAT is defined.
535         * lib/utimens.c: Use the overridden utimensat when
536         HAVE_NEARLY_WORKING_UTIMENSAT is defined.
537         * doc/posix-functions/utimensat.texi: Mention the AIX bug.
539 2021-01-05  Bruno Haible  <bruno@clisp.org>
541         ptsname_r, ptsname: Avoid test failures on AIX 7.2.
542         * tests/test-ptsname_r.c (main): On AIX, set a 20-seconds timer.
543         * tests/test-ptsname.c (main): Likewise. On AIX, open a pty through
544         /dev/ptc and don't test the BSD ptys.
546 2021-01-05  Paul Eggert  <eggert@cs.ucla.edu>
548         libc-config: merge from glibc
549         Use a better way of keeping glibc <sys/cdefs.h> and gnulib
550         lib/cdefs.h mostly in sync, by using lib/cdefs.h only on platforms
551         where <sys/cdefs.h> does not work well enough for Gnulib.
552         * lib/cdefs.h: Go back to using _SYS_CDEFS_H rather than
553         _GL_DEFS_H as an include guard.
554         (__THROW, __THROWNL, __NTH, __NTHNL):
555         Define to noexcept for C++11 and later.
556         (__glibc_objsize, __glibc_objsize0): New, for _FORTIFY_SOURCE=3.
557         (__warndecl): Remove.
558         (__attribute_copy__): New macro, for GCC 9 support.
559         (__LDBL_REDIR, __LDBL_REDIR_DECL, __LDBL_REDIR1)
560         (__LDBL_REDIR1_DECL, __LDBL_REDIR1_NTH, __REDIRECT_NTH_LDBL)
561         (__REDIRECT_LDBL, __LDBL_REDIR_NTH):
562         Redirections for IEEE long double on powerpc64le.
563         (__LDBL_REDIR2_DECL): New macro.
564         (__attr_access): New macro, for GCC 10 bounds checking.
565         (__attribute_returns_twice__): New macro, for setjmp etc.
566         * lib/libc-config.h: Include <cdefs.h> only if __glibc_likely is
567         undefined.  The following changes apply only if __glibc_likely
568         is not defined.
569         (__LDBL_REDIR2_DECL, __attr_access, __attribute_returns_twice__)
570         (__glibc_clang_has_attribute, __glibc_clang_has_extension)
571         (__glibc_objsize, __glibc_objsize0):
572         Undef these new (or newer) <cdefs.h> macros.
573         (__P, __PMT, __always_inline): Do not undef, since cdefs.h does that.
574         (__glibc_likely): Do not undef, since this is inside
575         ifndef __glibc_likely.
576         (__warndecl): Do not undef; no longer defined.
578 2021-01-05  Jim Meyering  <meyering@fb.com>
580         maintainer-makefile: correct preceding change
581         * top/maint.mk (syntax-check-rules): Use LC_ALL=C, not LANG=C.
583 2021-01-05  Paul Eggert  <eggert@cs.ucla.edu>
585         maint: note syncs to glibc
586         * config/srclist.txt: filename.h, idx.h, scratch_buffer.h and
587         scratch_buffer_dupfree.c are now identical to glibc.  Add
588         commentary about some other syncs we’d like.
589         * modules/filename, modules/idx (Maintainer): Add glibc.
591 2021-01-05  Bruno Haible  <bruno@clisp.org>
593         truncate: Work around trailing slash bug in truncate() on AIX 7.2.
594         * m4/truncate.m4 (gl_FUNC_TRUNCATE): Add a test whether truncate
595         rejects trailing slashes. Set REPLACE_TRUNCATE and define
596         TRUNCATE_TRAILING_SLASH_BUG if not.
597         * lib/truncate.c (orig_truncate): New function.
598         (truncate): Add alternative implementation when
599         TRUNCATE_TRAILING_SLASH_BUG is defined.
600         * modules/truncate (Depends-on): Add sys_stat, stat.
602 2021-01-05  Bruno Haible  <bruno@clisp.org>
604         mkfifoat: Fix cross-compilation guess (regression from 2021-01-04).
605         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Fix copy-and-paste mistake.
607 2021-01-05  Bruno Haible  <bruno@clisp.org>
609         ffsll: Override completely broken implementation on AIX in 32-bit mode.
610         * m4/ffsll.m4 (gl_FUNC_FFSLL): Test whether ffsll minimally works. If
611         not, set REPLACE_FFSLL.
612         * lib/string.in.h (ffsll): Consider REPLACE_FFSLL.
613         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
614         REPLACE_FFSLL.
615         * modules/string (Makefile.am): Substitute REPLACE_FFSLL.
616         * modules/ffsll (Depends-on, configure.ac): Consider REPLACE_FFSLL.
617         * doc/glibc-functions/ffsll.texi: Mention the AIX 7.2 bug.
619 2021-01-04  Bruno Haible  <bruno@clisp.org>
621         symlinkat: Fix trailing slash handling.
622         * lib/symlinkat.c (rpl_symlinkat): Don't follow symlinks during the
623         trailing slash handling.
624         * modules/symlinkat (Depends-on): Update conditions.
626 2021-01-04  Bruno Haible  <bruno@clisp.org>
628         mkfifoat: Update module description.
629         * modules/mkfifoat (Depends-on): Update conditions after last commits.
631 2021-01-04  Bruno Haible  <bruno@clisp.org>
633         link: Improve trailing slash handling on native Windows.
634         * lib/link.c (link): If stat() fails, provide a better errno.
636 2021-01-04  Bruno Haible  <bruno@clisp.org>
638         mkfifoat: Work around trailing slash bug in mknodat() on AIX 7.2.
639         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Set also REPLACE_MKNODAT.
640         * lib/sys_stat.in.h (mknodat): Consider REPLACE_MKNODAT.
641         * lib/mknodat.c: Add an overriding implementation of mknodat().
642         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize REPLACE_MKNODAT.
643         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKNODAT.
644         * modules/mkfifoat (Depends-on, configure.ac): Consider REPLACE_MKNODAT.
645         * doc/posix-functions/mknodat.texi: Mention the AIX bug.
647         mkfifoat: Work around trailing slash bug in mkfifoat() on AIX 7.2.
648         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Add a test whether mkfifoat rejects
649         trailing slashes. Set REPLACE_MKFIFOAT if not.
650         * lib/sys_stat.in.h (mkfifoat): Consider REPLACE_MKFIFOAT.
651         * lib/mkfifoat.c: Add an overriding implementation of mkfifoat().
652         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
653         REPLACE_MKFIFOAT.
654         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKFIFOAT.
655         * modules/mkfifoat (Depends-on): Add fstatat.
656         (configure.ac): Consider REPLACE_MKFIFOAT.
657         * doc/posix-functions/mkfifoat.texi: Mention the AIX bug.
659 2021-01-04  Bruno Haible  <bruno@clisp.org>
661         libc-config: Avoid overriding the headers from an installed newer glibc.
662         Reported by Paul E Murphy <murphyp@linux.ibm.com> in
663         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00106.html>.
664         * lib/cdefs.h: Use a different include guard than glibc's <sys/cdefs.h>.
665         * lib/libc-config.h: Update accordingly.
667 2021-01-04  Simon Josefsson  <simon@josefsson.org>
669         maintainer-makefile: Invoke syntax-checks regardless of locale.
670         * top/maint.mk (syntax-check-rules): Invoke sed with LANG=C
671         environment because [a-z] may not include 'w' in all locales.
673 2021-01-04  Bruno Haible  <bruno@clisp.org>
675         nstrftime, time_rz: Avoid using an obsolete Autoconf macro.
676         Reported by Mike Gran <spk121@yahoo.com> in
677         <https://lists.gnu.org/archive/html/bug-gnulib/2021-01/msg00067.html>.
678         * lib/time-internal.h: Test HAVE_STRUCT_TM_TM_ZONE, not HAVE_TM_ZONE.
679         * lib/time_rz.c: Likewise.
680         * lib/nstrftime.c: Set and test HAVE_STRUCT_TM_TM_ZONE, not
681         HAVE_TM_ZONE.
682         * m4/nstrftime.m4 (gl_FUNC_GNU_STRFTIME): Update comments.
684 2021-01-04  Bruno Haible  <bruno@clisp.org>
686         expm1f-ieee: Work around AIX 7.2 bug.
687         * m4/expm1f.m4 (gl_FUNC_EXPM1F): Initialize gl_expm1f_required. If
688         module 'expm1f-ieee' is in use, check whether expm1f works according to
689         IEEE.
690         * m4/expm1f-ieee.m4: New file.
691         * modules/expm1f-ieee (Files): Add it.
692         (Depends-on): Update conditions.
693         (configure.ac): Invoke gl_FUNC_EXPM1F_IEEE.
694         * doc/posix-functions/expm1f.texi: Mention the AIX bug.
696 2021-01-04  Bruno Haible  <bruno@clisp.org>
698         ffsl, ffsll: Work around AIX 7.2 problem.
699         * lib/string.in.h: On AIX, include <strings.h> for the declarations of
700         ffsl and ffsll.
701         * doc/glibc-functions/ffsl.texi: Document the AIX 7.2 problem.
702         * doc/glibc-functions/ffsll.texi: Likewise.
704 2021-01-04  Bruno Haible  <bruno@clisp.org>
706         ssfmalloc: Fix includes.
707         * lib/ssfmalloc.h: Include <strings.h>, for ffs().
708         * tests/test-ssfmalloc.c: Include <string.h>, for memset().
710 2021-01-03  Bruno Haible  <bruno@clisp.org>
712         quotearg tests: Avoid test failures on Solaris 11.3.
713         * tests/test-quotearg.sh: Copy the fr/ directory using 'cp -R', not
714         'cp -a'.
716 2021-01-03  Bruno Haible  <bruno@clisp.org>
718         tests: Fix link errors on Solaris, when libunistring-optional is in use.
719         * modules/wcwidth (Link): New section.
720         * modules/wcswidth (Link): New section.
721         * modules/mbchar (Link): New section.
722         * modules/mbfile (Link): Link against libunistring.
723         * modules/mbiter (Link): Likewise.
724         * modules/mbuiter (Link): Likewise.
725         * modules/mbmemcasecmp (Link): Likewise.
726         * modules/mbscasecmp (Link): Likewise.
727         * modules/mbscasestr (Link): Likewise.
728         * modules/mbschr (Link): Likewise.
729         * modules/mbscspn (Link): Likewise.
730         * modules/mbslen (Link): Likewise.
731         * modules/mbsncasecmp (Link): Likewise.
732         * modules/mbsnlen (Link): Likewise.
733         * modules/mbspbrk (Link): Likewise.
734         * modules/mbspcasecmp (Link): Likewise.
735         * modules/mbsrchr (Link): Likewise.
736         * modules/mbssep (Link): Likewise.
737         * modules/mbsspn (Link): Likewise.
738         * modules/mbsstr (Link): Likewise.
739         * modules/mbstok_r (Link): Likewise.
740         * modules/mbswidth (Link): Likewise.
741         * modules/exclude (Link): Likewise.
742         * modules/propername (Link): Likewise.
743         * modules/regex-quote (Link): Likewise.
744         * modules/trim (Link): Likewise.
745         * modules/mbmemcasecmp-tests (Makefile.am): Link the test program
746         against libunistring.
747         * modules/mbscasecmp-tests (Makefile.am): Likewise.
748         * modules/mbscasestr-tests (Makefile.am): Likewise.
749         * modules/mbschr-tests (Makefile.am): Likewise.
750         * modules/mbscspn-tests (Makefile.am): Likewise.
751         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
752         * modules/mbspbrk-tests (Makefile.am): Likewise.
753         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
754         * modules/mbsrchr-tests (Makefile.am): Likewise.
755         * modules/mbsspn-tests (Makefile.am): Likewise.
756         * modules/mbsstr-tests (Makefile.am): Likewise.
757         * modules/exclude-tests (Makefile.am): Likewise.
758         * modules/regex-quote-tests (Makefile.am): Likewise.
760 2021-01-03  Bruno Haible  <bruno@clisp.org>
762         c32ispunct tests: Avoid test failures on FreeBSD.
763         * tests/test-c32ispunct.c (main): On FreeBSD, disable tests that fail on
764         FreeBSD 12.1.1.
766 2021-01-04  Simon Josefsson  <simon@josefsson.org>
768         doc: Repeat warning that --with-tests cannot be used twice.
769         * doc/gnulib-tool.texi (Multiple instances): Remind reader of
770         --with-tests limitation.
772 2021-01-03  Bruno Haible  <bruno@clisp.org>
774         iconv, iconv_open: Improve documentation.
775         Reported by Noah Misch <noah@leadboat.com> in
776         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00172.html>.
777         * doc/posix-functions/iconv_open.texi: Add new paragraph "Portability
778         problems handled by Gnulib".
779         * doc/posix-functions/iconv.texi: Likewise. Update info about AIX.
780         * m4/iconv.m4 (AM_ICONV_LINK): Improve comments.
782 2021-01-03  Bruno Haible  <bruno@clisp.org>
784         iconv-h: Fix module description.
785         * modules/iconv-h (Include): Check HAVE_ICONV_H.
787 2021-01-03  Noah Misch  <noah@leadboat.com>
789         iconv_open: Fix module description.
790         * modules/iconv_open (Include): Check HAVE_ICONV, like modules/iconv.
792 2021-01-03  Bruno Haible  <bruno@clisp.org>
794         stddef: Override wrong max_align_t on AIX 7 with xlc in 64-bit mode.
795         * m4/stddef_h.m4 (gl_STDDEF_H): Make check for good max_align_t
796         stricter: Add tests for offsetof-based alignof.
797         * lib/stddef.in.h (max_align_t): Override on AIX in 64-bit mode.
798         * doc/posix-headers/stddef.texi: Document the AIX max_align_t bug.
800 2021-01-03  Bruno Haible  <bruno@clisp.org>
802         free-posix: Work around GCC mis-optimization bug.
803         Code by Bernhard Voelker <mail@bernhard-voelker.de>.
804         * lib/free.c (rpl_free): Add alternative complicated code for GCC.
806 2021-01-02  Bruno Haible  <bruno@clisp.org>
808         valgrind-tests: Disable valgrind if it would cause all tests to fail.
809         Suggested by Simon Josefsson <simon@josefsson.org> in
810         <https://lists.gnu.org/archive/html/help-gsasl/2021-01/msg00004.html>.
811         * m4/valgrind-tests.m4 (gl_VALGRIND_TESTS): Test $VALGRIND on an
812         executable produced by the current compiler. Set VALGRIND to empty if it
813         does not work. Don't set VALGRIND to empty if it merely does not accept
814         the --error-exitcode=1 --leak-check=full options.
816 2021-01-02  Bruno Haible  <bruno@clisp.org>
818         valgrind-tests: Really enable the valgrind options test.
819         * m4/valgrind-tests.m4 (gl_VALGRIND_TESTS): Don't assume that the
820         valgrind options --error-exitcode=1 --leak-check=full always work.
822 2021-01-02  Bruno Haible  <bruno@clisp.org>
824         utimensat: Fix test failures on macOS 10.13.
825         * lib/utimensat.c: Include <string.h>, <sys/stat.h>.
826         (rpl_utimensat): Check against invalid tv_nsec values. Before calling
827         utimensat, recognize a filename ending in a slash that does not point
828         to a directory.
830 2021-01-02  Bruno Haible  <bruno@clisp.org>
832         utimens: Fix test failure on macOS 10.13.
833         * lib/utimens.c: Include <string.h>.
835         utimens: Fix test failure on macOS 10.13.
836         * lib/utimens.c (fdutimens): Before calling utimensat, recognize a
837         filename ending in a slash that does not point to a directory.
839 2021-01-02  Bruno Haible  <bruno@clisp.org>
841         utimens: Avoid test failures on macOS 10.13.
842         Reported by Martin Storsjö <martin@martin.st> in
843         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00003.html>.
844         * tests/test-utimens-common.h (check_ctime): Define to -1 on macOS.
845         * tests/test-utimens.h (test_utimens): Don't expect a ctime change when
846         only the atime is requested to change.
847         * tests/test-futimens.h (test_futimens): Likewise.
848         * tests/test-lutimens.h (test_lutimens): Likewise.
850 2021-01-02  Bruno Haible  <bruno@clisp.org>
852         renameatu: Fix test failures on macOS.
853         Reported by Martin Storsjö <martin@martin.st> in
854         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00003.html>.
855         * lib/renameatu.c (renameatu): Don't call renameatx_np right away.
856         Instead, treat it as a variant of renameat, with all possible bugs that
857         renameat might have.
859 2021-01-02  Bruno Haible  <bruno@clisp.org>
861         getgroups test: Avoid warning with glibc >= 2.32 and gcc >= 10.
862         Reported by Bernhard Voelker <mail@bernhard-voelker.de> in
863         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00090.html>.
864         * tests/test-getgroups.c: Silence gcc warnings of type
865         -Wstringop-overflow.
867 2021-01-02  Bruno Haible  <bruno@clisp.org>
869         timespec_get: Add tests.
870         * tests/test-timespec_get.c: New file.
871         * modules/timespec_get-tests: New file.
873         timespec_get: New module.
874         * lib/time.in.h (timespec_get): New declaration.
875         * lib/timespec_get.c: New file.
876         * m4/timespec_get.m4: New file.
877         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
878         GNULIB_TIMESPEC_GET, HAVE_TIMESPEC_GET.
879         * modules/time (Makefile.am): Substitute GNULIB_TIMESPEC_GET,
880         HAVE_TIMESPEC_GET.
881         * modules/timespec_get: New file.
882         * tests/test-time-c++.cc (timespec_get): Check signature.
883         * doc/glibc-functions/timespec_get.texi: Mention the new module.
885 2021-01-01  Bruno Haible  <bruno@clisp.org>
887         time: Define TIME_UTC.
888         * lib/time.in.h (TIME_UTC, GNULIB_defined_TIME_UTC): New macros.
889         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Set TIME_H_DEFINES_TIME_UTC.
890         * modules/time (Makefile.am): Substitute TIME_H_DEFINES_TIME_UTC.
891         * tests/test-time.c: Check that TIME_UTC is defined and a positive
892         integer.
893         * doc/posix-headers/time.texi: Mention TIME_UTC.
895 2021-01-01  Bruno Haible  <bruno@clisp.org>
897         stddef: Try harder to get max_align_t defined on OpenBSD, part 2.
898         * modules/stddef (Depends-on): Add extensions.
900 2021-01-01  Paul Eggert  <eggert@cs.ucla.edu>
902         canonicalize: remove NARROW_ADDRESSES optimization
903         * lib/canonicalize-lgpl.c, lib/canonicalize.c (NARROW_ADDRESSES):
904         Remove, and remove all uses, as the optimization is arguably not
905         worth the extra complexity.  Suggested by Adhemerval Zanella in:
906         https://sourceware.org/pipermail/libc-alpha/2020-December/121203.html
908 2021-01-01  Bruno Haible  <bruno@clisp.org>
910         stddef: Try harder to get max_align_t defined on OpenBSD.
911         * m4/stddef_h.m4 (gl_STDDEF_H): Require gl_USE_SYSTEM_EXTENSIONS.
913 2021-01-01  Bruno Haible  <bruno@clisp.org>
915         aligned_alloc: Fix test failure on OpenBSD 6.8.
916         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): On OpenBSD, define
917         _ISOC11_SOURCE.
918         * m4/aligned_alloc.m4 (gl_FUNC_ALIGNED_ALLOC): Require it. Update
919         comment.
921 2021-01-01  Bruno Haible  <bruno@clisp.org>
923         posixtm tests: Disable part of the test on plaforms where it fails.
924         * tests/test-posixtm.c (T): Disable two tests on macOS as well.
926 2021-01-01  Bruno Haible  <bruno@clisp.org>
928         c32isgraph/c32isprint/c32ispunct tests: Avoid test failures on OmniOS.
929         * tests/test-c32isgraph.c (main): On Solaris, disable tests that fail on
930         Solaris 11 OmniOS.
931         * tests/test-c32isprint.c (main): Likewise.
932         * tests/test-c32ispunct.c (main): Likewise.
934 2021-01-01  Paul Eggert  <eggert@cs.ucla.edu>
936         libc-config: port to Sun C 5.9
937         * lib/libc-config.h (libc_hidden_proto): Omit ", ..." in macro
938         definition.  It’s not needed for Gnulib and elicits a diagnostic
939         from Sun C 5.9 Patch 124867-12 2009/11/22.
941 2021-01-01  Bruno Haible  <bruno@clisp.org>
943         quotearg tests: Avoid test failures on Solaris 11.
944         * modules/quotearg-tests (Makefile.am): Set host_os in
945         TESTS_ENVIRONMENT.
946         * tests/test-quotearg.sh: On Solaris 11 systems, make a copy of the fr/
947         directory that contains the .mo file.
949 2021-01-01  Bruno Haible  <bruno@clisp.org>
951         maint: Update copyright notices in --version output.
952         List the most recent year in which changes were made, per
953         <https://www.gnu.org/prep/standards/html_node/_002d_002dversion.html>.
954         * build-aux/declared.sh (func_version): Say 2019.
955         * build-aux/libtool-next-version (func_version): Likewise.
956         * build-aux/run-test (func_version): Likewise.
957         * check-module (COPYRIGHT_NOTICE): Say 2012.
958         * lib/git-merge-changelog.c (main): Say 2020.
960 2020-12-31  Paul Eggert  <eggert@cs.ucla.edu>
962         filename: change filename.h comment to LGPLv2.1+
963         * lib/filename.h: Change license notice to match what should be in
964         glibc, and what modules/filename specifies.  This is to simplify
965         syncing with glibc.
967         doc: mention year-0 bugs in Solaris etc.
968         * doc/posix-functions/gmtime.texi, doc/posix-functions/gmtime_r.texi:
969         * doc/posix-functions/localtime.texi:
970         * doc/posix-functions/localtime_r.texi:
971         * doc/posix-functions/mktime.texi:
972         Mention year-0 bugs in localtime etc.
974 2020-12-31  Bruno Haible  <bruno@clisp.org>
976         ptsname_r: Fix test failure on Solaris.
977         * lib/ptsname_r.c (__ptsname_r) [__sun]: Don't test the major number of
978         the device.
980 2020-12-31  Bruno Haible  <bruno@clisp.org>
982         posixtm tests: Disable part of the test on plaforms where it fails.
983         * tests/test-posixtm.c (T): Disable two tests on Solaris.
985 2020-12-31  Bruno Haible  <bruno@clisp.org>
987         poll tests: Avoid test failure on AIX.
988         * tests/test-poll.c (test_pipe): Disable the "expecting POLLHUP after
989         shutdown" test on AIX.
990         * doc/posix-functions/poll.texi: Mention the AIX bug.
992 2020-12-31  Bruno Haible  <bruno@clisp.org>
994         poll tests: Avoid test failure on BSD and Solaris systems.
995         * tests/test-poll.c (test_accept_first, test_socket_pair): Disable the
996         "expecting POLLHUP after shutdown" test on all platforms except Linux.
998 2020-12-31  Paul Eggert  <eggert@cs.ucla.edu>
1000         fnmatch: merge from glibc + proposal
1001         This merges the change proposed by Adhemerval Zanella in:
1002         https://sourceware.org/pipermail/libc-alpha/2020-December/121212.html
1003         which fixes a Gnulib bug that led to a failed assert.
1004         * lib/fnmatch_loop.c (EXT): Use signed level, not unsigned, and
1005         check that it stays nonnegative.  Use __flexarr instead of
1006         FLEXIBLE_ARRAY_MEMBER, to port better to glibc.
1007         * tests/test-fnmatch.c (main): New test cases, taken from glibc.
1009         glob: merge proposed glibc changes
1010         This merges the change proposed by Adhemerval Zanella in:
1011         https://sourceware.org/pipermail/libc-alpha/2020-December/121211.html
1012         * lib/glob.c (__lstat64, __stat64) [_LIBC]: Remove.
1014 2020-12-31  Bruno Haible  <bruno@clisp.org>
1016         memalign: Work around Solaris bug.
1017         * lib/memalign.c: New file.
1018         * m4/memalign.m4: New file.
1019         * modules/memalign (Files): Add them.
1020         (Depends-on): Add malloc-h.
1021         (configure.ac): Invoke gl_FUNC_MEMALIGN. Conditionally compile
1022         memalign.c. Set module indicator.
1023         (Include): Include <malloc.h> unconditionally.
1024         * doc/glibc-functions/memalign.texi: Mention the Solaris issues.
1026         malloc-h: Add tests.
1027         * tests/test-malloc-h.c: New file.
1028         * modules/malloc-h-tests: New file.
1029         * tests/test-malloc-h-c++.cc: New file.
1030         * modules/malloc-h-c++-tests: New file.
1032         malloc-h: New module.
1033         * lib/malloc.in.h: New file.
1034         * m4/malloc_h.m4: New file.
1035         * modules/malloc-h: New file.
1036         * doc/glibc-headers/malloc.texi: New file.
1037         * doc/gnulib.texi (Glibc Header File Substitutes): Include it.
1039 2020-12-31  Bruno Haible  <bruno@clisp.org>
1041         unistd: Fix portability warnings.
1042         * lib/unistd.in.h (fchownat, unlinkat): Fix module name in warning.
1044 2020-12-31  Bruno Haible  <bruno@clisp.org>
1046         utime: Fix compilation error on macOS and Solaris 9 (regr. 2020-12-24).
1047         Reported by Tom G. Christensen <tgc@jupiterrise.com> in
1048         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00295.html>.
1049         * lib/utime.c: Include <errno.h>.
1051 2020-12-30  Karl Berry  <karl@freefriends.org>
1053         config: srclistvars doc.
1054         * config/srclistvars.sh: doc a couple of unusual source repo urls.
1056 2020-12-30  Bruno Haible  <bruno@clisp.org>
1058         getlogin tests, getlogin_r tests: Avoid failure on Solaris OpenIndiana.
1059         * tests/test-getlogin.c (main): Don't fail if getlogin() returns NULL
1060         with no errno.
1061         * tests/test-getlogin_r.c (main): Don't fail if getlogin_r() returns
1062         EINVAL.
1064 2020-12-29  Jim Meyering  <meyering@fb.com>
1066         regex-tests: tweak to avoid a clang-10 warning
1067         * tests/test-regex.c: Compare with explicit zero, rather than
1068         as boolean to avoid this from clang-10:
1069         test-regex.c:315:9: error: converting the result of '<<' to a \
1070           boolean always evaluates to true \
1071           [-Werror,-Wtautological-constant-compare]
1072         if (! REG_STARTEND)
1074         hash: add casts-to-float to avoid clang-10 warnings
1075         * lib/hash.c (compute_bucket_size): Cast SIZE_MAX to float
1076         to avoid this warning from clang-10 (for use in grep):
1077           hash.c:501:11: error: implicit conversion from 'unsigned long' \
1078             to 'float' changes value from 18446744073709551615 to \
1079             18446744073709551616 [-Werror,-Wimplicit-int-float-conversion]
1080           if (SIZE_MAX <= new_candidate)
1081         (hash_insert_if_absent): Likewise.
1083 2020-12-29  Paul Eggert  <eggert@cs.ucla.edu>
1085         canonicalize: fix size overflow treatment
1086         This also has some minor cleanups.
1087         * lib/canonicalize-lgpl.c, lib/canonicalize.c: No need to include
1088         stddef.h, since the code no longer refers directly to ptrdiff_t.
1089         * lib/canonicalize-lgpl.c (realpath_stk):
1090         * lib/canonicalize.c (canonicalize_filename_mode_stk):
1091         Treat size overflow like other out-of-memory.
1092         * lib/canonicalize.c: No need to include stdlib.h, since
1093         the code no longer refers to stdlib.h functions (other
1094         than those that canonicalize.h must declare).
1095         * lib/canonicalize.c (canonicalize_filename_mode_stk):
1096         Do not bother terminating the string result on error.
1098 2020-12-29  Bruno Haible  <bruno@clisp.org>
1100         list-c++, [o]map-c++, [o]set-c++: Fix conflict with 'free-posix' module.
1101         * lib/gl_list.hh: Include <stdlib.h>.
1102         * lib/gl_map.hh: Likewise.
1103         * lib/gl_omap.hh: Likewise.
1104         * lib/gl_set.hh: Likewise.
1105         * lib/gl_oset.hh: Likewise.
1107 2020-12-29  Paul Eggert  <eggert@cs.ucla.edu>
1109         canonicalize: fix ptrdiff_t overflow bug
1110         Problem reported by Adhemerval Zanella in:
1111         https://sourceware.org/pipermail/libc-alpha/2020-December/121182.html
1112         * lib/canonicalize-lgpl.c, lib/canonicalize.c:
1113         Include intprops.h.
1114         (NARROW_ADDRESSES): New constant.
1115         * lib/canonicalize-lgpl.c (realpath_stk):m
1116         * lib/canonicalize.c (canonicalize_filename_mode_stk):
1117         Work even if strlen (END) does not fit in idx_t, or if adding
1118         N to it overflows.
1119         * modules/canonicalize, modules/canonicalize-lgpl (Depends-on):
1120         Add intprops.
1122 2020-12-28  Bruno Haible  <bruno@clisp.org>
1124         havelib: Fix for Solaris 11 OpenIndiana and Solaris 11 OmniOS.
1125         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): In
1126         acl_is_expected_elfclass, use 'expr', not 'test'.
1128 2020-12-28  Bruno Haible  <bruno@clisp.org>
1130         ptsname_r: Fix a compiler warning on Solaris.
1131         * lib/ptsname_r.c (__ptsname_r): Reduce the scope of variable 'err'.
1133 2020-12-28  Bruno Haible  <bruno@clisp.org>
1135         gnulib-tool: Fix logic whether to add a dummy.c.
1136         * gnulib-tool (func_remove_if_blocks): New function.
1137         (func_modules_add_dummy): Use it to eliminate all conditional statements
1138         from the automake snippet.
1140 2020-12-28  Paul Eggert  <eggert@cs.ucla.edu>
1142         faccessat: revert recent EOVERFLOW change
1143         I misunderstood the glibc source code.  Deduced from
1144         Adhemerval Zanella’s proposed glibc patch in:
1145         https://sourceware.org/pipermail/libc-alpha/2020-December/121131.html
1146         * doc/posix-functions/faccessat.texi: It is not a problem.
1147         * lib/canonicalize-lgpl.c, lib/canonicalize.c, lib/faccessat.c:
1148         (FACCESSAT_NEVER_OVERFLOWS): Remove. All uses removed.
1149         * lib/faccessat.c: Revert to simpler version now that
1150         LSTAT_FOLLOWS_SLASHED_SYMLINK must be false.
1151         * m4/faccessat.m4 (gl_FUNC_FACCESSAT_EOVERFLOW):
1152         Remove.  All uses removed.
1153         * modules/canonicalize, modules/canonicalize-lgpl (Files):
1154         Remove m4/faccessat.m4.
1156         canonicalize-lgpl: accommodate picky cpp
1157         * lib/canonicalize-lgpl.c: Use "defined FUNC_REALPATH_WORKS" in
1158         case preprocessor is picky.  Reported by Adhemerval Zanella in:
1159         https://sourceware.org/pipermail/libc-alpha/2020-December/121130.html
1161         canonicalize: simplify via scratch_buffer_dupfree
1162         * config/srclist.txt: Adjust accordingly.
1163         * lib/canonicalize-lgpl.c (realpath_stk):
1164         * lib/canonicalize.c (canonicalize_filename_mode_stk):
1165         Simplify by using scratch_buffer_dupfree.
1166         * lib/malloc/scratch_buffer.h (scratch_buffer_dupfree): New function.
1167         * lib/malloc/scratch_buffer_dupfree.c: New file.
1168         * modules/scratch_buffer (Files, Depends-on):
1169         Add malloc/scratch_buffer_dupfree.c.
1171 2020-12-27  Paul Eggert  <eggert@cs.ucla.edu>
1173         regex: remove glibc21.m4
1174         It doesn’t seem to be needed any more; at least, I couldn’t
1175         reproduce the circa-2013 problem.  Perhaps the recent
1176         --conditional-dependencies fixes have removed the need for it.
1177         * m4/glibc21.m4: Remove.  All uses removed.
1179 2020-12-26  Bruno Haible  <bruno@clisp.org>
1181         gnulib-tool: Make --conditional-dependencies work with --with-tests.
1182         Reported by Paul Eggert in
1183         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00236.html>.
1184         * gnulib-tool (func_emit_tests_Makefile_am): Handle conditional
1185         dependencies like func_emit_lib_Makefile_am.
1187 2020-12-26  Bruno Haible  <bruno@clisp.org>
1189         execvpe: Make dependency to stdbool explicit.
1190         * lib/execvpe.c: Include <stdbool.h>.
1191         * modules/execvpe (Depends-on): Add stdbool.
1193         execlp: Add tests.
1194         * tests/test-execlp-main.c: New file.
1195         * tests/test-execlp.sh: New file.
1196         * modules/execlp-tests: New file.
1198         execlp: New module.
1199         * lib/execlp.c: New file.
1200         * m4/execlp.m4: New file.
1201         * modules/execlp: New file.
1202         * doc/posix-functions/execlp.texi: Mention more Windows problems and the
1203         new module.
1205         execle: Add tests.
1206         * tests/test-execle-main.c: New file.
1207         * tests/test-execle.sh: New file.
1208         * modules/execle-tests: New file.
1210         execle: New module.
1211         * lib/execle.c: New file.
1212         * m4/execle.m4: New file.
1213         * modules/execle: New file.
1214         * doc/posix-functions/execle.texi: Mention more Windows problems and the
1215         new module.
1217         execl: Add tests.
1218         * tests/test-execl-main.c: New file.
1219         * tests/test-execl.sh: New file.
1220         * modules/execl-tests: New file.
1222         execl: New module.
1223         * lib/execl.c: New file.
1224         * m4/execl.m4: New file.
1225         * modules/execl: New file.
1226         * doc/posix-functions/execl.texi: Mention more Windows problems and the
1227         new module.
1229         execv: Add tests.
1230         * tests/test-execv-main.c: New file.
1231         * tests/test-execv.sh: New file.
1232         * modules/execv-tests: New file.
1234         execv: New module.
1235         * lib/execv.c: New file.
1236         * m4/execv.m4: New file.
1237         * modules/execv: New file.
1238         * doc/posix-functions/execv.texi: Mention more Windows problems and the
1239         new module.
1241         execvp: Add tests.
1242         * tests/test-execvp-main.c: New file.
1243         * tests/test-execvp.sh: New file.
1244         * modules/execvp-tests: New file.
1246         execvp: New module.
1247         * lib/execvp.c: New file.
1248         * m4/execvp.m4: New file.
1249         * modules/execvp: New file.
1250         * doc/posix-functions/execvp.texi: Mention more Windows problems and the
1251         new module.
1253         execvpe: Add tests.
1254         * tests/test-execvpe-main.c: New file.
1255         * tests/test-execvpe.sh: New file.
1256         * modules/execvpe-tests: New file.
1258         execvpe: New module.
1259         * lib/execvpe.c: New file.
1260         * m4/execvpe.m4: New file.
1261         * modules/execvpe: New file.
1262         * doc/glibc-functions/execvpe.texi: Mention the Windows problems and the
1263         new module.
1265         execve: Add tests.
1266         * tests/test-exec-child.c: New file.
1267         * tests/test-execve-main.c: New file.
1268         * tests/test-execve.sh: New file.
1269         * modules/execve-tests: New file.
1271         execve: New module.
1272         * lib/execve.c: New file.
1273         * m4/execve.m4: New file.
1274         * modules/execve: New file.
1275         * doc/posix-functions/execve.texi: Mention more Windows problems and the
1276         new module.
1278         execve, execvpe, execvp, execv, execl, execle, execlp: Prepare modules.
1279         * lib/unistd.in.h (execl, execle, execlp, execv, execve, execvp,
1280         execvpe): Add declarations for the new modules.
1281         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether execl, execle, execlp,
1282         execv, execve, execvp, execvpe are declared.
1283         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EXEC*, HAVE_EXECVPE,
1284         REPLACE_EXEC*.
1285         * modules/unistd (Makefile.am): Substitute GNULIB_EXEC*, HAVE_EXECVPE,
1286         REPLACE_EXEC*.
1287         * tests/test-unistd-c++.cc: Check the signature of execl, execle,
1288         execlp, execv, execve, execvp, execvpe.
1290 2020-12-26  Bruno Haible  <bruno@clisp.org>
1292         stack: Fix typo in comments.
1293         * lib/stack.h: Fix typo in comments.
1295 2020-12-26  Bruno Haible  <bruno@clisp.org>
1297         bitset: Fix conflict with 'free-posix' module.
1298         * lib/bitset/base.h: Include <stdlib.h>.
1300 2020-12-25  Paul Eggert  <eggert@cs.ucla.edu>
1302         idx: change idx.h comment to LGPLv2.1+
1303         * lib/idx.h: Change license notice to match what should be in glibc.
1304         gnulib-tool will change it as appropriate anyway, so this is just
1305         to simplify syncing with glibc.
1307 2020-12-25  Thien-Thi Nguyen  <ttn@gnu.org>
1309         MODULES.html.sh: Update after 2020-12-19 change.
1310         * MODULES.html.sh (func_all_modules): Do s/free/free-posix/.
1312 2020-12-25  Bruno Haible  <bruno@clisp.org>
1314         Make it possible to turn off the mkdir override on Windows.
1315         * lib/sys_stat.in.h (mkdir): Conditionalize through GNULIB_MKDIR and
1316         GNULIB_MDA_MKDIR. Also support GNULIB_POSIXCHECK.
1317         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_MKDIR,
1318         GNULIB_MDA_MKDIR.
1319         * modules/sys_stat (Makefile.am): Substitute GNULIB_MKDIR,
1320         GNULIB_MDA_MKDIR.
1321         * modules/mkdir (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
1322         * doc/posix-functions/mkdir.texi: Mention also the 'sys_stat' module.
1324         Make it possible to turn off each of the Windows oldnames workarounds.
1325         * lib/fcntl.in.h (creat, open):  Conditionalize each of the Windows
1326         oldnames workarounds through a GNULIB_MDA_<func> symbol.
1327         * lib/math.in.h (j0, j1, jn, y0, y1, yn): Likewise.
1328         * lib/search.in.h (lfind, lsearch): Likewise.
1329         * lib/stdio.in.h (fcloseall, fdopen, fileno, getw, putw, tempnam):
1330         Likewise.
1331         * lib/stdlib.in.h (ecvt, fcvt, gcvt, mktemp, putenv): Likewise.
1332         * lib/string.in.h (memccpy, strdup): Likewise.
1333         * lib/sys_stat.in.h (chmod, umask): Likewise.
1334         * lib/time.in.h (tzset): Likewise.
1335         * lib/unistd.in.h (access, chdir, close, dup, dup2, execl, execle,
1336         execlp, execv, execve, execvp, execvpe, getcwd, getpid, isatty, lseek,
1337         read, rmdir, swab, unlink, write): Likewise.
1338         * lib/utime.in.h (utime): Likewise.
1339         * lib/wchar.in.h (wcsdup): Likewise.
1340         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize these
1341         GNULIB_MDA_<func> symbols.
1342         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Likewise.
1343         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Likewise.
1344         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
1345         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
1346         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
1347         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
1348         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Likewise.
1349         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
1350         * m4/utime_h.m4 (gl_UTIME_H_DEFAULTS): Likewise.
1351         * m4/wchar_h.m4 (gl_WCHAR_H_DEFAULTS): Likewise.
1352         * modules/fcntl-h (Makefile.am): Substitute these GNULIB_MDA_<func>
1353         symbols.
1354         * modules/math (Makefile.am): Likewise.
1355         * modules/search (Makefile.am): Likewise.
1356         * modules/stdio (Makefile.am): Likewise.
1357         * modules/stdlib (Makefile.am): Likewise.
1358         * modules/string (Makefile.am): Likewise.
1359         * modules/sys_stat (Makefile.am): Likewise.
1360         * modules/time (Makefile.am): Likewise.
1361         * modules/unistd (Makefile.am): Likewise.
1362         * modules/utime-h (Makefile.am): Likewise.
1363         * modules/wchar (Makefile.am): Likewise.
1365 2020-12-24  Paul Eggert  <eggert@cs.ucla.edu>
1367         canonicalize, canonicalize-lgpl: remove lint
1368         Pacify GCC.  Some of these problems were reported by Bruno Haible in:
1369         https://lists.gnu.org/r/bug-gnulib/2020-12/msg00217.html
1370         * lib/canonicalize-lgpl.c, lib/canonicalize.c:
1371         Sort shared include directives, for consistency.
1372         (IF_LINT): New macro.
1373         (suffix_requires_dir_check): Mark with _GL_ATTRIBUTE_PURE.
1374         * lib/canonicalize-lgpl.c (GCC_LINT, _GL_ATTRIBUTE_PURE) [_LIBC]:
1375         New macros.
1376         (realpath_stk): Suppress bogus -Wmaybe-uninitialized warning.
1377         * lib/canonicalize.c (canonicalize_filename_mode_stk):
1378         Omit unused local.  Suppress bogus -Wmaybe-uninitialized warning.
1380 2020-12-24  Bruno Haible  <bruno@clisp.org>
1382         spawn-pipe: Use posix_spawn by default on native Windows.
1383         * lib/spawn-pipe.c (SPAWN_PIPE_IMPL_AVOID_POSIX_SPAWN): New macro.
1384         (create_pipe): Use it to decide among the two possible implementations.
1385         * modules/spawn-pipe (Depends-on): Add posix_spawnattr_setpgroup.
1387 2020-12-24  Bruno Haible  <bruno@clisp.org>
1389         unistd-safer: Implement pipe_safer on native Windows.
1390         * lib/pipe-safer.c (pipe_safer): Don't test HAVE_PIPE.
1391         * modules/unistd-safer (Depends-on): Add pipe-posix.
1393 2020-12-24  Bruno Haible  <bruno@clisp.org>
1395         execute: Use posix_spawn by default on native Windows.
1396         * lib/execute.c (EXECUTE_IMPL_AVOID_POSIX_SPAWN): New macro.
1397         (execute): Use it to decide among the two possible implementations.
1399 2020-12-24  Paul Eggert  <eggert@cs.ucla.edu>
1401         canonicalize-lgpl: merge proposed libc changes
1402         This merges the changes proposed for glibc in:
1403         https://sourceware.org/pipermail/libc-alpha/2020-December/121085.html
1404         https://sourceware.org/pipermail/libc-alpha/2020-December/121086.html
1405         * lib/canonicalize-lgpl.c: Include idx.h and filename.h
1406         unconditionally.
1407         (idx_t, IDX_MAX, FILE_SYSTEM_PREFIX_LEN, IS_ABSOLUTE_FILE_NAME)
1408         (ISSLASH) [_LIBC]: Remove.
1410 2020-12-24  Bruno Haible  <bruno@clisp.org>
1412         posix_spawn-internal: Implement for native Windows.
1413         * lib/spawni.c (grow_inheritable_handles, shrink_inheritable_handles,
1414         close_inheritable_handles, memiszero, sigisempty, open_handle, do_open,
1415         do_dup2, do_close): New functions.
1416         (__spawni): Implement on native Windows.
1417         * modules/posix_spawn-internal (Depends-on): Add filename,
1418         concat-filename, findprog-in, malloca, windows-spawn.
1419         * doc/posix-functions/posix_spawn.texi: Update.
1420         * doc/posix-functions/posix_spawnp.texi: Likewise.
1422 2020-12-24  Bruno Haible  <bruno@clisp.org>
1424         windows-spawn: Export another auxiliary function.
1425         * lib/windows-spawn.h (convert_CreateProcess_error): New declaration.
1426         * lib/windows-spawn.c (convert_CreateProcess_error): New function,
1427         extracted from spawnpvech.
1428         (spawnpvech): Use it.
1430 2020-12-24  Bruno Haible  <bruno@clisp.org>
1432         windows-spawn: Export some more auxiliary functions.
1433         * lib/windows-spawn.h: Include <stdbool.h>.
1434         (struct inheritable_handles): New type.
1435         (init_inheritable_handles, compose_handles_block,
1436         free_inheritable_handles): New declarations.
1437         * lib/windows-spawn.c (init_inheritable_handles, compose_handles_block):
1438         New functions, based on spawnvech.
1439         (free_inheritable_handles): New function.
1440         (spawnpvech): Use them.
1442 2020-12-24  Bruno Haible  <bruno@clisp.org>
1444         windows-spawn: Export another auxiliary function.
1445         * lib/windows-spawn.h (compose_envblock): New declaration.
1446         * lib/windows-spawn.c (compose_envblock): New function, extracted from
1447         spawnpvech.
1448         (spawnpvech): Use it.
1450 2020-12-24  Bruno Haible  <bruno@clisp.org>
1452         windows-spawn: Export an auxiliary function.
1453         * lib/windows-spawn.h (compose_command): New declaration.
1454         * lib/windows-spawn.c (compose_command): New function, extracted from
1455         spawnpvech.
1456         (spawnpvech): Use it.
1458 2020-12-24  Bruno Haible  <bruno@clisp.org>
1460         posix_spawn* tests: Add support for native Windows.
1461         * tests/test-posix_spawn-open1.c (DATA_FILENAME): Treat native Windows
1462         like Cygwin.
1463         * tests/test-posix_spawn-dup2-stdin.c (main): Don't assume the signals
1464         SIGHUP and SIGPIPE. On native Windows, don't call
1465         posix_spawnattr_setsigmask.
1466         * tests/test-posix_spawn-dup2-stdout.c (main): Likewise.
1467         * tests/test-posix_spawn-fchdir.c (main): Likewise.
1468         * tests/test-posix_spawn-chdir.c (test): Likewise. Accept the child
1469         output from Cygwin's 'pwd' program.
1470         * tests/test-posix_spawn-script.c (main): On native Windows, skip the
1471         executable-shell-script part of the test.
1472         * tests/test-posix_spawnp-script.c (main): Likewise.
1473         * modules/posix_spawn-tests (Depends-on): Add freopen, waitpid.
1474         (configure.ac): Don't define the POSIX_SPAWN_PORTED conditional.
1475         (Makefile.am): Don't test the POSIX_SPAWN_PORTED conditional.
1476         * modules/posix_spawnp-tests (Depends-on): Add  waitpid.
1477         (configure.ac): Don't define the POSIX_SPAWN_PORTED conditional.
1478         (Makefile.am): Don't test the POSIX_SPAWN_PORTED conditional.
1479         * modules/posix_spawn_file_actions_addchdir-tests (Makefile.am): Don't
1480         test the POSIX_SPAWN_PORTED conditional.
1481         * modules/posix_spawn_file_actions_addfchdir-tests (configure.ac):
1482         Define the POSIX_SPAWN_PORTED conditional here.
1484 2020-12-24  Bruno Haible  <bruno@clisp.org>
1486         sh-filename: Add support for native Windows.
1487         * m4/sh-filename.m4 (gl_SH_FILENAME): Treat native Windows like Cygwin.
1489 2020-12-24  Paul Eggert  <eggert@cs.ucla.edu>
1491         careadlinkat: improve warning line number
1492         This propagates an idea first used in canonicalize-lgpl.
1493         * lib/careadlinkat.c (GCC_BOGUS_WRETURN_LOCAL_ADDR):
1494         New macro.
1495         (careadlinkat): Use it.
1497         linkat: use eloop-threshold
1498         * lib/linkat.c: Include eloop-threshold.h.
1499         Do not include sys/param.h.
1500         (MAXSYMLINKS): Remove.
1501         (link_follow, linkat_follow): Use __eloop_threshold instead
1502         of MAXSYMLINKS.
1503         * m4/linkat.m4 (gl_FUNC_LINKAT): Omit sys/param.h check.
1504         * modules/linkat (Depends-on): Add eloop-threshold.  Sort.
1506         canonicalize-lgpl: use eloop-threshold
1507         * lib/canonicalize-lgpl.c [!_LIBC]: Include eloop-threshold.h.
1508         (MAXSYMLINKS, __eloop_threshold): Remove.
1509         * modules/canonicalize-lgpl (Depends-on): Add eloop-threshold.
1511         eloop-threshold: new module
1512         * config/srclist.txt: Add a comment about it.
1513         * lib/eloop-threshold.h, modules/eloop-threshold: New files.
1515         canonicalize: prefer faccessat to stat
1516         A proper faccessat doesn't have the EOVERFLOW problem, and can be
1517         more efficient as it needn't gather data from the filesystem to
1518         fill in struct stat.  So use stat only if faccessat is absent,
1519         or when checking for symlink loops in canonicalize.c.
1520         * lib/canonicalize-lgpl.c, lib/canonicalize.c:
1521         Include fcntl.h, for AT_EACCESS.
1522         (FACCESSAT_NEVER_EOVERFLOWS): Default to false.
1523         (file_accessible): New function, based on faccessat but with
1524         a fallback to stat and with an EOVERFLOW workaround.
1525         (dir_check): Use it.
1526         (dir_suffix): New static constant.
1527         * lib/canonicalize-lgpl.c (FACCESSAT_NEVER_EOVERFLOWS) [_LIBC]:
1528         Use __ASSUME_FACCESSAT2 to set FACCESSAT_NEVER_EOVERFLOWS
1529         (__faccessat) [!_LIBC]: Define.
1530         (realpath_stk): Use dir_suffix now.
1531         * lib/canonicalize.c (canonicalize_filename_mode_stk):
1532         If logical, don't check each component's existence; just check
1533         at the end, as that's enough.
1534         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
1535         (gl_CANONICALIZE_LGPL_SEPARATE):
1536         Require gl_FUNC_FACCESSAT_EOVERFLOW,
1537         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and check for faccessat.
1538         (gl_CANONICALIZE_LGPL_SEPARATE): Do not check for readlink,
1539         as the code does not use HAVE_READLINK.
1540         * modules/canonicalize, modules/canonicalize-lgpl (Files):
1541         Add m4/faccessat.m4, m4/lstat.m4.
1542         (Depends-on): Add fcntl-lh.
1544         faccessat: work around F_OK EOVERFLOW bug
1545         * doc/posix-functions/faccessat.texi: Mention the problem.
1546         * lib/faccessat.c (FACCESSAT_NEVER_EOVERFLOWS): Default to 0.
1547         (rpl_faccessat): If !FACCESSAT_NEVER_EOVERFLOWS, check
1548         for F_OK and EOVERFLOW, which means we can return 0.
1549         * m4/faccessat.m4 (gl_FUNC_FACCESSAT_EOVERFLOW): New macro.
1550         (gl_FUNC_FACCESSAT): Use it.
1552         stat failing with EOVERFLOW implies existence
1553         * lib/euidaccess.c (euidaccess):
1554         * lib/file-has-acl.c (file_has_acl):
1555         * lib/link.c (link, rpl_link):
1556         * lib/mkdir.c (rpl_mkdir):
1557         * lib/mkfifo.c (rpl_mkfifo):
1558         * lib/mknod.c (rpl_mknod):
1559         * lib/ptsname_r.c (__ptsname_r):
1560         * lib/symlink.c (rpl_symlink):
1561         * lib/symlinkat.c (rpl_symlinkat):
1562         * lib/unlink.c (rpl_unlink):
1563         * lib/unlinkat.c (rpl_unlinkat):
1564         * lib/utime.c (utime):
1565         If stat fails with EOVERFLOW the file exists, so treat it that way
1566         in file-existence tests that do not need struct stat values.
1568         canonicalize-lgpl: remove freea macro
1569         * lib/canonicalize-lgpl.c (freea) [_LIBC]: Remove; not needed.
1571         canonicalize, canonicalize-lgpl: fix symlink bug
1572         Problem reported by Adhemerval Zanella in:
1573         https://lists.gnu.org/r/bug-gnulib/2020-12/msg00155.html
1574         * lib/canonicalize-lgpl.c, lib/canonicalize.c:
1575         (suffix_requires_dir_check, dir_check): New functions.
1576         (GCC_BOGUS_WRETURN_LOCAL_ADDR): New macro, to put the diagnostic
1577         closer to the related GCC diagnostics.
1578         * lib/canonicalize-lgpl.c (realpath_stk):
1579         * lib/canonicalize.c (canonicalize_file_mode_stk):
1580         Use them to fix a bug with .../symlink-to-regular-file/ etc.
1581         * lib/canonicalize-lgpl.c (__stat) [!_LIBC]: New macro.
1582         (realpath_stk): New function,
1583         with the contents of the old __realpath and a new scratch buffer arg.
1584         This is needed to pacify GCC 10.1, as canonicalize.c is already doing.
1585         (__realpath): Use it.
1586         * tests/test-canonicalize-lgpl.c, tests/test-canonicalize.c:
1587         Add test cases for the bugs.
1589 2020-12-24  Bruno Haible  <bruno@clisp.org>
1591         execute: Treat signalled processes like wait-process does.
1592         * lib/execute.c: Include <sys/types.h>, <sys/wait.h>.
1593         (execute): Recognize the case where the exit code indicates a signalled
1594         child process.
1595         * tests/test-execute-main.c (main): Update expected test result.
1596         * modules/execute (Depends-on): Add sys_wait.
1598 2020-12-24  Bruno Haible  <bruno@clisp.org>
1600         windows-spawn: Improve errno upon failure on native Windows.
1601         * lib/windows-spawn.c (spawnpvech): Map the CreateProcess errors
1602         ERROR_BAD_FORMAT and ERROR_BAD_EXE_FORMAT to ENOEXEC.
1603         * tests/executable-script.sh: New file.
1604         * tests/test-posix_spawn-script.c (main): Also try executing
1605         executable-script.sh.
1606         * tests/test-posix_spawnp-script.c (main): Likewise.
1607         * tests/test-execute-script.c (main): Likewise.
1608         * tests/test-spawn-pipe-script.c (main): Likewise.
1609         * modules/posix_spawn-tests (Files): Add tests/executable-script.sh.
1610         * modules/posix_spawnp-tests (Files): Likewise.
1611         * modules/execute-tests (Files): Likewise.
1612         * modules/spawn-pipe-tests (Files): Likewise.
1614 2020-12-24  Bruno Haible  <bruno@clisp.org>
1616         findprog-in: Improve errno upon failure on native Windows.
1617         * lib/findprog-in.c (find_in_given_path): If the file basename has no
1618         dot and the search with a suffix returned no result, do also a search
1619         without a suffix, and set errno = ENOEXEC if we find a file in this way.
1620         * tests/test-spawn-pipe-script.c (main): Update expected errno.
1622 2020-12-23  Bruno Haible  <bruno@clisp.org>
1624         posix_spawn, posix_spawnp: Fix execution of scripts.
1625         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_SECURE): New macro.
1626         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if posix_spawn
1627         or posix_spawnp allows unsecure execution of scripts.
1628         * doc/posix-functions/posix_spawn.texi: Document the script execution
1629         problem.
1630         * doc/posix-functions/posix_spawnp.texi: Likewise.
1632 2020-12-23  Bruno Haible  <bruno@clisp.org>
1634         Add unit tests regarding execution of scripts.
1635         * tests/executable-script: New file.
1636         * tests/executable-shell-script: New file.
1637         * tests/test-posix_spawn-script.c: New file.
1638         * tests/test-posix_spawnp-script.c: New file.
1639         * tests/test-execute-script.c: New file.
1640         * tests/test-spawn-pipe-script.c: New file.
1641         * modules/posix_spawn-tests (Files): Add
1642         tests/test-posix_spawn-script.c, tests/executable-script,
1643         tests/executable-shell-script.
1644         (Makefile.am): Compile and run test-posix_spawn-script.
1645         * modules/posix_spawnp-tests (Files): Add
1646         tests/test-posix_spawnp-script.c, tests/executable-script,
1647         tests/executable-shell-script.
1648         (Makefile.am): Compile and run test-posix_spawnp-script.
1649         * modules/execute-tests (Files): Add tests/test-execute-script.c,
1650         tests/executable-script, tests/executable-shell-script.
1651         (Makefile.am): Compile and run test-execute-script.
1652         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-script.c,
1653         tests/executable-script, tests/executable-shell-script.
1654         (Makefile.am): Compile and run test-spawn-pipe-script.
1656 2020-12-23  Bruno Haible  <bruno@clisp.org>
1658         Don't execute scripts without '#!' marker through /bin/sh.
1659         This reflects the change done in glibc through
1660         <https://sourceware.org/bugzilla/show_bug.cgi?id=13134> and
1661         <https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=d96de9634a334af16c0ac711074c15ac1762b23c>.
1662         * lib/spawni.c (internal_function): Remove macro.
1663         (script_execute): Remove function.
1664         (__spawni): Don't invoke script_execute.
1665         * lib/execute.c (execute): Disable the ENOEXEC handling.
1666         * lib/spawn-pipe.c (create_pipe): Likewise.
1667         * NEWS: Mention the change.
1669 2020-12-23  Bruno Haible  <bruno@clisp.org>
1671         posix_spawn[p]: Fix compilation error on Windows (regr. 2020-12-14).
1672         Reported by Adrian Ebeling <devl@adrian-ebeling.de> in
1673         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00189.html>.
1674         * lib/spawni.c (__spawni): Update function parameters.
1676 2020-12-23  Bruno Haible  <bruno@clisp.org>
1678         posix_spawn tests: Add two more tests.
1679         * tests/test-posix_spawn-inherit0.c: New file, based on
1680         tests/test-posix_spawn-open2.c.
1681         * tests/test-posix_spawn-inherit1.c: New file, based on
1682         tests/test-posix_spawn-open2.c.
1683         * modules/posix_spawn-tests (Files): Add them.
1684         (Depends-on): Add fflush.
1685         (Makefile.am): Compile and run test-posix_spawn-inherit0 and
1686         test-posix_spawn-inherit1.
1688 2020-12-23  Bruno Haible  <bruno@clisp.org>
1690         posix_spawn tests: Add another test.
1691         * tests/test-posix_spawn-open2.c: New file, based on
1692         tests/test-posix_spawn-open1.c.
1693         * modules/posix_spawn-tests (Files): Add it.
1694         (Makefile.am): Compile and run test-posix_spawn-open1.
1696 2020-12-20  Bruno Haible  <bruno@clisp.org>
1698         Remove support for broken <wchar.h> in AIX 3.
1699         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify test programs.
1701 2020-12-20  Bruno Haible  <bruno@clisp.org>
1703         Remove support for broken <wchar.h> in BSD/OS and OSF/1.
1704         * lib/wchar.in.h: Don't include <stdio.h>, <time.h>.
1705         * lib/mbchar.h: Likewise.
1706         * lib/mbiter.h: Likewise.
1707         * lib/mbuiter.h: Likewise.
1708         * m4/stdint.m4 (gl_STDINT_INCLUDES): Likewise.
1709         * lib/mbfile.h: Don't include <time.h>.
1710         * lib/mbswidth.h: Update comment.
1711         * lib/stdint.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> before
1712         <wchar.h>.
1713         * lib/wctype.in.h: Likewise.
1714         * m4/btowc.m4 (gl_FUNC_BTOWC): Simplify test programs.
1715         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Likewise.
1716         * m4/iswdigit.m4 (gl_FUNC_ISWDIGIT): Likewise.
1717         * m4/iswxdigit.m4 (gl_FUNC_ISWXDIGIT): Likewise.
1718         * m4/mbrlen.m4 (gl_FUNC_MBRLEN, gl_MBRLEN_INCOMPLETE_STATE,
1719         gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL): Likewise.
1720         * m4/mbrtoc32.m4 (gl_MBRTOC32_SANITYCHECK): Likewise.
1721         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_MBRTOWC_INCOMPLETE_STATE,
1722         gl_MBRTOWC_SANITYCHECK, gl_MBRTOWC_NULL_ARG1, gl_MBRTOWC_NULL_ARG2,
1723         gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL, gl_MBRTOWC_STORES_INCOMPLETE,
1724         AC_FUNC_MBRTOWC): Likewise.
1725         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Likewise.
1726         * m4/mbsnrtowcs.m4 (gl_MBSNRTOWCS_WORKS_IN_TRADITIONAL_LOCALE):
1727         Likewise.
1728         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS, gl_MBSRTOWCS_WORKS): Likewise.
1729         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
1730         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
1731         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Likewise.
1732         * m4/wchar_h.m4 (gl_WCHAR_H, gl_WCHAR_H_INLINE_OK): Likewise.
1733         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
1734         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Likewise.
1735         * m4/wcsnrtombs.m4 (gl_WCSNRTOMBS_WORKS_IN_TRADITIONAL_LOCALE):
1736         Likewise.
1737         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS, gl_WCSRTOMBS_TERMINATION,
1738         gl_WCSRTOMBS_NULL): Likewise.
1739         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Likewise.
1740         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
1741         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
1742         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
1743         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
1744         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Likewise.
1745         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Likewise.
1746         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Likewise.
1747         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Likewise.
1748         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Likewise.
1750 2020-12-20  Bruno Haible  <bruno@clisp.org>
1752         isnanf: Fix autoconf test.
1753         * m4/isnanf.m4 (gl_ISNANF_WORKS): Fix one of the NaN tests.
1755 2020-12-20  Bruno Haible  <bruno@clisp.org>
1757         Remove some of the support for obsolete IRIX 4 and 5.
1758         * m4/mountlist.m4 (AC_FUNC_GETMNTENT): Don't test for getmntent in
1759         libsun.
1760         * tests/init.sh (setup_): Don't talk about IRIX 5.
1762 2020-12-20  Bruno Haible  <bruno@clisp.org>
1764         filemode: Remove Cray support.
1765         * lib/filemode.c (IS_MIGRATED_FILE): Remove macro.
1766         (filemodestring): Don't produce an 'M' type.
1767         * m4/filemode.m4 (gl_FILEMODE): Don't invoke AC_STRUCT_ST_DM_MODE.
1768         * m4/st_dm_mode.m4: Remove file.
1769         * modules/filemode (Files): Remove it.
1771 2020-12-20  Paul Eggert  <eggert@cs.ucla.edu>
1773         free-posix: assume glibc 2.33 fixes this.
1774         * m4/free.m4 (gl_FUNC_FREE): Assume glibc 2.33+ is fixed.
1775         Use compile-time test rather than guessing for cross-builds.
1777 2020-12-20  Bruno Haible  <bruno@clisp.org>
1779         backupfile: Fix compilation error on native Windows (regr. 2018-10-23).
1780         Reported by Adrian Ebeling <adrianebeling@gmx.de> in
1781         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00156.html>.
1782         * lib/backupfile.c (fpathconf): Define fallback, like for pathconf.
1784 2020-12-20  Bruno Haible  <bruno@clisp.org>
1786         float: Fix compilation error when gnulib's float.h exists twice.
1787         Reported by Santiago Vila <sanvila@unex.es>.
1788         * lib/float.in.h (GNULIB_defined_long_double_union): New macro.
1790 2020-12-19  Bruno Haible  <bruno@clisp.org>
1792         free-posix: Assume future POSIX compliance only on OpenBSD and Solaris.
1793         * m4/free.m4 (gl_FUNC_FREE): Guess yes only on OpenBSD and Solaris.
1794         Don't trust _POSIX_VERSION for this test.
1796 2020-12-19  Paul Eggert  <eggert@cs.ucla.edu>
1798         free-posix: port to GNU/Linux
1799         * m4/free.m4 (gl_FUNC_FREE): Don’t assume GNU hosts are free of
1800         the bug, as it occurs on Ubuntu 20.10 x86-64 and, I assume, on
1801         other GNU/Linux hosts.
1803 2020-12-19  Bruno Haible  <bruno@clisp.org>
1805         free-posix: Add tests.
1806         * tests/test-free.c: New file.
1807         * tests/macros.h (ASSERT_NO_STDIO,
1808         WRITE_MACROEXPANDED_INTEGER_TO_STDERR, WRITE_INTEGER_TO_STDERR,
1809         WRITE_TO_STDERR): New macros.
1810         * modules/free-posix-tests: New file.
1812 2020-12-18  Bruno Haible  <bruno@clisp.org>
1814         free-posix: Add C++ declaration test.
1815         * tests/test-stdlib-c++.cc (free): New declaration.
1817 2020-12-18  Bruno Haible  <bruno@clisp.org>
1819         free-posix: New module, renamed from 'free'.
1820         * modules/free-posix: Renamed from modules/free.
1821         (configure.ac): Update gl_STDLIB_MODULE_INDICATOR invocation.
1822         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_FREE_POSIX,
1823         not GNULIB_FREE.
1824         * modules/stdlib (Makefile.am): Substitute GNULIB_FREE_POSIX, not
1825         GNULIB_FREE.
1826         * lib/stdlib.in.h (free): Test GNULIB_FREE_POSIX, not GNULIB_FREE.
1827         * doc/posix-functions/free.texi: Mention the module 'free-posix' and
1828         what it does.
1829         * NEWS: Mention that module 'free' no longer exists.
1830         * modules/canonicalize (Depends-on): Add free-posix. Remove free.
1831         * modules/canonicalize-lgpl (Depends-on): Likewise.
1833 2020-12-18  Bruno Haible  <bruno@clisp.org>
1835         free: Remove support for obsolete platforms.
1836         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works. Don't define
1837         CANNOT_FREE_NULL.
1838         * lib/free.c (rpl_free): Don't test CANNOT_FREE_NULL.
1839         * modules/free (Description): Update.
1840         * doc/posix-functions/free.texi: Don't mention SunOS 4 any more.
1842 2020-12-18  Paul Eggert  <eggert@cs.ucla.edu>
1844         intprops: port to ICC 2021.1 Beta 20201112
1845         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW_P):
1846         Port to ICC 2021.1, which has a non-working __builtin_mul_overflow_p.
1847         Add a clause for other compilers that claim to support
1848         __builtin_mul_overflow_p, since we might as well find out about
1849         slackers other than Clang and ICC.
1850         (INT_MULTIPLY_WRAPV): ICC 2021 has GCC bug 91450, so treat it
1851         like older GCCs even when it claims to be a newer one.
1853 2020-12-18  Bruno Haible  <bruno@clisp.org>
1855         intprops: Avoid potentially buggy __builtin_add_overflow in GCC 5, 6.
1856         Reported by Stefan Liebler <stli@linux.ibm.com> in
1857         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00152.html>.
1858         * lib/intprops.h (_GL_HAS_BUILTIN_ADD_OVERFLOW): Don't define for
1859         GCC 5.x and 6.x.
1860         * lib/glob.c (size_add_wrapv): Don't use __builtin_add_overflow for
1861         GCC 5.x and 6.x.
1863 2020-12-17  Bruno Haible  <bruno@clisp.org>
1865         free: Fix warning.
1866         Reported by Pádraig Brady <P@draigBrady.com> in
1867         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00148.html>.
1868         * lib/stdlib.in.h (free): New declaration.
1869         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether 'free' is declared.
1870         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_FREE, REPLACE_FREE.
1871         * modules/stdlib (Makefile.am): Substitute GNULIB_FREE, REPLACE_FREE.
1872         * m4/free.m4 (gl_FUNC_FREE): Set REPLACE_FREE, instead of defining
1873         'free' as a macro here.
1874         * modules/free (Depends-on): Add stdlib.
1875         (configure.ac): Test REPLACE_FREE. Invoke gl_STDLIB_MODULE_INDICATOR.
1877 2020-12-17  Paul Eggert  <eggert@cs.ucla.edu>
1879         canonicalize-lgpl: fix AIX test failures
1880         This merges the recent canonicalize.c fix into canonicalize-lgpl.c.
1881         Problem reported by Bruno Haible in:
1882         https://lists.gnu.org/r/bug-gnulib/2020-12/msg00138.html
1883         * lib/canonicalize-lgpl.c: Include sys/stat.h.
1884         (__realpath): When testing a file name ending in '/', use stat
1885         rather than readlink, so that it does the right thing on AIX.
1886         * modules/canonicalize-lgpl (Depends-on): Add stat, sys_stat.
1888         canonicalize: omit second readlink when not needed
1889         * lib/canonicalize.c (canonicalize_filename_mode_stk):
1890         Omit second readlink when (can_exist != CAN_MISSING
1891         && startlen != 0 && !logical).  Simplify.
1893         canonicalize: remove arbitrary 8192-byte limit
1894         Remove canonicalize.c’s arbitrary 8192-byte limit on platforms
1895         like GNU Hurd that do not define the PATH_MAX macro, and similarly
1896         for canonicalize-lgpl.c’s arbitrary 1024-byte limit.  Do this by
1897         using scratch buffers.  Lessen the number of differences between
1898         the two source files, to simplify this and future maintenance.
1899         * lib/canonicalize-lgpl.c (__realpath):
1900         * lib/canonicalize.c (canonicalize_filename_mode_stk):
1901         Use scratch buffers instead of malloc and malloca.  This avoids
1902         the need for alloca, and avoids the need for malloc in most cases.
1903         * lib/canonicalize-lgpl.c, lib/canonicalize.c: Make these files
1904         easier to compare, e.g., by sorting include files and by switching
1905         to the GNU convention of calling file names "file names", not
1906         "path names".  Include stdbool.h, scratch_buffer.h.
1907         * lib/canonicalize-lgpl.c (IDX_MAX) [_LIBC]: New macro.
1908         (malloca) [_LIBC]: Remove.
1909         [!_LIBC]: Do not include malloca.h.
1910         (get_path_max): New function, so that pathconf is called only in
1911         the rare and dubious case when when RESOLVED is not null and
1912         PATH_MAX is not defined.  Invoke pathconf on "/" not the input
1913         file name, as we care about the longest file name starting from
1914         "/" (not from the input file name), and POSIX does not specify
1915         what pathconf does on a non-directory file anyway.  If PATH_MAX is
1916         not defined, do not worry about overriding a path_max of 0, and do
1917         not let path_max exceed IDX_MAX.
1918         (__realpath): Remove an assumption that file name components
1919         cannot exceed 1024 bytes when PATH_MAX is not defined (wrong for
1920         the Hurd, presumably).
1921         When allocating the result, allocate it to just the right size;
1922         this costs nothing when the result is smaller than 1023 bytes,
1923         and for larger results it's probably worth the CPU to call realloc,
1924         as canonicalize.c already does.
1925         * lib/canonicalize.c: Include attribute.h.
1926         Do not include pathmax.h or xgetcwd.h.
1927         (PATH_MAX): Do not define, so file names longer than 8192 bytes
1928         work on platforms with no fixed limit.
1929         (canonicalize_filename_mode_stk): New function, with
1930         the content of the old canonicalize_filename_mode.
1931         Use getcwd instead of xgetcwd, and readlink instead of areadlink,
1932         since the scratch buffers now do memory management for us.
1933         Use rawmemchr instead of adding strlen.
1934         Use mempcpy instead of mempcpy + size.
1935         Assume free preserves errno.
1936         (canonicalize_filename_mode): Use it.
1937         * modules/canonicalize (Depends-on): Remove areadlink, pathmax,
1938         xgetcwd.  Add attribute, free, getcwd, mempcpy, rawmemchr,
1939         scratch_buffer, stdbool, xalloc-die.
1940         * modules/canonicalize-lgpl (Depends-on): Remove alloca-opt,
1941         malloca, realloc-posix.  Add scratch_buffer, stdbool.
1943         canonicalize-lgpl: simplify merge to glibc
1944         This patch lessens the differences between git glibc
1945         stdlib/canonicalize.c and lib/canonicalize-lgpl.c.
1946         The (perhaps wishful) goal is to make them identical.
1947         * lib/canonicalize-lgpl.c [!_LIBC]:
1948         Include <libc-config.h>, not config.h.
1949         Omit an unnecessary (!HAVE_CANONICALIZE_FILE_NAME ||
1950         !FUNC_REALPATH_WORKS || defined _LIBC) #if.
1951         Do not include alloca.h, since we use malloca now.
1952         [_LIBC]: Include <eloop-threshold.h>, and define dummy macros
1953         FILE_SYSTEM_PREFIX_LEN, IS_ABSOLUTE_FILE_NAME, ISSLASH, malloca,
1954         freea so that the mainline code can be kept #ifdef free.
1955         [!_LIBC]: Remove dummy macros for SHLIB_COMPAT, versioned_symbol,
1956         compat_symbol, weak_alias, __set_errno since libc-config.h does that.
1957         Add redirecting macros __mempcpy, __pathconf, __rawmemchr,
1958         __eloop_threshold.  All uses of their definiens changed.
1959         (SIZE_MAX): Remove; no longer needed.
1960         (alloc_failed): Remove, and remove all instances.
1961         No need for alloc_failed now that free preserves errno.
1962         (__realpath): Default path_max to 1024 instead of 8192, as that’s
1963         the glibc tradition and is safer when the 2nd argument is null.
1964         Use __rawmemchr instead of strchr.
1965         Use __mempcpy where appropriate.
1966         Simplify test for overflow so that it does not need SIZE_MAX.
1967         Do not preserve errno around free or freea calls; no longer needed.
1968         Mark __realpath with libc_hidden_def.
1969         * modules/canonicalize-lgpl (Depends-on): Add free, libc-config,
1970         malloc-posix, mempcpy, realloc-posix, rawmemchr.
1971         * modules/free: Now LGPLv2+, for canonicalize-lgpl.
1973         free: preserve errno
1974         * lib/free.c (rpl_free): Preserve errno.  Check for null only if
1975         CANNOT_FREE_NULL is defined, as an optimization for POSIX 2008
1976         platforms that do not preserve errno.
1977         * m4/free.m4 (gl_FUNC_FREE): Check whether free preserves errno.
1978         Also, define CANNOT_FREE_NULL if free cannot free NULL.
1979         * modules/free (configure.ac): Also replace 'free' if
1980         it does not preserve errno.
1982         idx: simplify IDX_MAX, remove IDX_WIDTH
1983         * lib/idx.h (IDX_MAX): Simplify by removing obsolete reference
1984         to UNSIGNED_IDX_T.
1985         (IDX_WIDTH): Remove, since it’s not used and its value
1986         arguably should be PTRDIFF_WIDTH anyway.
1988 2020-12-16  Bruno Haible  <bruno@clisp.org>
1990         posix_spawn_file_actions_addfchdir-tests: Rename test.
1991         * tests/test-posix_spawn-fchdir.c: Renamed from
1992         tests/test-posix_spawn5.c.
1993         * modules/posix_spawn_file_actions_addfchdir-tests (Files, Makefile.am):
1994         Update.
1996         posix_spawn_file_actions_addchdir-tests: Rename test.
1997         * tests/test-posix_spawn-chdir.c: Renamed from
1998         tests/test-posix_spawn4.c.
1999         * modules/posix_spawn_file_actions_addchdir-tests (Files, Makefile.am):
2000         Update.
2002         posix_spawn-tests: Rename test.
2003         * tests/test-posix_spawn-open1.c: Renamed from
2004         tests/test-posix_spawn3.c.
2005         * modules/posix_spawn-tests (Files, Makefile.am): Update.
2007         posix_spawnp-tests: Rename test.
2008         * tests/test-posix_spawn-dup2-stdin.c: Renamed from
2009         tests/test-posix_spawn2.c.
2010         * tests/test-posix_spawn-dup2-stdin.in.sh: Renamed from
2011         tests/test-posix_spawn2.in.sh.
2012         * modules/posix_spawnp-tests (Files, Makefile.am): Update.
2014         posix_spawnp-tests: Rename test.
2015         * tests/test-posix_spawn-dup2-stdout.c: Renamed from
2016         tests/test-posix_spawn1.c.
2017         * tests/test-posix_spawn-dup2-stdout.in.sh: Renamed from
2018         tests/test-posix_spawn1.in.sh.
2019         * modules/posix_spawnp-tests (Files, Makefile.am): Update.
2021 2020-12-14  Bruno Haible  <bruno@clisp.org>
2023         findprog-in: Allow overriding the current directory.
2024         * lib/findprog.h (find_in_given_path): Add directory argument.
2025         * lib/findprog-in.c (find_in_given_path): Likewise.
2026         * lib/execute.c (execute): Update caller.
2027         * lib/spawn-pipe.c (create_pipe): Likewise.
2028         * lib/windows-spawn.c (spawnpvech): Likewise.
2029         * NEWS: Mention the change.
2031 2020-12-14  Bruno Haible  <bruno@clisp.org>
2033         posix_spawn-internal: Make better use of 'const'.
2034         * lib/spawn_int.h (__spawni): Does not need write access to the elements
2035         of argv and envp.
2036         * lib/spawni.c (__spawni, script_execute): Likewise.
2037         * lib/spawn.c (posix_spawn): Update caller.
2038         * lib/spawnp.c (posix_spawnp): Likewise.
2040 2020-12-14  Bruno Haible  <bruno@clisp.org>
2042         spawn: Make it compile on native Windows.
2043         * modules/spawn (Depends-on): Add signal-h.
2045 2020-12-14  Bruno Haible  <bruno@clisp.org>
2047         windows-spawn: Avoid shadowing a variable.
2048         * lib/windows-spawn.c (spawnpvech): Rename local variable 'flags'.
2050 2020-12-13  Paul Eggert  <eggert@cs.ucla.edu>
2052         string: port memchr macro to AIX 7.2 XLC
2053         Its <string.h> defines a memchr macro to help inlining.
2054         * lib/string.in.h (memchr): #undef before #defining.
2056         canonicalize: fix AIX test failures
2057         Problem reported by Bruno Haible in:
2058         https://lists.gnu.org/r/bug-gnulib/2020-12/msg00109.html
2059         * lib/canonicalize.c (canonicalize_filename_mode):
2060         When testing a file name ending in '/', use stat rather than
2061         readlink, so that it does the right thing on AIX.
2062         * modules/canonicalize (Depends-on): Add readlink, to pull in the
2063         recent changes in the Gnulib readlink module.
2065         Assume readlink/readlinkat ERANGE fix
2066         * lib/areadlink-with-size.c (areadlink_with_size):
2067         * lib/areadlinkat-with-size.c (areadlinkat_with_size):
2068         * lib/careadlinkat.c (readlink_stk):
2069         Do not worry about readlink or readlinkat failing with errno == ERANGE,
2070         since the Gnulib readlink and readlinkat modules now fix that.
2072         getcwd: port to AIX
2073         * lib/getcwd.c [!_LIBC]: Undef stat64 before #defining it,
2074         in case our sys/stat.h #defined a function macro with the same name.
2076         readlink, readlinkat: add ERANGE portability
2077         Fix some portability issues with Gnulib's readlink and readlinkat,
2078         notably mostly working around the ERANGE problem in AIX and HP-UX.
2079         * doc/posix-functions/readlink.texi:
2080         * doc/posix-functions/readlinkat.texi:
2081         ERANGE problem is mostly fixed now.  Mention AIX problem with
2082         trailing / and EINVAL.  Lessen differences between these two files.
2083         * lib/readlink.c (rpl_readlink):
2084         * lib/readlinkat.c (rpl_readlinkat):
2085         If stat ("FILE/", ...) reports EOVERFLOW, treat FILE/ as an
2086         existing directory.  Mostly work around READLINK_TRUNCATE BUG.
2087         Lessen spurious differences between the readlink and readlinkat code.
2088         * lib/readlinkat.c (rpl_readlinkat):
2089         Fix bug where stat was used where fstatat was intended.
2090         * m4/readlink.m4 (gl_FUNC_READLINK):
2091         Rename gl_cv_func_readlink_works to gl_cv_func_readlink_trailing_slash
2092         to identify readlink problems more precisely.  All uses changed.
2093         Guess no on AIX or HP-UX for this variable.
2094         Add check for whether readlink truncates results,
2095         and define new macro READLINK_TRUCATE_BUG accordingly.
2096         * m4/readlinkat.m4 (gl_FUNC_READLINKAT):
2097         Also check gl_cv_func_readlink_trailing_slash when deciding
2098         whether to replace readlinkat.
2099         * modules/readlinkat (Depends-on): Most dependencies are also
2100         needed if replacing readlinkat.  fstatat is different, as it
2101         is needed only if replacing an existing readlinkat.
2103 2020-12-13  Bruno Haible  <bruno@clisp.org>
2105         spawn-pipe: Fix hanging processes on Windows (regression 2020-11-30).
2106         * lib/spawn-pipe.c (create_pipe): After spawning the subprocess, close
2107         the stdin_handle and/or stdout_handle.
2109 2020-12-12  Bruno Haible  <bruno@clisp.org>
2111         Fix gnulib-tool error when some modules occur in tests/.
2112         * doc/gnulib.texi (Specification): Update statistics.
2113         (Autoconf macros): Don't suggest to use AC_LIBOBJ in a .m4 file.
2114         (Using AC_LIBOBJ): New section.
2115         * check-AC_LIBOBJ: New file.
2116         * modules/fnmatch-gnu (Files): Add lib/fnmatch.c.
2117         * modules/fopen-gnu (Files): Add lib/fopen.c.
2118         * modules/memmem (Files): Add lib/memmem.c.
2119         * modules/renameat (Files): Add lib/at-func2.c.
2120         * modules/strcasestr (Files): Add lib/strcasestr.c.
2121         * modules/strstr (Files): Add lib/strstr.c.
2123 2020-12-11  Bruno Haible  <bruno@clisp.org>
2125         sh-quote, execute, spawn-pipe, etc.: Make better use of 'const'.
2126         * lib/sh-quote.h (shell_quote_argv): Does not need write access to the
2127         elements of argv.
2128         * lib/sh-quote.c (shell_quote_argv): Likewise.
2129         * lib/windows-spawn.h (prepare_spawn): Add 'const' the argument type and
2130         the return type.
2131         * lib/windows-spawn.c (prepare_spawn): Likewise.
2132         * lib/os2-spawn.h (prepare_spawn): Likewise.
2133         * lib/os2-spawn.c (prepare_spawn): Likewise.
2134         * lib/execute.h (execute): Does not need write access to the elements of
2135         prog_argv.
2136         * lib/execute.c (execute): Likewise.
2137         * lib/spawn-pipe.h (create_pipe_out, create_pipe_in, create_pipe_bidi):
2138         Likewise.
2139         * lib/spawn-pipe.c (create_pipe, create_pipe_bidi, create_pipe_in,
2140         create_pipe_out): Likewise.
2141         * lib/pipe-filter.h (pipe_filter_ii_execute, pipe_filter_gi_create):
2142         Likewise.
2143         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Likewise.
2144         * lib/pipe-filter-gi.c (pipe_filter_gi_create): Likewise.
2145         * lib/javaexec.h (execute_fn): Does not need write access to the
2146         elements of prog_argv.
2147         * lib/javaexec.c (execute_java_class): Update variable types and remove
2148         casts to 'char *'.
2149         * lib/csharpexec.h (execute_fn): Does not need write access to the
2150         elements of prog_argv.
2151         * lib/csharpexec.c (execute_csharp_using_mono,
2152         execute_csharp_using_sscli): Update variable types and remove casts to
2153         'char *'.
2154         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
2155         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
2156         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
2157         is_jikes_present): Update variable types and remove casts to 'char *'.
2158         * lib/javaversion.c (execute_and_read_line): Does not need write access
2159         to the elements of prog_argv.
2160         * lib/csharpcomp.c (compile_csharp_using_mono,
2161         compile_csharp_using_sscli): Update variable types and remove casts to
2162         'char *'.
2163         * tests/test-sh-quote.c (main): Update variable types and remove casts
2164         to 'char *'.
2165         * tests/test-execute-main.c (main): Update variable types and remove
2166         casts to 'char *'.
2167         * tests/test-spawn-pipe-main.c (test_pipe): Update variable types and
2168         remove casts to 'char *'.
2169         * NEWS: Mention the changes.
2171 2020-12-11  Bruno Haible  <bruno@clisp.org>
2173         execute-tests: Fix compilation error with MSVC.
2174         * tests/test-execute-child.c (is_device): With _fstat, use
2175         'struct _stat', not 'struct stat'.
2177 2020-12-11  Paul Eggert  <eggert@cs.ucla.edu>
2179         vararrays: just use 2.70
2180         * m4/vararrays.m4 (AC_C_VARARRAYS): Do not override Autoconf 2.70
2181         and later, since Autoconf 2.70 matches Gnulib now.
2183         sys_types: just use 2.70
2184         * m4/sys_types_h.m4 (AC_HEADER_MAJOR):
2185         Reindent to match Autoconf sources.
2186         Use Autoconf 2.70 as a prerequisite, not 2.69c.
2188         stdint: port to Autoconf 2.70
2189         * m4/stdint.m4 (gl_STDINT_H): Check for inttypes.h and sys/types.h
2190         instead of assuming that AC_INCLUDES_DEFAULT does it.
2191         The old code relied on AC_INCLUDES_DEFAULT being called
2192         and setting ac_cv_header_inttypes_h and ac_cv_header_sys_types_h,
2193         but this does not occur in Autoconf 2.70.
2195         pid_t.m4: just use 2.70
2196         * m4/pid_t.m4 (AC_TYPE_PID_T):
2197         Use Autoconf 2.70 as a prerequisite, not 2.69c.
2199         largefile: just use 2.70
2200         * m4/largefile.m4 (_AC_SYS_LARGEFILE_TEST_INCLUDES):
2201         Use Autoconf 2.70 as a prerequisite, not 2.69c.
2203         AC_C_RESTRICT: update from Autoconf
2204         * m4/gnulib-common.m4 (gl_PROG_CC_C99): Use Autoconf 2.70
2205         as a prerequisite, not 2.69c, since 2.70 is now out.
2206         (AC_C_RESTRICT): Define only for 2.70 or earlier.
2207         Try __restrict__ before __restrict.
2209         extensions: update from Autoconf
2210         * m4/extensions.m4 (AC_CHECK_INCLUDES_DEFAULT):
2211         Provide a default implementation for Autoconf 2.69 or earlier.
2212         (AC_USE_SYSTEM_EXTENSIONS): Copy from Autoconf git.  Define only
2213         if Autoconf 2.70 or earlier, since 2.70.1 or later should be OK.
2215         alloca: update from Autoconf
2216         * m4/alloca.m4 (gl_PREREQ_ALLOCA):
2217         Trivial update to match Autoconf 2.70.
2219 2020-12-11  Bruno Haible  <bruno@clisp.org>
2221         memchr: Work around memory overrun bug on AIX 7.2.
2222         * m4/memchr.m4 (gl_FUNC_MEMCHR): Test against AIX 7.2 bug.
2223         * doc/posix-functions/memchr.texi: Mention the AIX bug.
2225 2020-12-11  Bruno Haible  <bruno@clisp.org>
2227         execute-tests: Fix compilation error on AIX in 32-bit mode.
2228         * tests/test-execute-child.c: In order to get the original definition of
2229         fstat, don't use '#undef fstat' and '#undef stat'. Instead, arrange to
2230         include the system's <sys/stat.h> and use it before including other
2231         header files.
2233 2020-12-10  Bruno Haible  <bruno@clisp.org>
2235         windows-spawn: Relicense under LGPLv2+.
2236         * modules/windows-spawn (License): Change to LGPLv2+.
2238 2020-12-10  Bruno Haible  <bruno@clisp.org>
2240         execute, spawn-pipe: Fix memory leak on native Windows.
2241         * lib/windows-spawn.h (prepare_spawn): Add a second parameter.
2242         * lib/windows-spawn.c: Don't include xalloc.h.
2243         (quoted_arg_length, quoted_arg_string): New functions, extracted from
2244         prepare_spawn.
2245         (prepare_spawn): Use malloc instead of XNMALLOC. Allocate memory for all
2246         elements of *new_argv together.
2247         * modules/windows-spawn (Depends-on): Remove xalloc. Add malloc-posix.
2248         * lib/os2-spawn.h (prepare_spawn): Add a second parameter.
2249         * lib/os2-spawn.c: Don't include xalloc.h.
2250         (prepare_spawn): Use malloc instead of XNMALLOC. Allocate memory for all
2251         elements of *new_argv together.
2252         * lib/execute.c: Include xalloc.h.
2253         (execute): Check return value of prepare_spawn. Free the memory
2254         allocated by prepare_spawn.
2255         * modules/execute (Depends-on): Add xalloc-die.
2256         * lib/spawn-pipe.c: Include xalloc.h.
2257         (create_pipe): Check return value of prepare_spawn. Free the memory
2258         allocated by prepare_spawn.
2259         * modules/spawn-pipe (Depends-on): Add xalloc-die.
2261 2020-12-10  Bruno Haible  <bruno@clisp.org>
2263         findprog-in: Relicense under LGPLv2+.
2264         Paul Smith's approval is in
2265         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00072.html>.
2266         * modules/findprog-in (License): Change to LGPLv2+.
2268 2020-12-10  Bruno Haible  <bruno@clisp.org>
2270         findprog-in: Don't exit upon out-of-memory.
2271         * lib/findprog.h (find_in_given_path): Document ENOMEM as possible error
2272         code.
2273         * lib/findprog-in.c: Don't include xalloc.h.
2274         (find_in_given_path): Call concatenated_filename, not
2275         xconcatenated_filename. Call strdup, not xstrdup. Upon out-of-memory,
2276         return NULL with errno set.
2277         * modules/findprog-in (Depends-on): Remove xconcat-filename, xalloc. Add
2278         concat-filename, strdup-posix, malloc-posix.
2280 2020-12-09  Bruno Haible  <bruno@clisp.org>
2282         fmaf: Work around a bug on FreeBSD 12.2/arm.
2283         * m4/fmaf.m4 (gl_FUNC_FMAF_WORKS): Add one more test.
2284         * doc/posix-functions/fmaf.texi: Mention the FreeBSD bug.
2286 2020-12-09  Bruno Haible  <bruno@clisp.org>
2288         threadlib: Fix test-fstrcmp failure on FreeBSD 11.
2289         * m4/threadlib.m4 (gl_THREADLIB_BODY): When weak symbols are not present
2290         on FreeBSD, define PTHREAD_IN_USE_DETECTION_HARD.
2291         * lib/glthread/threadlib.c: Include <errno.h>.
2292         (glthread_in_use): For FreeBSD, provide an alternative implementation
2293         that uses pthread_key_create.
2295 2020-12-09  Bruno Haible  <bruno@clisp.org>
2297         math C++ tests: Fix compilation error in with clang >= 7 on FreeBSD.
2298         * lib/math.in.h (isnan): For clang >= 7 on FreeBSD, declare 'rpl_isnan',
2299         not 'isnan'.
2301 2020-12-08  Bruno Haible  <bruno@clisp.org>
2303         std-gnu11: Make compatible with Autoconf 2.70.
2304         * m4/std-gnu11.m4: Disable the entire file if Autoconf >= 2.70 is in
2305         use.
2307 2020-12-08  Bruno Haible  <bruno@clisp.org>
2309         argp: Avoid undefined behaviour when invoking qsort().
2310         This fixes a test-argp-2.sh test failure on macOS and FreeBSD.
2311         Reported by Jeffrey Walton <noloader@gmail.com> in
2312         <https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00085.html>.
2313         * lib/argp-help.c (group_cmp): Remove third argument.
2314         (hol_sibling_cluster_cmp, hol_cousin_cluster_cmp): New functions, based
2315         upon hol_cluster_cmp.
2316         (hol_cluster_cmp): Use hol_cousin_cluster_cmp.
2317         (hol_entry_cmp): Rewritten to implement a total order.
2319 2020-12-08  Bruno Haible  <bruno@clisp.org>
2321         argp: Improve comments.
2322         * lib/argp-help.c: Add sectioning comments. Write NULL to designate a
2323         null pointer.
2324         (struct hol_entry): Fix comment regarding sort order of group.
2325         (hol_entry_short_iterate, hol_entry_long_iterate): Add comment.
2326         (until_short, canon_doc_option, hol_entry_qcmp): Improve comment.
2327         (hol_cluster_is_child, argp_hol): Move functions.
2328         (HOL_ENTRY_PTRCMP): Remove unused macro.
2330 2020-12-08  Bruno Haible  <bruno@clisp.org>
2332         argp: Don't pass invalid arguments to isspace() and isalnum().
2333         * lib/argp-help.c (canon_doc_option): Cast character to 'unsigned int'
2334         before passing it to isspace() or isalnum().
2336 2020-12-08  Bruno Haible  <bruno@clisp.org>
2338         argp: Don't rely on undefined behaviour of _tolower().
2339         Patch by Eric Blake
2340         <https://lists.gnu.org/archive/html/bug-gnulib/2009-09/msg00287.html>.
2341         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values that are
2342         not upper-case.  Pass correct range to tolower.
2344 2020-12-07  Bruno Haible  <bruno@clisp.org>
2346         unicodeio: Fix wrong result on FreeBSD.
2347         * lib/unicodeio.c (unicode_to_mb): Handle question mark fallback
2348         characters on all platforms.
2350 2020-12-07  Bruno Haible  <bruno@clisp.org>
2352         get-rusage-data tests: Avoid test failure on FreeBSD/x86_64.
2353         * tests/test-get-rusage-data.c (main): Don't expect a strict increase on
2354         FreeBSD systems.
2356 2020-12-07  Bruno Haible  <bruno@clisp.org>
2358         get-rusage-data: Fix link error on FreeBSD 12.2/arm64.
2359         * modules/get-rusage-data (configure.ac): Test whether sbrk exists.
2360         * lib/get-rusage-data.c (get_rusage_data_via_setrlimit): Define
2361         trivially of sbrk is not available.
2362         * doc/glibc-functions/sbrk.texi: Mention that the function does not
2363         exist in FreeBSD 12.2/arm64.
2364         * doc/glibc-functions/brk.texi: Likewise.
2366 2020-12-07  Bruno Haible  <bruno@clisp.org>
2368         Correct interaction between gl_ANSI_CXX and AC_PROG_CXX.
2369         Suggested by Zack Weinberg in
2370         <https://savannah.gnu.org/support/?110294>.
2371         * m4/ansi-c++.m4 (gl_ANSI_CXX): Mark AC_PROG_CXX as provided.
2372         * modules/uchar-c++-tests: Revert the workaround from 2020-08-18.
2374 2020-12-07  Bruno Haible  <bruno@clisp.org>
2376         Tweak the Windows oldnames workaround.
2377         Reported by Daniel R. Hurtmans <Daniel.Hurtmans@ulb.ac.be> in
2378         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00073.html>.
2379         * lib/unistd.in.h: On native Windows, include <io.h> and <direct.h>
2380         always.
2381         (getcwd): Use _GL_CXXALIAS_MDA_CAST.
2382         * lib/stdlib.in.h (putenv): Likewise.
2384 2020-12-06  Paul Eggert  <eggert@cs.ucla.edu>
2386         doc: fix flat address space discussion
2387         * doc/gnulib-readme.texi (Other portability assumptions):
2388         Move the all-bits-zero assumption outside the flat address space
2389         section, since the two issues are independent.
2391         doc: document -static-libubsan more
2392         * doc/gnulib-readme.texi (High Quality): Document pros and cons of
2393         -static-libubsan a bit more.  Mostly cons.
2395 2020-12-06  Bruno Haible  <bruno@clisp.org>
2397         doc: Add more details regarding the undefined behaviour sanitizer.
2398         * doc/gnulib-readme.texi (High Quality): Describe
2399         -fsanitize-undefined-trap-on-error better.
2401 2020-12-06  Bruno Haible  <bruno@clisp.org>
2403         Do the Windows oldnames workaround through the C++ GNULIB_NAMESPACE.
2404         Reported by Daniel R. Hurtmans <Daniel.Hurtmans@ulb.ac.be> in
2405         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00029.html>.
2406         * lib/c++defs.h (_GL_CXXALIAS_MDA_CAST): New macro.
2407         * lib/fcntl.in.h (creat, open):  In C++ mode, when GNULIB_NAMESPACE is
2408         defined: 1. Define a symbol in this namespace. 2. Don't redirect using
2409         a preprocessor #define.
2410         * lib/math.in.h (j0, j1, jn, y0, y1, yn): Likewise.
2411         * lib/search.in.h (lfind, lsearch): Likewise.
2412         * lib/stdio.in.h (fcloseall, fdopen, fileno, getw, putw, tempnam):
2413         Likewise.
2414         * lib/stdlib.in.h (ecvt, fcvt, gcvt, mktemp, putenv): Likewise.
2415         * lib/string.in.h (memccpy, strdup): Likewise.
2416         * lib/sys_stat.in.h (chmod, umask): Likewise.
2417         * lib/time.in.h (tzset): Likewise.
2418         * lib/unistd.in.h (access, chdir, close, dup, dup2, execl, execle,
2419         execlp, execv, execve, execvp, execvpe, getcwd, getpid, isatty, lseek,
2420         read, rmdir, swab, unlink, write): Likewise.
2421         * lib/utime.in.h (utime): Likewise.
2422         * lib/wchar.in.h (wcsdup): Likewise.
2423         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FCLOSEALL.
2424         (gl_STDIO_H): Set HAVE_DECL_FCLOSEALL.
2425         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FCLOSEALL.
2426         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_ECVT,
2427         HAVE_DECL_FCVT, HAVE_DECL_GCVT.
2428         (gl_STDLIB_H): Set HAVE_DECL_ECVT, HAVE_DECL_FCVT, HAVE_DECL_GCVT.
2429         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_ECVT,
2430         HAVE_DECL_FCVT, HAVE_DECL_GCVT.
2431         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_EXECVPE.
2432         (gl_UNISTD_H): Set HAVE_DECL_EXECVPE.
2433         * modules/unistd (Makefile.am): Substitute HAVE_DECL_EXECVPE.
2434         * m4/wchar_h.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCSDUP.
2435         (gl_WCHAR_H): Set HAVE_DECL_WCSDUP.
2436         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCSDUP.
2438 2020-12-06  Bruno Haible  <bruno@clisp.org>
2440         doc: Mention some missing function declarations.
2441         * doc/glibc-functions/execvpe.texi: Mention the missing declaration on
2442         AIX.
2443         * doc/glibc-functions/fcloseall.texi: Mention the missing declaration on
2444         FreeBSD.
2445         * doc/pastposix-functions/ecvt.texi: Mention the missing declaration on
2446         Cygwin.
2447         * doc/pastposix-functions/fcvt.texi: Likewise.
2448         * doc/pastposix-functions/gcvt.texi: Likewise.
2450 2020-12-06  Bruno Haible  <bruno@clisp.org>
2452         doc: Tweak example.
2453         * doc/intprops.texi (Checking Integer Overflow): Use 'printf', not
2454         'print'.
2456 2020-12-06  Bruno Haible  <bruno@clisp.org>
2458         filenamecat-tests: Use idx_t for nonnegative ptrdiff_t variables.
2459         * tests/test-filenamecat.c: Include idx.h.
2460         (main): Mark prefixlen as nonnegative.
2461         * modules/filenamecat-tests (Depends-on): Add idx.
2463 2020-12-06  Bruno Haible  <bruno@clisp.org>
2465         time_rz: Use idx_t for nonnegative ptrdiff_t variables.
2466         * lib/time_rz.c: Include idx.h.
2467         (save_abbr): Mark zone_size as nonnegative.
2468         * modules/time_rz (Depends-on): Add idx.
2470 2020-12-06  Bruno Haible  <bruno@clisp.org>
2472         parse-datetime: Use idx_t for nonnegative ptrdiff_t variables.
2473         * lib/parse-datetime.y: Include idx.h.
2474         (textint): Mark digits as nonnegative.
2475         (parser_control): Mark dates_seen, days_seen, local_zones_seen,
2476         dsts_seen, times_seen, zones_seen as nonnegative.
2477         (lookup_word): Mark wordlen as nonnegative.
2478         (yylex): Mark count as nonnegative.
2479         (parse_datetime2): Mark tzsize as nonnegative.
2480         * modules/parse-datetime (Depends-on): Add idx.
2482 2020-12-06  Bruno Haible  <bruno@clisp.org>
2484         fnmatch: Use idx_t for nonnegative ptrdiff_t variables.
2485         * lib/fnmatch.c: Include idx.h. In glibc, define idx_t directly.
2486         * lib/fnmatch_loop.c (EXT): Mark slen, new_used, plensize as
2487         nonnegative.
2488         * modules/fnmatch (Depends-on): Add idx.
2490 2020-12-06  Bruno Haible  <bruno@clisp.org>
2492         c-stack: Use idx_t for nonnegative ptrdiff_t variables.
2493         * lib/c-stack.c: Include idx.h.
2494         (die): Mark buflen as nonnegative.
2495         * modules/c-stack (Depends-on): Add idx.
2497 2020-12-06  Bruno Haible  <bruno@clisp.org>
2499         backupfile: Use idx_t for nonnegative ptrdiff_t variables.
2500         * lib/backupfile.c: Include idx.h.
2501         (numbered_backup): Mark base_offset as nonnegative.
2502         (backupfile_internal): Likewise.
2503         * modules/backup-rename (Depends-on): Add idx.
2504         * modules/backupfile (Depends-on): Likewise.
2506 2020-12-05  Paul Eggert  <eggert@cs.ucla.edu>
2508         doc: fix curved quotes issue
2509         * doc/gnulib.texi: Set txicodequoteundirected and
2510         txicodequotebacktick so that ` and ' in examples do not generate
2511         curved single quotes that do the wrong thing when cut and pasted.
2513         doc: mention static and dynamic checking
2514         * doc/gnulib-readme.texi (High Quality): Add a bit of advice
2515         for static and dynamic checking.
2517         intprops: Add INT_ADD_OK etc.
2518         * doc/intprops.texi (Checking Integer Overflow): New section.
2519         * lib/intprops.h: From a suggestion by Bruno Haible in:
2520         https://lists.gnu.org/r/bug-gnulib/2020-12/msg00051.html
2521         (SAFE_INT_ADD, SAFE_INT_SUBTRACT, SAFE_INT_MULTIPLY): New macros.
2523         doc: move exotic platfroms to Target Platforms
2524         * doc/gnulib-intro.texi (Supported Platforms)
2525         (Formerly Supported Platforms, Unsupported Platforms):
2526         New subsections, split off from Target Platforms.
2527         (Unsupported Platforms): Move the exotic-platform stuff here ...
2528         * doc/gnulib-readme.texi (Exotic platforms): ... from this removed
2529         section.
2531         doc: mention intptr_t etc. and IBM i
2532         * doc/gnulib-readme.texi (Other portability assumptions):
2533         Mention intptr_t and uintptr_t, and that arithmetic on them
2534         works in the usual way.
2535         (Exotic platforms): New section, containing material from
2536         the old 'Integer Portability' section.  Also mention IBM i.
2537         * doc/intprops.texi (Wraparound Arithmetic):
2538         Say that the macros work on unsigned integers too.
2539         (Integer Portability): Remove.
2541 2020-12-04  Bruno Haible  <bruno@clisp.org>
2543         utime: Fix a test failure on macOS 10.13.
2544         Reported by Martin Storsjö <martin@martin.st> in
2545         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00003.html>.
2546         * m4/utime.m4 (gl_FUNC_UTIME): Test whether utime handles trailing
2547         slashes on files.
2548         * lib/utime.c (utime): Add alternative implementation for Unix
2549         platforms.
2550         * modules/utime (Depends-on): Add stat.
2551         * doc/posix-functions/utime.texi: Mention the macOS 10.13 bug.
2552         * doc/posix-functions/lstat.texi: Mention that macOS 10.13 also has the
2553         trailing-slash bug.
2554         * doc/posix-functions/open.texi: Likewise.
2555         * doc/posix-functions/stat.texi: Likewise.
2556         * doc/posix-functions/symlink.texi: Likewise.
2558 2020-12-04  Paul Eggert  <eggert@cs.ucla.edu>
2560         intprops: update doc and mention Unisys
2561         * doc/gnulib-readme.texi (Other portability assumptions):
2562         Also mention ptrdiff_t when talking about widths and overflow.
2563         * doc/intprops.texi (Integer Properties): Summarize new section.
2564         (Arithmetic Type Properties): Document that EXPR_SIGNED no longer
2565         evaluates its argument.
2566         (Integer Bounds): Fix typo.
2567         (Wraparound Arithmetic): Remove obsolete comment about efficiency.
2568         Document that the _WRAPV macros now support pointers to unsigned
2569         integers.
2570         (Integer Range Overflow): Update SEI CERT citation.
2571         (Integer Portability): New subsection, which mentions
2572         the oddball Unisys platforms as non-Gnulib targets.
2574 2020-12-03  Bruno Haible  <bruno@clisp.org>
2576         idx: Clarify that idx_t always behaves like a signed type.
2577         Suggested by Paul Eggert in
2578         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00034.html>.
2579         * lib/idx.h: Clarify that idx_t always behaves like a signed type.
2580         Don't test UNSIGNED_IDX_T.
2582 2020-12-03  Bruno Haible  <bruno@clisp.org>
2584         idx: New module.
2585         * lib/idx.h: New file.
2586         * modules/idx: New file.
2587         * lib/canonicalize-lgpl.c: Include idx.h. Use idx_t instead of
2588         ptrdiff_t.
2589         * lib/canonicalize.c: Likewise.
2590         * modules/canonicalize-lgpl (Depends-on): Add idx.
2591         * modules/canonicalize (Depends-on): Likewise.
2593 2020-12-03  Bruno Haible  <bruno@clisp.org>
2595         fprintf-posix-tests: Avoid a test failure on macOS 10.13.
2596         Reported by Martin Storsjö <martin@martin.st> in
2597         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00003.html>.
2598         * tests/test-fprintf-posix3.c: Skip the test on macOS.
2599         (main): Return a different exit code at each point. Allow 100 KB extra
2600         memory consumption.
2601         * tests/test-fprintf-posix3.sh: Update. Remove the "get_rusage_as()
2602         doesn't work" diagnostic.
2604 2020-12-02  Paul Eggert  <eggert@cs.ucla.edu>
2606         canonicalize: refactor can_mode flag
2607         * lib/canonicalize.c (MULTIPLE_BITS_SET): Remove, replacing with ...
2608         (multiple_bits_set): ... this new static function.  Uses changed.
2609         (canonicalize_filename_mode): Refactor for clarity to avoid
2610         modifying the CAN_MODE argument.
2612         canonicalize: prefer signed integer types
2613         * lib/canonicalize.c: Include stddef.h, for ptrdiff_t.
2614         (seen_triple, canonicalize_filename_mode): Prefer signed to
2615         unsigned types where either will do, as they avoid some glitches
2616         in comparisons and can trap on overflow when debugging.
2618         canonicalize: fix most of another EOVERFLOW issue
2619         * lib/canonicalize.c (canonicalize_filename_mode):
2620         Do not call stat if fewer than 20 symlinks have been traversed.
2621         This avoids EOVERFLOW failure in the common case where there
2622         are not that many symlinks, while continuing to catch loops
2623         (or fail due to EOVERFLOW) in the unusual case when there
2624         are many symlinks to traverse.
2626         canonicalize: do not assume symlinks have st_ino
2627         * lib/canonicalize.c (canonicalize_filename_mode):
2628         When checking for loops, use st_dev and st_ino from the parent
2629         directory not from the symlink, as pre-2017 POSIX says these
2630         members are not reliable for symlinks.  Couple this with START
2631         (the remaining file name to be resolved), not NAME (the whole file
2632         name with START as its suffix).
2633         * modules/canonicalize (Depends-on): Depend on stat, not lstat.
2635         canonicalize: fix EOVERFLOW bug
2636         * lib/canonicalize.c (canonicalize_filename_mode):
2637         When testing whether a directory entry is a symbolic link, or a
2638         directory or other, do not use lstat or stat or
2639         areadlink_with_size.  Just use areadlink, as this suffices and it
2640         avoids the EOVERFLOW problem that lstat and stat have.
2641         * modules/canonicalize (Depends-on): Depend on areadlink instead
2642         of areadlink-with-size and stat.
2644         canonicalize-lgpl: fix EOVERFLOW bug
2645         * lib/canonicalize-lgpl.c: Do not include <sys/stat.h>.
2646         (__realpath): Do not use lstat.  Just use readlink, as this
2647         suffices and it avoids the EOVERFLOW problem that lstat has.
2648         * modules/canonicalize-lgpl (Depends-on): Remove lstat, sys_stat.
2650 2020-12-02  Bruno Haible  <bruno@clisp.org>
2652         strsignal-tests: Fix test failure on macOS 10.13.
2653         Reported by Martin Storsjö <martin@martin.st> in
2654         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00003.html>.
2655         * tests/test-strsignal.c (ASSERT_DESCRIPTION): Allow the actual result
2656         to be longer than the expected result.
2658 2020-12-02  Bruno Haible  <bruno@clisp.org>
2660         Fix compilation errors in test-math-c++.cc on FreeBSD 12.2/arm64.
2661         * lib/math.in.h (_GL_INCLUDING_MATH_H): New macro, to work around
2662         recursive self-include problem on FreeBSD 12.2 in C++ mode.
2664 2020-12-02  Bruno Haible  <bruno@clisp.org>
2666         spawn-pipe: Allow caller to specify directory for the subprocess.
2667         * lib/spawn-pipe.h (create_pipe_out, create_pipe_in, create_pipe_bidi):
2668         Add directory argument.
2669         * lib/spawn-pipe.c: Include canonicalize.h, filename.h, findprog.h.
2670         (create_pipe): Add directory argument. If specified, resolve the program
2671         file name and make it absolute, first. Pass the directory to spawnpvech
2672         and posix_spawn_file_actions_addchdir.
2673         (create_pipe_bidi, create_pipe_in, create_pipe_out): Add directory
2674         argument.
2675         * modules/spawn-pipe (Depends-on): Add canonicalize, filename,
2676         findprog-in, posix_spawn, posix_spawn_file_actions_addchdir.
2677         * tests/test-spawn-pipe-main.c (test_pipe): Update.
2678         * NEWS: Mention the change.
2679         * lib/csharpcomp.c (compile_csharp_using_mono,
2680         compile_csharp_using_sscli): Update.
2681         * lib/javacomp.c (is_envjavac_gcj, is_envjavac_gcj43, is_gcj_present,
2682         is_gcj_43): Update.
2683         * lib/javaversion.c (execute_and_read_line): Update.
2684         * lib/pipe-filter-gi.c (pipe_filter_gi_create): Update.
2685         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Update.
2687 2020-12-02  Bruno Haible  <bruno@clisp.org>
2689         execute: Allow caller to specify directory for the subprocess.
2690         * lib/execute.h (execute): Add directory argument.
2691         * lib/execute.c: Include canonicalize.h, filename.h, findprog.h.
2692         (execute): Add directory argument. If specified, resolve the program
2693         file name and make it absolute, first. Pass the directory to spawnpvech
2694         and posix_spawn_file_actions_addchdir.
2695         * modules/execute (Depends-on): Add canonicalize, filename, findprog-in,
2696         posix_spawn, posix_spawn_file_actions_addchdir.
2697         * tests/test-execute-main.c: Add test for passing a directory.
2698         * tests/test-execute-child.c: Likewise.
2699         * tests/test-execute.sh: Update.
2700         * modules/execute-tests (Depends-on): Add mkdir.
2701         * NEWS: Mention the change.
2702         * lib/csharpcomp.c (compile_csharp_using_sscli): Update.
2703         * lib/csharpexec.c (execute_csharp_using_mono,
2704         execute_csharp_using_sscli): Update.
2705         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
2706         compile_using_javac, compile_using_jikes, is_javac_present,
2707         is_jikes_present): Update.
2708         * lib/javaexec.c (execute_java_class): Update.
2710 2020-12-01  Bruno Haible  <bruno@clisp.org>
2712         vma-iter: Add support for macOS11/arm64.
2713         Patch suggested by Hill Ma <maahiuzeon@gmail.com> in
2714         <https://gitlab.com/gnu-clisp/clisp/-/issues/27>
2715         and by Martin Storsjö <martin@martin.st> in
2716         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00003.html>.
2717         * lib/vma-iter.c (vma_iterate): On arm64, use 64-bit type definitions.
2719 2020-12-01  Bruno Haible  <bruno@clisp.org>
2721         spawn-pipe: Fix handling of OS/2 kLIBC.
2722         Reported by KO Myung-Hun <komh78@gmail.com> in
2723         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00005.html>.
2724         * modules/spawn-pipe (configure.ac): Use the common idiom for
2725         recognizing the OS/2 operating system.
2727 2020-11-30  Bruno Haible  <bruno@clisp.org>
2729         execute: Fix uninitialized use of errno.
2730         * lib/execute.c (execute): Preserve errno across several system calls.
2732 2020-11-30  Bruno Haible  <bruno@clisp.org>
2734         access tests: Fix test failure on native Windows.
2735         * tests/test-access.c (main): Change permissions of f2 file before
2736         attempting to remove it.
2738 2020-11-30  Paul Eggert  <eggert@cs.ucla.edu>
2740         faccessat: link with $(LIB_EACCESS)
2741         * modules/faccessat (Link:): Add $(LIB_EACCESS), since this
2742         module depends on euidaccess.
2744 2020-11-30  Bruno Haible  <bruno@clisp.org>
2746         execute, spawn-pipe: Make multithread-safe on native Windows.
2747         * lib/windows-spawn.h: Include <stdint.h>, <windows.h>.
2748         (dup_safer_noinherit, undup_safer_noinherit): Remove declarations.
2749         (spawnpvech): New declaration.
2750         * lib/windows-spawn.c: Include <stdio.h>, <process.h>, findprog.h.
2751         Don't include <unistd.h>, cloexec.h, error.h, gettext.h.
2752         (_): Remove macro.
2753         (dup_noinherit, fd_safer_noinherit, dup_safer_noinherit,
2754         undup_safer_noinherit): Remove functions.
2755         (spawnpvech): New function.
2756         * modules/windows-spawn (Depends-on): Add findprog-in, stdint. Remove
2757         cloexec, dup2, error, gettext-h.
2758         * lib/execute.c: Include msvc-nothrow.h.
2759         (execute) [WIN32]: Use _get_osfhandle, spawnpvech instead of _spawnvpe.
2760         * lib/spawn-pipe.c: Include msvc-nothrow.h.
2761         (create_pipe) [WIN32]: Use _get_osfhandle, DuplicateHandle, spawnpvech
2762         instead of _spawnvpe.
2763         * modules/execute (Depends-on): Add msvc-nothrow.
2764         * modules/spawn-pipe (Depends-on): Likewise.
2766 2020-11-30  Bruno Haible  <bruno@clisp.org>
2768         execute, spawn-pipe: Improve documentation.
2769         * lib/execute.h: Describe progname, prog_path, prog_argv.
2770         * lib/spawn-pipe.h: Likewise.
2772 2020-11-30  Bruno Haible  <bruno@clisp.org>
2774         execute tests: Add more tests.
2775         * tests/test-execute-main.c: Add tests for reading, writing, isatty on
2776         inherited file descriptors >= 3.
2777         * tests/test-execute-child.c: Likewise.
2778         * tests/test-execute.sh: Update.
2780 2020-11-30  Bruno Haible  <bruno@clisp.org>
2782         havelib: Fix for non-ELF platforms (regression 2019-11-17).
2783         Reported by comex <comexk@gmail.com> in
2784         <https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00188.html>.
2785         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On non-ELF platforms,
2786         don't expect an ELF header.
2788 2020-11-29  Akim Demaille  <akim@lrde.epita.fr>
2790         bitset: use integer_length in table implementation
2791         * lib/bitset/table.c (tbitset_list_reverse): Use
2792         BITSET_FOR_EACH_BIT_REVERSE.
2794 2020-11-29  Akim Demaille  <akim@lrde.epita.fr>
2796         bitset: use integer_length in list implementation
2797         * lib/bitset/list.c (lbitset_list_reverse): Use
2798         BITSET_FOR_EACH_BIT_REVERSE.
2800 2020-11-29  Akim Demaille  <akim@lrde.epita.fr>
2802         bitset: use integer_length in vector implementation
2803         * lib/bitset/array.c (vbitset_list_reverse): Use
2804         BITSET_FOR_EACH_BIT_REVERSE.
2806 2020-11-29  Akim Demaille  <akim@lrde.epita.fr>
2808         bitset: use integer_length in array implementation
2809         * modules/bitset (Depends-on): Add integer_length_l.
2810         * lib/bitset/base.h (bitset_fls_, BITSET_FOR_EACH_BIT_REVERSE): New.
2811         * lib/bitset/array.c (abitset_list_reverse): Use it.
2813 2020-11-29  Akim Demaille  <akim@lrde.epita.fr>
2815         bitset: style: use consistent names
2816         * bitset/list.c (lbitset_list_reverse): Rename 'bcount' as 'bitcnt',
2817         and 'boffset' as 'bitoff', for consistency with the other
2818         implementations.
2819         * bitset/table.c (tbitset_list_reverse): Likewise.
2821 2020-11-29  Akim Demaille  <akim@lrde.epita.fr>
2823         bitset: style: sort header
2824         * lib/bitset/base.h (bitset_ffs): Rename as...
2825         (bitset_ffs_): this.
2826         (bitset_ffs_, BITSET_FOR_EACH_BIT): Move to better places.
2828 2020-11-29  Akim Demaille  <akim@lrde.epita.fr>
2830         bitset: tests: check BITSET_FOR_EACH_REVERSE
2831         * tests/test-bitset.c (compare, check_zero, check_one_bit, check_ones):
2832         Check BITSET_FOR_EACH_REVERSE.
2834 2020-11-29  Bruno Haible  <bruno@clisp.org>
2836         spawn-pipe tests: Fix test failure with MSVC.
2837         * tests/test-spawn-pipe-child.c: Include <stdint.h>.
2838         (gl_msvc_invalid_parameter_handler): New function.
2839         (main): Set a global invalid-parameter handler.
2840         * modules/spawn-pipe-tests (Depends-on): Add msvc-inval, stdint.
2842 2020-11-29  Bruno Haible  <bruno@clisp.org>
2844         execute: Add tests.
2845         * tests/test-execute.sh: New file.
2846         * tests/test-execute-main.c: New file.
2847         * tests/test-execute-child.c: New file.
2848         * modules/execute-tests: New file.
2850 2020-11-29  Bruno Haible  <bruno@clisp.org>
2852         fcntl: Work around NetBSD bug with F_DUPFD_CLOEXEC.
2853         * m4/fcntl.m4 (gl_FUNC_FCNTL): Test whether F_DUPFD_CLOEXEC actually
2854         works.
2855         * lib/fcntl.c (rpl_fcntl_DUPFD_CLOEXEC): On NetBSD, use the same
2856         fallback implementation as on Haiku.
2857         * tests/test-fcntl.c (main): Add a test whether F_DUPFD_CLOEXEC is
2858         effective.
2859         * doc/posix-functions/fcntl.texi: Mention the NetBSD bug.
2861 2020-11-29  Bruno Haible  <bruno@clisp.org>
2863         spawn-pipe: Fix build on OS/2 kLIBC (regression 2020-11-28).
2864         * lib/os2-spawn.h: New file, based on lib/windows-spawn.h.
2865         * lib/os2-spawn.c: New file, based on lib/windows-spawn.c.
2866         * lib/spawn-pipe.c: On OS/2 kLIBC, include "os2-spawn.h".
2867         * lib/windows-spawn.c: Remove modifications for kLIBC.
2868         * modules/spawn-pipe (Files): Add the new files.
2869         (configure.ac): Arrange to compile os2-spawn.c on OS/2.
2871 2020-11-28  Bruno Haible  <bruno@clisp.org>
2873         asyncsafe-spin: Fix compilation error with GCC on 32-bit SPARC.
2874         Reported by Paul Eggert in
2875         <https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00066.html>.
2876         * m4/sparcv8+.m4: New file.
2877         * modules/sparcv8+: New file.
2878         * modules/asyncsafe-spin (Depends-on): Add sparcv8+.
2880 2020-11-28  Bruno Haible  <bruno@clisp.org>
2882         asyncsafe-spin: Fix build error with GCC on 32-bit SPARC.
2883         * lib/asyncsafe-spin.c: Don't use GCC >= 4.1 primitives on SPARC.
2885 2020-11-28  Bruno Haible  <bruno@clisp.org>
2887         windows-spawn: New module.
2888         * lib/windows-spawn.h: Renamed from lib/w32spawn.h. Remove
2889         implementations.
2890         * lib/windows-spawn.c: Renamed from lib/w32spawn.h.
2891         * modules/windows-spawn: New file.
2892         * lib/execute.c: Include "windows-spawn.h" instead of "w32spawn.h".
2893         * lib/spawn-pipe.c: Likewise.
2894         * modules/execute (Files): Remove lib/w32spawn.h.
2895         (Depends-on): Add windows-spawn. Remove cloexec, msvc-nothrow, strpbrk,
2896         xalloc.
2897         (Makefile.am): Remove w32spawn.h from lib_SOURCES.
2898         * modules/spawn-pipe (Files): Remove lib/w32spawn.h.
2899         (Depends-on): Add windows-spawn. Remove cloexec, msvc-nothrow, strpbrk,
2900         xalloc.
2901         (Makefile.am): Remove w32spawn.h from lib_SOURCES.
2903 2020-11-27  Bruno Haible  <bruno@clisp.org>
2905         ssfmalloc tests: Port to macOS 11.
2906         * tests/test-ssfmalloc.c (PAGESIZE_MAX): Set to 16384, not 8192.
2908 2020-11-26  Bruno Haible  <bruno@clisp.org>
2910         Fix dependencies of modules that use '_exit' on native Windows.
2911         Reported by Jim Meyering in
2912         <https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00159.html>.
2913         * modules/_Exit (Depends-on): Add unistd.
2914         * modules/closein (Depends-on): Likewise.
2915         * modules/closeout (Depends-on): Likewise.
2916         * modules/forkpty (Depends-on): Likewise.
2917         * modules/posix_spawn-internal (Depends-on): Likewise.
2918         * modules/savewd (Depends-on): Likewise.
2919         * modules/stat-time-tests (Depends-on): Likewise.
2921 2020-11-26  Bruno Haible  <bruno@clisp.org>
2923         raise-tests: Fix compilation error on MSVC (regression 2020-11-25).
2924         * modules/raise-tests (Depends-on): Add unistd.
2925         * doc/posix-functions/_exit.texi: Mention the 'unistd' module.
2927 2020-11-25  Jim Meyering  <meyering@fb.com>
2929         setlocale-tests: do not trigger gcc's -Wanalyzer-possible-null-argument
2930         * tests/test-setlocale1.c (main): Assert that each strcmp argument is
2931         non-NULL, since we don't bother handing strdup failure.
2933         raise-tests: avoid GCC 11's new exit-from-signal-handler warning
2934         gcc's -Wanalyzer-unsafe-call-within-signal-handler exposed this.
2935         * tests/test-raise.c: Include unistd.h.
2936         (handler): Use _exit, not exit.
2938 2020-11-23  Bruno Haible  <bruno@clisp.org>
2940         Use the correct printf format attribute for mingw.
2941         Reported by Reuben Thomas <rrt@sc3d.org> in
2942         <https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00133.html>.
2944         * modules/vfprintf-posix (configure.ac): Define GNULIB_VFPRINTF_POSIX.
2945         * modules/vprintf-posix (configure.ac): Define GNULIB_VPRINTF_POSIX.
2947         * lib/stdio.in.h (_GL_ATTRIBUTE_SPEC_PRINTF_STANDARD,
2948         _GL_ATTRIBUTE_SPEC_PRINTF_SYSTEM): New macros.
2949         (_GL_ATTRIBUTE_FORMAT_PRINTF_STANDARD): Renamed from
2950         _GL_ATTRIBUTE_FORMAT_PRINTF. Use _GL_ATTRIBUTE_SPEC_PRINTF_STANDARD.
2951         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): Use
2952         _GL_ATTRIBUTE_SPEC_PRINTF_SYSTEM.
2954         * modules/vasnprintf (Depends-on): Add stdio.
2955         * lib/vasnprintf.h: Include <stdio.h>.
2956         (asnprintf, vasnprintf): Use the standard printf format attribute.
2958         * modules/xvasprintf (Depends-on): Add stdio.
2959         * lib/xvasprintf.h: Include <stdio.h>.
2960         (xasprintf, xvasprintf): Use the standard printf format attribute.
2962         * modules/xprintf (Depends-on): List stdio first.
2963         * lib/xprintf.h (xprintf, xvprintf): Use a printf format attribute that
2964         depends on GNULIB_VPRINTF_POSIX.
2965         (xfprintf, xvfprintf): Use a printf format attribute that depends on
2966         GNULIB_VFPRINTF_POSIX.
2968         * modules/c-vasnprintf (Depends-on): Add stdio.
2969         * lib/c-vasnprintf.h: Include <stdio.h>.
2970         (c_vasnprintf): Use the standard printf format attribute.
2972         * modules/c-vasprintf (Depends-on): Add stdio.
2973         * lib/c-vasprintf.h: Include <stdio.h>.
2974         (c_asprintf, c_vasprintf): Use the standard printf format attribute.
2976         * modules/c-vsnprintf (Depends-on): Add stdio.
2977         * lib/c-vsnprintf.h: Include <stdio.h>.
2978         (c_vsnprintf): Use the standard printf format attribute.
2980         * modules/c-snprintf (Depends-on): Add stdio.
2981         * lib/c-snprintf.h: Include <stdio.h>.
2982         (c_snprintf): Use the standard printf format attribute.
2984         * modules/c-xvasprintf (Depends-on): Add stdio.
2985         * lib/c-xvasprintf.h: Include <stdio.h>.
2986         (c_xasprintf, c_xvasprintf): Use the standard printf format attribute.
2988         * modules/error (Depends-on): Depend on stdio always.
2989         * lib/error.h: Include <stdio.h>.
2990         (_GL_ATTRIBUTE_SPEC_PRINTF): Remove macro.
2991         (error, error_at_line): Use a printf format attribute that depends on
2992         GNULIB_VFPRINTF_POSIX.
2993         * lib/error.c (_GL_ATTRIBUTE_FORMAT_PRINTF_STANDARD): Renamed from
2994         _GL_ATTRIBUTE_FORMAT_PRINTF.
2996         * modules/verror (Depends-on): Add stdio.
2997         * lib/verror.h: Include <stdio.h>. Don't include "error.h".
2998         (verror, verror_at_line): Use the standard printf format attribute.
2999         * lib/verror.c: Include "error.h".
3001         * modules/argp (Depends-on): Add stdio.
3002         * lib/argp.h (argp_error, __argp_error, argp_failure, __argp_failure):
3003         Use a printf format attribute that depends on GNULIB_VFPRINTF_POSIX.
3005         * modules/libtextstyle-optional (Depends-on): Add stdio.
3006         * lib/textstyle.in.h (ostream_printf, ostream_vprintf): Use the standard
3007         printf format attribute.
3009         * tests/test-nonblocking-misc.h (dbgfprintf): Use the standard printf
3010         format attribute.
3012 2020-11-23  Pádraig Brady  <P@draigBrady.com>
3014         selinux-at, selinux-h: use const correct declarations
3015         * lib/se-selinux.in.h: Use const for "set" functions,
3016         to match current selinux, and support cleaner user code.
3017         * lib/selinux-at.c: Likewise.
3018         * lib/selinux-at.h: Likewise.
3020 2020-11-22  Paul Eggert  <eggert@cs.ucla.edu>
3022         canonicalize-lgpl: fix memory leak
3023         * lib/canonicalize-lgpl.c (__realpath): Fix unlikely memory leak,
3024         which could have occurred if BUF was so large that malloc was
3025         called.  Do this by allocating EXTRA_BUF and BUF at the same time;
3026         this eliminates the need to free BUF separately.
3028 2020-11-22  Bruno Haible  <bruno@clisp.org>
3030         Fix missing module dependencies to 'xalloc' (regression 2020-10-19).
3031         * modules/xvasprintf (Depends-on): Add xalloc.
3032         * modules/pipe-filter-gi (Depends-on): Likewise.
3033         * modules/execute (Depends-on): Likewise, for w32spawn.h.
3034         * modules/spawn-pipe (Depends-on): Likewise.
3036 2020-11-22  Jose E. Marchesi  <jemarch@gnu.org>
3038         bootstrap: add option hooks
3039         * build-aux/bootstrap (bootstrap_print_option_usage_hook): Define.
3040         (bootstrap_option_hook): Likewise.
3041         (usage): Call bootstrap_print_option_usage_hook.
3043 2020-11-22  Bruno Haible  <bruno@clisp.org>
3045         argp: Don't break getprogname on non-glibc systems.
3046         * m4/argp.m4 (gl_ARGP): Don't expect <argp.h> to exist when testing for
3047         program_invocation_name and program_invocation_short_name.
3049 2020-11-22  Bruno Haible  <bruno@clisp.org>
3051         doc: Document <link.h>.
3052         * doc/glibc-headers/link.texi: New file.
3053         * doc/gnulib.texi: Include it.
3055 2020-11-22  Bruno Haible  <bruno@clisp.org>
3057         doc: Add references to the LSB.
3058         * doc/glibc-functions/*.texi: Add references to LSB 5.0.
3059         * doc/posix-functions/*.texi: Likewise.
3061 2020-11-22  Bruno Haible  <bruno@clisp.org>
3063         doc: Fix a makeinfo warning (regression 2020-11-03).
3064         * doc/posix-functions/aligned_alloc.texi: Add missing @item.
3066 2020-11-21  Paul Eggert  <eggert@cs.ucla.edu>
3068         parse-datetime: fix printf format typo
3069         * lib/parse-datetime.y (parse_datetime2): Fix format typo in
3070         previous patch to this file.  Problem reported by Chris Elvidge in
3071         <https://bugs.gnu.org/44763#32>.
3073         setlocale-null-tests: work around GCC bug 44511
3074         * tests/test-setlocale_null-mt-all.c:
3075         * tests/test-setlocale_null-mt-one.c:
3076         Ignore -Wreturn-type, to work around GCC bug 44511.
3078         nl_langinfo-tests: work around GCC bug 44511
3079         * tests/test-nl_langinfo-mt.c: Ignore -Wreturn-type, to work
3080         around a GCC bug <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=44511>.
3081         Problem reported for GNU grep by Andreas Schwab
3082         <https://bugs.gnu.org/44535>.
3084         selinux-h: add stubs for selabel_open etc.
3085         Coreutils with --enable-gcc-warnings does not build on Ubuntu 20.10
3086         because matchpathcon is deprecated in favor of selabel_open etc.,
3087         so this patch adds stubs for these functions.
3088         * lib/se-label.c, lib/se-label.in.h, m4/selinux-label-h.m4: New files.
3089         * lib/se-selinux.in.h (struct selinux_opt): Add incomplete decl,
3090         as it is needed for selabel_open and selinux/selinux.h declares
3091         this type here.
3092         * modules/selinux-h (Files): Add the new files.
3093         (configure.ac): Add gl_HEADERS_SELINUX_LABEL_H.
3094         (lib_SOURCES): Add se-label.in.h, se-label.c.
3095         (BUILT_SOURCES): Add $(SELINUX_LABEL_H).
3096         (selinux/label.h): New rule, mimicking selinux/context.h.
3097         (MOSTLYCLEANFILES): Add selinux/label.h, selinux/label.h-t.
3098         (Include): Add selinux/label.h.
3100 2020-11-21  Bruno Haible  <bruno@clisp.org>
3102         Update after 'test-driver' in Automake changed.
3103         * build-aux/test-driver.diff: Rebase.
3105 2020-11-21  Daiki Ueno  <ueno@gnu.org>
3107         read-file: remove dead assignment
3108         * lib/read-file.c (fread_file): Remove dead assignment when
3109         RF_SENSITIVE is set, flagged by clang-analyzer.
3111 2020-11-19  Akim Demaille  <akim@lrde.epita.fr>
3113         bitset: tests: exercise the stats too
3115         * tests/test-bitset.c: Display the stats at the end of the test.
3116         * lib/bitset/stats.c (bitset_log_histogram_print): When diplaying the
3117         last bin, display "256-..." rather that "256-511", since the last bin
3118         does count item greater than or equal to 256.
3120 2020-11-19  Akim Demaille  <akim@lrde.epita.fr>
3122         bitset: tests: try harder to break it
3123         * tests/test-bitset.c (compare): Be ready to use bitsets larger than
3124         BITSET_LIST_SIZE.
3125         (main): Likewise.
3126         While at it, also exercise super small bitsets.
3128 2020-11-19  Akim Demaille  <akim@lrde.epita.fr>
3130         bitset: use ffs where possible in the vector implementation
3131         * lib/bitset/vector.c (vbitset_list): Use BITSET_FOR_EACH_BIT.
3133 2020-11-19  Akim Demaille  <akim@lrde.epita.fr>
3135         bitset: use ffs where possible in the table implementation
3136         * lib/bitset/table.c (tbitset_list): Use BITSET_FOR_EACH_BIT.
3138 2020-11-19  Akim Demaille  <akim@lrde.epita.fr>
3140         bitset: check empty and full bitsets
3141         * tests/test-bitset.c (check_zero, check_ones): New.
3142         (check_attributes): Use them.
3144 2020-11-19  Akim Demaille  <akim@lrde.epita.fr>
3146         bitset: be sure to always return a value
3147         * lib/bitset/array.c (abitset_small_list): Always update *next and
3148         return a value.
3150 2020-11-19  Siddhesh Poyarekar  <siddhesh@gotplt.org>
3152         vcs-to-changelog: Expect spaces in file names
3153         Reported by Thierry Bothorel <thierry.bothorel@zaclys.net> in
3154         <https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00040.html>,
3155         * build-aux/vcstocl/vcs_git.py (exec_git_cmd): Do not transform
3156         tabs to spaces.
3157         (list_changes): Use tabs to identify file names.
3159 2020-11-17  Akim Demaille  <akim@lrde.epita.fr>
3161         bitset: strengthen tests
3162         * tests/test-bitset.c (compare): Also check count.
3163         Deal only with random values, move the one-bit tests to...
3164         (check_one_bit): this new function.
3165         (check_attributes): Call it.
3167 2020-11-17  Akim Demaille  <akim@lrde.epita.fr>
3169         bitset: fix iteration over table bitsets
3170         * lib/bitset/table.c (tbitset_list): Update bitno when windex is.
3172 2020-11-17  Akim Demaille  <akim@lrde.epita.fr>
3174         bitset: rename internal details for consistency
3175         * lib/bitset/table.c: Rename all the EBITSET_ symbols as TBITSET_.
3177 2020-11-17  Akim Demaille  <akim@lrde.epita.fr>
3179         bitset: test: run deterministic tests on several bitset sizes
3180         * tests/test-bitset.c (check_attributes): Run it with small and large
3181         sizes.
3183 2020-11-17  Akim Demaille  <akim@lrde.epita.fr>
3185         bitset: use ffs where possible in the list implementation
3186         * lib/bitset/list.c (lbitset_list): Use BITSET_FOR_EACH_BIT.
3188 2020-11-17  Akim Demaille  <akim@lrde.epita.fr>
3190         bitset: use ffs where possible in array implementation
3191         * lib/bitset/array.c (abitset_small_list): Use BITSET_FOR_EACH_BIT.
3193 2020-11-17  Bruno Haible  <bruno@clisp.org>
3195         posixcheck: Don't enable GNULIB_POSIXCHECK in C++ mode.
3196         Reported by Tom G. Christensen <tgc@jupiterrise.com> in
3197         <https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00062.html>.
3198         * m4/posixcheck.m4 (gl_POSIXCHECK): Don't define GNULIB_POSIXCHECK in
3199         C++ mode.
3201 2020-11-17  Bruno Haible  <bruno@clisp.org>
3203         Fix error when GNULIB_POSIXCHECK is enabled (regression 2019-06-04).
3204         * lib/unistd.in.h (copy_file_range): Don't assume that copy_file_range
3205         is always declared.
3206         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether copy_file_range is
3207         declared.
3209 2020-11-17  Bruno Haible  <bruno@clisp.org>
3211         Fix link errors on AIX.
3212         * modules/clean-temp (Link): Link with $(LIBTHREAD).
3213         * modules/getumask (Link): Link with $(LIBTHREAD).
3214         * modules/getumask-tests (Makefile.am): Link test-getumask with
3215         $(LIBTHREAD).
3216         * modules/supersede (Link): Link with $(LIBTHREAD).
3217         * modules/supersede-tests (Makefile.am): Link test-supersede with
3218         $(LIBTHREAD).
3219         * modules/fatal-signal (Link): New section.
3220         * modules/execute (Link): New section.
3221         * modules/csharpexec (Link): Link with $(LIBTHREAD).
3222         * modules/javaexec (Link): Link with $(LIBTHREAD).
3223         * modules/spawn-pipe (Link): New section.
3224         * modules/spawn-pipe-tests (Makefile.am): Link test-spawn-pipe-main with
3225         $(LIBTHREAD).
3226         * modules/csharpcomp (Link): Link with $(LIBTHREAD).
3227         * modules/javacomp (Link): Link with $(LIBTHREAD).
3228         * modules/javaversion (Link): Link with $(LIBTHREAD).
3229         * modules/pipe-filter-gi (Link): New section.
3230         * modules/pipe-filter-gi-tests (Makefile.am): Link test-pipe-filter-gi1,
3231         test-pipe-filter-gi2-main with $(LIBTHREAD).
3232         * modules/pipe-filter-ii (Link): New section.
3233         * modules/pipe-filter-ii-tests (Makefile.am): Link test-pipe-filter-ii1,
3234         test-pipe-filter-ii2-main with $(LIBTHREAD).
3235         * modules/term-style-control (Link): New section.
3236         * modules/term-style-control-tests (Makefile.am): Link
3237         test-term-style-control-hello, test-term-style-control-yes with
3238         $(LIBTHREAD).
3239         * modules/wait-process (Link): New section.
3240         * modules/nonblocking-pipe-tests (Makefile.am): Link
3241         test-nonblocking-pipe-main with $(LIBTHREAD).
3242         * modules/nonblocking-socket-tests (Makefile.am): Link
3243         test-nonblocking-socket-main with $(LIBTHREAD).
3245 2020-11-16  Bruno Haible  <bruno@clisp.org>
3247         Fix link errors on platforms with libunistring.
3248         * modules/c32isalnum (Link): New section.
3249         * modules/c32isalnum-tests (Makefile.am): Link test-c32isalnum with
3250         $(LIBUNISTRING).
3251         * modules/c32isalpha (Link): New section.
3252         * modules/c32isalpha-tests (Makefile.am): Link test-c32isalpha with
3253         $(LIBUNISTRING).
3254         * modules/c32isblank (Link): New section.
3255         * modules/c32isblank-tests (Makefile.am): Link test-c32isblank with
3256         $(LIBUNISTRING).
3257         * modules/c32iscntrl (Link): New section.
3258         * modules/c32iscntrl-tests (Makefile.am): Link test-c32iscntrl with
3259         $(LIBUNISTRING).
3260         * modules/c32isdigit (Link): New section.
3261         * modules/c32isdigit-tests (Makefile.am): Link test-c32isdigit with
3262         $(LIBUNISTRING).
3263         * modules/c32isgraph (Link): New section.
3264         * modules/c32isgraph-tests (Makefile.am): Link test-c32isgraph with
3265         $(LIBUNISTRING).
3266         * modules/c32islower (Link): New section.
3267         * modules/c32islower-tests (Makefile.am): Link test-c32islower with
3268         $(LIBUNISTRING).
3269         * modules/c32isprint (Link): New section.
3270         * modules/c32isprint-tests (Makefile.am): Link test-c32isprint with
3271         $(LIBUNISTRING).
3272         * modules/c32ispunct (Link): New section.
3273         * modules/c32ispunct-tests (Makefile.am): Link test-c32ispunct with
3274         $(LIBUNISTRING).
3275         * modules/c32isspace (Link): New section.
3276         * modules/c32isspace-tests (Makefile.am): Link test-c32isspace with
3277         $(LIBUNISTRING).
3278         * modules/c32isupper (Link): New section.
3279         * modules/c32isupper-tests (Makefile.am): Link test-c32isupper with
3280         $(LIBUNISTRING).
3281         * modules/c32isxdigit (Link): New section.
3282         * modules/c32isxdigit-tests (Makefile.am): Link test-c32isxdigit with
3283         $(LIBUNISTRING).
3284         * modules/unicodeio (Link): Mention $(LIBUNISTRING).
3285         * modules/unicodeio-tests (Makefile.am): Link test-unicodeio with
3286         $(LIBUNISTRING).
3288 2020-11-16  Bruno Haible  <bruno@clisp.org>
3290         Fix link errors on platforms with libintl (e.g. Solaris and AIX).
3291         Reported by Tom G. Christensen <tgc@jupiterrise.com> in
3292         <https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00062.html>.
3293         * modules/getumask-tests (Makefile.am): Link test-getumask with
3294         $(LIBINTL).
3295         * modules/stack-tests (Makefile.am): Link test-stack with $(LIBINTL).
3296         * modules/supersede-tests (Makefile.am): Link test-supersede with
3297         $(LIBINTL).
3298         * modules/unicodeio-tests (Makefile.am): Link test-unicodeio with
3299         $(LIBINTL).
3301 2020-11-16  Bruno Haible  <bruno@clisp.org>
3303         getumask: Document link dependencies.
3304         * modules/getumask (Link): New section.
3306 2020-11-16  Bruno Haible  <bruno@clisp.org>
3308         Update link dependencies in modules after 2020-09-09 change.
3309         * modules/tempname (Link): Add $(LIB_CLOCK_GETTIME).
3310         * modules/mkdtemp (Link): Likewise.
3311         * modules/mkostemp (Link): Likewise.
3312         * modules/mkostemps (Link): Likewise.
3313         * modules/mkstemp (Link): Likewise.
3314         * modules/mkstemps (Link): Likewise.
3315         * modules/supersede (Link): Likewise.
3316         * modules/tmpfile (Link): Likewise.
3317         * modules/tmpfile-safer (Link): Likewise.
3319 2020-11-15  Paul Eggert  <eggert@cs.ucla.edu>
3321         getumask-tests: port to Solaris 10 etc.
3322         Problem reported by Tom Christensen in:
3323         https://lists.gnu.org/r/bug-gnulib/2020-11/msg00062.html
3324         * modules/getumask-tests (test_getumask_LDADD):
3325         Add $(LIB_CLOCK_GETTIME).
3327 2020-11-15  Akim Demaille  <akim@lrde.epita.fr>
3329         bitset: use ffsl to accelerate iterations over set bits
3330         Suggested by Bruno Haible.
3331         * modules/bitset: Depend upon ffsl.
3332         * lib/bitset/base.h (bitset_ffs, BITSET_FOR_EACH_BIT): New.
3333         * lib/bitset/array.c (abitset_list): Use BITSET_FOR_EACH_BIT.
3335 2020-11-15  Akim Demaille  <akim@lrde.epita.fr>
3337         bitset: more tests
3338         * tests/test-bitset.c (compare): Make it clear that the random values
3339         should not be modified.
3340         Check bitset_first, bitset_last and BITSET_FOR_EACH.
3342 2020-11-15  Akim Demaille  <akim@lrde.epita.fr>
3344         bitset: fix the copy from lbitset to other types
3345         * lib/bitset/list.c (lbitset_copy): Rename as...
3346         (lbitset_copy_): this.
3347         (lbitset_copy): New.
3348         Dispatch to heterogeneous/homogeneous copy.
3350 2020-11-15  Akim Demaille  <akim@lrde.epita.fr>
3352         bitset: making debug traces more useful
3353         * lib/bitset.c (bitset_print): Print the bitset type in verbose mode.
3355         bitset: comment changes
3356         * lib/bitset.c: Move some documenting comments to...
3357         * lib/bitset.h: here.
3358         * lib/bitset/array.c: Fix some comments.
3360 2020-11-14  Paul Eggert  <eggert@cs.ucla.edu>
3362         careadlinkat: warn better about GCC bug 93644
3363         * lib/careadlinkat.c (readlink_stk): When --enable-gcc-warnings is
3364         not in effect, use "#warning" to let builders know more clearly
3365         about GCC bug 93644, because the bug triggers even if no -W option
3366         is given to GCC.
3368 2020-11-13  Jim Meyering  <meyering@fb.com>
3370         hard-locale-tests: avoid a -Wstrict-prototypes warning
3371         * tests/locale.c (main): Placate gcc's -Wstrict-prototypes by
3372         changing "main ()" to "main (void)". This was the only case that
3373         triggered a warning when building grep with --enable-gcc-warnings.
3375 2020-11-11  Paul Eggert  <eggert@cs.ucla.edu>
3377         time_rz: simplify CVE-2017-7476 fix
3378         * lib/time_rz.c: Do not include limits.h; I think it was included
3379         under the mistaken impression that limits.h defines SIZE_MAX.
3380         (SIZE_MAX): Remove.
3381         (save_abbr): Put string length into a ptrdiff_t variable,
3382         so that the size comparison works naturally.  This
3383         fixes CVE-2017-7476 in a cleaner way.
3385         parse-datetime: streamline overflow checking
3386         When parse-datetime.y’s overflow code was written, INT_ADD_WRAPV
3387         did not work for unsigned destinations, and since time_t might
3388         be unsigned that meant it did not work for time_t destinations.
3389         This limitation of INT_ADD_WRAPV has been fixed, so we can
3390         now streamline parse-datetime.y a bit.
3391         * lib/parse-datetime.y: Do not include limits.h, as LONG_MAX
3392         has not been used for a while.
3393         (yylex, parse_datetime2): Assume C99 declarations after statements.
3394         (yyles): Use INT_SUBTRACT_WRAPV instead of an explicit comparison
3395         to TYPE_MINIMUM.
3396         (parse_datetime2): No need for time_overflow now that
3397         INT_ADD_WRAPV works for unsigned results.
3399         parse-datetime-tests: port to Alpine Linux 3.12.1
3400         * tests/test-parse-datetime.c: Include errno.h for errno,
3401         and unistd.h for _SC_TZNAME_MAX and sysconf.
3402         (main): In the outlandishly-long time zone abbreviation test,
3403         do not exceed TZNAME_MAX as this has undefined behavior,
3404         and on Alpine Linux 3.12.1 it makes the test fail.
3406 2020-11-09  Pádraig Brady  <P@draigBrady.com>
3408         mgetgroups: avoid warning with clang
3409         * lib/mgetgroups.c: Xcode-12.1 identifies as GCC 4.2.1,
3410         so disable -Wpointer-sign for all clang versions.
3412 2020-11-07  Bruno Haible  <bruno@clisp.org>
3414         gnulib-tool: Fix link error with 'version-etc' (regression 2020-05-29).
3415         Reported by Simon Josefsson in
3416         <https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00032.html>.
3417         * gnulib-tool (func_emit_tests_Makefile_am): Add libtests.a to
3418         LDADD a third time, after the second occurrence of ../lib/libgnu.a.
3419         * pygnulib/GLEmiter.py (tests_Makefile_am): Likewise.
3421 2020-11-04  Paul Eggert  <eggert@cs.ucla.edu>
3423         tests: pacify Sun C 5.9
3424         Without these changes, Sun C 5.9 (2009/11/22) issues complaints like
3425         “"test-nl_langinfo-mt.c", line 75: warning: statement not reached”.
3426         * tests/test-nl_langinfo-mt.c (thread1_func, thread2_func)
3427         (thread3_func, thread4_func, thread5_func, thread6_func, threadN_func):
3428         * tests/test-setlocale_null-mt-all.c (thread1_func, thread2_func):
3429         * tests/test-setlocale_null-mt-one.c (thread1_func, thread2_func):
3430         Remove unreachable ‘return NULL;’s.
3432         tests: port better to XLC 12.01
3433         * tests/test-argmatch.c (CHECK): Do not use -1 as a subscript,
3434         even in code that is not executed, as IBM XLC 12.01 complains "The
3435         subscript -1 is less than zero."
3436         * tests/test-stdint.c (verify_width): Pass an (unused) 3rd
3437         argument to _GL_VERIFY, as ISO C requires.  Otherwise, IBM XLC
3438         12.01 complains "The invocation of macro _GL_VERIFY contains fewer
3439         arguments than are required by the macro definition."
3441 2020-11-03  Bruno Haible  <bruno@clisp.org>
3443         aligned-malloc: Use fixes from the new modules.
3444         * modules/aligned-malloc (Depends-on): Add posix_memalign,
3445         aligned_alloc, memalign.
3446         (configure.ac): Use AC_CHECK_FUNCS_ONCE.
3448 2020-11-03  Bruno Haible  <bruno@clisp.org>
3450         aligned_alloc: Add tests.
3451         * tests/test-aligned_alloc.c: New file.
3452         * modules/aligned_alloc-tests: New file.
3454         aligned_alloc: New module.
3455         * lib/stdlib.in.h (aligned_alloc): New declaration.
3456         * lib/aligned_alloc.c: New file.
3457         * m4/aligned_alloc.m4: New file.
3458         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether aligned_alloc is declared.
3459         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ALIGNED_ALLOC,
3460         HAVE_ALIGNED_ALLOC, REPLACE_ALIGNED_ALLOC.
3461         * modules/stdlib (Makefile.am): Substitute GNULIB_ALIGNED_ALLOC,
3462         HAVE_ALIGNED_ALLOC, REPLACE_ALIGNED_ALLOC.
3463         * modules/aligned_alloc: New file.
3464         * tests/test-stdlib-c++.cc (aligned_alloc): Check signature.
3465         * doc/posix-functions/aligned_alloc.texi: Mention the new module and the
3466         AIX bug.
3468 2020-11-03  Bruno Haible  <bruno@clisp.org>
3470         posix_memalign: Add tests.
3471         * tests/test-posix_memalign.c: New file.
3472         * modules/posix_memalign-tests: New file.
3474         posix_memalign: New module.
3475         * lib/stdlib.in.h (posix_memalign): New declaration.
3476         * lib/posix_memalign.c: New file.
3477         * m4/posix_memalign.m4: New file.
3478         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether posix_memalign is declared.
3479         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_POSIX_MEMALIGN,
3480         HAVE_POSIX_MEMALIGN, REPLACE_POSIX_MEMALIGN.
3481         * modules/stdlib (Makefile.am): Substitute GNULIB_POSIX_MEMALIGN,
3482         HAVE_POSIX_MEMALIGN, REPLACE_POSIX_MEMALIGN.
3483         * modules/posix_memalign: New file.
3484         * tests/test-stdlib-c++.cc (posix_memalign): Check signature.
3485         * doc/posix-functions/posix_memalign.texi: Mention the new module and
3486         the OpenBSD bug.
3488 2020-11-03  Bruno Haible  <bruno@clisp.org>
3490         memalign: Add tests.
3491         * tests/test-memalign.c: New file.
3492         * modules/memalign-tests: New file.
3494         memalign: New module.
3495         * modules/memalign: New file.
3496         * doc/glibc-functions/memalign.texi: Mention the new module.
3498 2020-11-03  Bruno Haible  <bruno@clisp.org>
3500         verify tests: Fix crash with GCC (regression 2020-11-02).
3501         * tests/test-verify.c (main): Fix initializer of s.
3503 2020-11-03  Pádraig Brady  <P@draigBrady.com>
3505         mountlist: recognize more file system types as remote
3507         * lib/mountlist.c (ME_REMOTE): Sync previously unconsidered
3508         "remote" file systems from stat.c in coreutils.
3510 2020-11-02  Bernhard Voelker  <mail@bernhard-voelker.de>
3512         verify tests: Fix -Wuninitialized warning (regression 2020-10-30).
3513         * tests/test-verify.c (main): Initialize state variable.
3514         Reported by Bruno Haible for GCC 5.4.0.
3516 2020-11-02  Paul Eggert  <eggert@cs.ucla.edu>
3518         dfa.h: support inclusion from C++
3519         * lib/dfa.h: Allow multiple inclusion, and inclusion from
3520         C++ code.  The latter was suggested by Arnold Robbins.
3522 2020-11-01  Bruno Haible  <bruno@clisp.org>
3524         ssfmalloc tests: Portability to Linux/PowerPC and Linux/SPARC.
3525         * tests/test-ssfmalloc.c: Include <limits.h>.
3526         (PAGESIZE_MAX): Set to 65536 on Linux/PowerPC.
3528 2020-11-01  Bruno Haible  <bruno@clisp.org>
3530         verify tests: Fix compilation error with MSVC (regression 2020-10-30).
3531         * tests/test-verify.c (test_assume_noreturn): Fix declaration.
3533 2020-11-01  Jim Meyering  <meyering@fb.com>
3535         dfa-tests: test for today's invalid-merge fix
3536         * tests/test-dfa-invalid-merge.sh: New file.
3537         * modules/dfa-tests (Files): Add it.
3538         (TESTS): Add it.
3540 2020-11-01  Norihiro Tanaka  <noritnk@kcn.ne.jp>
3542         dfa: retain sequences of similar nodes in optimization
3543         DFA was merging similar nodes when it should not.  For example,
3544         it would convert a+a+a to a+a.  Now, a sequence of similar nodes
3545         is not merged.  Problem reported by Gonzalo Padrino in
3546         https://bugs.gnu.org/44351
3547         * lib/dfa.c (merge_nfa_state): Skip the follow for repetition in
3548         optimization.
3550 2020-11-01  Jim Meyering  <meyering@fb.com>
3552         test-dfa-match-aux.c: accept EREs, not BREs
3553         * tests/test-dfa-match-aux.c (main): Specify RE_SYNTAX_EGREP, not
3554         RE_SYNTAX_GREP, so tests can use ERE syntax rather than BRE.
3556 2020-10-30  Bernhard Voelker  <mail@bernhard-voelker.de>
3558         verify tests: avoid -Wmissing-declarations warnings
3559         * tests/test-verify.c (test_assume_expressions): Add declaration.
3560         (test_assume_optimization): Likewise.
3561         (test_assume_noreturn): Likewise.
3562         (main): Move down after all other definitions.  While at it, also
3563         call test_assume_expressions and test_assume_optimization as a
3564         runtime check.
3566 2020-10-26  Paul Eggert  <eggert@cs.ucla.edu>
3568         sys_stat: update comments for S_IRWXUGO, S_IXUGO
3569         * lib/sys_stat.in.h (S_IXUGO, S_IRWXUGO): Update comments.
3570         Perhaps these macros should be removed, as they’re not in either
3571         POSIX or GNU.  They could be moved to stat-macros.h, which would
3572         be cleaner in some sense.
3574 2020-10-25  Bruno Haible  <bruno@clisp.org>
3576         ssfmalloc tests: Small tweaks.
3577         * tests/test-ssfmalloc.c: Add comments.
3578         (alloc_pages): Don't require PROT_EXEC bits.
3579         (block_sizes): Add more small sizes, for better coverage of
3580         ssfmalloc-bitmap.h.
3582         ssfmalloc tests: Portability to Minix.
3583         * modules/ssfmalloc-tests (Files): Add m4/mmap-anon.m4.
3584         (configure.ac): Invoke gl_FUNC_MMAP_ANON.
3585         * m4/mmap-anon.m4: Update comment.
3587         ssfmalloc: Portability to AIX.
3588         * modules/ssfmalloc (Include): Add ssfmalloc.h.
3589         (Link): New section.
3590         * modules/ssfmalloc-tests (Makefile.am): Link test-ssfmalloc with
3591         $(LIBTHREAD).
3593         ssfmalloc: Portability to Cygwin.
3594         * lib/ssfmalloc.h: Add parameter PAGESIZE_MAX.
3595         (pg_offset_t): Define depending on PAGESIZE_MAX.
3596         * tests/test-ssfmalloc.c: Undefine PAGESIZE.
3597         (PAGESIZE_MAX): New macro.
3599         ssfmalloc: Fix buffer overrun in bitmap search.
3600         * lib/ssfmalloc-bitmap.h (find_first_packet_set): Don't access the
3601         word *words_end.
3603 2020-10-24  Paul Eggert  <eggert@cs.ucla.edu>
3605         doc: mention ‘restrict’ and C++
3606         * doc/gnulib-readme.texi (C99 features assumed): Document
3607         that ‘restrict’ should be avoided in C++ code.
3609 2020-10-20  Bernhard Voelker  <mail@bernhard-voelker.de>
3611         selinux-at, selinux-h: port to SELinux 3.1
3612         The new release finally deprecated the typedef 'security_context_t',
3613         see <https://github.com/SELinuxProject/selinux/commit/7a124ca275>.
3614         Use the simpler 'char *' instead.
3615         * lib/getfilecon.c (getfilecon): Adjust type of context parameter.
3616         (lgetfilecon): Likewise.
3617         (fgetfilecon): Likewise.
3618         (map_to_failure): Likewise.
3619         (rpl_getfilecon): Likewise.
3620         (rpl_lgetfilecon): Likewise.
3621         (rpl_fgetfilecon): Likewise.
3622         * lib/se-selinux.in.h (security_context_t): Remove typedef.
3623         (getcon): Adjust type of context parameter.
3624         (freecon): Likewise.
3625         (getfscreatecon): Likewise.
3626         (setfscreatecon): Likewise.
3627         (matchpathcon): Likewise.
3628         (getfilecon): Likewise.
3629         (lgetfilecon): Likewise.
3630         (fgetfilecon): Likewise.
3631         (setfilecon): Likewise.
3632         (lsetfilecon): Likewise.
3633         (fsetfilecon): Likewise.
3634         (security_check_context): Likewise.
3635         (security_check_context_raw): Likewise.
3636         (setexeccon): Likewise.
3637         (security_compute_create): Likewise.
3638         * lib/selinux-at.c (getfileconat): Likewise.
3639         (lgetfileconat): Likewise.
3640         (setfileconat): Likewise.
3641         (lsetfileconat): Likewise.
3642         * lib/selinux-at.h: Likewise.
3644 2020-10-19  Bruno Haible  <bruno@clisp.org>
3646         xalloc-die: Fix link error with Solaris cc (regression 2020-07-27).
3647         * lib/xalloc.h (xalloc_die): Don't declare if GNULIB_XALLOC_DIE is 0.
3648         (xmalloc, xzalloc, xcalloc, xrealloc, x2realloc, xmemdup, xstrdup,
3649         XMALLOC, XNMALLOC, XZALLOC, XCALLOC, xnmalloc, xnrealloc, x2nrealloc,
3650         xcharalloc): Don't declare/define if GNULIB_XALLOC is 0.
3651         * modules/xalloc (configure.ac): Define GNULIB_XALLOC.
3652         * modules/xalloc-die (configure.ac): Define GNULIB_XALLOC_DIE.
3654 2020-10-18  Bruno Haible  <bruno@clisp.org>
3656         ssfmalloc: Add tests.
3657         * tests/test-ssfmalloc.c: New file.
3658         * modules/ssfmalloc-tests: New file.
3660         ssfmalloc: New module.
3661         * lib/ssfmalloc.h: New file.
3662         * lib/ssfmalloc-bitmap.h: New file.
3663         * modules/ssfmalloc: New file.
3665 2020-10-18  Bruno Haible  <bruno@clisp.org>
3667         wchar: Fix configure test result on some versions of AIX.
3668         Reported by Clément Chigot <clement.chigot@atos.net> in
3669         <https://lists.gnu.org/archive/html/bug-gnulib/2020-10/msg00115.html>.
3670         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Execute the test only on glibc
3671         systems.
3673 2020-10-18  Bruno Haible  <bruno@clisp.org>
3675         time: Fix warning about asctime when asctime is not used.
3676         * lib/time.in.h (asctime_r, ctime, ctime_r): Fix _GL_WARN_ON_USE
3677         invocation.
3679 2020-10-18  Bruno Haible  <bruno@clisp.org>
3681         *-list, *-oset, *-omap: Avoid a GCC warning (regression 2020-10-10).
3682         * lib/gl_anylinked_list2.h (gl_linked_iterator_free): Remove
3683         '_GL_ATTRIBUTE_CONST'.
3684         * lib/gl_anytree_list2.h (gl_tree_iterator_free): Likewise.
3685         * lib/gl_anytree_omap.h (gl_tree_iterator_free): Likewise.
3686         * lib/gl_anytree_oset.h (gl_tree_iterator_free): Likewise.
3687         * lib/gl_array_list.c (gl_array_iterator_free): Likewise.
3688         * lib/gl_array_omap.c (gl_array_iterator_free): Likewise.
3689         * lib/gl_array_oset.c (gl_array_iterator_free): Likewise.
3690         * lib/gl_carray_list.c (gl_carray_iterator_free): Likewise.
3692 2020-10-18  Bruno Haible  <bruno@clisp.org>
3694         obstack: Fix a clang warning.
3695         * lib/obstack.c (print_and_abort): Mark as __attribute_noreturn__.
3697 2020-10-16  Bruno Haible  <bruno@clisp.org>
3699         hash: Rename hash_delete to hash_remove.
3700         * lib/hash.h (hash_remove): Renamed from hash_delete.
3701         (hash_delete): New declaration.
3702         * lib/hash.c (hash_remove): Renamed from hash_delete.
3703         (hash_delete): New function.
3704         * tests/test-hash.c (main): Update.
3705         * lib/fts-cycle.c (leave_dir): Likewise.
3706         * NEWS: Mention the change.
3708 2020-10-16  Bruno Haible  <bruno@clisp.org>
3710         hash, xhash: Make usable from C++.
3711         * lib/hash.h: Add extern "C".
3713 2020-10-16  Bruno Haible  <bruno@clisp.org>
3715         hash, xhash: Move comments to the .h file.
3716         * lib/hash.c: Move comments meant for the user from here...
3717         * lib/xhash.c: ... and here...
3718         * lib/hash.h: ... to here.
3720 2020-10-13  Philipp Klaus Krause  <pkk@spth.de>  (tiny change)
3722         Don't declare an intention to modify the return value of strerror.
3723         * tests/test-perror2.c (main): Assign the return value of strerror to a
3724         'const char *' variable.
3726 2020-10-11  Bruno Haible  <bruno@clisp.org>
3728         *printf: Avoid "expanded before it was required" warning.
3729         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99): Define through
3730         AC_DEFUN_ONCE.
3732 2020-10-11  Benji Wiebe  <benjiwiebe14@gmail.com>
3734         getprogname: Add support for OpenServer 6 and UnixWare 7.
3735         * lib/getprogname.c: Include <fcntl.h>, <stdlib.h>, <string.h>.
3736         (getprogname): On OpenServer6 and UnixWare, read /proc/<pid>/cmdline.
3738 2020-10-11  Bruno Haible  <bruno@clisp.org>
3740         tests: Avoid a name clash on UnixWare.
3741         Reported by Tim Rice <tim@multitalents.net> in
3742         <https://lists.gnu.org/archive/html/bug-gnulib/2020-02/msg00025.html>.
3743         * tests/nap.h (nap): Define as gl_nap on OpenServer and UnixWare.
3745 2020-10-11  Bruno Haible  <bruno@clisp.org>
3747         stdioext: Update comments regarding UnixWare.
3748         Reported by Tim Rice <tim@multitalents.net> in
3749         <https://lists.gnu.org/archive/html/bug-gnulib/2020-10/msg00005.html>.
3750         * lib/fbufmode.c: Update comments.
3751         * lib/fflush.c: Likewise.
3752         * lib/fpending.c: Likewise.
3753         * lib/fpurge.c: Likewise.
3754         * lib/freadable.h: Likewise.
3755         * lib/freadable.c: Likewise.
3756         * lib/freadahead.c: Likewise.
3757         * lib/freading.h: Likewise.
3758         * lib/freading.c: Likewise.
3759         * lib/freadptr.c: Likewise.
3760         * lib/freadseek.c: Likewise.
3761         * lib/fseeko.c: Likewise.
3762         * lib/fseterr.c: Likewise.
3763         * lib/fwritable.h: Likewise.
3764         * lib/fwritable.c: Likewise.
3765         * lib/fwriting.h: Likewise.
3766         * lib/fwriting.c: Likewise.
3768 2020-10-11  Bruno Haible  <bruno@clisp.org>
3770         stdioext: Treat OpenServer 6 and UnixWare 7 like OpenServer 5.
3771         Reported by Tim Rice <tim@multitalents.net> in
3772         <https://lists.gnu.org/archive/html/bug-gnulib/2020-10/msg00005.html>.
3773         Uses the info from
3774         <https://lists.gnu.org/archive/html/bug-gnulib/2020-10/msg00028.html>.
3775         * lib/stdio-impl.h: Test also __SCO_VERSION__ and __sysv5__.
3777 2020-10-11  Bruno Haible  <bruno@clisp.org>
3779         stdioext: Avoid compilation errors on UnixWare 7.
3780         Reported by Tim Rice <tim@multitalents.net> in
3781         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00127.html>.
3782         * lib/fbufmode.c: Don't include <stdio_ext.h> if it does not exist.
3783         * lib/fpurge.c: Likewise.
3784         * lib/freadable.h: Likewise.
3785         * lib/freading.h: Likewise.
3786         * lib/fwritable.h: Likewise.
3787         * lib/fwriting.h: Likewise.
3788         * m4/fbufmode.m4 (gl_FUNC_FBUFMODE): Test whether <stdio_ext.h> exists.
3789         * m4/fpurge.m4 (gl_FUNC_FPURGE): Likewise.
3790         * m4/freadable.m4 (gl_FUNC_FREADABLE): Likewise.
3791         * m4/freading.m4 (gl_FUNC_FREADING): Likewise.
3792         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Likewise.
3793         * m4/fwriting.m4 (gl_FUNC_FWRITING): Likewise.
3795 2020-10-11  Bruno Haible  <bruno@clisp.org>
3797         stdioext: Update comments regarding Cygwin.
3798         * lib/fpending.c: Update comments.
3799         * lib/fpurge.c: Likewise.
3800         * lib/freadable.h: Likewise.
3801         * lib/freadable.c: Likewise.
3802         * lib/freading.h: Likewise.
3803         * lib/freading.c: Likewise.
3804         * lib/fwritable.h: Likewise.
3805         * lib/fwritable.c: Likewise.
3806         * lib/fwriting.h: Likewise.
3807         * lib/fwriting.c: Likewise.
3809 2020-10-11  KO Myung-Hun  <komh78@gmail.com>
3811         Fix "warning: implicit declaration of function 'pthread_sigmask'".
3812         * lib/signal.in.h [__KLIBC__]: Include <pthread.h>.
3813         * lib/sys_select.in.h [__KLIBC__]: Do not include <signal.h>.
3815 2020-10-10  Bruno Haible  <bruno@clisp.org>
3817         *-list, *-oset, *-omap: Avoid possible compiler warnings.
3818         Reported by Marc Nieper-Wißkirchen in
3819         <https://lists.gnu.org/r/bug-gnulib/2020-10/msg00025.html>.
3820         * lib/gl_anylinked_list2.h (gl_linked_iterator,
3821         gl_linked_iterator_from_to): Mark as 'pure'.
3822         (gl_linked_iterator_free): Mark as 'const'.
3823         * lib/gl_anytree_list2.h (gl_tree_size, gl_tree_node_value,
3824         gl_tree_search_from_to, gl_tree_indexof_from_to, gl_tree_iterator,
3825         gl_tree_iterator_from_to, gl_tree_sortedlist_search,
3826         gl_tree_sortedlist_search_from_to, gl_tree_sortedlist_indexof,
3827         gl_tree_sortedlist_indexof_from_to): Mark as 'pure'.
3828         (gl_tree_iterator_free): Mark as 'const'.
3829         * lib/gl_anytree_omap.h (gl_tree_size, gl_tree_iterator): Mark as
3830         'pure'.
3831         (gl_tree_iterator_free): Mark as 'const'.
3832         * lib/gl_anytree_oset.h (gl_tree_size, gl_tree_next_node,
3833         gl_tree_prev_node, gl_tree_iterator): Mark as 'pure'.
3834         (gl_tree_iterator_free): Mark as 'const'.
3835         * lib/gl_anytreehash_list1.h (node_position, compare_by_position,
3836         compare_position_threshold): Mark as 'pure'.
3837         * lib/gl_array_list.c (gl_array_size, gl_array_indexof_from_to,
3838         gl_array_search_from_to, gl_array_iterator, gl_array_iterator_from_to,
3839         gl_array_sortedlist_indexof_from_to, gl_array_sortedlist_indexof,
3840         gl_array_sortedlist_search_from_to, gl_array_sortedlist_search): Mark as
3841         'pure'.
3842         (gl_array_iterator_free): Mark as 'const'.
3843         * lib/gl_array_omap.c (gl_array_size, gl_array_indexof, gl_array_search,
3844         gl_array_search_atleast, gl_array_iterator): Mark as 'pure'.
3845         (gl_array_iterator_free): Mark as 'const'.
3846         * lib/gl_array_oset.c (gl_array_size, gl_array_indexof, gl_array_search,
3847         gl_array_indexof_atleast, gl_array_search_atleast, gl_array_iterator,
3848         gl_array_iterator_atleast): Mark as 'pure'.
3849         (gl_array_iterator_free): Mark as 'const'.
3850         * lib/gl_carray_list.c (gl_carray_size, gl_carray_node_value,
3851         gl_carray_next_node, gl_carray_previous_node, gl_carray_get_at,
3852         gl_carray_indexof_from_to, gl_carray_search_from_to, gl_carray_iterator,
3853         gl_carray_iterator_from_to, gl_carray_sortedlist_indexof_from_to,
3854         gl_carray_sortedlist_indexof, gl_carray_sortedlist_search_from_to,
3855         gl_carray_sortedlist_search): Mark as 'pure'.
3856         (gl_carray_iterator_free): Mark as 'const'.
3858 2020-10-10  Bruno Haible  <bruno@clisp.org>
3860         rbtree-list: Avoid possible compiler warnings.
3861         This mirrors the change of avltree-list on 2014-09-16.
3862         * lib/gl_rbtree_list.c (gl_rbtree_list_check_invariants): Add extern
3863         declaration. Add cast to void for ignored value of check_invariants.
3865 2020-10-10  Marc Nieper-Wißkirchen  <marc@nieper-wisskirchen.de>
3867         stack: New module.
3868         * MODULES.html.sh: Add entry for the stack module.
3869         * modules/stack: New file.
3870         * modules/stack-tests: New file.
3871         * lib/stack.h: New file.
3872         * tests/test-stack.c: New file.
3874 2020-10-10  Paul Eggert  <eggert@cs.ucla.edu>
3876         attribute: improve const, pure doc
3877         Problem reported by Marc Nieper-Wißkirchen in:
3878         https://lists.gnu.org/r/bug-gnulib/2020-10/msg00035.html
3879         * lib/attribute.h (ATTRIBUTE_CONST, ATTRIBUTE_PURE): Improv doc.  See:
3880         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=51971#c1
3882 2020-10-05  Paul Eggert  <eggert@cs.ucla.edu>
3884         thread: pacify GCC on Solaris 10
3885         Problem reported by Kiyoshi KANAZAWA for grep (Bug#43666#29).
3886         * lib/glthread/thread.h (gl_thread_self): Use ‘(pthread_t) 0’
3887         instead of ‘(pthread_t) NULL’, to pacify GCC on Solaris 10
3888         where pthread_t is unsigned int.
3890 2020-10-04  Paul Eggert  <eggert@cs.ucla.edu>
3892         c-stack: avoid AS_IF
3893         Problem reported by Bruno Haible in:
3894         https://lists.gnu.org/r/bug-gnulib/2020-10/msg00018.html
3895         * m4/c-stack.m4 (gl_PREREQ_C_STACK): No need for AS_IF.
3897         c-stack: pacify GCC 9.3.1 when using libsigsegv
3898         * lib/c-stack.c [USE_LIBSIGSEGV]: Disable --suggest-attribute=pure.
3900 2020-10-04  Bruno Haible  <bruno@clisp.org>
3902         localename: Fix a couple of "unused parameter" warnings.
3903         Reported by Marc Nieper-Wißkirchen <marc@nieper-wisskirchen.de> in
3904         <https://lists.gnu.org/archive/html/bug-gnulib/2020-10/msg00014.html>.
3905         * lib/localename.c (gl_locale_name_thread_unsafe, gl_locale_name_thread,
3906         gl_locale_name_posix, gl_locale_name_environ): Add _GL_UNUSED in
3907         parameter list.
3909 2020-10-04  Bruno Haible  <bruno@clisp.org>
3911         vasnprintf: Don't use %n on modern, ISO C 99 compliant platforms.
3912         Suggested by Jeremie Courreges-Anglas <jca@wxcvbn.org> in
3913         <https://lists.gnu.org/archive/html/bug-gnulib/2020-10/msg00010.html>.
3914         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Define
3915         HAVE_SNPRINTF_TRUNCATION_C99.
3916         * lib/vasnprintf.c (VASNPRINTF): Don't use %n if
3917         HAVE_SNPRINTF_RETVAL_C99 && HAVE_SNPRINTF_TRUNCATION_C99.
3919 2020-10-03  Paul Eggert  <eggert@cs.ucla.edu>
3921         c-stack: streamline Solaris configuration
3922         * lib/c-stack.c: Omit mention of HAVE_SIGALTSTACK, since
3923         the code is used only if a test for sigaltstack worked
3924         in some other way.
3925         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Do not require gl_LIBSIGSEGV;
3926         instead, execute gl_LIBSIGSEGV only if needed (because the XSI
3927         heuristic does not work).
3928         * modules/c-stack (Files): Add m4/libsigsegv.m4, since
3929         we no longer require the libsigsegv module.
3930         (Depends-on): Depend on havelib, not libsigsegv.
3932         c-stack: stop using SIGSTKSZ
3933         It’s been proposed to stop making SIGSTKSZ an integer constant:
3934         https://sourceware.org/pipermail/libc-alpha/2020-September/118028.html
3935         Also, using SIGSTKSZ in #if did not conform to current POSIX.
3936         Also, avoiding SIGSTKSZ makes the code simpler and easier to grok.
3937         * lib/c-stack.c (SIGSTKSZ): Remove.
3938         (alternate_signal_stack): Now a 64 KiB array, for simplicity.
3939         All uses changed.
3941         c-stack: fix libsigsegv typo
3942         Problem reported by Bruno Haible in:
3943         https://lists.gnu.org/r/bug-gnulib/2020-09/msg00175.html
3944         * lib/c-stack.c (USE_LIBSIGSEGV): Fix typo that caused libsigsegv
3945         to be used only on Solaris (exactly where it is not needed!).
3947 2020-10-03  Thien-Thi Nguyen  <ttn@gnuvola.org>
3949         MODULES.html.sh: Fix typo.
3950         * MODULES.html.sh (Numeric conversion functions <stdlib.h>): Fix typo.
3952 2020-09-28  Paul Eggert  <eggert@cs.ucla.edu>
3954         version-etc: pacify Oracle Studio 12.6
3955         Without this patch, it complains: "version-etc.h", line 64:
3956         warning: token-less macro argument (E_TOKENLESS_MACRO)" when in
3957         pedantic mode.
3958         * lib/version-etc.h (version_etc): Port to C89 macro rules.
3960 2020-09-27  Bruno Haible  <bruno@clisp.org>
3962         Avoid "warning: The macro `AC_DECL_SYS_SIGLIST' is obsolete".
3963         Reported by Gavin Smith <gavinsmith0123@gmail.com> in
3964         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00154.html>.
3965         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check for sys_siglist
3966         ourselves; don't use AC_DECL_SYS_SIGLIST.
3968 2020-09-27  Bruno Haible  <bruno@clisp.org>
3970         Avoid "warning: The macro `_AC_COMPUTE_INT' is obsolete".
3971         Reported by Gavin Smith <gavinsmith0123@gmail.com> in
3972         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00154.html>.
3973         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Use AC_COMPUTE_INT
3974         instead of _AC_COMPUTE_INT.
3976 2020-09-27  Bruno Haible  <bruno@clisp.org>
3978         Avoid "warning: The macro `AC_HEADER_STDC' is obsolete".
3979         Reported by Gavin Smith <gavinsmith0123@gmail.com> in
3980         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00154.html>.
3981         Based on a patch by Paul Eggert.
3982         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Don't require AC_HEADER_STDC. Don't
3983         test STDC_HEADERS. Assume <stdlib.h> exists.
3984         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Likewise.
3986 2020-09-27  Bruno Haible  <bruno@clisp.org>
3988         Enable testing of prereleases of Autoconf 2.70.
3989         Suggested by Paul Eggert in
3990         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00160.html>.
3991         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA): Test for Autoconf >= 2.69c, not
3992         >= 2.70.
3993         * m4/largefile.m4 (AC_SYS_LARGEFILE): Likewise.
3994         * m4/pid_t.m4 (AC_TYPE_PID_T): Likewise.
3995         * m4/sys_types_h.m4 (AC_HEADER_MAJOR): Likewise.
3997 2020-09-27  Bruno Haible  <bruno@clisp.org>
3999         Avoid "warning: The macro `AC_PROG_CC_STDC' is obsolete".
4000         Reported by Gavin Smith <gavinsmith0123@gmail.com> in
4001         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00151.html>.
4002         * m4/gnulib-common.m4 (gl_PROG_CC_C99): Use AC_PROG_CC_C99 or
4003         AC_PROG_CC, depending on the Autoconf version.
4005 2020-09-27  Gavin Smith  <gavinsmith0123@gmail.com>
4007         Avoid "warning: The macro `AC_HELP_STRING' is obsolete".
4008         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Use AS_HELP_STRING instead
4009         of AC_HELP_STRING.
4010         * m4/libgcrypt.m4 (AM_PATH_LIBGCRYPT): Likewise.
4012 2020-09-27  Bruno Haible  <bruno@clisp.org>
4014         Avoid "warning: $as_echo_n is obsolete" from autoconf 2.69c.
4015         Reported by Gavin Smith <gavinsmith0123@gmail.com> in
4016         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00151.html>.
4017         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): Use gl_SILENT.
4019 2020-09-27  Bruno Haible  <bruno@clisp.org>
4021         extensions: Simplify last commit.
4022         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't require
4023         AC_GNU_SOURCE ever.
4025 2020-09-26  Paul Eggert  <eggert@cs.ucla.edu>
4027         extensions: require AC_GNU_SOURCE only for <=2.63
4028         Problem reported by Gavin Smith in:
4029         https://lists.gnu.org/r/autoconf/2020-09/msg00012.html
4030         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS):
4031         Require AC_GNU_SOURCE only for Autoconf 2.63 and earlier, since it
4032         shouldn’t be needed after that, and Autoconf 2.70 complains about
4033         it being obsolete.
4035 2020-09-26  Bruno Haible  <bruno@clisp.org>
4037         regex-tests: Make test more robust.
4038         * tests/test-regex.c (main): Make sure to revert the locale to "C" after
4039         the test in "tr_TR.UTF-8" locale. Exit if we can't revert it.
4041 2020-09-25  Paul Eggert  <eggert@cs.ucla.edu>
4043         regex-tests: fix possible Turkish false-alarm
4044         * modules/regex-tests (Depends-on): Add wctype-h.
4045         * tests/test-regex.c: Include wctype.h.
4046         (main): Check that ‘i’ uppercases to ‘İ’ in Turkish,
4047         as the Turkish regex test assumes this.
4049         regex-tests: fix test and add debug output
4050         Perhaps this will fix the recent grep test failure reported at:
4051         https://buildfarm.opencsw.org/buildbot/builders/ggrep-solaris10-sparc/builds/199
4052         At least, the debug output should help narrow down the failure.
4053         * tests/test-regex.c: Include stdarg.h, stdio.h.
4054         (exit_status): New var.
4055         (report_error): New function.
4056         (main): Use it to report failures to stdout instead of merely
4057         exiting with some nonzero status.  The status info alone isn’t
4058         enough to do remote debugging.  In the new tr_TR.UTF-8 test, clear
4059         regex before calling re_compile_pattern, fixing a portability bug.
4061         regex: no longer match glibc
4062         * config/srclist.txt: Comment out regex_internal.c for now.
4064 2020-09-23  Paul Eggert  <eggert@cs.ucla.edu>
4066         regex: fix ignore-case Turkish bug
4067         * lib/regex_internal.c (build_wcs_upper_buffer):
4068         Do not assume that converting single-byte character to upper
4069         yields a single-byte character.  This is not true for Turkish,
4070         where towupper (L'i') yields L'İ', which is not single-byte.
4071         * tests/test-regex.c (main): Test for this bug.
4073         regex: port to weird isascii platforms
4074         * lib/regex_internal.h (isascii) [!_LIBC]: Supply glibc version.
4076 2020-09-20  Norihiro Tanaka  <noritnk@kcn.ne.jp>
4078         dfa: make dfasupported a global function
4079         * lib/dfa.c (dfasupported): Rename, and make it global.
4080         Update caller.
4081         * lib/dfa.h (dfasupported): Add prototype.
4083 2020-09-20  Bruno Haible  <bruno@clisp.org>
4085         canonicalize: Add support for UNC file names on native Windows.
4086         Reported and initial patch by Vaclav Slavik <vaclav@slavik.io> in
4087         <https://savannah.gnu.org/bugs/?59079>.
4088         * lib/canonicalize.c (canonicalize_filename_mode): For UNC file names,
4089         extend the prefix to include the server.
4091 2020-09-20  Bruno Haible  <bruno@clisp.org>
4093         supersede: Fix test failures on native Windows.
4094         * lib/supersede.c (open_supersede): Handle non-regular files on native
4095         Windows like on Solaris.
4096         * tests/test-supersede-open.h (test_open_supersede): Use O_BINARY flag.
4098 2020-09-20  Paul Eggert  <eggert@cs.ucla.edu>
4100         test-stdalign: test Oracle Studio better
4101         * doc/posix-headers/stdalign.texi (stdalign.h):
4102         * tests/test-stdalign.c (main):
4103         Sun Studio Bug #2125432 seems to be fixed.
4105         c-stack: output diagnostic in single 'write'
4106         * lib/c-stack.c (die): In the typical case, use just one 'write'
4107         syscall to output the diagnostic, as this lessens interleaving.
4108         (die, c_stack_action): Assume C99.
4109         * modules/c-stack (Depends-on): Add c99, mempcpy.
4111         c-stack: improve checking if !libsigsegv
4112         If SIGINFO_WORKS, do not treat a null pointer dereference as if it
4113         were a stack overflow.  Use uintptr_t and INT_ADD_WRAPV to avoid
4114         unlikely pointer overflow.  Also, fix some obsolete code and typos.
4115         I found these problems while looking into this bug report:
4116         https://lists.gnu.org/r/grep-devel/2020-09/msg00053.html
4117         * lib/c-stack.c: Include c-stack.h first, to test interface.
4118         Include inttypes.h for UINTPTR_MAX, stdbool.h, stddef.h for
4119         max_align_t, intprops.h for INT_ADD_WRAPV.
4120         (USE_LIBSIGSEGV): New macro; use it to simplify later code.
4121         (SIGSTKSZ): Simplify setup.  Work around libsigsegv bug only
4122         for libsigsegv 2.8 and earlier since the bug should be fixed
4123         after that.
4124         (alternate_signal_stack): Use max_align_t instead of doing it by hand.
4125         (segv_handler, overflow_handler, segv_handler) [DEBUG]:
4126         Assume sprintf returns byte count; this assumption is safe now.
4127         (page_size): New static volatile variable, since sysconf isn’t
4128         documented to be async-signal-safe on Solaris.  This variable is
4129         present and used if (!USE_LIBSIGSEGV && HAVE_SIGALTSTACK &&
4130         HAVE_DECL_SIGALTSTACK && HAVE_STACK_OVERFLOW_HANDLING &&
4131         SIGINFO_WORKS).
4132         (segv_handler): Use it if present.  Never report null pointer
4133         dereference as a stack overflow.  Check for (unlikely) unsigned
4134         and/or pointer overflow.
4135         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
4136         Rename cache variables to gl_cv_sys_stack_overflow_works
4137         and gl_cv_sys_xsi_stack_overflow_heuristic.
4138         All uses changed.
4139         (gl_PREREQ_C_STACK): Do not require AC_FUNC_ALLOCA, since
4140         c-stack no longer uses STACK_DIRECTION.
4141         Do not check for unistd.h, since we depend on unistd.
4142         Fix shell typo ‘$"ac_cv_sys_xsi_stack_overflow_heuristic"’.
4143         * modules/c-stack (Depends-on): Sort.  Add intprops, inttypes,
4144         stdbool, stddef.
4146 2020-09-20  Bruno Haible  <bruno@clisp.org>
4148         Revert now-unnecessary override of config.guess on Alpine Linux 3.10.
4149         * m4/musl.m4: Revert 2020-09-19 patch.
4150         * m4/setlocale_null.m4: Likewise.
4151         * modules/setlocale-null: Likewise.
4153 2020-09-19  Ben Pfaff  <blp@cs.stanford.edu>
4154             Bruno Haible  <bruno@clisp.org>
4156         relocatable-prog: Fix for multiple relocatable library directories.
4157         * build-aux/reloc-ldflags: Fix handling of multiple relocatable library
4158         directories.  Each one needs its own -Wl,-rpath,$dir option, instead of
4159         being attached to a single one.
4161 2020-09-19  Jim Meyering  <meyering@fb.com>
4163         test-verify.c: avoid -Wshadow warnings
4164         * tests/test-verify.c (gx): Rename global from "x". Adjust use.
4165         (enum): Capitalize member names. Adjust uses.
4167 2020-09-19  Bruno Haible  <bruno@clisp.org>
4169         havelib: Avoid linking with libc.a on GNU systems.
4170         Reported by Bruce Dubbs <bruce.dubbs@gmail.com> in
4171         <https://lists.gnu.org/archive/html/grep-devel/2020-09/msg00052.html>.
4172         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): When processing the
4173         dependency_libs value of a .la file, ignore '-lc' options on GNU
4174         systems.
4176 2020-09-19  Bruno Haible  <bruno@clisp.org>
4178         Fix recognition of musl libc on Alpine Linux 3.10.
4179         Reported by Jeffrey Walton <noloader@gmail.com> in
4180         <https://lists.gnu.org/archive/html/grep-devel/2020-09/msg00020.html>.
4181         * m4/musl.m4 (gl_MUSL_CANONICAL_HOST): New macro.
4182         (gl_MUSL_LIBC): Require it.
4183         * m4/setlocale_null.m4 (gl_FUNC_SETLOCALE_NULL): Likewise.
4184         * modules/setlocale-null (Files): Add m4/musl.m4.
4186 2020-09-19  Bruno Haible  <bruno@clisp.org>
4188         nl_langinfo: Make multithread-safe on Solaris 10 and Solaris 11.3.
4189         Reported for Solaris 10 by Dagobert Michelsen via Paul Eggert in
4190         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00023.html>
4191         and for Solaris 11.3 by Jeffrey Walton <noloader@gmail.com> in
4192         <https://lists.gnu.org/archive/html/bug-grep/2020-06/msg00013.html>.
4193         * lib/nl_langinfo-lock.c: New file, based on lib/setlocale_null-lock.c.
4194         * lib/nl_langinfo.c: Include <stdlib.h> and <windows.h> or <pthread.h>
4195         or <threads.h>.
4196         (ITEMS, MAX_RESULT_LEN): New macros.
4197         (nl_langinfo_unlocked): New function.
4198         (gl_get_nl_langinfo_lock): New declaration.
4199         (nl_langinfo_with_lock): New function, based on lib/setlocale_null.c.
4200         (rpl_nl_langinfo): Use nl_langinfo_with_lock instead of nl_langinfo.
4201         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Require gl_PTHREADLIB. Define
4202         HAVE_THREADS_H. Set NL_LANGINFO_MTSAFE. If setting it to 0, also set
4203         REPLACE_NL_LANGINFO.
4204         (gl_PREREQ_NL_LANGINFO_LOCK): New macro.
4205         * modules/nl_langinfo (Files): Add lib/nl_langinfo-lock.c,
4206         lib/windows-initguard.h, m4/threadlib.m4, m4/visibility.m4.
4207         (configure.ac): Compile nl_langinfo-lock.c when NL_LANGINFO_MTSAFE is 0.
4208         * doc/posix-functions/nl_langinfo.texi: Mention the Solaris bug.
4210 2020-09-18  Bruno Haible  <bruno@clisp.org>
4212         fsusage, getaddrinfo: Produce more regular configure output.
4213         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Remove AC_MSG_CHECKING without
4214         corresponding AC_MSG_RESULT.
4215         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
4217 2020-09-18  Bruno Haible  <bruno@clisp.org>
4219         Add back gl_SILENT.
4220         * m4/gnulib-common.m4 (GL_TMP_FD, gl_SILENT): New macros.
4222 2020-09-18  Paul Eggert  <eggert@cs.ucla.edu>
4224         c-stack-tests: fix -fsanitize=undefined false alarm
4225         * tests/test-c-stack2.sh: Skip the test-harness self-test
4226         if ‘gcc -fsanitize=undefined’ is in use.
4228 2020-09-17  Paul Eggert  <eggert@cs.ucla.edu>
4230         signalblocking: simplify and remove gl_SILENT
4231         gl_SILENT was problematic because if a trap was sprung, stderr
4232         generated during the trap was lost.  Avoid the problem by
4233         removing the need for gl_SILENT.
4234         * m4/gnulib-common.m4 (GL_TMP_FD, gl_SILENT): Remove.
4235         * m4/signalblocking.m4 (gl_SIGNALBLOCKING):
4236         Simplify, avoiding the need for gl_SILENT while preserving the
4237         ability of the user to override the value of the cache variable,
4238         now ac_cv_func_sigprocmask.
4240 2020-09-17  Bruno Haible  <bruno@clisp.org>
4242         sigprocmask: Fix configuration failure on Solaris 10 (regr. 2020-07-25).
4243         * m4/gnulib-common.m4 (GL_TMP_FD): New macro.
4244         (gl_SILENT): Use 'exec', not a compound statement, to redirect
4245         AS_MESSAGE_FD.
4247 2020-09-17  Paul Eggert  <eggert@cs.ucla.edu>
4249         intprops, xalloc: avoid __builtin_mul_overflow_p with Clang
4250         Problem reported by Nelson H. F. Beebe for clang 9.0.1 in:
4251         https://lists.gnu.org/r/grep-devel/2020-09/msg00028.html
4252         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW_P) [__clang__]:
4253         Define to 0.
4254         * lib/xalloc-oversized.h (xalloc_oversized) [__clang__]:
4255         Do not use __builtin_mul_overflow_p.
4257         libc-config: port __THROW to Ubuntu 4
4258         * lib/cdefs.h (__THROW): Do not use __attribute__ ((__nothrow__))
4259         for GCC 3.3.  Problem reported by Jeffrey Walton in:
4260         https://lists.gnu.org/r/bug-gnulib/2019-07/msg00058.html
4261         The GCC 3.3.4 documentation says the attribute should work, but
4262         apparently it does not work on Ubuntu 4’s GCC 3.3.  There seems
4263         little point or desire to research this circa-2004 platform further,
4264         so just avoid the attribute there.
4266 2020-09-17  Jim Meyering  <meyering@fb.com>
4268         test-dfa-match.sh: port timeout work-around to newer Busybox
4269         * tests/test-dfa-match.sh: Update timeout -t portability test to
4270         accommodate Busybox 1.30.0 and newer.
4272 2020-09-16  Paul Eggert  <eggert@cs.ucla.edu>
4274         fnmatch: adjust to match glibc fix
4275         This fixes handling of collating symbols in fnmatch (glibc bug 26620).
4276         This does not affect Gnulib; it merely keeps Gnulib and glibc
4277         closer together, to help with any eventual merge, by incorporating
4278         a recent glibc patch.  The patch and the following commentary is
4279         by Andreas Schwab.
4280         * lib/fnmatch_loop.c (FCT) [WIDE_CHAR_VERSION]: The variable idx
4281         contains the index into the extra array, whereas wextra points
4282         into the extra array at this index, containing the length of the
4283         following collating sequence in the wide character representation.
4285 2020-09-16  Bruno Haible  <bruno@clisp.org>
4287         stat, fstat: Fix compilation error with old mingw headers.
4288         Reported by Eli Zaretskii <eliz@gnu.org> in
4289         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00027.html>.
4290         * lib/stat-w32.c (VOLUME_NAME_NONE): Define if the Windows headers don't
4291         define it.
4293 2020-09-16  Bruno Haible  <bruno@clisp.org>
4295         stat, fstat: Fix when compiling for versions older than Windows Vista.
4296         Reported by Eli Zaretskii <eliz@gnu.org> in
4297         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00027.html>.
4298         * lib/stat-w32.c: Include <sdkddkver.h>. Test the value of _WIN32_WINNT
4299         that was originally set before we redefined it.
4300         * m4/stat.m4 (gl_PREREQ_STAT_W32): New macro.
4301         (gl_PREREQ_STAT): Require it.
4302         * m4/fstat.m4 (gl_PREREQ_FSTAT): Likewise.
4304 2020-09-15  Paul Eggert  <eggert@cs.ucla.edu>
4306         dfa: remove dfa-heap-overrun workaround
4307         * lib/dfa.c (reorder_tokens): Go back to a single pass that
4308         both sets map[*] and does other things.  This reverts
4309         2020-09-14T01:20:01Z!eggert@cs.ucla.edu, which is no longer
4310         neeeded now that 2020-09-14T13:21:05Z!noritnk@kcn.ne.jp
4311         fixed the underlying problem.
4313 2020-09-13  Paul Eggert  <eggert@cs.ucla.edu>
4315         dfa: avoid use of uninitialized constraint
4316         * lib/dfa.c (merge_nfa_state): Do not initialize the constraint
4317         to zero here.
4318         (dfaoptimize): Do it here instead, via xcalloc.  This prevents the
4319         use of an uninitialized constraint by later code when ! (flags[i]
4320         & OPT_QUEUED) means merge_nfa_state was not called to initialize
4321         the constraint.  Problem found by running 'valgrind src/grep -E
4322         '(^| )*(a|b)*(c|d)*( |$)' < /dev/null' on Ubuntu 18.04.5 x86-64.
4324         dfa: assume C99 in reorder_tokens
4325         * lib/dfa.c (reorder_tokens): Assume C99 and simplify.
4327         dfa: fix dfa-heap-overrun failure
4328         * lib/dfa.c (reorder_tokens): When setting
4329         map[d->follows[i].elems[j].index], instead of incorrectly assuming
4330         that (i < d->follows[i].elems[j].index), use two loops, one to set
4331         the map array and the other to use it.  The incorrect assumption
4332         caused some elements to be missed, and this in turn caused grep's
4333         dfa-heap-overrun test to fail on Solaris 10 sparc when compiled
4334         with GCC.  I found this bug while investigating
4335         https://buildfarm.opencsw.org/buildbot/builders/ggrep-solaris10-sparc/builds/183
4336         and I think the bug also occurs on GNU/Linux but with more-subtle
4337         symptoms.  The bug predates the recent dfa.c changes; perhaps the
4338         recent changes make the bug more likely.
4340 2020-09-13  Bruno Haible  <bruno@clisp.org>
4342         parse-datetime: Make the build rule work with parallel 'make'.
4343         Reported by Daiki Ueno <ueno@gnu.org> in
4344         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00036.html>.
4345         * modules/parse-datetime (Makefile.am): Use a phony target and the
4346         general idiom for rules that produce multiple files.
4348 2020-09-13  Ben Pfaff  <blp@cs.stanford.edu>
4350         getpass: Check for nonnull prompt argument while avoiding warnings.
4351         * lib/getpass.c (_GL_ARG_NONNULL): Define to empty.
4352         (getpass) [!_WIN32]: Print prompt only if nonnull.
4354 2020-09-12  Paul Eggert  <eggert@cs.ucla.edu>
4356         dfa: epsilon-closure tweaks (Bug#40634)
4357         Rename BACKWORD to BACKWARD consistently.
4358         * lib/dfa.c (struct dfa): Reorder members to reduce fragmentation.
4359         (addtok_mb): Redo slightly to make it act more like a state machine.
4360         Check depth only when it increases.
4361         (epsclosure): Let the switch test the tokens.
4362         (dfaanalyze): Cache tindex.  Simplify position loops.
4363         Prefer xcalloc to xnmalloc + explicit zeroing.  Free BACKWARD
4364         only if it is not null, since we're testing that anyway.
4365         (dfaanalyze, build_state): Use merge2 instead of doing it by hand.
4367 2020-09-12  Norihiro Tanaka  <noritnk@kcn.ne.jp>
4369         dfa: use backward set in removal of epsilon closure
4370         When removing in epsilon closure, the code searched all nodes
4371         sequentially, and this was slow for some cases.  Build a backward
4372         set before search, and only check previous position with the set.
4373         Problem reported in <https://bugs.gnu.org/40634>.
4374         * lib/dfa.c (struct dfa): New member 'epsilon'.
4375         (addtok_mb): Check whether a pattern has epsilon node or not.
4376         (epsclosure): New arg BACKWORD; caller changed.  When removing
4377         epsilon node and reconnecting, check only previous positions.
4378         Treat BEG as if it were character.
4379         (dfaanalyze): Build backward set.
4381 2020-09-10  Paul Eggert  <eggert@cs.ucla.edu>
4383         canonicalize: fix pointer indexing bugs
4384         Problem reported by Florian Weimer in:
4385         https://lists.gnu.org/r/bug-gnulib/2020-09/msg00025.html
4386         * lib/canonicalize-lgpl.c (__realpath):
4387         * lib/canonicalize.c (canonicalize_filename_mode):
4388         Do not generate a pointer past the end of the array.
4389         * lib/canonicalize.c (canonicalize_filename_mode):
4390         Do not use a pointer after passing it to realloc.
4392 2020-09-09  Paul Eggert  <eggert@cs.ucla.edu>
4394         tempname: help merge with glibc
4395         Inspired by draft patches by Adhemerval Zanella in:
4396         https://sourceware.org/pipermail/libc-alpha/2020-September/117501.html
4397         https://sourceware.org/pipermail/libc-alpha/2020-September/117502.html
4398         * lib/tempname.c: Include stdalign.h, time.h.
4399         If _LIBC, do not include random-bits.h.
4400         (__getrandom, __clock_gettime64, __timespec64) [!_LIBC]: New macros.
4401         (RANDOM_BITS): Remove, replacing with ...
4402         (random_bits): ... this new static function.  All uses changed.
4403         Add entropy each time if getrandom is not supported.
4404         (RANDOM_VALUE, BASE_62_DIGITS, BASE_62_POWER):
4405         Assume 64-bit support a la C99.
4406         (try_tempname_len): Take advantage of ASLR when initializing
4407         random value.
4408         * modules/tempname (Depends-on): Add clock-time, stdalign, time.
4410         getcwd: merge recent glibc changes
4411         * lib/getcwd.c (GETCWD_RETURN_TYPE) [!_LIBC]: New macro.
4412         (__getcwd, getcwd) [_LIBC && !GETCWD_RETURN_TYPE]: Add aliases.
4414 2020-09-06  Bruno Haible  <bruno@clisp.org>
4416         attribute: Clarify which file to include.
4417         * modules/attribute (Include): Add "attribute.h".
4419 2020-09-06  Bruno Haible  <bruno@clisp.org>
4421         pipe-filter-ii, pipe-filter-gi: Fix warnings on native Windows.
4422         * lib/pipe-filter-ii.c: Include <process.h>.
4423         * lib/pipe-filter-gi.c: Likewise.
4425 2020-09-05  Paul Eggert  <eggert@cs.ucla.edu>
4427         verify: avoid __builtin_assume
4428         Our latest attempt to use Clang’s __builtin_assume caused a crash
4429         in GNU Emacs that we spent quite some time tracking down as being
4430         caused by the switch to __builtin_assume.  It’s not known whether
4431         the crash is due is a Clang bug or a portability bug in GNU Emacs.
4432         For now, play it safe and avoid __builtin_assume.
4433         * lib/verify.h (_GL_HAS_BUILTIN_ASSUME): Remove.
4434         (assume): Simplify by not trying to use Clang’s __builtin_assume.
4436 2020-09-05  Bruno Haible  <bruno@clisp.org>
4438         Fix several "warning: no previous prototype for function".
4439         * modules/unicase/locale-language (Makefile.am): Add a 'static' keyword
4440         in front of the declaration of the lookup function in
4441         unicase/locale-languages.h.
4442         * modules/unictype/bidiclass-byname (Makefile.am): Likewise in
4443         unictype/bidi_byname.h.
4444         * modules/unictype/category-byname (Makefile.am): Likewise in
4445         unictype/categ_byname.h.
4446         * modules/unictype/combining-class-byname (Makefile.am): Likewise in
4447         unictype/combiningclass_byname.h.
4448         * modules/unictype/joininggroup-byname (Makefile.am): Likewise in
4449         unictype/joininggroup_byname.h.
4450         * modules/unictype/joiningtype-byname (Makefile.am): Likewise in
4451         unictype/joiningtype_byname.h.
4452         * modules/unictype/property-byname (Makefile.am): Likewise in
4453         unictype/pr_byname.h.
4454         * modules/unictype/scripts (Makefile.am): Likewise in
4455         unictype/scripts_byname.h.
4456         * modules/uninorm/composition (Makefile.am): Likewise in
4457         uninorm/composition-table.h.
4459 2020-09-05  Bruno Haible  <bruno@clisp.org>
4461         select: Fix "warning: no previous prototype for function".
4462         * lib/select.c: Include <sys/select.h>.
4464 2020-09-05  Bruno Haible  <bruno@clisp.org>
4466         Use module 'c99' when needed for variadic macros with '...' syntax.
4467         * modules/crypto/sm3 (Depends-on): Add c99.
4469 2020-09-05  Bruno Haible  <bruno@clisp.org>
4471         Use module 'c99' when needed for subobject initializer syntax.
4472         * modules/tempname (Depends-on): Add c99.
4473         * modules/nstrftime-tests (Depends-on): Likewise.
4475 2020-09-05  Bruno Haible  <bruno@clisp.org>
4477         Use module 'c99' when needed for declaration-after-statement syntax.
4478         * modules/backup-rename (Depends-on): Add c99.
4479         * modules/backupfile (Depends-on): Likewise.
4480         * modules/bitset-tests (Depends-on): Likewise.
4481         * modules/bitsetv (Depends-on): Likewise.
4482         * modules/c-strtod (Depends-on): Likewise.
4483         * modules/c-strtold (Depends-on): Likewise.
4484         * modules/clean-temp (Depends-on): Likewise.
4485         * modules/copy-file (Depends-on): Likewise.
4486         * modules/crypto/hmac-md5-tests (Depends-on): Likewise.
4487         * modules/crypto/hmac-sha1-tests (Depends-on): Likewise.
4488         * modules/crypto/hmac-sha256-tests (Depends-on): Likewise.
4489         * modules/crypto/hmac-sha512-tests (Depends-on): Likewise.
4490         * modules/crypto/md5-buffer (Depends-on): Likewise.
4491         * modules/crypto/md5-tests (Depends-on): Likewise.
4492         * modules/crypto/sha1-buffer (Depends-on): Likewise.
4493         * modules/crypto/sha1-tests (Depends-on): Likewise.
4494         * modules/crypto/sha256-buffer (Depends-on): Likewise.
4495         * modules/crypto/sha256-tests (Depends-on): Likewise.
4496         * modules/crypto/sha512-buffer (Depends-on): Likewise.
4497         * modules/crypto/sha512-tests (Depends-on): Likewise.
4498         * modules/diffseq (Depends-on): Likewise.
4499         * modules/fatal-signal (Depends-on): Likewise.
4500         * modules/fchmodat (Depends-on): Likewise.
4501         * modules/fstrcmp (Depends-on): Likewise.
4502         * modules/fsusage (Depends-on): Likewise.
4503         * modules/fts (Depends-on): Likewise.
4504         * modules/fts-tests (Depends-on): Likewise.
4505         * modules/getumask (Depends-on): Likewise.
4506         * modules/git-merge-changelog (Depends-on): Likewise.
4507         * modules/hash-map (Depends-on): Likewise.
4508         * modules/hash-set (Depends-on): Likewise.
4509         * modules/lchmod (Depends-on): Likewise.
4510         * modules/libgmp-tests (Depends-on): Likewise.
4511         * modules/libtextstyle-optional-tests (Depends-on): Likewise.
4512         * modules/linkedhash-map (Depends-on): Likewise.
4513         * modules/linkedhash-set (Depends-on): Likewise.
4514         * modules/long-options (Depends-on): Likewise.
4515         * modules/mbrtoc32 (Depends-on): Likewise.
4516         * modules/memchr2-tests (Depends-on): Likewise.
4517         * modules/memmem-tests (Depends-on): Likewise.
4518         * modules/memrchr-tests (Depends-on): Likewise.
4519         * modules/mktime-internal (Depends-on): Likewise.
4520         * modules/nstrftime (Depends-on): Likewise.
4521         * modules/opendirat (Depends-on): Likewise.
4522         * modules/parse-datetime (Depends-on): Likewise.
4523         * modules/quotearg-simple-tests (Depends-on): Likewise.
4524         * modules/same (Depends-on): Likewise.
4525         * modules/supersede (Depends-on): Likewise.
4526         * modules/supersede-tests (Depends-on): Likewise.
4527         * modules/time_rz (Depends-on): Likewise.
4528         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
4529         * modules/unistr/u32-chr-tests (Depends-on): Likewise.
4530         * modules/unistr/u8-chr-tests (Depends-on): Likewise.
4531         * modules/xalloc (Depends-on): Likewise.
4532         * modules/xnanosleep (Depends-on): Likewise.
4534 2020-09-05  Bruno Haible  <bruno@clisp.org>
4536         Fix "warning: array initialized from parenthesized string constant".
4537         * tests/test-memmem.c (main): Remove parentheses around string constant.
4538         * tests/test-c-strcasestr.c (main): Likewise.
4539         * tests/test-strcasestr.c (main): Likewise.
4541 2020-09-05  Bruno Haible  <bruno@clisp.org>
4543         argmatch tests: Fix ISO C compliance warning.
4544         * tests/test-argmatch.c: Omit semicolon after ARGMATCH_DEFINE_GROUP
4545         invocation.
4547 2020-09-05  Bruno Haible  <bruno@clisp.org>
4549         uniname/uniname: Fix -Wshadow warning.
4550         * lib/uniname/uniname.c (unicode_name_word): Don't declare i upfront.
4551         * modules/uniname/uniname (Depends-on): Add c99.
4553 2020-09-05  Bruno Haible  <bruno@clisp.org>
4555         uniname/uniname: Fix -Wshorten-64-to-32 warnings.
4556         * lib/uniname/uniname.c (unicode_name_word_lookup): Change type of last
4557         argument to size_t.
4558         (unicode_name_character): Change type of len, n1, n2, n3, words_length,
4559         n to size_t.
4561 2020-09-05  Bruno Haible  <bruno@clisp.org>
4563         unistr/u{8,16,32}-uctomb: Avoid possible trouble with huge strings.
4564         * lib/unistr.in.h (u8_uctomb_aux, u8_uctomb, u16_uctomb_aux, u16_uctomb,
4565         u32_uctomb): Change type of last argument to ptrdiff_t.
4566         * lib/unistr/u8-uctomb.c (u8_uctomb): Likewise.
4567         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Likewise.
4568         * lib/unistr/u16-uctomb.c (u16_uctomb): Likewise.
4569         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise.
4570         * lib/unistr/u32-uctomb.c (u32_uctomb): Likewise.
4572 2020-09-01  Paul Eggert  <eggert@cs.ucla.edu>
4574         manywarnings: remove -Wchkp and -Wabi from C++ too
4575         Suggested by Reuben Thomas in:
4576         https://lists.gnu.org/r/bug-gnulib/2020-09/msg00001.html
4577         At some point somebody should merge the many other manywarnings-c.m4
4578         changes into manywarnings-c++.m4 too, e.g.,
4579         2020-07-02T00:00:51Z!eggert@cs.ucla.edu.
4580         * m4/manywarnings-c++.m4 (gl_MANYWARN_ALL_GCC_CXX_IMPL):
4581         Remove -Wchkp, -Wabi.
4583 2020-08-30  Bruno Haible  <bruno@clisp.org>
4585         strerrorname_np: Add tests.
4586         * tests/test-strerrorname_np.c: New file.
4587         * modules/strerrorname_np-tests: New file.
4589         strerrorname_np: New module.
4590         * lib/string.in.h (strerrorname_np): New declaration.
4591         * lib/strerrorname_np.c: New file.
4592         * m4/strerrorname_np.m4: New file.
4593         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Test whether strerrorname_np
4594         is declared.
4595         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERRORNAME_NP,
4596         HAVE_STRERRORNAME_NP, REPLACE_STRERRORNAME_NP.
4597         * modules/string (Makefile.am): Substitute GNULIB_STRERRORNAME_NP,
4598         HAVE_STRERRORNAME_NP, REPLACE_STRERRORNAME_NP.
4599         * modules/strerrorname_np: New file.
4600         * tests/test-string-c++.cc: Verify the signature of strerrorname_np.
4601         * doc/glibc-functions/strerrorname_np.texi: Mention the new module and
4602         the glibc 2.32 bug.
4604 2020-08-27  Paul Eggert  <eggert@cs.ucla.edu>
4606         perror, strerror_r: remove unportable tests
4607         Problem reported by Florian Weimer in:
4608         https://lists.gnu.org/r/bug-gnulib/2020-08/msg00220.html
4609         * tests/test-perror2.c (main):
4610         * tests/test-strerror_r.c (main): Omit unportable tests.
4612 2020-08-26  Bruno Haible  <bruno@clisp.org>
4614         stdint, wchar, wctype-h: Change configure message.
4615         * m4/wint_t.m4 (gt_TYPE_WINT_T): Say "checking whether wint_t is large
4616         enough..." instead of "checking whether wint_t is too small...".
4618 2020-08-26  Bruno Haible  <bruno@clisp.org>
4620         time_rz: Change configure message.
4621         * m4/time_rz.m4 (gl_TIME_RZ): Say "checking whether localtime works even
4622         near extrema..." instead of "checking whether localtime loops forever
4623         near extrema...".
4625 2020-08-26  Bruno Haible  <bruno@clisp.org>
4627         stdint: Change configure message.
4628         * m4/stdint.m4 (gl_STDINT_H): Say "checking whether stdint.h works
4629         without ISO C predefines..." instead of "checking whether stdint.h
4630         predates C++11...".
4632 2020-08-26  Bruno Haible  <bruno@clisp.org>
4634         socketlib: Change configure message.
4635         * m4/socketlib.m4 (gl_SOCKETLIB): Say "checking for WSAStartup..."
4636         instead of "checking if we need to call WSAStartup in winsock2.h and
4637         -lws2_32...".
4639 2020-08-26  Bruno Haible  <bruno@clisp.org>
4641         include_next: Change configure message.
4642         * m4/include_next.m4 (gl_INCLUDE_NEXT): Say "checking whether source
4643         code line length is unlimited..." instead of "checking whether system
4644         header files limit the line length...".
4646 2020-08-26  Bruno Haible  <bruno@clisp.org>
4648         getcwd: Change configure message.
4649         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Say "checking
4650         whether getcwd succeeds when 4k < cwd_length < 16k..." instead of
4651         "checking whether getcwd aborts when 4k < cwd_length < 16k...".
4653 2020-08-26  Bruno Haible  <bruno@clisp.org>
4655         chdir-long: Change configure message.
4656         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Say "checking whether this
4657         system supports file names of any length..." instead of "checking
4658         whether this system has an arbitrary file name length limit...".
4659         Set gl_cv_have_unlimited_file_name_length instead of
4660         gl_cv_have_arbitrary_file_name_length_limit.
4661         * modules/chdir-long (Depends-on, configure.ac): Update accordingly.
4663 2020-08-26  Bruno Haible  <bruno@clisp.org>
4665         ceill: Change configure message.
4666         * m4/ceill.m4 (gl_FUNC_CEILL): Say "checking whether ceill() works..."
4667         instead of "checking whether ceill() breaks with small values...".
4669 2020-08-26  Bruno Haible  <bruno@clisp.org>
4671         iconv: Change configure message.
4672         * m4/iconv.m4 (AM_ICONV): Say "checking whether iconv is compatible
4673         with its POSIX signature..." instead of "checking for iconv
4674         declaration...". Remove K&R C support.
4676 2020-08-26  Paul Eggert  <eggert@cs.ucla.edu>
4678         getcwd: help the merge back into glibc
4679         This patch was inspired by Adhemerval Zanella’s proposed glibc patches:
4680         https://sourceware.org/pipermail/libc-alpha/2020-August/117294.html
4681         The idea is to make it easier for Gnulib lib/getcwd.c to match
4682         glibc io/getcwd-generic.c.
4683         * lib/getcwd.c [_LIBC]: Do not include pathmax.h.
4684         Include not-cancel.h.
4685         (HAVE_OPENAT, D_INO_IN_DIRENT, HAVE_MSVC_INVALID_PARAMETER_HANDLER)
4686         (HAVE_MINIMALLY_WORKING_GETCWD): Define for the _LIBC case.
4687         (__getcwd, __lstat, __readdir) [!_LIBC]: Remove these macros.
4688         (__close_nocancel_nostatus, __getcwd_generic, stat64, __fstat64)
4689         (__fstatat64, __lstat64, __readdir64, __fdopendir, __openat)
4690         (__rewinddir, __openat64, dirent64) [_LIBC]: New macros.
4691         (__getcwd_generic): Rename from __getcwd.
4692         Use the abovementioned macros for consistency with glibc.
4693         (weak_alias): Remove.
4695 2020-08-25  Bruno Haible  <bruno@clisp.org>
4697         verify: Avoid warnings when assume(0) is used.
4698         Reported by Mattias Engdegård <mattiase@acm.org> via Paul Eggert in
4699         <https://lists.gnu.org/archive/html/emacs-devel/2020-08/msg00838.html>.
4700         * lib/verify.h (assume): Use __builtin_unreachable if the argument is
4701         the constant 0.
4702         * tests/test-verify.c (f): New function.
4703         (state): New type.
4704         (test_assume_expressions, test_assume_optimization,
4705         test_assume_noreturn): New functions.
4707 2020-08-25  Bruno Haible  <bruno@clisp.org>
4709         fstrcmp: Clarification regarding NOTE_ORDERED.
4710         * lib/fstrcmp.c (NOTE_ORDERED): Define to false.
4712 2020-08-24  Paul Eggert  <eggert@cs.ucla.edu>
4714         diffseq: new option NOTE_ORDERED
4715         Problem reported by Phil Sainty <https://bugs.gnu.org/42931>.
4716         * NEWS: Mention this.
4717         * lib/diffseq.h (NOTE_ORDERED): New macro.
4718         (IF_LINT2): Remove; no longer needed.
4719         (compareseq): If (!NOTE_ORDERED), recurse on the smaller
4720         subproblem and iterate to do the larger.
4722 2020-08-23  Paul Eggert  <eggert@cs.ucla.edu>
4724         sys_types: let Autoconf 2.70 do pid_t
4725         * m4/pid_t.m4 (AC_TYPE_PID_T): Redefine this Autoconf macro
4726         only for Autoconf versions 2.69 and earlier, since 2.70
4727         will be fixed.
4729 2020-08-23  Bruno Haible  <bruno@clisp.org>
4731         tests: Don't assume that pid_t fits in an 'int'.
4732         * tests/test-nonblocking-pipe-main.c (main): Use type 'pid_t' instead
4733         of 'int'.
4734         * tests/test-nonblocking-socket-main.c (main): Likewise.
4736         sys_types: Fix definition of pid_t on 64-bit MSVC.
4737         * m4/pid_t.m4: New file.
4738         * modules/sys_types (Files): Add it.
4739         * modules/dirent (Files): Likewise.
4740         * modules/fcntl-h (Files): Likewise.
4741         * modules/sched (Files): Likewise.
4742         * modules/signal-h (Files): Likewise.
4743         * modules/spawn (Files): Likewise.
4744         * modules/sys_stat (Files): Likewise.
4745         * modules/sys_wait (Files): Likewise.
4746         * modules/termios (Files): Likewise.
4747         * modules/unistd (Files): Likewise.
4749 2020-08-23  Bruno Haible  <bruno@clisp.org>
4751         inttypes: Fix {PRI,SCN}*PTR on 32-bit native Windows (regr. 2020-07-21).
4752         * m4/inttypes.m4 (gl_INTTYPES_PRI_SCN): Fix syntax error in test
4753         program.
4755 2020-08-23  Paul Eggert  <eggert@cs.ucla.edu>
4757         intprops: be consistent about +X vs X+0
4758         * lib/intprops.h (_GL_SIGNED_INT_MAXIMUM): Simplify.
4760         intprops: fix INT_MULTIPLY_WRAPV bit-field bug
4761         The bug occurs when using INT_MULTIPLY_WRAPV (a, b, c) where B
4762         is a bit-field, on older GCC or non-GCC compilers where we do
4763         things ourselves instead of using __builtin_mul_overflow.
4764         Without this fix, INT_MULTIPLY_WRAPV would not compile, due
4765         to applying sizeof to a bit-field.
4766         * lib/intprops.h (_GL_INT_MULTIPLY_RANGE_OVERFLOW):
4767         Promote B before giving it to TYPE_WIDTH, in case B is a bit-field.
4769 2020-08-23  Bruno Haible  <bruno@clisp.org>
4771         supersede: Avoid a failure when writing to /dev/null in Solaris zones.
4772         Reported by Jörg Sonnenberger <joerg@netbsd.org>
4773         via Thomas Klausner <tk@giga.or.at> in
4774         <https://pkgsrc.se/files.php?messageId=20200812233110.30230FB28@cvs.NetBSD.org>.
4775         * lib/supersede.c (open_supersede): When opening an existing non-regular
4776         file on Solaris, use O_CREAT although it should not be necessary.
4778 2020-08-23  Bruno Haible  <bruno@clisp.org>
4780         verify: Make assume work on bit field expressions (regr. 2020-08-22).
4781         Reported by Benno Schulenberg <bensberg@telfort.nl> in
4782         <https://lists.gnu.org/archive/html/bug-gnulib/2020-08/msg00202.html>.
4783         * lib/verify.h (assume): Use '_Bool' or 'bool' as type of the temporary
4784         variable.
4786 2020-08-23  Bruno Haible  <bruno@clisp.org>
4788         libc-config: Improve comments.
4789         * lib/cdefs.h (__warndecl, __warnattr, __errordecl): Explain why we
4790         cannot use clang's __diagnose_if__ here.
4792 2020-08-22  Bruno Haible  <bruno@clisp.org>
4794         verify: Do use __builtin_assume on clang.
4795         * lib/verify.h (assume): Use clang’s __builtin_assume, with a temporary
4796         variable in a statement expression.
4798 2020-08-22  Bruno Haible  <bruno@clisp.org>
4800         sig2str: Add more signals.
4801         * lib/sig2str.c (numname_table): Add SIGCPUFAIL, SIGTHR, SIGBREAK.
4803 2020-08-22  Bruno Haible  <bruno@clisp.org>
4805         doc: Update for OpenBSD 6.0, 6.7.
4806         * doc/*/*.texi: Update.
4807         * m4/printf.m4: Update comments and cross-compilation guesses.
4808         * m4/ceill.m4: Update comments.
4809         * m4/getcwd-abort-bug.m4: Likewise.
4810         * m4/ilogb.m4: Likewise.
4811         * m4/ilogbf.m4: Likewise.
4812         * m4/langinfo_h.m4: Likewise.
4813         * m4/modf.m4: Likewise.
4814         * m4/modff.m4: Likewise.
4816 2020-08-22  Bruno Haible  <bruno@clisp.org>
4818         doc: Mention sig2str module.
4819         * doc/glibc-functions/sigabbrev_np.texi: Mention the sig2str module.
4821 2020-08-21  Bruno Haible  <bruno@clisp.org>
4823         sigdescr_np: Add tests.
4824         * tests/test-sigdescr_np.c: New file.
4825         * modules/sigdescr_np-tests: New file.
4827         sigdescr_np: New module.
4828         * lib/string.in.h (sigdescr_np): New declaration.
4829         * lib/sigdescr_np.c: New file.
4830         * m4/sigdescr_np.m4: New file.
4831         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Test whether sigdescr_np is
4832         declared.
4833         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_SIGDESCR_NP,
4834         HAVE_SIGDESCR_NP.
4835         * modules/string (Makefile.am): Substitute GNULIB_SIGDESCR_NP,
4836         HAVE_SIGDESCR_NP.
4837         * modules/sigdescr_np: New file.
4838         * tests/test-string-c++.cc: Verify the signature of sigdescr_np.
4839         * doc/glibc-functions/sigdescr_np.texi: Mention the new module.
4841 2020-08-20  Bruno Haible  <bruno@clisp.org>
4843         sigabbrev_np: Add tests.
4844         * tests/test-sigabbrev_np.c: New file.
4845         * modules/sigabbrev_np-tests: New file.
4847         sigabbrev_np: New module.
4848         * lib/string.in.h (sigabbrev_np): New declaration.
4849         * lib/sigabbrev_np.c: New file.
4850         * m4/sigabbrev_np.m4: New file.
4851         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Test whether sigabbrev_np is
4852         declared.
4853         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_SIGABBREV_NP,
4854         HAVE_SIGABBREV_NP.
4855         * modules/string (Makefile.am): Substitute GNULIB_SIGABBREV_NP,
4856         HAVE_SIGABBREV_NP.
4857         * modules/sigabbrev_np: New file.
4858         * tests/test-string-c++.cc: Verify the signature of sigabbrev_np.
4859         * doc/glibc-functions/sigabbrev_np.texi: Mention the new module.
4861 2020-08-20  Bruno Haible  <bruno@clisp.org>
4863         stdalign tests: Skip test with AIX xlclang.
4864         * tests/test-stdalign.c (main): Skip alignas tests with AIX xlclang.
4866 2020-08-20  Bruno Haible  <bruno@clisp.org>
4868         stdalign: Fix test failures on 32-bit platforms with clang versions < 8.
4869         * lib/stdalign.in.h (_Alignof): For clang versions < 8, use the same
4870         workaround as for GCC versions < 4.9.
4872 2020-08-20  Siddhesh Poyarekar  <siddhesh@gotplt.org>
4874         Sync up ProjectQuirks comments and documentation
4875         Transform the ProjectQuirks comments into a docstring so that it can
4876         be accessed from python as ProjectQuirks.__doc__ and harmonize
4877         descriptions with the documentation.
4878         * build-aux/vcstocl/projectquirks.py (ProjectQuirks):
4879         Transform comments into a docstring.
4880         * doc/vcs-to-changelog.texi: Sync up description with comments.
4882         Split ProjectQuirks out into its own file
4883         ProjectQuirks is used by external quirks files and importing it from
4884         vcs-to-changelog.py is broken since it was renamed to use hyphens.  It
4885         is cleaner to put it in its own file anyway.
4886         * build-aux/vcstocl/projectquirks.py: A new file...
4887         * build-aux/vcs-to-changelog.py (ProjectQuirks): ...to which
4888         we move ProjectQuirks and import the file.
4890 2020-08-19  Bruno Haible  <bruno@clisp.org>
4892         uchar: Fix compilation errors in C++ mode on macOS.
4893         * m4/uchar.m4 (gl_UCHAR_H): Require gl_ANSI_CXX if present. Include some
4894         system header file before attempting to use 'char16_t' and 'char32_t'.
4896 2020-08-19  Bruno Haible  <bruno@clisp.org>
4898         ansi-c++-opt: Work around an autoconf macro reordering problem.
4899         * modules/ansi-c++-opt: Require gl_ANSI_CXX already in the early
4900         section.
4902 2020-08-19  Bruno Haible  <bruno@clisp.org>
4904         math C++ tests: Fix compilation error in with GCC 10.
4905         * lib/math.in.h (cbrt, ceil, copysign, exp2, expm1, floor, fma, fmod,
4906         hypot, ilogb, log, log10, log1p, log2, logb, modf, remainder, rint,
4907         round, trunc): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
4909 2020-08-19  Bruno Haible  <bruno@clisp.org>
4911         uchar: Fix compilation errors in C++ mode on OpenBSD.
4912         * lib/uchar.in.h (char16_t, char32_t): Don't define in C++ mode if
4913         CXX_HAS_UCHAR_TYPES is 1.
4914         * m4/uchar.m4 (gl_UCHAR_H): Determine whether the C++ compiler
4915         predefines char16_t and char32_t. Substitute CXX_HAS_UCHAR_TYPES.
4916         * modules/uchar (Makefile.am): Substitute CXX_HAS_UCHAR_TYPES.
4918 2020-08-19  Bruno Haible  <bruno@clisp.org>
4920         Fix compilation errors in C++ mode on OpenBSD.
4921         * lib/math.in.h (isfinite, isinf, isnan, signbit): In C++ mode on
4922         OpenBSD with clang, use the approach without C preprocessor macro.
4924 2020-08-18  Bruno Haible  <bruno@clisp.org>
4926         uchar C++ tests: Fix side effect on math modules (regr. 2020-08-17).
4927         * modules/uchar-c++-tests (configure.ac): Don't use AC_LANG_PUSH and
4928         AC_LANG_POP.
4930 2020-08-17  Paul Eggert  <eggert@cs.ucla.edu>
4932         verify: avoid __built_assume on Clang
4933         * lib/verify.h (assume): Do not use Clang’s __builtin_assume, as
4934         Clang 9 incorrectly diagnoses arguments as having side effects
4935         even when they do not.  I guess Clang 9 considers any function
4936         call as if it had a side effect here.
4938         libc-config: avoid Clang’s __diagnose_if__
4939         * lib/cdefs.h (__warndecl, __warnattr, __errordecl):
4940         For now, do not use __diagnose_if__ here, as this fails
4941         on Fedora 31 with Clang 9.0.1, with diagnostic
4942         "/usr/include/bits/stdio2.h:263:9: error: fgets called with bigger
4943         size than length of destination buffer
4944         [-Werror,-Wuser-defined-warnings]".  I guess Clang 9 warns even
4945         for functions that are not called?
4947         careadlinkat: speedup for GCC 10 with GCC_LINT
4948         Inspired by a suggestion by Bruno Haible in:
4949         https://lists.gnu.org/r/bug-gnulib/2020-08/msg00155.html
4950         * lib/careadlinkat.c (STACK_BUF_SIZE): New constant.
4951         (readlink_stk): New function, with most of the old careadlinkat
4952         contents and with a new STACK_BUF arg.  Inline it in GCC 10
4953         if GCC_LINT.
4954         (careadlinkat): Use the new function for everything but the
4955         stack buffer.
4957         * build-aux/gcc-warning.spec: Update comments.
4959 2020-08-17  Bruno Haible  <bruno@clisp.org>
4961         Assume autoconf >= 2.64.
4962         * m4/std-gnu11.m4 (AC_PROG_CC, AC_PROG_CXX): Use _AC_DO_LIMIT always.
4964 2020-08-17  Bruno Haible  <bruno@clisp.org>
4966         Revert autoupdate's revert.
4967         * config/srclist.txt: Mark regcomp.c as needing sync with glibc.
4969 2020-08-17  Bruno Haible  <bruno@clisp.org>
4971         uchar C++ tests: Fix build error on FreeBSD 12.
4972         * modules/uchar-c++-tests (configure.ac): Test whether <cuchar> exists.
4973         (Makefile.am): Don't include test-uchar-c++2.cc in the compilation if
4974         <cuchar> does not exist.
4976 2020-08-16  Paul Eggert  <eggert@cs.ucla.edu>
4978         time_rz: remove unused functions
4979         * lib/time_rz.c (isdst_differ, equal_tm): Remove; no longer used.
4981         time_rz: fix issues with mktime_z failures
4982         * lib/time_rz.c (mktime_z): Do not update *TM if revert_tz fails.
4983         Use a cheaper tm_yday test for failed mktime.
4985 2020-08-16  Bruno Haible  <bruno@clisp.org>
4987         intprops test: Strengthen on clang.
4988         * tests/test-intprops.c (VERIFY): Use verify_stmt.
4990 2020-08-16  Bruno Haible  <bruno@clisp.org>
4992         nstrftime: Guide inlining also on clang.
4993         * lib/nstrftime.c (iso_week_days): Inline also on clang.
4995 2020-08-16  Bruno Haible  <bruno@clisp.org>
4997         intprops: Avoid bogus "warning: division by zero is undefined" on clang.
4998         * lib/intprops.h (_GL__GENERIC_BOGUS): Define to 1 on clang.
5000 2020-08-16  Bruno Haible  <bruno@clisp.org>
5002         log2l: Disable MSVC workaround on clang.
5003         * lib/log2l.c (log2l): On clang, use the expression 0.0L/0.0L.
5005 2020-08-16  Bruno Haible  <bruno@clisp.org>
5007         argp: Emit a warning also with clang.
5008         * lib/argp-help.c (__argp_short_program_name): Use #warning also on
5009         clang.
5011 2020-08-16  Bruno Haible  <bruno@clisp.org>
5013         libc-config: Enable __REDIRECT macro also on clang.
5014         * lib/cdefs.h (__REDIRECT, __REDIRECT_NTH, __REDIRECT_NTHNL, __ASMNAME,
5015         __ASMNAME2): Define on clang like on GCC.
5017 2020-08-16  Bruno Haible  <bruno@clisp.org>
5019         regex: Use initializer shorthand syntax also with clang.
5020         * lib/regcomp.c (utf8_sb_map): Use the initializer shorthand syntax also
5021         with clang.
5023 2020-08-16  Bruno Haible  <bruno@clisp.org>
5025         regex: Use space optimization also with clang.
5026         * lib/regex_internal.h (re_token_t): Use a single byte for the type also
5027         with clang.
5029 2020-08-16  Bruno Haible  <bruno@clisp.org>
5031         Use _Static_assert and static_assert primitives when present on clang.
5032         * lib/cdefs.h (_Static_assert): Don't define as a macro on clang.
5033         * lib/verify.h (_GL_HAVE__STATIC_ASSERT, _GL_HAVE__STATIC_ASSERT1,
5034         _GL_HAVE_STATIC_ASSERT1): Define as appropriate on clang.
5036 2020-08-16  Bruno Haible  <bruno@clisp.org>
5038         Use 'throw ()' for optimization in C++ mode also on clang.
5039         * lib/cdefs.h (__THROW): Define to 'throw ()' also on clang.
5040         * lib/getopt-cdefs.in.h (__THROW): Likewise.
5041         * lib/md5.h (__THROW): Likewise.
5043 2020-08-16  Bruno Haible  <bruno@clisp.org>
5045         absolute-header: Add support for clang.
5046         * modules/absolute-header (Makefile.am): Include '__clang__' in the
5047         HAVE_INCLUDE_NEXT expression.
5049 2020-08-16  Bruno Haible  <bruno@clisp.org>
5051         Fix "warning: implicitly declaring library function 'strcasecmp'".
5052         * lib/argp-help.c: Include <strings.h>.
5054 2020-08-16  Bruno Haible  <bruno@clisp.org>
5056         stdio: Don't break attribute 'scanf' on clang.
5057         * lib/stdio.in.h (scanf): Treat clang like GCC.
5059 2020-08-16  Bruno Haible  <bruno@clisp.org>
5061         Use __restrict also on clang.
5062         * lib/argp.h (__restrict): Don't define as a macro on clang >= 3.
5063         * lib/glob.in.h (_Restrict_): Use __restrict on clang >= 3.
5064         * lib/unitypes.in.h (_UC_RESTRICT): Likewise.
5066 2020-08-16  Bruno Haible  <bruno@clisp.org>
5068         pthread-spin: Use GCC built-ins also on clang.
5069         * lib/pthread-spin.c (pthread_spin_init, pthread_spin_lock,
5070         pthread_spin_trylock, pthread_spin_unlock): Use the newer GCC built-ins
5071         also on clang.
5073 2020-08-16  Bruno Haible  <bruno@clisp.org>
5075         asyncsafe-spin tests: Update.
5076         * tests/test-asyncsafe-spin2.c: Update to match the change in
5077         lib/asyncsafe-spin.c from 2020-08-11.
5079 2020-08-16  Bruno Haible  <bruno@clisp.org>
5081         setenv: Use tree code also with clang.
5082         * lib/setenv.c (USE_TSEARCH): Treat clang like GCC.
5084 2020-08-16  Bruno Haible  <bruno@clisp.org>
5086         math: Optimize signbit also on clang.
5087         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Optimize also
5088         on clang.
5090 2020-08-16  Bruno Haible  <bruno@clisp.org>
5092         avltreehash-list, rbtreehash-list: Optimize also on clang.
5093         * lib/gl_anytreehash_list1.h (add_nodes_to_buckets): Use
5094         __builtin_expect also on clang.
5096 2020-08-16  Bruno Haible  <bruno@clisp.org>
5098         Fix "warning: 'WSASocketA' is deprecated: Use WSASocketW() instead".
5099         * lib/socket.c: Use WSASocketW, not WSASocketA.
5101         Fix "warning: format specifies type 'unsigned long'".
5102         * tests/test-nonblocking-writer.h (main_writer_loop): Cast dbgfprintf
5103         argument to match the format directive.
5105         Fix "warning: no case matching constant switch condition '0'".
5106         * tests/test-fcntl.c (check_flags): Add a 'default' case.
5108         Fix "warning: integer overflow in expression".
5109         * tests/test-strtol.c (main): Use an 'unsigned long' expression to
5110         remove a 'long' overflow.
5112         Fix "warning: "getpagesize" redefined".
5113         * tests/test-getcwd.c (getpagesize): Don't redefine if defined as a
5114         macro.
5116         Fix "warning: implicitly declaring library function 'strncasecmp'".
5117         * lib/strptime.c: Include <strings.h>.
5119         Fix "warning: 'snprintf' macro redefined".
5120         * lib/strerror_r.c (snprintf): Undefine before redefining.
5122         Fix "warning: address of array 'locale' will always evaluate to 'true'".
5123         * lib/nl_langinfo.c (ctype_codeset): Remove redundant NULL test.
5125         Fix "warning: '__stat64' macro redefined".
5126         * lib/glob.c (__stat64): Undefine also on MSVC/clang.
5128         Fix "warning: 'format' attribute argument not supported: rpl_printf".
5129         * lib/stdio.in.h (printf): Treat clang like GCC.
5131         Fix "warning: attribute declaration must precede definition" with clang.
5132         * lib/math.in.h (acosl, asinl, atanl, ceill, cosl, expl, fabsf, fabsl,
5133         floorl, fmodl, frexpf, frexpl, hypotf, hypotl, ldexpf, ldexpl, logl,
5134         log10l, modfl, sinl, sqrtl, tanl): Disable _GL_CXXALIASWARN invocation
5135         on non-glibc systems.
5136         * lib/netdb.in.h (gai_strerror): Likewise.
5137         * lib/stdio.in.h (snprintf, vfscanf, vscanf, vsnprintf): Likewise.
5138         * lib/sys_stat.in.h (fstat): Likewise.
5139         * lib/utime.in.h (utime): Likewise.
5141         Fix undesired warnings.
5142         * lib/sys_select.in.h: Disable all _GL_WARN_ON_USE invocations with
5143         clang.
5145 2020-08-16  Bruno Haible  <bruno@clisp.org>
5147         C++ tests: Fix link errors on MSVC (regression from 2020-05-31).
5148         * modules/stdio-c++-tests (Makefile.am): Link test-stdio-c++ with
5149         $(LIB_GETRANDOM), needed for the rpl_tmpfile symbol.
5150         * modules/stdlib-c++-tests (Makefile.am): Link test-stdlib-c++ with
5151         $(LIB_GETRANDOM), needed for the mkdtemp and mkstemp symbols.
5153 2020-08-16  Bruno Haible  <bruno@clisp.org>
5155         Don't use Autoconf quadrigraphs.
5156         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA): Use '#' instead of the corresponding
5157         Autoconf quadrigraph.
5158         * m4/free.m4 (gl_FUNC_FREE): Likewise.
5159         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
5160         * m4/largefile.m4 (_AC_SYS_LARGEFILE_TEST_INCLUDES,
5161         _AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
5162         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
5163         * m4/math_h.m4 (gl_MATH_H): Likewise.
5164         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Likewise.
5166 2020-08-16  Bruno Haible  <bruno@clisp.org>
5168         Fix quoting of AC_LANG_PROGRAM arguments.
5169         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Quote the AC_LANG_PROGRAM
5170         arguments through [[...]].
5171         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
5172         * m4/fpurge.m4 (gl_FUNC_FPURGE): Likewise.
5173         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
5174         * m4/ld-output-def.m4 (gl_LD_OUTPUT_DEF): Likewise.
5175         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Likewise.
5176         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
5177         * m4/mountlist.m4 (gl_MOUNTLIST): Likewise.
5178         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
5179         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Likewise.
5180         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Likewise.
5181         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): Likewise.
5182         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Likewise.
5183         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
5185 2020-08-16  Bruno Haible  <bruno@clisp.org>
5187         Assume autoconf >= 2.64.
5188         * gnulib-tool (DEFAULT_AUTOCONF_MINVERSION): Set to 2.64.
5189         * DEPENDENCIES: Require Autoconf 2.64 or newer.
5190         * NEWS: Mention the changed requirement.
5191         * m4/00gnulib.m4 (_m4_divert_diversion, AC_DEFUN_ONCE): Remove macros.
5192         * m4/gnulib-common.m4 (AS_VAR_IF, AS_VAR_COPY): Remove macros.
5193         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Quote pushdef'ed
5194         variables.
5195         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
5196         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Likewise.
5197         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): Likewise.
5198         (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C), gl_UNKNOWN_WARNINGS_ARE_ERRORS(C++),
5199         gl_UNKNOWN_WARNINGS_ARE_ERRORS(Objective C)): Define through AC_DEFUN.
5200         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C), gl_MANYWARN_ALL_GCC(C++)):
5201         Likewise.
5202         * m4/iconv.m4 (AM_ICONV): Define through AC_DEFUN_ONCE directly.
5203         * m4/libunistring.m4 (gl_LIBUNISTRING): Likewise.
5204         * m4/configmake.m4: Update comment.
5206 2020-08-16  Bruno Haible  <bruno@clisp.org>
5208         sys_ioctl: Simplify.
5209         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Remove confusing use of
5210         AC_INCLUDES_DEFAULT.
5212 2020-08-16  Bruno Haible  <bruno@clisp.org>
5214         Fix quoting of AC_LANG_SOURCE arguments.
5215         * m4/printf.m4 (gl_PRINTF_ENOMEM): Fix an m4 quoting bug in the
5216         GL_NOCRASH expansion.
5217         * m4/locale-ar.m4 (gt_LOCALE_AR): Simplify m4 quoting.
5218         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
5219         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
5220         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
5221         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
5223 2020-08-15  Paul Eggert  <eggert@cs.ucla.edu>
5225         nstrftime: be more predictable about errno
5226         This aligns nstrftime better with draft POSIX 202x strftime.
5227         * lib/nstrftime.c: Include errno.h.
5228         (width_add, __strftime_internal): Set errno on failure,
5229         and preserve it on success.  Check for mktime_z failure.
5230         * modules/nstrftime (Depends-on): Add errno.
5231         * modules/nstrftime-tests (Depends-on): Add atoll, intprops.
5232         * tests/test-nstrftime.c: Include intprops.h, limits.h.
5233         (errno_test): New test function.
5234         (main): Call it.
5236 2020-08-15  Bruno Haible  <bruno@clisp.org>
5238         canonicalize: Fix a problem of the autoconf test on MSVC/clang.
5239         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Remove undesired file
5240         from dependency analysis first.
5242 2020-08-15  Bruno Haible  <bruno@clisp.org>
5244         Determine asm output option and filename suffix for MSVC/clang.
5245         * m4/asm-underscore.m4 (gl_C_ASM): Distinguish clang from cl and
5246         clang-cl.
5248 2020-08-15  Bruno Haible  <bruno@clisp.org>
5250         doc: Update for MSVC/clang.
5251         * doc/*-functions/*printf.texi: Mention that MSVC/clang has two bugs
5252         that MSVC 14 does not have.
5254 2020-08-15  Bruno Haible  <bruno@clisp.org>
5256         Revert autoupdate's revert.
5257         * config/srclist.txt: Mark mktime.c as needing sync with glibc.
5259 2020-08-15  Bruno Haible  <bruno@clisp.org>
5261         frexpl: Fix configuration test result on MSVC.
5262         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Avoid a division by a constant
5263         zero.
5265 2020-08-15  Bruno Haible  <bruno@clisp.org>
5267         Support compiling without -loldnames on native Windows.
5268         * m4/gnulib-common.m4 (GL_MDA_DEFINES, _GL_MDA_DEFINES): New macros.
5269         * m4/chown.m4 (AC_FUNC_CHOWN): In the test programs, use GL_MDA_DEFINES.
5270         (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
5271         * m4/dup.m4 (gl_FUNC_DUP): Likewise.
5272         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
5273         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
5274         * m4/fchmodat.m4 (gl_FUNC_FCHMODAT): Likewise.
5275         * m4/fchownat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): Likewise.
5276         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
5277         * m4/fcntl.m4 (gl_FUNC_FCNTL): Likewise.
5278         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Likewise.
5279         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Likewise.
5280         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): Likewise.
5281         * m4/fopen.m4 (gl_FUNC_FOPEN_GNU): Likewise.
5282         * m4/freopen.m4 (gl_FUNC_FREOPEN): Likewise.
5283         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
5284         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
5285         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
5286         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL, gl_FUNC_GETCWD_SIGNATURE):
5287         Likewise.
5288         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Likewise.
5289         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
5290         * m4/lseek.m4 (gl_FUNC_LSEEK): Likewise.
5291         * m4/mkdir.m4 (gl_FUNC_MKDIR): Likewise.
5292         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
5293         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): Likewise.
5294         * m4/open-slash.m4 (gl_OPEN_TRAILING_SLASH_BUG): Likewise.
5295         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
5296         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
5297         * m4/pread.m4 (gl_FUNC_PREAD): Likewise.
5298         * m4/pselect.m4 (gl_FUNC_PSELECT): Likewise.
5299         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Likewise.
5300         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Likewise.
5301         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
5302         * m4/pwrite.m4 (gl_FUNC_PWRITE): Likewise.
5303         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
5304         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
5305         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
5306         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
5307         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
5308         * m4/strncat.m4 (gl_FUNC_STRNCAT): Likewise.
5309         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
5310         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
5311         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
5312         * m4/utimens.m4 (gl_UTIMENS): Likewise.
5313         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
5314         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
5315         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): On native Windows, don't
5316         test for getcwd.
5317         * m4/utime.m4 (gl_FUNC_UTIME): On native Windows, don't test for utime.
5318         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): To test for wcsdup, use a test program
5319         with GL_MDA_DEFINES.
5320         * lib/c++defs.h (_GL_CXXALIAS_MDA): New macro.
5321         * lib/fcntl.in.h (creat, open):  On native Windows, use the underscore-
5322         prefixed symbol.
5323         * lib/search.in.h (lfind, lsearch): Likewise.
5324         * lib/stdio.in.h (fcloseall, fdopen, fileno, getw, putw, tempnam):
5325         Likewise.
5326         * lib/stdlib.in.h (ecvt, fcvt, gcvt, mktemp, putenv): Likewise.
5327         * lib/string.in.h (memccpy, strdup): Likewise.
5328         * lib/sys_stat.in.h (chmod, umask): Likewise.
5329         * lib/time.in.h (tzset): Likewise.
5330         * lib/unistd.in.h (access, chdir, close, dup, dup2, execl, execle,
5331         execlp, execv, execve, execvp, execvpe, getcwd, getpid, isatty, lseek,
5332         read, rmdir, swab, unlink, write): Likewise.
5333         * lib/utime.in.h (utime): Likewise.
5334         * lib/wchar.in.h (wcsdup): Likewise.
5335         * lib/math.in.h (j0, j1, jn, y0, y1, yn):  Likewise.
5336         (isfinite, isinf, isnan, signbit): On native Windows, don't define as an
5337         rpl_-prefixed macro.
5338         * lib/canonicalize-lgpl.c (__getcwd): On native Windows, use _getcwd.
5339         * lib/close.c (close_nothrow): On native Windows, use _close.
5340         * lib/creat.c (orig_creat): On native Windows, use _creat.
5341         * lib/dup.c (dup_nothrow): On native Windows, use _dup.
5342         * lib/dup2.c (dup2_nothrow): Use _dup2.
5343         * lib/fdopen.c (fdopen_nothrow): On native Windows, use _fdopen.
5344         * lib/getcwd-lgpl.c: On native Windows, use _getcwd.
5345         * lib/getcwd.c (getcwd_nothrow): Use _getcwd also on mingw.
5346         * lib/open.c (orig_open): On native Windows, use _open.
5347         * lib/read.c (read_nothrow): Use _read.
5348         * lib/rmdir.c: On native Windows, use _rmdir.
5349         * lib/unlink.c: On native Windows, use _unlink.
5350         * lib/write.c (write_nothrow): Use _write.
5351         * lib/sys_select.in.h (close): With clang, don't attach a warning on an
5352         undefined symbol.
5353         * lib/sys_socket.in.h (close): Likewise.
5354         * lib/sys_time.in.h (close): Likewise.
5355         * tests/test-spawn-pipe-child.c: On native Windows, use _fdopen.
5357 2020-08-15  Bruno Haible  <bruno@clisp.org>
5359         Fix "unknown pragma ignored" warnings with clang on native Windows.
5360         * lib/cbrt.c: Don't use '#pragma fenv_access (off)' with clang.
5361         * lib/cbrtf.c: Likewise.
5362         * lib/ceil.c: Likewise.
5363         * lib/floor.c: Likewise.
5364         * lib/fma.c: Likewise.
5365         * lib/fmod.c: Likewise.
5366         * lib/rint.c: Likewise.
5367         * lib/round.c: Likewise.
5368         * lib/trunc.c: Likewise.
5369         * tests/test-ceil2.c: Likewise.
5370         * tests/test-ceilf2.c: Likewise.
5371         * tests/test-floor2.c: Likewise.
5372         * tests/test-floorf2.c: Likewise.
5373         * tests/test-trunc2.c: Likewise.
5374         * tests/test-truncf2.c: Likewise.
5375         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
5376         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
5378 2020-08-15  Bruno Haible  <bruno@clisp.org>
5380         Fix compilation errors in C++ mode with clang on native Windows.
5381         * lib/pthread.in.h (pthread_*): Disable _GL_CXXALIASWARN invocation on
5382         non-glibc systems.
5383         * lib/sched.in.h (sched_yield): Likewise.
5385 2020-08-14  Bruno Haible  <bruno@clisp.org>
5387         stdnoreturn: Work around problem with MSVC/clang.
5388         * m4/stdnoreturn.m4 (gl_STDNORETURN_H): On native Windows, include some
5389         system header after <stdnoreturn.h>.
5390         * doc/posix-headers/stdnoreturn.texi: Mention the issue.
5392 2020-08-14  Bruno Haible  <bruno@clisp.org>
5394         utime-h: Generate an utime.h file always.
5395         * modules/utime-h (Makefile.am): Generate utime.h always.
5396         * m4/utime_h.m4 (gl_UTIME_H): Don't set UTIME_H. Don't define
5397         GL_GENERATE_UTIME_H.
5399 2020-08-14  Bruno Haible  <bruno@clisp.org>
5401         mktime, mktime-internal: Remove obsolete code.
5402         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): Don't #undef putenv.
5404 2020-08-14  Bruno Haible  <bruno@clisp.org>
5406         getcwd: Remove obsolete code.
5407         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Don't #undef mkdir.
5408         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
5410 2020-08-14  Bruno Haible  <bruno@clisp.org>
5412         tzset: Assume the function exists.
5413         * lib/time.in.h (tzset): Assume HAVE_TZSET is 1.
5414         * lib/tzset.c: Define rpl_tzset, not tzset. Assume HAVE_TZSET is 1.
5415         * modules/tzset (configure.ac): Don't test HAVE_TZSET.
5416         * m4/tzset.m4 (gl_FUNC_TZSET): Don't test for tzset. Don't set
5417         HAVE_TZSET.
5418         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Don't initialize HAVE_TZSET.
5419         * modules/time (Makefile.am): Don't substitute HAVE_TZSET.
5421         nstrftime: Assume tzset exists.
5422         * lib/nstrftime.c (HAVE_TZSET): Remove macro.
5423         (__strftime_internal): Test my_strftime, not HAVE_TZSET.
5424         * m4/nstrftime.m4 (gl_FUNC_GNU_STRFTIME): Don't test for tzset.
5426         mktime, mktime-internal: Assume tzset exists.
5427         * lib/mktime.c (my_tzset): Assume HAVE_TZSET is 1.
5428         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): Don't test for tzset.
5430 2020-08-14  Bruno Haible  <bruno@clisp.org>
5432         strdup: Assume the function exists.
5433         * m4/strdup.m4 (gl_FUNC_STRDUP, gl_FUNC_STRDUP_POSIX): Don't test
5434         whether strdup exists.
5435         * modules/strdup (Files): Remove lib/strdup.c.
5436         (configure.ac): Don't compile strdup.c.
5437         * modules/strdup-posix (Depends-on, configure.ac): Don't test
5438         ac_cv_func_strdup.
5439         * doc/posix-functions/strdup.texi: Update.
5440         * lib/unistr/u8-strdup.c: Assume HAVE_STRDUP is 1.
5441         * modules/unistr/u8-strdup (Files): Remove lib/unistr/u-strdup.h.
5442         (Depends-on): Remove unistr/u8-strlen.
5444 2020-08-13  Bruno Haible  <bruno@clisp.org>
5446         sys_random: Work around an uClibc bug.
5447         Reported by akater <nuclearspace@gmail.com>
5448         via Stefan Kangas <stefan@marxist.se>
5449         in <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=42236>.
5450         * lib/sys_random.in.h: On uClibc, include <stddef.h> first.
5451         * m4/sys_random_h.m4 (gl_HEADER_SYS_RANDOM): Update comment.
5452         * m4/getrandom.m4 (gl_FUNC_GETRANDOM): Likewise.
5453         * doc/glibc-headers/sys_random.texi: Mention the uClibc bug.
5455 2020-08-12  Bruno Haible  <bruno@clisp.org>
5457         Avoid implicit conversion from 'unsigned int' to 'int' in initializers.
5458         Reported by Florian Weimer in
5459         <https://lists.gnu.org/archive/html/bug-gnulib/2020-08/msg00086.html>.
5460         * lib/gen-uni-tables.c (output_predicate): Change the element type of
5461         the level3 array to 'unsigned int'.
5462         * lib/unictype/bitmap.h (bitmap_lookup): Access an 'unsigned int'.
5463         * lib/unictype/categ_*.h: Regenerated.
5464         * lib/unictype/ctype_*.h: Regenerated.
5465         * lib/unictype/pr_*.h: Regenerated.
5466         * lib/unictype/sy_*.h: Regenerated.
5467         * lib/unicase/cased.h: Regenerated.
5468         * lib/unicase/ignorable.h: Regenerated.
5470 2020-08-12  Paul Eggert  <eggert@cs.ucla.edu>
5472         stdint: port intptr_t to more-recent MinGW
5473         Problem reported by Eli Zaretskii in <https://bugs.gnu.org/36597#106>.
5474         * lib/stdint.in.h (intptr_t, uintptr_t): Do not define on MinGW,
5475         even if _INTPTR_T_DEFINED and _UINTPTR_T_DEFINED are not defined.
5476         Apparently those two macros were removed in mingwrt-3.22
5477         dated 2016-07-14.
5479 2020-08-12  Bruno Haible  <bruno@clisp.org>
5481         thread-optim: Export function-like macros only.
5482         Suggested by Paul Eggert.
5483         * lib/thread-optim.h (gl_multithreaded): New macro.
5484         (IF_MT_DECL, IF_MT): Remove macros.
5485         * doc/multithread.texi (Multithreading Optimizations): Add a small
5486         example.
5487         * lib/fatal-signal.c: Update all uses.
5488         * lib/clean-temp.c: Likewise.
5489         * lib/localename.c: Likewise.
5490         * modules/localename (Depends-on): Add stdbool.
5492 2020-08-12  Bruno Haible  <bruno@clisp.org>
5494         Revert autoupdate's revert.
5495         * config/srclist.txt: Mark regex.h as needing sync with glibc.
5497 2020-08-11  Bruno Haible  <bruno@clisp.org>
5499         thread-optim: Fix a compiler warning.
5500         * lib/thread-optim.h (IF_MT_DECL): Define differently.
5502 2020-08-11  Bruno Haible  <bruno@clisp.org>
5504         Use __restrict also on clang.
5505         * lib/cdefs.h (__restrict): Don't define as a macro on clang.
5506         (__restrict_arr): On clang, define like on GCC.
5507         * lib/regex.h (_Restrict_): Use '__restrict' also on clang.
5508         (_Restrict_arr_): Use _Restrict_ also on clang.
5509         * lib/spawn.in.h (_Restrict_): Use '__restrict' also on clang.
5510         (_Restrict_arr_): Use _Restrict_ also on clang.
5512 2020-08-11  Bruno Haible  <bruno@clisp.org>
5514         Use flexible array syntax also on clang.
5515         * lib/cdefs.h (__flexarr, __glibc_c99_flexarr_available): For clang,
5516         define like for GCC 3.
5518 2020-08-11  Bruno Haible  <bruno@clisp.org>
5520         fcntl: On native Windows, use _setmode, not setmode.
5521         * lib/fcntl.c (dupfd): Use _setmode, not setmode.
5522         * lib/binary-io.h: Update comment.
5523         * tests/test-cloexec.c: Call set_binary_mode, not setmode.
5524         * tests/test-dup2.c: Likewise.
5525         * tests/test-dup-safer.c: Likewise.
5526         * tests/test-fcntl.c: Likewise.
5528 2020-08-11  Bruno Haible  <bruno@clisp.org>
5530         execute, spawn-pipe: Use _spawnvpe, not spawnvpe.
5531         * lib/execute.c (execute): Use _spawnvpe, not spawnvpe.
5532         * lib/spawn-pipe.c (create_pipe): Likewise.
5533         * tests/test-nonblocking-pipe-main.c (main): Likewise.
5534         * tests/test-nonblocking-socket-main.c (main): Likewise.
5535         * lib/wait-process.c: Update comment.
5536         * doc/posix-functions/fork.texi: Update.
5538 2020-08-11  Bruno Haible  <bruno@clisp.org>
5540         asyncsafe-spin: Use GCC built-ins also on clang.
5541         * lib/asyncsafe-spin.c (asyncsafe_spin_init, do_lock, do_unlock): Use
5542         the newer GCC built-ins also on clang.
5544 2020-08-11  Bruno Haible  <bruno@clisp.org>
5546         Use expression statements also on clang.
5547         * lib/cdefs.h (__extension__): Don't define to empty on clang.
5548         * lib/obstack.h (__extension__): Likewise.
5549         (obstack_object_size, obstack_room, obstack_make_room, obstack_empty_p,
5550         obstack_grow, obstack_grow0, obstack_1grow, obstack_ptr_grow,
5551         obstack_int_grow, obstack_ptr_grow_fast, obstack_int_grow_fast,
5552         obstack_blank, obstack_alloc, obstack_copy, obstack_copy0,
5553         obstack_finish, obstack_free): Enable as optimized macros also on clang.
5554         * lib/fpucw.h (fpucw_t etc.): Enable the definitions also on clang.
5556 2020-08-10  Bruno Haible  <bruno@clisp.org>
5558         Use many __attribute__s with clang.
5559         * m4/gnulib-common.m4 (_Noreturn): Use __attribute__ __noreturn__ also
5560         on clang.
5561         * lib/cdefs.h (__glibc_clang_has_attribute, __glibc_clang_has_builtin):
5562         New macros.
5563         (__THROW, __THROWNL, __NTH, __NTHNL): Use __attribute__ __nothrow__ also
5564         on clang.
5565         (__warndecl, __warnattr, __errordecl): Use __attribute__ __diagnose_if__
5566         also on older clang versions.
5567         (__attribute__): Don't define to empty on clang.
5568         (__attribute_malloc__): Use __attribute__ __malloc__ also on clang.
5569         (__attribute_pure__): Use __attribute__ __pure__ also on clang.
5570         (__attribute_const__): Use __attribute__ __const__ also on clang.
5571         (__attribute_used__): Use __attribute__ __used__ also on clang.
5572         (__attribute_noinline__): Use __attribute__ __noinline__ also on clang.
5573         (__attribute_deprecated__): Use __attribute__ __deprecated__ also on
5574         clang.
5575         (__attribute_format_arg__): Use __attribute__ __format_arg__ also on
5576         clang.
5577         (__attribute_format_strfmon__): Use __attribute__ __format__ __strfmon__
5578         also on clang.
5579         (__nonnull): Use __attribute__ __nonnull__ also on clang.
5580         (__attribute_warn_unused_result__): Use __attribute__
5581         __warn_unused_result__ also on clang.
5582         (__always_inline): Use __attribute__ __always_inline__ also on clang.
5583         (__attribute_artificial__): Use __attribute__ __artificial__ also on
5584         clang >= 7.
5585         (__glibc_unlikely, __glibc_likely): Use __builtin_expect also on older
5586         clang versions.
5587         (_Noreturn): Don't redefine on clang >= 3.5.
5588         * lib/arg-nonnull.h (_GL_ARG_NONNULL): Use __attribute__ __nonnull__
5589         also on clang.
5590         * lib/dirent.in.h (_GL_ATTRIBUTE_PURE): Use __attribute__ __pure__ also
5591         on clang.
5592         * lib/stdlib.in.h (_GL_ATTRIBUTE_PURE): Likewise.
5593         * lib/string.in.h (_GL_ATTRIBUTE_PURE): Likewise.
5594         * lib/wchar.in.h (_GL_ATTRIBUTE_PURE): Likewise.
5595         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT): Use __attribute__ __format__
5596         also on clang.
5597         * lib/monetary.in.h (_GL_ATTRIBUTE_FORMAT): Likewise.
5598         * lib/textstyle.in.h (ostream_printf, ostream_vprintf): Likewise.
5599         * lib/unitypes.in.h (_UC_ATTRIBUTE_CONST): Use __attribute__ __const__
5600         also on clang.
5601         (_UC_ATTRIBUTE_PURE): Use __attribute__ __pure__ also on clang.
5602         * lib/noreturn.h (_GL_NORETURN_FUNC, _GL_NORETURN_FUNCPTR): Use
5603         __attribute__ __noreturn__ also on clang.
5604         * lib/obstack.h (__attribute_noreturn__): Likewise.
5605         * lib/file-set.h (record_file): Use __attribute__ __nonnull__ also on
5606         clang.
5607         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__
5608         always_inline also on clang.
5609         * tests/test-printf-posix.c (func1, func2, func3, func4): Test also on
5610         clang.
5612 2020-08-10  Bruno Haible  <bruno@clisp.org>
5614         c-ldtoastr tests: Fix test failure.
5615         * tests/test-c-ldtoastr.c (main): Support platforms where 'long double'
5616         is longer than 'double'.
5618 2020-08-10  Bruno Haible  <bruno@clisp.org>
5620         Revert autoupdate's revert.
5621         * config/srclist.txt: Mark intprops.h as needing sync with glibc.
5623 2020-08-09  Bruno Haible  <bruno@clisp.org>
5625         string: Fix build error in C++ mode with clang (regression from today).
5626         * lib/warn-on-use.h (_GL_WARN_ON_USE_CXX): Expect two rettype
5627         parameters, one for GCC, one for clang.
5628         * lib/c++defs.h (_GL_CXXALIASWARN1_2): Update.
5629         * lib/string.in.h (strchr, strpbrk, strrchr): For clang, pass 'char *'
5630         as return type.
5632 2020-08-09  Bruno Haible  <bruno@clisp.org>
5634         ftruncate: Use _chsize, not chsize.
5635         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Test for _chsize, not chsize.
5636         * lib/ftruncate.c: Test HAVE__CHSIZE.
5637         (chsize_nothrow): Use _chsize, not chsize.
5639 2020-08-09  Bruno Haible  <bruno@clisp.org>
5641         Silence warnings from clang 10 with -Wimplicit-fallthrough.
5642         * lib/dfa.c (FALLTHROUGH): Use __attribute__ __fallthrough__ also on
5643         clang >= 10.
5644         * lib/fnmatch.c (FALLTHROUGH): Likewise.
5645         * lib/fts.c (FALLTHROUGH): Likewise.
5646         * tests/macros.h (FALLTHROUGH): Likewise.
5647         * lib/regex_internal.h (FALLTHROUGH): Likewise.
5648         * config/srclist.txt: Mark it as needing sync with glibc.
5650 2020-08-09  Bruno Haible  <bruno@clisp.org>
5652         stdbool tests: Enable the stricter tests also on clang.
5653         * tests/test-stdbool.c (ADDRESS_CHECK_OKAY): Define also on clang.
5654         (e): Enable the address-to-bool conversion test also on clang.
5656 2020-08-09  Bruno Haible  <bruno@clisp.org>
5658         count-one-bits: Use __builtin_popcount{,l,ll} on clang.
5659         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the GCC built-in.
5661 2020-08-09  Bruno Haible  <bruno@clisp.org>
5663         Use attribute __aligned__ with clang.
5664         * lib/stdalign.in.h (_Alignas): Treat clang like GCC.
5665         * lib/stddef.in.h (_GL_STDDEF_ALIGNAS): Likewise.
5667 2020-08-09  Bruno Haible  <bruno@clisp.org>
5669         Use __alignof__ with clang.
5670         * m4/stddef_h.m4 (gl_STDDEF_H): Test the alignment of max_align_t also
5671         on clang.
5672         * lib/alignof.h (alignof_type): Use __alignof__ also on clang.
5673         * lib/stdalign.in.h (_Alignof): Don't activate the GCC workaround on
5674         clang.
5675         * lib/malloca.h (sa_alignof): Use __alignof__ also on clang.
5676         * lib/bitset/list.c (lbitset_elt_alloc): Use __alignof__ also on clang.
5677         * lib/bitset/table.c (tbitset_elt_alloc): Likewise.
5678         * tests/test-stddef.c: Very the behaviour of __alignof__ also on clang.
5680 2020-08-09  Bruno Haible  <bruno@clisp.org>
5682         ignore-value: Simplify on clang.
5683         * lib/ignore-value.h (ignore_value): With clang, no need to use the GCC
5684         workaround.
5686 2020-08-09  Bruno Haible  <bruno@clisp.org>
5688         Use __typeof__ with clang.
5689         * m4/stdint.m4 (gl_STDINT_H): Check for SIZE_MAX also on
5690         "clang -std=gnu99".
5691         * lib/intprops.h (_GL_HAVE___TYPEOF__): Define to 1 also on clang.
5692         * tests/test-stdint.c (verify_same_types): Enable the check also on
5693         clang.
5695 2020-08-09  Bruno Haible  <bruno@clisp.org>
5697         Add ability to emit user-defined warnings and errors with clang.
5698         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _GL_ATTRIBUTE_ERROR,
5699         _GL_ATTRIBUTE_WARNING using an attribute for clang.
5700         * lib/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_ATTRIBUTE,
5701         _GL_WARN_ON_USE_CXX): Define using an attribute for clang.
5702         * lib/cdefs.h (__warndecl, __warnattr, __errordecl): Define using an
5703         attribute for clang.
5705 2020-08-09  Bruno Haible  <bruno@clisp.org>
5707         intprops: Fix typo in comment.
5708         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW_P): Fix typo in comment.
5710 2020-08-09  Bruno Haible  <bruno@clisp.org>
5712         Use __builtin_signbit* with clang.
5713         * lib/math.in.h (signbit): Use __builtin_signbit{,f,l} also on clang.
5714         * m4/signbit.m4 (gl_SIGNBIT): Use __builtin_signbit{,f,l} also on clang.
5715         Set REPLACE_SIGNBIT_USING_BUILTINS, not REPLACE_SIGNBIT_USING_GCC.
5716         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
5717         REPLACE_SIGNBIT_USING_BUILTINS, not REPLACE_SIGNBIT_USING_GCC.
5718         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_BUILTINS,
5719         not REPLACE_SIGNBIT_USING_GCC.
5721 2020-08-09  Bruno Haible  <bruno@clisp.org>
5723         Use __builtin_isnan with clang.
5724         * lib/isnanf-nolibm.h (isnanf): Use the GCC built-in __builtin_isnan,
5725         not __builtin_isnanf. Also on clang.
5726         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Use the GCC
5727         built-in __builtin_isnan, not __builtin_isnanf. Also on clang.
5728         * lib/isnand-nolibm.h (isnand): With clang, use the GCC built-in.
5729         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): With clang, use the GCC
5730         built-in.
5731         * lib/isnanl-nolibm.h (isnanf): Use the GCC built-in __builtin_isnan,
5732         not __builtin_isnanl. Also on clang.
5733         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_FUNC_ISNANL_WORKS): Use the
5734         GCC built-in __builtin_isnan, not __builtin_isnanl. Also on clang.
5735         * lib/math.in.h (__has_builtin): Remove macro.
5736         (isnanf, gl_isnan_f): Use the GCC built-in __builtin_isnan, not
5737         __builtin_isnanf. Also on clang.
5738         (isnand, gl_isnan_d): With clang, use the GCC built-in.
5739         (isnanl, gl_isnan_l): Use the GCC built-in __builtin_isnan, not
5740         __builtin_isnanl. Also on clang.
5741         (isnan): Use the GCC built-in __builtin_isnan in all three cases. Also
5742         on clang.
5744 2020-08-09  Bruno Haible  <bruno@clisp.org>
5746         thread-optim: Fix logic error.
5747         Reported by Paul Eggert.
5748         * lib/thread-optim.h (IF_MT): Fix logic error.
5750 2020-08-08  Bruno Haible  <bruno@clisp.org>
5752         localename: Use module 'thread-optim'.
5753         * lib/localename.c: Include thread-optim.h.
5754         (struniq): Use IF_MT macro.
5755         * modules/localename (Depends-on): Add thread-optim.
5757         clean-temp: Use module 'thread-optim'.
5758         * lib/clean-temp.c: Include thread-optim.h.
5759         (register_temporary_file, unregister_temporary_file, create_temp_dir,
5760         register_temp_file, unregister_temp_file, register_temp_subdir,
5761         unregister_temp_subdir, cleanup_temp_dir_contents, register_fd,
5762         close_temp, fclose_variant_temp): Use IF_MT macro.
5763         * modules/clean-temp (Depends-on): Add thread-optim.
5765         fatal-signal: Use module 'thread-optim'.
5766         * lib/fatal-signal.c: Include thread-optim.h.
5767         (at_fatal_signal, block_fatal_signals, unblock_fatal_signals): Use IF_MT
5768         macro.
5769         * modules/fatal-signal (Depends-on): Add thread-optim.
5771 2020-08-08  Bruno Haible  <bruno@clisp.org>
5773         New module 'thread-optim'.
5774         * lib/thread-optim.h: New file.
5775         * modules/thread-optim: New file.
5776         * doc/multithread.texi (Multithreading Optimizations): New section.
5778 2020-08-07  Paul Eggert  <eggert@cs.ucla.edu>
5780         doc: more updates for glibc 2.32
5781         * doc/glibc-functions/lchmod.texi, doc/posix-functions/faccessat.texi:
5782         * doc/posix-functions/fchmodat.texi: Update.
5784 2020-08-07  Bruno Haible  <bruno@clisp.org>
5786         doc: Update for glibc 2.32.
5787         * doc/glibc-functions/__libc_single_threaded.texi: New file.
5788         * doc/glibc-functions/pthread_attr_getsigmask_np.texi: New file.
5789         * doc/glibc-functions/pthread_attr_setsigmask_np.texi: New file.
5790         * doc/glibc-functions/sigabbrev_np.texi: New file.
5791         * doc/glibc-functions/sigdescr_np.texi: New file.
5792         * doc/glibc-functions/strerrordesc_np.texi: New file.
5793         * doc/glibc-functions/strerrorname_np.texi: New file.
5794         * doc/gnulib.texi: Include them.
5795         (Glibc sys/single_threaded.h): New section.
5796         * doc/pastposix-functions/h_errno.texi: Update.
5797         * doc/posix-functions/*.texi: Likewise.
5798         * doc/glibc-functions/*.texi: Likewise.
5800 2020-08-07  Bruno Haible  <bruno@clisp.org>
5802         alloca: No need to compile alloca.c with clang.
5803         * lib/alloca.c: Skip all code with clang.
5805         Use __builtin_alloca with clang.
5806         * lib/alloca.in.h (alloca): Define as __builtin_alloca on clang.
5808 2020-08-06  Bruno Haible  <bruno@clisp.org>
5810         Use __builtin_assume with clang.
5811         * lib/verify.h (_GL_HAS_BUILTIN_ASSUME): New macro.
5812         (assume): Use __builtin_assume when available.
5814 2020-08-06  Paul Eggert  <eggert@cs.ucla.edu>
5816         libgmp: add <gmp/gmp.h> support
5817         * m4/libgmp.m4 (gl_LIBGMP):
5818         * modules/libgmp (configure.ac, Makefile.am):
5819         Support platforms requiring ‘#include <gmp/gmp.h>’ instead of
5820         ‘#include <gmp.h>’.
5822 2020-08-06  Bruno Haible  <bruno@clisp.org>
5824         Consider that clang defines __OPTIMIZE__ like GCC does.
5825         * lib/streq.h: Define the inline functions also on clang.
5826         * lib/c-strcaseeq.h: Likewise.
5827         * lib/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't enable
5828         the GCC workaround to clang.
5830 2020-08-06  Bruno Haible  <bruno@clisp.org>
5832         safe-alloc: Remove unused code.
5833         * lib/safe-alloc.h (__GNUC_PREREQ): Remove macro.
5835 2020-08-06  Bruno Haible  <bruno@clisp.org>
5837         Use __builtin_expect with clang everywhere.
5838         * lib/cdefs.h (__glibc_unlikely, __glibc_likely): Use the GCC built-in
5839         also on clang.
5841 2020-08-05  Bruno Haible  <bruno@clisp.org>
5843         Use __builtin_ctz{,l,ll} and __builtin_ffs{,l,ll} with clang everywhere.
5844         * lib/count-trailing-zeros.h (COUNT_TRAILING_ZEROS): Use the GCC
5845         built-in also on clang.
5846         * lib/ffs.c: With clang, use the GCC built-in, not <intrin.h>.
5847         * lib/ffsl.h: Likewise. Assume GCC_BUILTIN is defined.
5849 2020-08-05  Bruno Haible  <bruno@clisp.org>
5851         Use __builtin_clz{,l,ll} with clang, also on Windows.
5852         * lib/integer_length.c: With clang, use the GCC built-in, not
5853         <intrin.h>.
5854         * lib/integer_length_l.c: Likewise.
5855         * lib/count-leading-zeros.h (COUNT_LEADING_ZEROS): Use the GCC built-in
5856         also on clang.
5857         * lib/vasnprintf.c (divide): Likewise.
5859 2020-08-04  Paul Eggert  <eggert@cs.ucla.edu>
5861         Update srclist.txt as per recent glibc changes
5862         * config/srclist.txt: Uncomment lines to reflect recent merges
5863         from Gnulib to glibc.
5865 2020-08-03  Bruno Haible  <bruno@clisp.org>
5867         Prefer documented autoconf macro 'm4_if' over 'ifelse'.
5868         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Use m4_if instead of ifelse.
5870 2020-08-03  Bruno Haible  <bruno@clisp.org>
5872         integer_length_ll: Optimize for MSVC in 64-bit mode.
5873         * lib/integer_length_l.c (MSVC_BUILTIN): Define for MSVC in 64-bit mode.
5874         (FUNC): On MSVC, use MSVC_BUILTIN if defined.
5876 2020-08-03  Bruno Haible  <bruno@clisp.org>
5878         integer_length_ll: Optimize for MSVC in 32-bit mode.
5879         * lib/integer_length_l.c: Include <intrin.h>.
5880         (integer_length): Define as inline function, like in
5881         lib/integer_length.c.
5883 2020-08-03  Bruno Haible  <bruno@clisp.org>
5885         integer_length: Optimize for MSVC.
5886         * lib/integer_length.c: Include <intrin.h>.
5887         (integer_length): With MSVC, use the _BitScanReverse built-in.
5889 2020-08-03  Bruno Haible  <bruno@clisp.org>
5891         ffsll: Optimize for MSVC in 64-bit mode.
5892         * lib/ffsl.h (FUNC): On MSVC, use MSVC_BUILTIN if defined.
5893         * lib/ffsll.c (MSVC_BUILTIN): Define for MSVC in 64-bit mode.
5894         * lib/ffsl.c (MSVC_BUILTIN): Define for MSVC.
5896 2020-08-03  Bruno Haible  <bruno@clisp.org>
5898         ffsll: Optimize for MSVC in 32-bit mode.
5899         * lib/ffsl.h: Include <intrin.h>.
5900         (ffs): Define as inline function, like in lib/ffs.c.
5902 2020-08-03  Bruno Haible  <bruno@clisp.org>
5904         ffs: Optimize for MSVC.
5905         * lib/ffs.c: Include <intrin.h>.
5906         (ffs): With MSVC, use the _BitScanForward built-in.
5908 2020-08-03  Bruno Haible  <bruno@clisp.org>
5910         sigprocmask: Try to avoid breakage for people who use an Autoconf cache.
5911         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Change the name of the cache
5912         variable.
5914 2020-08-03  Harald van Dijk  <harald@gigawatt.nl>  (tiny change)
5916         fopen: Avoid undesired interactions with glibc headers.
5917         * lib/fopen.c (_GL_ALREADY_INCLUDING_STDIO_H): Define this instead of
5918         __need_FILE, as the latter does not work with glibc.
5920 2020-08-02  Paul Eggert  <eggert@cs.ucla.edu>
5922         fcntl: document some F_SETLK errno variations
5923         * doc/posix-functions/fcntl.texi (fcntl): Document
5924         OpenIndiana, GNU/Linux, FreeBSD on NFS files.
5926 2020-08-02  Bruno Haible  <bruno@clisp.org>
5928         oset: Add an 'iterator_atleast' operation.
5929         * lib/gl_array_oset.c (gl_array_indexof_atleast): New function,
5930         extracted from gl_array_search_atleast.
5931         (gl_array_search_atleast): Use it.
5932         (gl_array_iterator_atleast): New function.
5933         (gl_array_oset_implementation): Use it.
5934         * lib/gl_anytree_oset.h (gl_tree_iterator_atleast): New function.
5935         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Use it.
5936         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Likewise.
5937         * lib/gl_oset.h (struct gl_oset_implementation): Add 'iterator_atleast'
5938         member.
5939         (gl_oset_iterator_atleast): New function.
5940         * lib/gl_oset.hh (gl_OSet): Add 'begin_atleast' member.
5941         (gl_OSet::iterator): Add another auxiliary constructor.
5942         * tests/test-array_oset.c (is_at_least, gl_sortedlist_indexof_atleast):
5943         New functions.
5944         (main): Test also gl_oset_iterator_atleast.
5945         * tests/test-avltree_oset.c (is_at_least): New function.
5946         (main): Test also gl_oset_iterator_atleast.
5947         * tests/test-rbtree_oset.c (is_at_least): New function.
5948         (main): Test also gl_oset_iterator_atleast.
5949         * tests/test-oset-c++.cc (is_at_most): New function.
5950         (main): Test also gl_OSet::begin_atleast.
5952 2020-08-02  Bruno Haible  <bruno@clisp.org>
5954         oset-c++, omap-c++: Remove restriction for search_atleast method.
5955         * lib/gl_oset.hh (gl_OSet::search_atleast): Allow the threshold to be of
5956         a different type than the element.
5957         * lib/gl_omap.hh (gl_OMap::search_atleast): Allow the threshold to be of
5958         a different type than the key.
5960 2020-08-01  Paul Eggert  <eggert@cs.ucla.edu>
5962         gnumakefile: say ‘$(MAKE)’ not ‘make’
5963         * top/GNUmakefile (abort-due-to-no-makefile):
5964         Prefer ‘$(MAKE)’ to ‘make’ in a diagnostic.
5965         This change is backported from Autoconf.
5967 2020-08-01  Bruno Haible  <bruno@clisp.org>
5969         Prefer documented autoconf macro 'm4_if' over 'ifelse'.
5970         * m4/autobuild.m4 (AB_INIT): Use m4_if instead of ifelse.
5971         * m4/csharpexec.m4 (gt_CSHARPEXEC): Likewise.
5972         * m4/javacomp.m4 (gt_JAVACOMP): Likewise.
5973         * m4/javaexec.m4 (gt_JAVAEXEC): Likewise.
5974         * m4/libtextstyle.m4 (gl_LIBTEXTSTYLE): Likewise.
5976 2020-08-01  Bruno Haible  <bruno@clisp.org>
5978         libtextstyle-optional: Update tests.
5979         * modules/libtextstyle-optional-tests (configure.ac): Invoke
5980         gl_LIBTEXTSTYLE_OPTIONAL.
5982 2020-08-01  Bruno Haible  <bruno@clisp.org>
5984         parse-datetime: Fix wrong #line statements.
5985         * modules/parse-datetime (Makefile.am): Correct #line statements also in
5986         parse-datetime-gen.h.
5988 2020-08-01  Bruno Haible  <bruno@clisp.org>
5990         libtextstyle[-optional]: Allow requesting a minimum version.
5991         * m4/libtextstyle.m4 (gl_LIBTEXTSTYLE): Allow an optional argument.
5992         (gl_LIBTEXTSTYLE_NEWEST_VERSION, gl_LIBTEXTSTYLE_INITIALIZE,
5993         gl_LIBTEXTSTYLE_SEARCH): New macros.
5994         * modules/libtextstyle (configure.ac): Don't invoke gl_LIBTEXTSTYLE.
5995         * m4/libtextstyle-optional.m4 (gl_LIBTEXTSTYLE_OPTIONAL): Allow an
5996         optional argument. Invoke, not require, gl_LIBTEXTSTYLE.
5997         * modules/libtextstyle-optional (configure.ac): Don't invoke
5998         gl_LIBTEXTSTYLE_OPTIONAL.
5999         * NEWS: Mention the changes.
6001 2020-07-31  Bruno Haible  <bruno@clisp.org>
6003         _GL_CMP: Improve documentation.
6004         Reported by Paul Eggert in
6005         <https://lists.gnu.org/archive/html/bug-gnulib/2020-07/msg00188.html>.
6006         * m4/gnulib-common.m4 (gl_COMMON_BODY): Clarify what arguments can be
6007         passed.
6009 2020-07-30  Paul Eggert  <eggert@cs.ucla.edu>
6011         largefile: sync with Autoconf master
6012         * m4/largefile.m4 (_AC_SYS_LARGEFILE_TEST_INCLUDES):
6013         Avoid undefined behavior on platforms where off_t is 32 bits.
6014         See: https://bugs.debian.org/742780
6016         alloca: sync with Autoconf master
6017         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA):
6018         Do not define if Autoconf 2.70 or later, since Autoconf master
6019         now matches us.
6021 2020-07-30  Bruno Haible  <bruno@clisp.org>
6023         unicodeio: Add comment.
6024         * lib/unicodeio.c (unicode_to_mb): Clarify why the code distinguishes
6025         different iconv behaviours.
6027 2020-07-30  Paul Eggert  <eggert@cs.ucla.edu>
6029         Work around some Oracle Studio attribute bugs
6030         These were discovered when building bleeding-edge Emacs with
6031         Oracle Studio.
6032         * m4/gnulib-common.m4 (_GL_ATTRIBUTE_COLD, _GL_ATTRIBUTE_MAY_ALIAS):
6033         Port to Oracle Studio 12.6, which mishandles __attribute__
6034         ((__cold__)) and __attribute__ ((__may_alias__)) even though
6035         __has_attribute says they work.
6037 2020-07-29  Bruno Haible  <bruno@clisp.org>
6039         unicodeio: Fix wrong result on musl libc.
6040         Reported by A. Wilcox <awilfox@adelielinux.org> in
6041         <https://www.openwall.com/lists/musl/2020/07/29/2>.
6042         * lib/unicodeio.c (unicode_to_mb): Handle asterisk fallback characters
6043         on musl libc.
6044         * m4/unicodeio.m4 (gl_UNICODEIO): Invoke gl_MUSL_LIBC.
6045         * modules/unicodeio (Files): Add m4/musl.m4.
6047 2020-07-29  Paul Eggert  <eggert@cs.ucla.edu>
6049         fsusage, regex, stat-size: remove Cray support
6050         As near as I can make out this is actually support for UNICOS/mp,
6051         last released 2005, and Cray hasn’t supported that for years.
6052         * config/srclist.txt: Comment out regex.h for now.
6053         * lib/fsusage.c (get_fs_usage):
6054         * lib/regex.h (re_comp, re_exec):
6055         * lib/stat-size.h (ST_NBLOCKSIZE):
6056         Don’t worry about _CRAY.
6058 2020-07-29  Bruno Haible  <bruno@clisp.org>
6060         parse-datetime: Fix compilation error with bison 3.7.
6061         * modules/parse-datetime (Makefile.am): Create a generated header file
6062         parse-datetime-gen.h in the source directory. Correct #include and
6063         #line statements during preprocessing.
6065 2020-07-28  Bruno Haible  <bruno@clisp.org>
6067         fopen-gnu: Create files correctly (regression from 2020-05-24).
6068         * lib/fopen.c (rpl_open): Pass a third argument to open().
6070 2020-07-27  Paul Eggert  <eggert@cs.ucla.edu>
6072         xalloc-die: don’t depend on xalloc
6073         This removes a circular dependency, as xalloc depends on xalloc-die.
6074         * modules/xalloc-die (Files): Add lib/xalloc.h.
6075         (Depends-on): Remove xalloc.
6076         Add extern-inline, stdint, xalloc-oversized (this is for xalloc.h).
6078         dfa-tests: port to MSVC
6079         Problem reported by Gisle Vanem in:
6080         https://lists.gnu.org/r/bug-gnulib/2020-07/msg00159.html
6081         Also, remove an unnecessary dependency on getprogname.
6082         * modules/dfa-tests (Depends-on): Remove getprogname.
6083         * tests/test-dfa-match-aux.c: Do not include getprogname.h.
6084         (exit_status): New static var.
6085         (dfawarn): Set it instead of exiting.
6086         Do not declare as _Noreturn, to pacify MSVC.
6087         (main): Return exit_status.
6089 2020-07-26  Paul Eggert  <eggert@cs.ucla.edu>
6091         argz: pacify MSVC
6092         * lib/argz.in.h: Avoid "*/*" to pacify MSVC.
6093         Problem reported by Gisle Vanem.
6095         libgmp: remove dependency on havelib
6096         * m4/libgmp.m4 (gl_LIBGMP): If gl_HAVE_MODULE_HAVELIB is not defined,
6097         use the more-traditional AC_SEARCH_LIBS approach.
6098         This should work better with GNU Emacs configuration,
6099         which uses pkg-config instead of a havelib-style approach.
6100         * modules/havelib (gl_HAVE_MODULE_HAVELIB): New witness macro.
6101         * modules/libgmp (Depends-on): Remove havelib.
6103         libgmp: remove HAVE_GMP, LIB_GMP
6104         * m4/libgmp.m4 (gl_LIBGMP): Do not define HAVE_GMP and LIB_GMP, as
6105         they’re redundant.  I’ll adjust GNU Coreutils accordingly.
6107 2020-07-26  Bruno Haible  <bruno@clisp.org>
6109         inttypes: Remove support for AIX 4.
6110         * lib/inttypes.in.h: Assume that PRI_MACROS_BROKEN is 0.
6111         * m4/inttypes-pri.m4: Remove file.
6112         * m4/inttypes.m4 (gl_INTTYPES_PRI_SCN): Don't require gt_INTTYPES_PRI.
6113         (gl_INTTYPES_H_DEFAULTS): Don't initialize PRI_MACROS_BROKEN.
6114         * modules/inttypes-incomplete (Makefile.am): Don't substitute
6115         PRI_MACROS_BROKEN.
6116         * modules/inttypes (Files): Remove m4/inttypes-pri.m4.
6118 2020-07-26  Bruno Haible  <bruno@clisp.org>
6120         gettimeofday: Remove workaround for Mac OS X 10.0.
6121         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Remove macro.
6122         (gl_FUNC_GETTIMEOFDAY): Don't invoke it.
6123         * lib/gettimeofday.c: Don't include localtime-buffer.h.
6124         (gettimeofday): Don't test GETTIMEOFDAY_CLOBBERS_LOCALTIME.
6125         * lib/localtime.c: Don't test GETTIMEOFDAY_CLOBBERS_LOCALTIME.
6126         * modules/gettimeofday (Depends-on): Remove localtime-buffer.
6127         * modules/localtime-buffer: Remove file.
6128         * lib/localtime-buffer.h: Remove file.
6129         * lib/localtime-buffer.c: Remove file.
6130         * m4/localtime-buffer.m4: Remove file.
6131         * MODULES.html.sh (Date and time <time.h>): Remove localtime-buffer.
6133 2020-07-26  Bruno Haible  <bruno@clisp.org>
6135         tzset: Remove workaround for Solaris 2.6.
6136         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Remove macro.
6137         (gl_FUNC_TZSET): Don't invoke it. Don't define TZSET_CLOBBERS_LOCALTIME.
6138         Don't require gl_LOCALTIME_BUFFER_DEFAULTS.
6139         * lib/localtime-buffer.h: Don't test TZSET_CLOBBERS_LOCALTIME.
6140         * lib/localtime-buffer.c: Likewise.
6141         * lib/localtime.c: Likewise.
6142         * lib/tzset.c: Don't include localtime-buffer.h.
6143         (tzset): Don't test TZSET_CLOBBERS_LOCALTIME.
6144         * lib/nstrftime.c (__strftime_internal): Assume HAVE_RUN_TZSET_TEST
6145         is 1.
6146         * modules/tzset (Depends-on): Remove localtime-buffer.
6148 2020-07-26  Bruno Haible  <bruno@clisp.org>
6150         expl: Simplify autoconf test.
6151         * m4/expl.m4 (gl_FUNC_EXPL): Merge the "checking whether expl() breaks
6152         with small values..." test into the "checking whether expl works..."
6153         test.
6155 2020-07-26  Bruno Haible  <bruno@clisp.org>
6157         alloca: Remove Cray-2 and Cray Y-MP support.
6158         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA): Don't define CRAY_STACKSEG_END.
6159         Enable also on Autoconf >= 2.69.
6160         * lib/alloca.c (ADDRESS_FUNCTION, struct stack_control_header,
6161         struct stack_segment_linkage, struct stk_stat, struct stk_trailer,
6162         i00afunc): Remove.
6164 2020-07-25  Bruno Haible  <bruno@clisp.org>
6166         multiarch: Prepare for x86_64+arm64 universal binaries in macOS 11.
6167         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the ARM architectures.
6169 2020-07-25  Bruno Haible  <bruno@clisp.org>
6171         sigprocmask: Small autoconf macro improvement.
6172         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Make it possible for the
6173         user to override the value of gl_cv_func_sigprocmask.
6174         * m4/gnulib-common.m4 (gl_SILENT): New macro.
6176 2020-07-25  Bruno Haible  <bruno@clisp.org>
6178         Small autoconf macro improvements.
6179         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): Make it possible for the user to
6180         override the value of gl_cv_func_working_mktime.
6181         * m4/multiarch.m4 (gl_MULTIARCH): Show a line "checking whether the
6182         compiler produces multi-arch binaries..." in the configure output.
6183         * m4/size_max.m4 (gl_SIZE_MAX): When not found, say "no".
6184         * m4/parse-datetime.m4 (gl_C_COMPOUND_LITERALS): Improve indentation.
6186 2020-07-25  Bruno Haible  <bruno@clisp.org>
6188         doc: Update for NetBSD 7.1, 8.0, 9.0.
6189         * doc/*/*.texi: Update.
6190         * m4/exp2l.m4: Update comments.
6191         * m4/expl.m4: Likewise.
6192         * m4/ilogb.m4: Likewise.
6193         * m4/ilogbf.m4: Likewise.
6194         * m4/log10l.m4: Likewise.
6195         * m4/logl.m4: Likewise.
6196         * m4/printf.m4: Likewise.
6197         * m4/rintl.m4: Likewise.
6198         * m4/wcwidth.m4: Likewise.
6200 2020-07-24  Bruno Haible  <bruno@clisp.org>
6202         doc: Update for Mac OS X 10.13.
6203         * doc/*/*.texi: Update.
6204         * m4/expm1l.m4: Update comments.
6205         * m4/getgroups.m4: Likewise.
6206         * m4/getlogin_r.m4: Likewise.
6207         * m4/linkat.m4: Likewise.
6208         * m4/printf.m4: Likewise.
6210 2020-07-24  Bruno Haible  <bruno@clisp.org>
6212         doc: Update for Cygwin 2.9.0.
6213         * doc/*/*.texi: Update.
6215 2020-07-24  Paul Eggert  <eggert@cs.ucla.edu>
6217         parse-datetime: modernize doc
6218         * doc/parse-datetime.texi: Use more-current examples.
6219         Don’t lead with 32-bit time_t, as it’s on its way out.
6220         Capitalize “Epoch” to be consistent with POSIX.
6222         timespec: remove dependence on ‘verify’
6223         * lib/timespec.h: Do not include verify.h; no longer needed.
6224         * modules/timespec (Depends-on): Remove ‘verify’.
6226         Optimize a few more three-valued comparisons
6227         * lib/timespec.h (timespec_cmp, timespec_sign):
6228         * lib/utimecmp.c (utimecmpat):
6229         Avoid conditional branches by using _GL_CMP.
6231         Fix _GL_CMP parenthesization typo
6232         * m4/gnulib-common.m4 (_GL_CMP): Properly parenthesize.
6234 2020-07-24  Bruno Haible  <bruno@clisp.org>
6236         dfa: Revert breaking gawk.
6237         Reported by Arnold Robbins <arnold@skeeve.com>.
6238         * lib/dfa.c (compare): Don't reference the _GL_CMP macro.
6240 2020-07-23  Bruno Haible  <bruno@clisp.org>
6242         Optimize three-valued comparison between integers.
6243         (a > b ? 1 : a < b ? -1 : 0) is the same as (a > b) - (a < b).
6244         * m4/gnulib-common.m4 (gl_COMMON): Define _GL_CMP.
6245         * lib/c-strcasecmp.c (c_strcasecmp): Use _GL_CMP.
6246         * lib/c-strncasecmp.c (c_strncasecmp): Likewise.
6247         * lib/dfa.c (compare): Likewise.
6248         * lib/fts.c (fts_compare_ino): Likewise.
6249         * lib/mbmemcasecmp.c (mbmemcasecmp): Likewise.
6250         * lib/mbscasecmp.c (mbscasecmp): Likewise.
6251         * lib/mbsncasecmp.c (mbsncasecmp): Likewise.
6252         * lib/memcasecmp.c (memcasecmp): Likewise.
6253         * lib/memcmp2.c (memcmp2): Likewise.
6254         * lib/savedir.c (direntry_cmp_inode): Likewise.
6255         * lib/strcasecmp.c (strcasecmp): Likewise.
6256         * lib/strncasecmp.c (strncasecmp): Likewise.
6257         * lib/unistr/u-cmp2.h (FUNC): Likewise.
6259 2020-07-23  Bruno Haible  <bruno@clisp.org>
6261         lchmod: Use /proc on Cygwin.
6262         * lib/lchmod.c (lchmod): Use /proc on Cygwin.
6264 2020-07-23  Ken Brown  <kbrown@cornell.edu>
6266         fchmodat: Use /proc on Cygwin
6267         * lib/fchmodat.c (fchmodat): Use /proc on Cygwin.
6269 2020-07-21  Bruno Haible  <bruno@clisp.org>
6271         aligned-malloc: Optionally use aligned_alloc.
6272         * lib/aligned-malloc.h: Verify the alignment.
6273         (aligned_malloc): Use aligned_alloc as an alternative.
6274         * modules/aligned-malloc (configure.ac): Test for aligned_alloc.
6275         * doc/posix-functions/aligned_alloc.texi: Mention the modules
6276         'aligned-malloc' and 'pagealign_alloc'.
6278 2020-07-21  Bruno Haible  <bruno@clisp.org>
6280         aligned-malloc: Add tests.
6281         * tests/test-aligned-malloc.c: New file.
6282         * modules/aligned-malloc-tests: New file.
6284         aligned-malloc: New module.
6285         * lib/aligned-malloc.h: New file.
6286         * m4/malloc-align.m4: New file.
6287         * modules/aligned-malloc: New file.
6288         * doc/posix-functions/posix_memalign.texi: Mention the new module.
6289         * doc/glibc-functions/memalign.texi: Likewise.
6291 2020-07-21  Bruno Haible  <bruno@clisp.org>
6293         inttypes: Fix PRI*PTR and SCN*PTR on 64-bit native Windows.
6294         * m4/inttypes.m4 (gl_INTTYPES_PRI_SCN): On 64-bit native Windows, make
6295         sure PRIPTR_PREFIX is defined to "ll", not "l".
6297 2020-07-21  Bruno Haible  <bruno@clisp.org>
6299         printf-posix: Make an autoconf test more future-proof.
6300         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): Include <inttypes.h> before
6301         using uintptr_t.
6303 2020-07-20  Bruno Haible  <bruno@clisp.org>
6305         list, oset, omap: Relicense some of the container modules under LGPLv2+.
6306         * modules/list (License): Change to LGPLv2+.
6307         * modules/array-list (License): Likewise.
6308         * modules/carray-list (License): Likewise.
6309         * modules/linked-list (License): Likewise.
6310         * modules/avltree-list (License): Likewise.
6311         * modules/rbtree-list (License): Likewise.
6312         * modules/oset (License): Likewise.
6313         * modules/array-oset (License): Likewise.
6314         * modules/avltree-oset (License): Likewise.
6315         * modules/rbtree-oset (License): Likewise.
6316         * modules/omap (License): Likewise.
6317         * modules/array-omap (License): Likewise.
6318         * modules/avltree-omap (License): Likewise.
6319         * modules/rbtree-omap (License): Likewise.
6321 2020-07-20  Bruno Haible  <bruno@clisp.org>
6323         oset: Add an 'update' operation.
6324         * lib/gl_array_oset.c (gl_array_update): New function.
6325         (gl_array_oset_implementation): Use it.
6326         * lib/gl_avltree_omap.c (NODE_PAYLOAD_DISPOSE): Add parameters.
6327         * lib/gl_rbtree_omap.c (NODE_PAYLOAD_DISPOSE): Add parameters.
6328         * lib/gl_avltree_ordered.h (gl_tree_add_node_before): New function,
6329         extracted from gl_tree_nx_add_before.
6330         (gl_tree_nx_add_before): Invoke it.
6331         (gl_tree_add_node_after): New function, extracted from
6332         gl_tree_nx_add_after.
6333         (gl_tree_nx_add_after): Invoke it.
6334         (gl_tree_remove_node_no_free): New function, extracted from
6335         gl_tree_remove_node.
6336         (gl_tree_remove_node): Invoke it.
6337         * lib/gl_rbtree_ordered.h (gl_tree_add_node_before): New function,
6338         extracted from gl_tree_nx_add_before.
6339         (gl_tree_nx_add_before): Invoke it.
6340         (gl_tree_add_node_after): New function, extracted from
6341         gl_tree_nx_add_after.
6342         (gl_tree_nx_add_after): Invoke it.
6343         (gl_tree_remove_node_no_free): New function, extracted from
6344         gl_tree_remove_node.
6345         (gl_tree_remove_node): Invoke it.
6346         * lib/gl_anytree_oset.h (gl_tree_next_node): New function, extracted
6347         from gl_tree_iterator_next.
6348         (gl_tree_iterator_next): Invoke it.
6349         (gl_tree_prev_node, gl_tree_update): New functions.
6350         * lib/gl_avltree_oset.c (NODE_PAYLOAD_DISPOSE): Add parameters.
6351         (gl_avltree_oset_implementation): Use gl_tree_update.
6352         * lib/gl_rbtree_oset.c (NODE_PAYLOAD_DISPOSE): Add parameters.
6353         (gl_rbtree_oset_implementation): Use gl_tree_update.
6354         * lib/gl_oset.h (struct gl_oset_implementation): Add 'update' member.
6355         (gl_oset_update): New function.
6356         * lib/gl_oset.hh (gl_OSet): Add 'update' member.
6357         * modules/avltree-oset (configure.ac): Require AC_C_INLINE.
6358         * modules/rbtree-oset (configure.ac): Likewise.
6359         * tests/test-oset-update.h: New file.
6360         * tests/test-array_oset.c: Include test-oset-update.h.
6361         (main): Invoke test_update.
6362         * tests/test-avltree_oset.c: Likewise.
6363         * tests/test-rbtree_oset.c: Likewise.
6364         * modules/array-oset-tests (Files): Add tests/test-oset-update.h.
6365         * modules/avltree-oset-tests (Files): Likewise.
6366         * modules/rbtree-oset-tests (Files): Likewise.
6367         * tests/test-oset-c++.cc (action): New function.
6368         (main): Test the 'update' member function.
6370 2020-07-15  Paul Eggert  <eggert@cs.ucla.edu>
6372         md5, sha1, sha256, sha512: pacify Autoconf 2.70
6373         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK): Use m4_if rather than a
6374         shell if, so that the argument to AC_CHECK_HEADERS is
6375         a simple string that does not require shell evaluation.
6376         This fixes a warning generated by Autoconf 2.69b.
6378 2020-07-12  Bruno Haible  <bruno@clisp.org>
6380         libgmp: Avoid warning when --without-libgmp is used.
6381         * lib/mini-gmp-gnulib.c: Ignore -Wsuggest-attribute=malloc only for
6382         GCC >= 8, not for GCC >= 4.6.
6384 2020-07-12  Bruno Haible  <bruno@clisp.org>
6386         libgmp: Link to the correct shared library.
6387         * m4/libgmp.m4 (gl_LIBGMP): Invoke AC_LIB_HAVE_LINKFLAGS.
6388         * modules/libgmp (Depends-on): Add havelib.
6389         (Link): Mention $(LIBGMP) and $(LTLIBGMP).
6390         * modules/libgmp-tests (Makefile.am): Link test-libgmp with $(LIBGMP).
6392 2020-07-12  Bruno Haible  <bruno@clisp.org>
6394         libgmp tests: Add some safety checks.
6395         * modules/libgmp-tests (Depends-on): Add verify.
6396         * tests/test-libgmp.c: Verify GMP_NUMB_BITS value.
6397         (main): Verify that gmp.h and libgmp versions match.
6399 2020-07-10  Bruno Haible  <bruno@clisp.org>
6401         unicodeio: Fix wrong result on NetBSD.
6402         * lib/unicodeio.c (unicode_to_mb): Handle question mark fallback
6403         characters also on NetBSD.
6405 2020-07-09  Bruno Haible  <bruno@clisp.org>
6407         unicodeio: Fix wrong result on Solaris 11.
6408         Reported by Kiyoshi Kanazawa <yoi_no_myoujou@yahoo.co.jp>
6409         via Akim Demaille <akim.demaille@gmail.com> in
6410         <https://lists.gnu.org/archive/html/bug-gnulib/2020-07/msg00036.html>.
6411         * lib/unicodeio.c (unicode_to_mb): Handle question mark fallback
6412         characters on Solaris.
6413         * tests/test-unicodeio.c (main): In the "C" locale, expect either the
6414         UTF-8 output or the specified fallback.
6416 2020-07-08  Bruno Haible  <bruno@clisp.org>
6418         unicodeio: Add tests.
6419         * tests/test-unicodeio.c: New file.
6420         * tests/test-unicodeio1.sh: New file.
6421         * tests/test-unicodeio2.sh: New file.
6422         * tests/test-unicodeio3.sh: New file.
6423         * modules/unicodeio-tests: New file.
6425 2020-07-08  Bruno Haible  <bruno@clisp.org>
6427         unicodeio: Document link requirements.
6428         * modules/unicodeio (Link): New section.
6430 2020-07-07  Bruno Haible  <bruno@clisp.org>
6432         doc: Remove support for some very old platforms.
6433         * doc/posix-functions/memcmp.texi: Don't mention "older platforms".
6434         * doc/posix-functions/memcpy.texi: Likewise.
6435         * doc/posix-functions/memmove.texi: Likewise.
6436         * doc/posix-functions/memset.texi: Likewise.
6437         * doc/posix-functions/getcwd.texi: Likewise.
6439         memchr: Remove support for some very old platforms.
6440         * m4/memchr-obsolete.m4: Remove file.
6441         * modules/memchr-obsolete: Remove file.
6442         * m4/memchr.m4 (gl_FUNC_MEMCHR): Assume module 'memchr-obsolete' is
6443         absent. Don't define HAVE_MEMCHR.
6444         * lib/string.in.h (memchr): Assume HAVE_MEMCHR is 1.
6445         * modules/memchr (Depends-on): Remove memchr-obsolete.
6446         (configure.ac): Assume HAVE_MEMCHR is 1.
6447         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
6448         HAVE_MEMCHR.
6449         * modules/string (Makefile.am): Don't substitute HAVE_MEMCHR.
6450         * doc/posix-functions/memchr.texi: Don't mention module
6451         'memchr-obsolete'.
6452         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Assume HAVE_MEMCHR is 1.
6453         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Assume HAVE_MEMCHR is 1.
6454         * modules/strnlen (Depends-on): Remove memchr-obsolete.
6456         dup2: Remove support for some very old platforms.
6457         * m4/dup2-obsolete.m4: Remove file.
6458         * modules/dup2-obsolete: Remove file.
6459         * m4/dup2.m4 (gl_FUNC_DUP2): Assume module 'dup2-obsolete' is absent.
6460         Don't define HAVE_DUP2.
6461         * lib/unistd.in.h (dup2): Assume HAVE_DUP2 is 1.
6462         * lib/dup2.c: Likewise.
6463         * modules/dup2 (Depends-on, configure.ac): Likewise.
6464         (Depends-on): Remove dup2-obsolete.
6465         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize HAVE_DUP2.
6466         * modules/unistd (Makefile.am): Don't substitute HAVE_DUP2.
6467         * doc/posix-functions/dup2.texi: Don't mention module 'dup2-obsolete'.
6469 2020-07-07  Bruno Haible  <bruno@clisp.org>
6471         canonicalize: Trim module dependencies.
6472         * lib/hash-triple.h: Group declarations.
6473         * lib/hash-triple-simple.c: New file, extracted from lib/hash-triple.c.
6474         * lib/hash-triple.c: Don't include <stdlib.h>, <string.h>, hash-pjw.h.
6475         (STREQ): Remove macro.
6476         (triple_hash, triple_compare_ino_str, triple_free): Remove functions.
6477         * modules/hash-triple-simple: New file, based on modules/hash-triple.
6478         * modules/hash-triple (Files): Remove lib/hash-triple.h.
6479         (Depends-on): Add hash-triple-simple. Remove hash-pjw.
6480         * modules/canonicalize (Depends-on): Remove hash-triple. Add
6481         hash-triple-simple.
6482         * modules/file-set (Depends-on): Likewise.
6484 2020-07-07  Bruno Haible  <bruno@clisp.org>
6486         Clarify dependencies to double-slash-root.
6487         * modules/canonicalize (Files): Remove m4/double-slash-root.m4.
6488         (Depends-on): Add double-slash-root.
6489         * modules/canonicalize-lgpl (Depends-on): Add double-slash-root.
6490         * modules/dirname-lgpl (Depends-on): Add double-slash-root.
6492 2020-07-06  Paul Eggert  <eggert@cs.ucla.edu>
6494         libgmp: new module
6495         The idea is to let programs simply include <gmp.h>, and
6496         so long as they live within the mini-gmp subset they need
6497         not worry about whether the GMP libraries are installed.
6498         * MODULES.html.sh: Mention it.
6499         * config/srclist.txt: Mention files copied from GMP source.
6500         * config/srclistvars.sh (GMP): New var.
6501         * lib/mini-gmp-gnulib.c, m4/libgmp.m4, modules/libgmp:
6502         * modules/libgmp-tests, tests/test-libgmp.c: New files.
6503         * lib/mini-gmp.c, lib/mini-gmp.h: New files, copied from GMP.
6505 2020-07-05  Bruno Haible  <bruno@clisp.org>
6507         mkancesdirs: Trim module dependencies.
6508         * lib/mkancesdirs.c: Include filename.h instead of dirname.h.
6509         * modules/mkancesdirs (Depends-on): Remove dirname-lgpl. Add filename.
6511 2020-07-05  Bruno Haible  <bruno@clisp.org>
6513         getprogname: Trim module dependencies.
6514         * lib/getprogname.c: Include basename-lgpl.h instead of dirname.h.
6515         * modules/getprogname (Depends-on): Remove dirname-lgpl. Add
6516         basename-lgpl.
6518 2020-07-05  Bruno Haible  <bruno@clisp.org>
6520         filenamecat-lgpl: Trim module dependencies.
6521         * lib/filenamecat-lgpl.c: Include basename-lgpl.h, filename.h instead of
6522         dirname.h.
6523         * modules/filenamecat-lgpl (Depends-on): Remove dirname-lgpl. Add
6524         basename-lgpl, filename.
6526 2020-07-05  Bruno Haible  <bruno@clisp.org>
6528         backupfile, backup-rename: Trim module dependencies.
6529         * lib/backupfile.c: Include basename-lgpl.h instead of dirname.h.
6530         * modules/backupfile (Depends-on): Remove dirname-lgpl. Add
6531         basename-lgpl.
6532         * modules/backup-rename (Depends-on): Likewise.
6534 2020-07-05  Bruno Haible  <bruno@clisp.org>
6536         argp: Trim module dependencies.
6537         * lib/argp-namefrob.h: Include basename-lgpl.h instead of dirname.h.
6538         * modules/argp (Depends-on): Remove dirname-lgpl. Add basename-lgpl.
6540 2020-07-05  Bruno Haible  <bruno@clisp.org>
6542         basename-lgpl: New module.
6543         * lib/basename-lgpl.h: New file, based on lib/dirname.h and
6544         lib/basename-lgpl.c.
6545         * lib/basename-lgpl.c: Include basename-lgpl.h, not dirname.h. Include
6546         <stdbool.h>, filename.h.
6547         (last_component): Rename a local variable.
6548         * lib/dirname.h: Include basename-lgpl.h.
6549         (DOUBLE_SLASH_IS_DISTINCT_ROOT): Remove macro.
6550         (last_component, base_len): Remove declarations.
6551         * modules/basename-lgpl: New file.
6552         * modules/dirname-lgpl (Files): Remove lib/basename-lgpl.c.
6553         (Depends-on): Add basename-lgpl. Remove double-slash-root.
6554         (Makefile.am): Don't compile basename-lgpl.c.
6555         * doc/posix-functions/basename.texi: Mention the module 'basename-lgpl',
6556         not 'dirname'.
6558 2020-07-05  Bruno Haible  <bruno@clisp.org>
6560         dirname, dirname-lgpl: Simplify.
6561         * m4/dirname.m4: Remove file.
6562         * modules/dirname (configure.ac): Don't invoke gl_DIRNAME.
6563         * modules/dirname-lgpl (Files): Remove m4/dirname.m4.
6564         (configure.ac): Don't invoke gl_DIRNAME_LGPL.
6566 2020-07-05  Bernhard Voelker  <mail@bernhard-voelker.de>
6568         tests: avoid shadowing warning
6569         * tests/test-memchr.c (main): Give page_boundary variable a tight scope.
6571 2020-07-05  Bruno Haible  <bruno@clisp.org>
6573         supersede: Add tests.
6574         * tests/test-supersede.c: New file.
6575         * tests/test-supersede-open.h: New file.
6576         * tests/test-supersede-fopen.h: New file.
6577         * modules/supersede-tests: New file.
6579         supersede: New module.
6580         * lib/supersede.h: New file.
6581         * lib/supersede.c: New file.
6582         * m4/supersede.m4: New file.
6583         * modules/supersede: New file.
6585 2020-07-05  Bruno Haible  <bruno@clisp.org>
6587         Add some copyright headers.
6588         * lib/dev-ino.h: Add copyright header.
6589         * lib/di-set.h: Likewise.
6590         * lib/fchown-stub.c: Likewise.
6591         * lib/file-set.h: Likewise.
6592         * lib/hash-triple.h: Likewise.
6593         * lib/idcache.h: Likewise.
6594         * lib/ino-map.h: Likewise.
6595         * lib/mkancesdirs.h: Likewise.
6596         * lib/scratch_buffer.h: Likewise.
6597         * lib/se-context.in.h: Likewise.
6598         * lib/stdopen.h: Likewise.
6599         * lib/userspec.h: Likewise.
6601 2020-07-04  Bruno Haible  <bruno@clisp.org>
6603         getrandom: Relicense under LGPLv2+.
6604         Paul Eggert's approval is in
6605         <https://lists.gnu.org/archive/html/bug-gnulib/2020-07/msg00023.html>.
6606         * modules/getrandom (License): Change to LGPLv2+.
6608 2020-07-04  Bruno Haible  <bruno@clisp.org>
6610         getumask: Add tests.
6611         * tests/test-getumask.c: New file.
6612         * modules/getumask-tests: New file.
6614         getumask: New module.
6615         * lib/sys_stat.in.h (getumask): New declaration.
6616         * lib/getumask.c: New file.
6617         * m4/getumask.m4: New file.
6618         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether getumask is
6619         declared.
6620         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_GETUMASK, HAVE_GETUMASK.
6621         * modules/sys_stat (Makefile.am): Substitute GNULIB_GETUMASK,
6622         HAVE_GETUMASK.
6623         * modules/getumask: New file.
6624         * tests/test-sys_stat-c++.cc (getumask): Check signature.
6625         * doc/glibc-functions/getumask.texi: New file.
6626         * doc/gnulib.texi (Glibc sys/stat.h): Include it.
6628 2020-07-04  Bruno Haible  <bruno@clisp.org>
6630         clean-temp: Add support for temporary files with given mode.
6631         * lib/clean-temp.h (gen_register_open_temp): Add mode argument.
6632         * lib/clean-temp.c (struct try_create_file_params): New type.
6633         (try_create_file): New function.
6634         (gen_register_open_temp): Add mode argument. Use try_tempname instead of
6635         gen_tempname.
6637 2020-07-04  Bruno Haible  <bruno@clisp.org>
6639         clean-temp: Document limitations.
6640         * lib/clean-temp.h: Document limitations.
6642 2020-07-04  Bruno Haible  <bruno@clisp.org>
6644         clean-temp: Add support for temporary files with unpredictable names.
6645         * lib/clean-temp.h (gen_register_open_temp): New declaration.
6646         * lib/clean-temp.c: Include tempname.h.
6647         (gen_register_open_temp): New function.
6648         * modules/tempname (configure.ac): Define a module indicator.
6650 2020-07-04  Bruno Haible  <bruno@clisp.org>
6652         clean-temp: Add support for temporary files anywhere in the file system.
6653         * lib/clean-temp.h (register_temporary_file, unregister_temporary_file,
6654         cleanup_temporary_file): New declarations.
6655         * lib/clean-temp.c (file_cleanup_list_lock, file_cleanup_list): New
6656         variables.
6657         (dir_cleanup_list_lock): Renamed from cleanup_list_lock.
6658         (dir_cleanup_list): Renamed from cleanup_list.
6659         (cleanup_action): Process the file_cleanup_list as well.
6660         (do_init_clean_temp): New function.
6661         (clean_temp_once): New variable.
6662         (init_clean_temp): New function.
6663         (create_temp_dir): Invoke it.
6664         (register_temporary_file, unregister_temporary_file,
6665         cleanup_temporary_file): New functions.
6666         (do_unlink, do_rmdir): Remove 'dir' argument. Add 'cleanup_verbose'
6667         argument.
6669 2020-07-04  Bruno Haible  <bruno@clisp.org>
6671         clean-temp: Improve comments.
6672         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
6673         fwriteerror_temp, close_stream_temp): Clarify intended use.
6674         * lib/clean-temp.c: Likewise.
6676 2020-07-04  Bruno Haible  <bruno@clisp.org>
6678         clean-temp: Make multithread-safe, part 2.
6679         * lib/fatal-signal.h: Include <signal.h>.
6680         (get_fatal_signal_set): New declaration.
6681         * lib/fatal-signal.c (get_fatal_signal_set): New function.
6682         * lib/clean-temp.c: Include asyncsafe-spin.h, gl_linked_list.h.
6683         (struct closeable_fd): New type.
6684         (fatal_signal_set): New variable.
6685         (init_fatal_signal_set): New function.
6686         (asyncsafe_close, asyncsafe_fclose_variant): New functions.
6687         (cleanup_action): Invoke asyncsafe_close instead of close.
6688         (create_temp_dir): Invoke init_fatal_signal_set.
6689         (register_fd): Use a plain linked list. Add a 'struct closeable_fd *'
6690         element.
6691         (unregister_fd): Remove function.
6692         (close_temp): Cleanup descriptors list on the fly. Invoke
6693         init_fatal_signal_set. Invoke asyncsafe_close instead of close.
6694         (fclose_variant_temp): New function.
6695         (fclose_temp, fwriteerror_temp, close_stream_temp): Use it.
6696         * modules/clean-temp (Depends-on): Add asyncsafe-spin, linked-list.
6698 2020-07-04  Bruno Haible  <bruno@clisp.org>
6700         clean-temp: Make multithread-safe, part 1.
6701         * lib/clean-temp.c: Include glthread/lock.h.
6702         (cleanup_list_lock): New variable.
6703         (register_temp_file, unregister_temp_file, register_temp_subdir,
6704         unregister_temp_subdir, cleanup_temp_dir_contents): Use it.
6705         (create_temp_dir): Likewise. Don't free the old array.
6706         (descriptors_lock): New variable.
6707         (register_fd, unregister_fd): Use it.
6708         * modules/clean-temp (Depends-on): Add lock.
6710 2020-07-04  Bruno Haible  <bruno@clisp.org>
6712         fatal-signal: Make multithread-safe.
6713         * lib/fatal-signal.c (init_fatal_signals): Add comment.
6714         (do_init_fatal_signal_set): New function, extracted from
6715         init_fatal_signal_set.
6716         (fatal_signal_set_once): New variable.
6717         (init_fatal_signal_set): Use gl_once.
6719 2020-07-03  Bruno Haible  <bruno@clisp.org>
6721         getrandom: Fix compilation error on native Windows (regr. 2020-06-28).
6722         * lib/getrandom.c: Don't include <ntdef.h>. Instead, define NTSTATUS.
6723         * m4/getrandom.m4 (gl_FUNC_GETRANDOM): Include <windows.h> before
6724         <bcrypt.h>.
6726 2020-07-03  Bruno Haible  <bruno@clisp.org>
6728         dfa tests: Follow common file naming conventions.
6729         * tests/test-dfa-match-aux.c: Renamed from tests/dfa-match-aux.c.
6730         * tests/test-dfa-match.sh: Renamed from tests/dfa-match.sh. Update.
6731         * tests/test-dfa-invalid-char-class.sh: Renamed from
6732         tests/dfa-invalid-char-class.sh. Update.
6733         * modules/dfa-tests (Files, Makefile.am): Update.
6735 2020-07-03  Bruno Haible  <bruno@clisp.org>
6737         asyncsafe-spin: Use GCC extended asm syntax for SunStudio 12 compiler.
6738         * lib/asyncsafe-spin.c (memory_barrier, atomic_compare_and_swap): Use
6739         the GCC extended asm syntax also for the Sun Studio 12 compilers.
6741 2020-07-03  Bruno Haible  <bruno@clisp.org>
6743         asyncsafe-spin: Reduce code duplication.
6744         * lib/asyncsafe-spin.c (do_lock, do_unlock): New functions.
6745         (asyncsafe_spin_lock, asyncsafe_spin_unlock): Use them.
6746         * modules/asyncsafe-spin (configure.ac): Require AC_C_INLINE.
6748 2020-07-03  Bruno Haible  <bruno@clisp.org>
6750         lchmod: Simplify after 2020-02-22 change.
6751         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Don't require AC_C_INLINE.
6753 2020-07-03  Bruno Haible  <bruno@clisp.org>
6755         gen-uni-tables: Make sure the compiler does not barf on 'inline'.
6756         * modules/gen-uni-tables (configure.ac): Require AC_C_INLINE.
6758 2020-07-03  Bruno Haible  <bruno@clisp.org>
6760         dfa: Make sure the compiler does not barf on 'inline'.
6761         * modules/dfa (configure.ac): Require AC_C_INLINE.
6763 2020-07-03  Bruno Haible  <bruno@clisp.org>
6765         bitset: Make sure the compiler does not barf on 'inline'.
6766         * modules/bitset (configure.ac): New section.
6768 2020-07-01  Paul Eggert  <eggert@cs.ucla.edu>
6770         manywarnings: improve port to GCC 10.1
6771         * build-aux/gcc-warning.spec: Also list warnings that are default
6772         or are enabled by already-given flags.  This lets us speed up
6773         checking for attributes, and makes the generated compilation
6774         commands shorter.  Add -Wanalyzer-too-complex (too much noise).
6775         * m4/manywarnings.m4 (gl_MANYWARN_COMPLEMENT)
6776         (gl_MANYWARN_ALL_GCC): Use gl_AS_VAR_APPEND to append
6777         to shell variables that may have long values.
6778         (gl_MANYWARN_ALL_GCC): Omit flags that are default or are
6779         consequences of other flags, to speed up checking and
6780         shorten commands.
6782         tests: pacify gcc -fanalyzer on zerosize_ptr
6783         * tests/test-memcasecmp.c (main):
6784         * tests/test-memchr.c (main):
6785         * tests/test-memchr2.c (main):
6786         * tests/test-memcmp.c (main):
6787         * tests/test-memmem.c (main):
6788         * tests/test-memrchr.c (main):
6789         * tests/unistr/test-chr.h (main):
6790         * tests/unistr/test-cmp.h (test_cmp):
6791         Check whether zerosize_ptr returns NULL before using it.
6792         This pacifies GCC 10.1’s new fanalyzer option, and matches
6793         other uses of zerosize_ptr.
6795 2020-07-01  Bruno Haible  <bruno@clisp.org>
6797         asyncsafe-spin: Add tests.
6798         * tests/test-asyncsafe-spin1.c: New file.
6799         * tests/test-asyncsafe-spin2.c: New file, based on tests/test-lock.c and
6800         tests/test-pthread-spin.c.
6801         * modules/asyncsafe-spin-tests: New file.
6803 2020-07-01  Bruno Haible  <bruno@clisp.org>
6805         asyncsafe-spin: New module.
6806         * lib/asyncsafe-spin.h: New file.
6807         * lib/asyncsafe-spin.c: New file, based on lib/pthread-spin.c.
6808         * modules/asyncsafe-spin: New file.
6810 2020-07-01  Bruno Haible  <bruno@clisp.org>
6812         windows-spin: Fix race condition on multiprocessor systems.
6813         * lib/windows-spin.c (glwthread_spin_init): Add a memory barrier.
6815 2020-07-01  Bruno Haible  <bruno@clisp.org>
6817         pthread-spin: Add optimized fallback for GCC versions >= 4.1, < 4.7.
6818         * lib/pthread-spin.c (pthread_spin_init, pthread_spin_lock,
6819         pthread_spin_trylock, pthread_spin_unlock): For GCC >= 4.1, < 4.7, use
6820         an implementation based on other GCC built-ins.
6822 2020-07-01  Bruno Haible  <bruno@clisp.org>
6824         pthread-spin: Optimize fallback for GCC versions >= 4.7.
6825         * lib/pthread-spin.c (pthread_spin_init, pthread_spin_lock,
6826         pthread_spin_trylock, pthread_spin_unlock): Use a lock word instead of a
6827         lock byte.
6829 2020-07-01  Bruno Haible  <bruno@clisp.org>
6831         pthread-spin: Add error checking.
6832         * lib/pthread-spin.c: Include <stdbool.h>.
6833         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock,
6834         pthread_spin_unlock) [GCC>=4.7]: Prefer an implementation that verifies
6835         the unlocks.
6836         * modules/pthread-spin (Depends-on): Add stdbool.
6838 2020-07-01  Bruno Haible  <bruno@clisp.org>
6840         pthread-spin: Add tests.
6841         * tests/test-pthread-spin.c: New file, based on tests/test-lock.c.
6842         * modules/pthread-spin-tests: New file.
6844 2020-07-01  Bruno Haible  <bruno@clisp.org>
6846         tests: Reduce code duplication.
6847         * tests/atomic-int-posix.h: New file, extracted from
6848         tests/test-pthread-mutex.c.
6849         * tests/test-pthread-mutex.c: Include it. Remove the corresponding code.
6850         * tests/test-pthread-rwlock.c: Likewise.
6851         * modules/pthread-mutex-tests (Files): Add tests/atomic-int-posix.h.
6852         * modules/pthread-rwlock-tests (Files): Likewise.
6854 2020-07-01  Bruno Haible  <bruno@clisp.org>
6856         tests: Refactor.
6857         * tests/atomic-int-isoc.h: New file, extracted from tests/test-mtx.c.
6858         * tests/test-mtx.c: Include it. Remove the corresponding code.
6859         * modules/mtx-tests (Files): Add tests/atomic-int-isoc.h.
6861 2020-07-01  Bruno Haible  <bruno@clisp.org>
6863         tests: Refactor.
6864         * tests/atomic-int-gnulib.h: New file, extracted from tests/test-lock.c.
6865         * tests/test-lock.c: Include it. Remove the corresponding code.
6866         * modules/lock-tests (Files): Add tests/atomic-int-gnulib.h.
6868 2020-06-29  Bruno Haible  <bruno@clisp.org>
6870         sys_socket: Don't define socklen_t if it is already defined on mingw.
6871         Reported by Keith Marshall <keith.d.marshall@ntlworld.com> in
6872         <https://savannah.gnu.org/bugs/?57725>,
6873         by Rahul Das <bokul_4u@yahoo.com> in
6874         <https://lists.gnu.org/archive/html/bug-gnulib/2020-04/msg00081.html>,
6875         and by Eli Zaretskii <eliz@gnu.org> in
6876         <https://lists.gnu.org/archive/html/bug-gnulib/2020-06/msg00068.html>.
6877         * lib/sys_socket.in.h (socklen_t): Remove definition.
6879 2020-06-29  Bruno Haible  <bruno@clisp.org>
6881         alloca-opt: Fix warning on mingw.
6882         Reported and solution by Eli Zaretskii <eliz@gnu.org> in
6883         <https://lists.gnu.org/archive/html/bug-gnulib/2020-06/msg00069.html>.
6884         * lib/alloca.in.h: On mingw, include <alloca.h> and then test again
6885         whether alloca is defined.
6887 2020-06-28  Paul Eggert  <eggert@cs.ucla.edu>
6889         getrandom: do not depend on ‘open’ on mingw
6890         Similarly for at-internal, getloadavg.  These modules do not call
6891         the ‘open’ function when they are compiled on mingw.  On mingw,
6892         this avoids having to compile open.c when building Emacs, which
6893         does its own thing with ‘open’.
6894         * modules/at-internal, modules/getloadavg, modules/getrandom:
6895         (Depends-on): Don’t depend on ‘open’ on mingw.
6896         (Depends-on): Require AC_CANONICAL_HOST, for host_os.
6897         * modules/getloadavg (Depends-on):
6898         Depend on intprops, open, stdbool, stdlib only if compiling
6899         getloadavg.c.
6901 2020-06-28  Bruno Haible  <bruno@clisp.org>
6903         doc: Add a note about sigprocmask vs. pthread_sigmask.
6904         * doc/posix-functions/sigprocmask.texi: Add note.
6906 2020-06-28  Bruno Haible  <bruno@clisp.org>
6908         getrandom: Fix compilation errors on older versions of mingw.
6909         Reported by Eli Zaretskii <eliz@gnu.org> in
6910         <https://lists.gnu.org/archive/html/bug-gnulib/2020-06/msg00059.html>.
6911         * m4/getrandom.m4 (gl_FUNC_GETRANDOM): Test whether <bcrypt.h> exists.
6912         * lib/getrandom.c: If <bcrypt.h> is not available, include <ntdef.h> and
6913         define/declare BCRYPT_ALG_HANDLE, BCRYPT_USE_SYSTEM_PREFERRED_RNG,
6914         BCryptGenRandom ourselves.
6916 2020-06-28  Bruno Haible  <bruno@clisp.org>
6918         clean-temp: Fix wrong errno in error message.
6919         * lib/clean-temp.c (create_temp_dir): Save errno around
6920         unblock_fatal_signals call.
6922 2020-06-27  Bruno Haible  <bruno@clisp.org>
6924         fatal-signal: Make multithread-safe.
6925         * lib/fatal-signal.c (at_fatal_signal): Don't free the old actions array.
6927 2020-06-27  Bruno Haible  <bruno@clisp.org>
6929         clean-temp: Don't force deletion of temporary files on native Windows.
6930         * lib/clean-temp.h (open_temp, fopen_temp): Add delete_on_close
6931         argument.
6932         * lib/clean-temp.c (open_temp, fopen_temp): Likewise.
6933         * NEWS: Mention the change.
6934         * lib/javacomp.c (write_temp_file): Update.
6936 2020-06-27  Bruno Haible  <bruno@clisp.org>
6938         fatal-signal: Make multithread-safe.
6939         * lib/fatal-signal.c: Include glthread/lock.h.
6940         (at_fatal_signal_lock): New variable.
6941         (at_fatal_signal): Use it.
6942         (fatal_signals_block_lock, fatal_signals_block_counter): New variables.
6943         (block_fatal_signals, unblock_fatal_signals): Use them.
6944         * modules/fatal-signal (Depends-on): Add lock.
6946 2020-06-27  Paul Eggert  <eggert@cs.ucla.edu>
6948         getloadavg: don’t depend on fopen-gnu
6949         This is for Emacs, which does not need fopen-gnu for anything else,
6950         and which would need it only on a NetBSD platform where getloadavg
6951         does not work (does that even happen?).
6952         * lib/getloadavg.c (getloadavg) [__NetBSD__]: Use open, not fopen.
6953         * modules/getloadavg (Depends-on): Remove fopen-gnu.
6955         * tests/test-getloadavg.c (main): Fix typo.
6957 2020-06-27  Bruno Haible  <bruno@clisp.org>
6959         tempname et al.: Fix link errors on MSVC (regression from 2020-05-31).
6960         * modules/tempname (Link): New section.
6961         * modules/mkdtemp (Link): Likewise.
6962         * modules/clean-temp (Link): Likewise.
6963         * modules/mkstemp (Link): Likewise.
6964         * modules/stdlib-safer (Link): Likewise.
6965         * modules/mkstemps (Link): Likewise.
6966         * modules/mkostemp (Link): Likewise.
6967         * modules/mkostemps (Link): Likewise.
6968         * modules/tmpfile (Link): Likewise.
6969         * modules/tmpfile-safer (Link): Likewise.
6970         * modules/javacomp (Link): Add $(LIB_GETRANDOM).
6971         * modules/argv-iter-tests (Makefile.am): Link test-argv-iter with
6972         $(LIB_GETRANDOM).
6973         * NEWS: Mention the changes.
6975 2020-06-27  Bruno Haible  <bruno@clisp.org>
6977         fopen-gnu: Simplify code.
6978         * lib/fopen.c: Include <stdbool.h>.
6979         (rpl_fopen): Use a single variable open_flags instead of
6980         open_flags_standard and open_flags_gnu. Make open_flags_gnu a bool.
6981         * modules/fopen (Depends-on): Add stdbool.
6983 2020-06-26  Bruno Haible  <bruno@clisp.org>
6985         canonicalize: Improve documentation.
6986         * lib/canonicalize.h (canonicalize_filename_mode): Document the failure
6987         return convention.
6989 2020-06-26  Bruno Haible  <bruno@clisp.org>
6991         xgetcwd: Improve documentation.
6992         * lib/xgetcwd.c (xgetcwd): Document the failure return convention.
6994 2020-06-26  Bruno Haible  <bruno@clisp.org>
6996         getcwd: Improve documentation.
6997         * lib/getcwd.c (__getcwd): Document the failure return convention.
6999 2020-06-26  Bruno Haible  <bruno@clisp.org>
7001         fchdir: Improve documentation.
7002         * lib/fchdir.c (get_name, _gl_register_fd): Document the failure return
7003         convention.
7005 2020-06-26  Bruno Haible  <bruno@clisp.org>
7007         filenamecat-lgpl: Set errno upon failure.
7008         * lib/filenamecat-lgpl.c (mfile_name_concat): Document the failure
7009         return convention.
7010         * modules/filenamecat-lgpl (Depends-on): Add malloc-posix.
7012 2020-06-26  Bruno Haible  <bruno@clisp.org>
7014         areadlink-with-size: Set errno upon failure.
7015         * lib/areadlink-with-size.c (areadlink_with_size): Set errno when malloc
7016         fails.
7017         * lib/areadlinkat-with-size.c (areadlinkat_with_size): Add comment.
7019 2020-06-26  Bruno Haible  <bruno@clisp.org>
7021         copy-file: Shrink dependencies.
7022         * modules/copy-file (Depends-on): Remove acl. Add acl-permissions,
7023         qcopy-acl.
7025 2020-06-26  Bruno Haible  <bruno@clisp.org>
7027         doc: Mention declaration fixes implemented by some modules.
7028         * doc/posix-functions/chdir.texi: Mention the module 'chdir'.
7029         * doc/posix-functions/close.texi: Mention that Gnulib makes the function
7030         declaration appear in <unistd.h>.
7031         * doc/posix-functions/dup.texi: Likewise.
7032         * doc/posix-functions/dup2.texi: Likewise.
7033         * doc/posix-functions/gethostname.texi: Likewise.
7034         * doc/posix-functions/isatty.texi: Likewise.
7035         * doc/posix-functions/lseek.texi: Likewise.
7036         * doc/posix-functions/unlink.texi: Likewise.
7037         * doc/posix-functions/read.texi: Mention the module 'read'.
7038         * doc/posix-functions/write.texi: Mention the effects of the module
7039         'write'.
7041 2020-06-25  Marc Nieper-Wißkirchen  <marc@nieper-wisskirchen.de>
7043         c-dtoastr, c-ldtoastr: new modules
7044         These modules provide the same functionality as the modules
7045         dtoastr and ldtoastr except for the formatting taking place in the
7046         C locale.
7047         * MODULES.html.sh: Add c-dtoastr and c-ldtoastr.
7048         * lib/c-dtoastr.c, lib/c-ldtoastr.c: New files.
7049         * lib/ftoastr.c: Prefix exported functions when the macro C_LOCALE is
7050         defined.  Use c_snprintf and c_strtod/c_strtold instead of
7051         snprintf and strtod/strtold whhen the macro C_LOCALE is defined.
7052         * lib/ftoastr.h: Add prototypes for c_dtoastr and c_ldtoastr.
7053         * modules/c-dtoastr, modules/c-dtoastr-tests, modules/c-ldtoastr,
7054         modules/c-ldtoastr-tests: New files.
7055         * tests/test-c-dtoastr.c, tests/test-c-dtoastr.sh,
7056         tests-c-ldtoastr.c tests-c-ldtoastr.sh: New files.
7058 2020-06-21  Bruno Haible  <bruno@clisp.org>
7060         tzset: Fix compilation warnings on mingw (regression from 2017-05-01).
7061         * lib/tzset.c: Include <stdlib.h>, <string.h>.
7063 2020-06-16  Bruno Haible  <bruno@clisp.org>
7065         thread: Avoid possible compiler warnings in uses of gl_thread_exit.
7066         * lib/glthread/thread.h (gl_thread_exit): Add a cast to void.
7068 2020-06-16  Bruno Haible  <bruno@clisp.org>
7070         thread, thrd: Avoid a compiler warning.
7071         * lib/windows-thread.h (glwthread_thread_exit): Mark as non-returning.
7073 2020-06-16  Biswapriyo Nath  <nathbappai@gmail.com>  (tiny change)
7075         windows-thread: Avoid a compiler warning.
7076         * lib/windows-thread.h (glwthread_thread_exit): Change return type to
7077         void.
7078         * lib/windows-thread.c (glwthread_thread_exit): Likewise.
7080 2020-06-15  Bruno Haible  <bruno@clisp.org>
7082         unictype/joininggroup-name: Fix warning on 64-bit mingw.
7083         Reported by Biswapriyo Nath <nathbappai@gmail.com> in
7084         <https://lists.gnu.org/archive/html/bug-gnulib/2020-06/msg00036.html>.
7085         * lib/unictype/joininggroup_name.c (ELEM): Cast struct offset to size_t
7086         first.
7088 2020-06-06  Bruno Haible  <bruno@clisp.org>
7090         calloc-gnu tests: Avoid a test failure with clang.
7091         * tests/test-calloc-gnu.c (main): Mark the pointer variable as
7092         'volatile', to defeat compiler optimizations.
7094 2020-06-01  Paul Eggert  <eggert@cs.ucla.edu>
7096         getloadavg: fix double-increment bug
7097         * lib/getloadavg.c (getloadavg): Fix double-increment typo on
7098         Linux without glibc, Android, Cygwin.  This fixes a bug I
7099         introduced in 2011-02-08T20:23:29Z!eggert@cs.ucla.edu.
7100         Problem and fix reported by Semen Verchenko in:
7101         https://lists.gnu.org/r/bug-gnulib/2020-06/msg00007.html
7103         tempname: use getrandom, not getentropy
7104         This removes a dependency, as getentropy depends on getrandom.
7105         * lib/tempname.c: Include sys/random.h instead of unistd.h.
7106         (RANDOM_BITS) [!_LIBC]: Use getrandom, not getentropy.
7107         * modules/tempname (Depends-on): Depend on getrandom, not getentropy.
7109 2020-06-01  Bruno Haible  <bruno@clisp.org>
7111         doc: New chapter 'Multithreading'.
7112         * doc/multithread.texi: New file.
7113         * doc/gnulib.texi: Include it.
7115 2020-06-01  Bruno Haible  <bruno@clisp.org>
7117         doc: Move 'Running self-tests under valgrind' section.
7118         * doc/gnulib.texi (Build Infrastructure Modules): Include
7119         valgrind-tests.texi here...
7120         (Miscellaneous Notes): ... not here.
7122 2020-06-01  Bruno Haible  <bruno@clisp.org>
7124         doc: Move 'Visual Studio Compatibility' section.
7125         * doc/gnulib.texi (Native Windows Support): Include ld-output-def.texi
7126         here...
7127         (Build Infrastructure Modules): ... not here.
7129 2020-06-01  Paul Eggert  <eggert@cs.ucla.edu>
7131         doc: improve randomness discussion
7132         Inspired by comments from Jeffrey Walton in:
7133         https://lists.gnu.org/r/bug-gnulib/2020-06/msg00002.html
7134         * doc/glibc-functions/getentropy.texi (getentropy):
7135         * doc/glibc-functions/getrandom.texi (getrandom):
7136         Improve discussion of problems with "random" data,
7137         and cite Ristenpart & Yilek.  Also, mention GRND_INSECURE.
7139 2020-06-01  Bruno Haible  <bruno@clisp.org>
7141         doc: Fix Texinfo syntax error.
7142         * doc/glibc-functions/getrandom.texi: Add missing '@item'.
7144 2020-06-01  Asher Gordon  <AsDaGo@posteo.net>
7146         doc: Change '.' to '@.' where appropriate.
7147         * doc/c-ctype.texi: Change '.' to '@.' where appropriate.
7148         * doc/glibc-functions/fstatfs.texi: Likewise.
7149         * doc/glibc-functions/fts_children.texi: Likewise.
7150         * doc/glibc-functions/fts_read.texi: Likewise.
7151         * doc/glibc-functions/getdirentries.texi: Likewise.
7152         * doc/glibc-functions/mkostemp.texi: Likewise.
7153         * doc/glibc-functions/mkostemps.texi: Likewise.
7154         * doc/glibc-functions/mkstemps.texi: Likewise.
7155         * doc/glibc-functions/preadv.texi: Likewise.
7156         * doc/glibc-functions/pwritev.texi: Likewise.
7157         * doc/glibc-functions/sendfile.texi: Likewise.
7158         * doc/glibc-functions/statfs.texi: Likewise.
7159         * doc/gnulib-intro.texi: Likewise.
7160         * doc/gnulib-tool.texi: Likewise.
7161         * doc/intprops.texi: Likewise.
7162         * doc/lib-symbol-visibility.texi: Likewise.
7163         * doc/licenses-texi.texi: Likewise.
7164         * doc/pastposix-functions/bcmp.texi: Likewise.
7165         * doc/pastposix-functions/bcopy.texi: Likewise.
7166         * doc/pastposix-functions/bzero.texi: Likewise.
7167         * doc/pastposix-functions/ecvt.texi: Likewise.
7168         * doc/pastposix-functions/fcvt.texi: Likewise.
7169         * doc/pastposix-functions/ftime.texi: Likewise.
7170         * doc/pastposix-functions/gcvt.texi: Likewise.
7171         * doc/pastposix-functions/getwd.texi: Likewise.
7172         * doc/pastposix-functions/index.texi: Likewise.
7173         * doc/pastposix-functions/mktemp.texi: Likewise.
7174         * doc/pastposix-functions/rindex.texi: Likewise.
7175         * doc/pastposix-functions/wcswcs.texi: Likewise.
7176         * doc/posix-functions/aio_cancel.texi: Likewise.
7177         * doc/posix-functions/aio_error.texi: Likewise.
7178         * doc/posix-functions/aio_fsync.texi: Likewise.
7179         * doc/posix-functions/aio_read.texi: Likewise.
7180         * doc/posix-functions/aio_return.texi: Likewise.
7181         * doc/posix-functions/aio_suspend.texi: Likewise.
7182         * doc/posix-functions/aio_write.texi: Likewise.
7183         * doc/posix-functions/creat.texi: Likewise.
7184         * doc/posix-functions/ctime.texi: Likewise.
7185         * doc/posix-functions/daylight.texi: Likewise.
7186         * doc/posix-functions/fgetpos.texi: Likewise.
7187         * doc/posix-functions/fopen.texi: Likewise.
7188         * doc/posix-functions/freopen.texi: Likewise.
7189         * doc/posix-functions/fseeko.texi: Likewise.
7190         * doc/posix-functions/fsetpos.texi: Likewise.
7191         * doc/posix-functions/fstatat.texi: Likewise.
7192         * doc/posix-functions/fstatvfs.texi: Likewise.
7193         * doc/posix-functions/ftello.texi: Likewise.
7194         * doc/posix-functions/ftruncate.texi: Likewise.
7195         * doc/posix-functions/getrlimit.texi: Likewise.
7196         * doc/posix-functions/lio_listio.texi: Likewise.
7197         * doc/posix-functions/localtime.texi: Likewise.
7198         * doc/posix-functions/lseek.texi: Likewise.
7199         * doc/posix-functions/mkstemp.texi: Likewise.
7200         * doc/posix-functions/mktime.texi: Likewise.
7201         * doc/posix-functions/open.texi: Likewise.
7202         * doc/posix-functions/openat.texi: Likewise.
7203         * doc/posix-functions/opendir.texi: Likewise.
7204         * doc/posix-functions/pread.texi: Likewise.
7205         * doc/posix-functions/pwrite.texi: Likewise.
7206         * doc/posix-functions/readdir.texi: Likewise.
7207         * doc/posix-functions/readdir_r.texi: Likewise.
7208         * doc/posix-functions/scandir.texi: Likewise.
7209         * doc/posix-functions/seekdir.texi: Likewise.
7210         * doc/posix-functions/setrlimit.texi: Likewise.
7211         * doc/posix-functions/statvfs.texi: Likewise.
7212         * doc/posix-functions/strftime.texi: Likewise.
7213         * doc/posix-functions/telldir.texi: Likewise.
7214         * doc/posix-functions/timezone.texi: Likewise.
7215         * doc/posix-functions/tmpfile.texi: Likewise.
7216         * doc/posix-functions/truncate.texi: Likewise.
7217         * doc/posix-functions/tzname.texi: Likewise.
7218         * doc/posix-functions/wcsftime.texi: Likewise.
7219         * doc/windows-sockets.texi: Likewise.
7221 2020-05-31  Paul Eggert  <eggert@cs.ucla.edu>
7223         getrandom-tests: do not assume GRND_RANDOM yields short read
7224         * tests/test-getrandom.c (main): Omit assertion that
7225         getrandom (b, sizeof b, GRND_RANDOM | GRND_NONBLOCK) < sizeof b
7226         when b’s size is 100000.  This assertion fails with Linux kernel
7227         5.6.13, as that kernel ignores the GRND_RANDOM flag.
7228         The separate blocking pool is going away in the Linux kernel, and
7229         they’ve added a flag GRND_INSECURE instead; see:
7230         https://lore.kernel.org/linux-api/705c5a091b63cc5da70c99304bb97e0109be0a26.1577088521.git.luto@kernel.org/
7231         The assertion was iffy anyway; what’s to prevent a kernel from
7232         lazily filling a large buffer with random bytes?
7234         read-file-test: pacify --enable-gcc-warnings
7235         * tests/test-read-file.c (test_read_file): Now static.
7237         tempname: merge from glibc and coreutils
7238         Also, merge in Gnulib’s more-recent methods of making it easier
7239         to share between Gnulib and glibc, and fix a few randomness
7240         glitches.
7241         * lib/tempname.c: Include libc-config.h, not config.h, if !_LIBC.
7242         (__set_errno): Remove; libc-config.h does that for us.
7243         Do not include <sys/time.h>.
7244         (__secure_getenv) [_LIBC]: New macro.
7245         (__try_tempname, __getpid, __gettimeofday) [!_LIBC]: Remove macros.
7246         (RANDOM_BITS): Rewrite.
7247         (RANDOM_VALUE_MAX, BASE_62_DIGITS, BASE_62_POWER): New macros.
7248         (random_value): New typedef.
7249         (try_file, try_dir, try_nocreate): Move up.
7250         (gen_tempname_len, try_tempname_len): New functions.
7251         (gen_tempname_len): Use a constant array rather than a switch.
7252         (try_tempname_len): Don’t assume string length fits in int.
7253         Generalize use of RANDOM_BITS.  If _LIBC, don’t assume RANDOM_BITS
7254         has enough entropy (it’s a bit short).
7255         (__gen_tempname): Rewrite in terms of gen_tempname_len.
7256         (__try_tempname): Rewrite in terms of try_tempname_len.
7257         * lib/tempname.h (gen_tempname_len, try_tempname_len): New decls.
7258         * modules/tempname (Depends-on): Remove gettimeofday, sys_time.
7259         Add getentropy, libc-config.
7261 2020-05-31  Bruno Haible  <bruno@clisp.org>
7263         getrandom, getentropy: Mention the crypto/gc-random module.
7264         Suggested by Simon Josefsson in
7265         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00400.html>.
7266         * doc/glibc-functions/getrandom.texi: Mention the quality issues and the
7267         crypto/gc-random module.
7268         * doc/glibc-functions/getentropy.texi: Likewise.
7270 2020-05-31  Bruno Haible  <bruno@clisp.org>
7272         getentropy: Enhance tests.
7273         * tests/test-getentropy.c (main): Add one more test.
7274         * tests/test-unistd-c++.cc: Check the signature of getentropy.
7276 2020-05-31  Bruno Haible  <bruno@clisp.org>
7278         getentropy: Work around a macOS and Solaris problem.
7279         * lib/unistd.in.h: Include <sys/random.h>, when needed for the
7280         'getentropy' module.
7281         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
7282         UNISTD_H_HAVE_SYS_RANDOM_H.
7283         * m4/sys_random_h.m4 (gl_HEADER_SYS_RANDOM): Set
7284         UNISTD_H_HAVE_SYS_RANDOM_H.
7285         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_SYS_RANDOM_H.
7286         * doc/glibc-functions/getentropy.texi: Document the macOS and Solaris
7287         problem. List more platforms.
7289 2020-05-31  Paul Eggert  <eggert@cs.ucla.edu>
7291         fnmatch: merge from glibc
7292         Also, merge in Gnulib’s more-recent methods of making it easier
7293         to share between Gnulib and glibc.
7294         * lib/fnmatch.c: Reorder includes to match glibc better.
7295         Include libc-config.h instead of config.h.
7296         Include alloca.h only if _LIBC || HAVE_ALLOCA.
7297         Do not include "../locale/elem-hash.h" if _LIBC.
7298         Define macros for btowc, etc. if _LIBC.  All uses simplified.
7299         Define FALLTHROUGH if _LIBC, instead of including attribute.h.
7300         Include intprops.h, since glibc has it now.
7301         (SIZE_MAX): Remove; use (size_t) -1 instead.
7302         Omit the "Comment out all this code" ifdef, since Gnulib
7303         has never really needed it.
7304         (STREQ): Remove; no longer used.
7305         (__libc_use_alloca, alloca, alloca_account): Define as
7306         needed if !_LIBC.
7307         (ISWCTYPE): Remove; all uses replaced by iswctype.
7308         (HANDLE_MULTIBYTE): Remove.  All uses removed by assuming true.
7309         (internal_function): Remove.  All uses removed.
7310         (STRUCT): New macro.
7311         (WIDE_CHAR_VERSION): Define to 0 instead of leaving undefined.
7312         (WMEMCMP): New macro.
7313         (FINDIDX): Define if _LIBC, and include <locale/weight.h>
7314         and <locale/weightwc.h>.
7315         (fnmatch): Prefer __glibc_likely and __glibc_unlikely to
7316         __builtin_expect.  Check for integer overflow more
7317         systematically.  Account for alloca storage better when
7318         recursive.  Use strnlen instead of strlen for efficiency.
7319         * lib/fnmatch_loop.c: Include stdint.h if _LIBC, for int32_t etc.
7320         (struct STRUCT): New type.
7321         (FCT, EXT): New ENDS and ALLOCA_USED args.
7322         All callers changed.
7323         (FCT): Prefer __glibc_unlikely to __builtin_expect.
7324         Simplify by assuming WIDE_CHAR_SUPPORT.
7325         Copy _LIBC code from glibc without worrying Gnulib compatibility.
7326         Cast cold to UCHAR to avoid signedness warning.
7327         (END): Check for invalid pattern.
7328         (EXT): Improve alloca/malloc checking (taken from glibc),
7329         and improve it some more by using intprops.h and checking
7330         for integer overflow and using bool for booleans.
7331         * lib/libc-config.h (compat_symbol): New macro.
7332         (versioned_symbol): Make it ‘extern int dummy’ so that it’s
7333         acceptable to non-GCC when a trailing semicolon is added.
7334         * modules/fnmatch (Depends-on): Add alloca-opt, intprops,
7335         libc-config, strnlen.  Remove alloca.
7337 2020-05-31  Bruno Haible  <bruno@clisp.org>
7339         getrandom: Doc and test tweaks.
7340         * lib/getrandom.c (getrandom): Mention that it never returns 0, and that
7341         it sets errno when failing.
7342         * tests/test-getrandom.c (main): Disable the high-quality check on those
7343         platforms on which it fails.
7344         * doc/glibc-functions/getrandom.texi: Add Minix, AIX, HP-UX, IRIX,
7345         Cygwin to the list of platforms that don't have the function. Add a note
7346         about the quality of the result.
7347         * doc/glibc-headers/sys_random.texi: Don't mention the 'getrandom'
7348         declaration; this is fixed by module 'getrandom'.
7350 2020-05-31  Bruno Haible  <bruno@clisp.org>
7352         getrandom: Add support for native Windows.
7353         * lib/getrandom.c: Include <errno.h>, <windows.h>, <bcrypt.h>,
7354         <wincrypt.h>.
7355         (CRYPT_VERIFY_CONTEXT): New macro.
7356         (LoadLibrary, CryptAcquireContext): Redirect to the variant with suffix
7357         'A'.
7358         (GetProcAddress): New macro.
7359         (BCryptGenRandomFuncType): New type.
7360         (BCryptGenRandomFunc, initialized): New variables.
7361         (initialize): New function.
7362         (getrandom): On native Windows, use <bcrypt.h> API when available, and
7363         <wincrypt.h> API as fallback.
7364         * m4/getrandom.m4 (gl_FUNC_GETRANDOM): Set LIB_GETRANDOM.
7365         * modules/getrandom (Link): New section.
7366         * modules/getentropy (Link): Likewise.
7367         * modules/getrandom-tests (Makefile.am): Link test-getrandom against
7368         $(LIB_GETRANDOM).
7369         * modules/getentropy-tests (Makefile.am): Link test-getentropy against
7370         $(LIB_GETRANDOM).
7371         * modules/sys_random-c++-tests (Makefile.am): Link test-sys_random-c++
7372         against $(LIB_GETRANDOM).
7373         * doc/glibc-functions/getrandom.texi: Mention the native Windows
7374         support.
7376 2020-05-31  Bruno Haible  <bruno@clisp.org>
7378         getrandom: Simplify the determination of the random number devices.
7379         Suggested by Paul Eggert in
7380         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00383.html>.
7381         * lib/getrandom.c (NAME_OF_RANDOM_DEVICE, NAME_OF_NONCE_DEVICE): New
7382         macros.
7383         * modules/getrandom (Depends-on): Remove crypto/gc-random.
7385 2020-05-31  Bruno Haible  <bruno@clisp.org>
7387         crypto/gc-random: Fix list of crypto devices for Solaris.
7388         * m4/gc-random.m4 (gl_GC_RANDOM): Don't special-case Solaris.
7390 2020-05-31  Akim Demaille  <akim@lrde.epita.fr>
7392         list: fix GCC warnings
7393         * lib/gl_anytree_list2.h (gl_tree_iterator_free)
7394         (gl_tree_next_node, gl_tree_node_nx_set_value)
7395         (gl_tree_previous_node, gl_tree_next_node):
7396         Mark unused arguments.
7397         * lib/gl_anytree_oset.h (gl_tree_iterator_free): Likewise.
7398         * lib/gl_anylinked_list2.h (gl_linked_node_value)
7399         (gl_linked_node_nx_set_value, gl_linked_iterator_free): Likewise.
7401         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Avoid using
7402         the same variable name in nested scopes.
7404 2020-05-31  Bruno Haible  <bruno@clisp.org>
7406         list-c++, set-c++, oset-c++, map-c++, omap-c++: Don't fool the compiler.
7407         Reported by Akim Demaille in
7408         <https://lists.gnu.org/archive/html/bug-bison/2020-05/msg00102.html>.
7409         * lib/gl_list.hh (gl_List::iterator::next): Avoid a reinterpret_cast.
7410         * lib/gl_set.hh (gl_Set::iterator::next): Likewise.
7411         * lib/gl_oset.hh (gl_OSet::iterator::next): Likewise.
7412         * lib/gl_map.hh (gl_Map::iterator::next): Likewise.
7413         * lib/gl_omap.hh (gl_OMap::iterator::next): Likewise.
7415 2020-05-30  Bruno Haible  <bruno@clisp.org>
7417         wmemchr: Relicense under LGPLv2+.
7418         * modules/wmemchr (License): Set to LGPLv2+.
7420 2020-05-30  Bruno Haible  <bruno@clisp.org>
7422         wmempcpy: New module.
7423         Reported by Paul Eggert in
7424         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00387.html>.
7425         * lib/wchar.in.h (wmempcpy): New declaration.
7426         * lib/wmempcpy.c: New file.
7427         * m4/wmempcpy.m4: New file.
7428         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmempcpy is declared.
7429         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMPCPY, HAVE_WMEMPCPY.
7430         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMPCPY,
7431         HAVE_WMEMPCPY.
7432         * modules/wmempcpy: New file.
7433         * tests/test-wchar-c++.cc: Check the signature of wmempcpy.
7434         * doc/glibc-functions/wmempcpy.texi: Mention the new module.
7435         * modules/mempcpy (Description): Fix typo.
7437 2020-05-30  Bruno Haible  <bruno@clisp.org>
7439         crypto/gc-random: Fix list of crypto devices for NetBSD, OpenBSD.
7440         * m4/gc-random.m4 (gl_GC_RANDOM): Don't special-case NetBSD and OpenBSD.
7442 2020-05-30  Bruno Haible  <bruno@clisp.org>
7444         sys_random: Work around macOS bug.
7445         * m4/sys_random_h.m4 (gl_HEADER_SYS_RANDOM): Include <sys/types.h> and
7446         <stdlib.h> before <sys/random.h>.
7447         * m4/getrandom.m4 (gl_FUNC_GETRANDOM): Likewise.
7448         * lib/sys_random.in.h: On macOS, include <sys/types.h> and <stdlib.h>
7449         first.
7450         * doc/glibc-headers/sys_random.texi: Mention the macOS problem.
7452 2020-05-30  Bruno Haible  <bruno@clisp.org>
7454         getrandom: Override incompatible system function on Solaris 11.
7455         * lib/sys_random.in.h (getrandom): Override if REPLACE_GETRANDOM is 1.
7456         * lib/getrandom.c (getrandom): When the system has getrandom, just
7457         invoke it.
7458         * m4/getrandom.m4 (gl_FUNC_GETRANDOM): Set REPLACE_GETRANDOM if the
7459         system's getrandom function's prototype is not the expected one.
7460         * m4/sys_random_h.m4 (gl_SYS_RANDOM_H_DEFAULTS): Initialize
7461         REPLACE_GETRANDOM.
7462         * modules/sys_random (Makefile.am): Substitute REPLACE_GETRANDOM.
7463         * modules/getrandom (modules/getrandom): Consider REPLACE_GETRANDOM.
7464         * tests/test-getrandom.c (main): Allow error EINVAL as an alternative to
7465         EAGAIN.
7466         * doc/glibc-functions/getrandom.texi: Mention the new module and the
7467         Solaris problem.
7469 2020-05-30  Bruno Haible  <bruno@clisp.org>
7471         sys_random: Add C++ tests.
7472         * tests/test-sys_random-c++.cc: New file.
7473         * modules/sys_random-c++-tests: New file.
7474         * modules/sys_random-tests (Depends-on): Depend on it.
7476         sys_random: Add tests.
7477         * tests/test-sys_random.c: New file.
7478         * modules/sys_random-tests: New file.
7480         sys_random: New module.
7481         * lib/sys_random.in.h: Use the common idioms for overridable header
7482         files.
7483         * m4/sys_random_h.m4: New file.
7484         * m4/getrandom.m4 (gl_FUNC_GETRANDOM): Require gl_SYS_RANDOM_H_DEFAULTS.
7485         * modules/sys_random: New file.
7486         * modules/getrandom (Files): Remove lib/sys_random.in.h.
7487         (Depends-on): Add sys_random.
7488         (configure.ac): Use gl_SYS_RANDOM_MODULE_INDICATOR, not
7489         gl_UNISTD_MODULE_INDICATOR.
7490         (Makefile.am): Don't generate sys/random.h here.
7491         * doc/glibc-headers/sys_random.texi: New file.
7492         * doc/gnulib.texi: Include it.
7494 2020-05-30  Bruno Haible  <bruno@clisp.org>
7496         unistd: Remove conflicting declaration of getrandom().
7497         * lib/unistd.in.h (getrandom): Remove declaration.
7498         * m4/unistd_h.m4 (gl_UNISTD_H): Don't test whether getrandom is
7499         declared.
7500         (gl_UNISTD_H_DEFAULTS): Don't initialize GNULIB_GETRANDOM,
7501         HAVE_GETRANDOM.
7502         * modules/unistd (Makefile.am): Don't substitute GNULIB_GETRANDOM,
7503         HAVE_GETRANDOM.
7505 2020-05-30  Bruno Haible  <bruno@clisp.org>
7507         getrandom: Add tests.
7508         * tests/test-getrandom.c: New file.
7509         * modules/getrandom-tests: New file.
7511 2020-05-30  Bruno Haible  <bruno@clisp.org>
7513         crypto/gc-random: Fix link error on MSVC.
7514         * m4/gc-random.m4 (gl_GC_RANDOM): Set LIB_GC_RANDOM.
7515         * modules/crypto/gc-random (Link): New section.
7516         * modules/crypto/gc-tests (Makefile.am): Link test-gc against
7517         $(LIB_GC_RANDOM).
7519 2020-05-30  Bruno Haible  <bruno@clisp.org>
7521         Don't assume that UNICODE is not defined.
7522         Many Windows API functions are defined differently (redirecting to a
7523         function with suffix 'W') if the application defines the macro UNICODE
7524         than by default (redirecting to a function with suffix 'A').
7525         * lib/clean-temp.c (OSVERSIONINFO, GetVersionEx): Redirect to the
7526         variant with suffix 'A'.
7527         * lib/dirent-private.h (WIN32_FIND_DATA): Likewise.
7528         * lib/gc-gnulib.c (CryptAcquireContext): Likewise.
7529         * lib/getaddrinfo.c (GetModuleHandle): Likewise.
7530         * lib/getlogin.c (GetUserName): Likewise.
7531         * lib/getlogin_r.c (GetUserName): Likewise.
7532         * lib/gettimeofday.c (LoadLibrary): Likewise.
7533         * lib/isatty.c (LoadLibrary, QueryFullProcessImageName): Likewise.
7534         * lib/link.c (GetModuleHandle, CreateHardLink): Likewise.
7535         * lib/localename.c (GetLocaleInfo, EnumSystemLocales): Likewise.
7536         * lib/mountlist.c (GetDriveType): Likewise.
7537         * lib/nonblocking.c (GetNamedPipeHandleState): Likewise.
7538         * lib/opendir.c (WIN32_FIND_DATA, GetFullPathName, FindFirstFile):
7539         Likewise.
7540         * lib/physmem.c (GetModuleHandle): Likewise.
7541         * lib/poll.c (GetModuleHandle, PeekConsoleInput, CreateEvent,
7542         PeekMessage, DispatchMessage): Likewise.
7543         * lib/progreloc.c (GetModuleFileName): Likewise.
7544         * lib/putenv.c (SetEnvironmentVariable): Likewise.
7545         * lib/read.c (GetNamedPipeHandleState): Likewise.
7546         * lib/readdir.c (FindNextFile): Likewise.
7547         * lib/relocatable.c (GetModuleFileName): Likewise.
7548         * lib/rename.c (MoveFileEx): Likewise.
7549         * lib/rewinddir.c (FindFirstFile): Likewise.
7550         * lib/select.c (GetModuleHandle, PeekConsoleInput, CreateEvent,
7551         PeekMessage, DispatchMessage): Likewise.
7552         * lib/sethostname.c (GetComputerNameEx, SetComputerNameEx): Likewise.
7553         * lib/socket.c (WSASocket): Likewise.
7554         * lib/stat-w32.c (LoadLibrary, GetFinalPathNameByHandle): Likewise.
7555         * lib/stat.c (WIN32_FIND_DATA, CreateFile, FindFirstFile): Likewise.
7556         * lib/stdio-read.c (GetNamedPipeHandleState): Likewise.
7557         * lib/stdio-write.c (GetNamedPipeHandleState): Likewise.
7558         * lib/tmpdir.c (GetTempPath): Likewise.
7559         * lib/tmpfile.c (OSVERSIONINFO, GetVersionEx, GetTempPath): Likewise.
7560         * lib/uname.c (OSVERSIONINFO, GetVersionEx): Likewise.
7561         * lib/utime.c (CreateFile, GetFileAttributes): Likewise.
7562         * lib/windows-cond.c (CreateEvent): Likewise.
7563         * lib/windows-rwlock.c (CreateEvent): Likewise.
7564         * lib/windows-timedmutex.c (CreateEvent): Likewise.
7565         * lib/windows-timedrecmutex.c (CreateEvent): Likewise.
7566         * lib/windows-timedrwlock.c (CreateEvent): Likewise.
7567         * lib/write.c (GetNamedPipeHandleState): Likewise.
7569 2020-05-30  Bruno Haible  <bruno@clisp.org>
7571         physmem: Fix compilation errors on MSVC.
7572         * lib/physmem.c (PFN_MS_EX): Use BOOL, not WINBOOL.
7573         * modules/physmem (Depends-on): Add unistd.
7575 2020-05-29  Bruno Haible  <bruno@clisp.org>
7577         gnulib-tool: Fix link errors with a particular set of modules on mingw.
7578         * gnulib-tool (func_emit_tests_Makefile_am): Add ../lib/libgnu.a to
7579         LDADD a second time, after the second occurrence of libtests.a.
7580         * pygnulib/GLEmiter.py (tests_Makefile_am): Likewise.
7582 2020-05-29  Bruno Haible  <bruno@clisp.org>
7584         fnmatch: Rely on more gnulib modules.
7585         * modules/fnmatch (Depends-on): Add btowc, isblank, iswctype, wmemchr,
7586         wmempcpy, mempcpy.
7587         * lib/fnmatch.c: Assume that HAVE_WCTYPE_H, HAVE_BTOWC, HAVE_ISWCTYPE,
7588         HAVE_WMEMCHR, HAVE_WMEMPCPY, HAVE_ISBLANK, HAVE_DECL_ISBLANK,
7589         HAVE_MEMPCPY are all 1.
7590         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Don't test for btowc, isblank,
7591         iswctype, mempcpy, wmemchr, wmemcpy, wmempcpy, <wctype.h>.
7593 2020-05-29  Bruno Haible  <bruno@clisp.org>
7595         Avoid dynamic lookup of Windows API functions when possible.
7596         * lib/getaddrinfo.c (GetProcAddress, getaddrinfo_func,
7597         freeaddrinfo_func, getnameinfo_func, getaddrinfo_ptr, freeaddrinfo_ptr,
7598         getnameinfo_ptr): Don't define in a build for Windows XP or higher.
7599         (use_win32_p): Define differently.
7600         * lib/link.c (GetProcAddress, CreateHardLinkFuncType,
7601         CreateHardLinkFunc, initialized, initialize): Don't define in a build
7602         for Windows XP or higher.
7604 2020-05-29  Daiki Ueno  <ueno@gnu.org>
7606         read-file: disable buffering if RF_SENSITIVE is set
7607         * lib/read-file.c (read_file): Call setvbuf if RF_SENSITIVE.
7608         Suggested by Glenn Strauss.
7609         (fread_file): Suggest calling setvbuf before calling this
7610         function.  Suggested by Bruno Haible.
7612 2020-05-29  Bruno Haible  <bruno@clisp.org>
7614         wmemchr, wmemcmp, wmemcpy, wmemmove, wmemset: Fix autoconf test.
7615         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Link, not only compile, the test
7616         program.
7617         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Likewise.
7618         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Likewise.
7619         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Likewise.
7620         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Likewise.
7622 2020-05-29  Bruno Haible  <bruno@clisp.org>
7624         Fix compilation error on native Windows (regression from 2020-05-28).
7625         Reported by Daiki Ueno.
7626         * lib/gettimeofday.c (GetSystemTimePreciseAsFileTimeFunc): Define as
7627         macro when not using dynamic loading.
7628         * lib/isatty.c (GetNamedPipeClientProcessIdFunc,
7629         QueryFullProcessImageNameFunc): Likewise.
7630         * lib/stat-w32.c (GetFileInformationByHandleExFunc,
7631         GetFinalPathNameByHandleFunc): Likewise.
7633 2020-05-29  Daiki Ueno  <ueno@gnu.org>
7635         fopen-gnu-tests: fix "\x" escape usage
7636         * tests/test-fopen-gnu.c (DATA): Use safer escape sequence.
7638 2020-05-28  Bruno Haible  <bruno@clisp.org>
7640         Avoid dynamic loading of Windows API functions when possible.
7641         Reported by Steve Lhomme <robux4@ycbcr.xyz> in
7642         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00182.html>.
7643         * lib/gettimeofday.c (GetProcAddress,
7644         GetSystemTimePreciseAsFileTimeFuncType,
7645         GetSystemTimePreciseAsFileTimeFunc, initialized, initialize): Don't
7646         define in a build for Windows 8 or higher.
7647         * lib/isatty.c (GetProcAddress, GetNamedPipeClientProcessIdFuncType,
7648         GetNamedPipeClientProcessIdFunc, QueryFullProcessImageNameFuncType,
7649         QueryFullProcessImageNameFunc, initialized, initialize): Don't define
7650         in a build for Windows Vista or higher.
7651         * lib/stat-w32.c (GetProcAddress, GetFileInformationByHandleExFuncType,
7652         GetFileInformationByHandleExFunc, GetFinalPathNameByHandleFuncType,
7653         GetFinalPathNameByHandleFunc, initialized, initialize): Likewise.
7655 2020-05-28  Paul Eggert  <eggert@cs.ucla.edu>
7657         explicit_bzero-tests: improve -Wmissing-declarations pacification
7658         * tests/test-explicit_bzero.c: Now noinline.
7659         Suggested by Bruno Haible in:
7660         https://lists.gnu.org/r/bug-gnulib/2020-05/msg00300.html
7662 2020-05-28  Bruno Haible  <bruno@clisp.org>
7664         Fix build errors due to read-file changes (regression from 2020-05-27).
7665         * lib/git-merge-changelog.c (read_changelog_file): Update read_file
7666         invocation.
7667         * tests/test-sameacls.c (main): Likewise.
7668         * tests/test-pipe-filter-gi1.c (main): Call read_file instead of
7669         read_binary_file.
7670         * tests/test-pipe-filter-ii1.c (main): Likewise.
7672 2020-05-28  Bruno Haible  <bruno@clisp.org>
7674         fts: Make more robust in multithreaded applications.
7675         * lib/fts.c (fts_open): Pass an O_CLOEXEC flag to open().
7676         * modules/fts (Depends-on): Add 'open'.
7678 2020-05-28  Bruno Haible  <bruno@clisp.org>
7680         relocatable-prog: Make more robust in multithreaded applications.
7681         * lib/progreloc.c (O_CLOEXEC): Define fallback to 0 when use from module
7682         relocatable-prog-wrapper.
7683         (find_executable): Pass an O_CLOEXEC flag to open().
7684         * modules/relocatable-prog (Depends-on): Add 'open'.
7686 2020-05-28  Bruno Haible  <bruno@clisp.org>
7688         getloadavg: Make more robust in multithreaded applications.
7689         * lib/getloadavg.c (getloadavg): Pass an O_CLOEXEC flag to open().
7690         Simplify use of O_CLOEXEC.
7691         * modules/getloadavg (Depends-on): Add 'open'.
7693 2020-05-28  Bruno Haible  <bruno@clisp.org>
7695         vma-iter: Make more robust in multithreaded applications.
7696         * lib/vma-iter.c (rof_open, vma_iterate): Pass an O_CLOEXEC flag to
7697         open().
7698         * modules/vma-iter (Depends-on): Add 'open'.
7700 2020-05-28  Bruno Haible  <bruno@clisp.org>
7702         truncate: Make more robust in multithreaded applications.
7703         * lib/truncate.c (truncate): Pass an O_CLOEXEC flag to open().
7705 2020-05-28  Bruno Haible  <bruno@clisp.org>
7707         pagealign_alloc: Make more robust in multithreaded applications.
7708         * lib/pagealign_alloc.c (pagealign_alloc): Pass an O_CLOEXEC flag to
7709         open().
7710         * modules/pagealign_alloc (Depends-on): Add 'open'.
7712 2020-05-28  Bruno Haible  <bruno@clisp.org>
7714         openat: Make more robust in multithreaded applications.
7715         * lib/openat.c (openat_needs_fchdir): Pass an O_CLOEXEC flag to open().
7717 2020-05-28  Bruno Haible  <bruno@clisp.org>
7719         at-internal: Make more robust in multithreaded applications.
7720         * lib/openat-proc.c (openat_proc_name): Pass an O_CLOEXEC flag to
7721         open().
7723 2020-05-28  Bruno Haible  <bruno@clisp.org>
7725         mountlist: Make more robust in multithreaded applications.
7726         * lib/mountlist.c (read_file_system_list): Pass an O_CLOEXEC flag to
7727         open().
7728         * modules/mountlist (Depends-on): Add 'open'.
7730 2020-05-28  Bruno Haible  <bruno@clisp.org>
7732         login_tty: Make more robust in multithreaded applications.
7733         * lib/login_tty.c (login_tty): Pass an O_CLOEXEC flag to open().
7734         * modules/login_tty (Depends-on): Add 'open'.
7736 2020-05-28  Bruno Haible  <bruno@clisp.org>
7738         javacomp: Make more robust in multithreaded applications.
7739         * lib/javacomp.c (get_classfile_version): Pass an O_CLOEXEC flag to
7740         open().
7741         * modules/javacomp (Depends-on): Add 'open'.
7743 2020-05-28  Bruno Haible  <bruno@clisp.org>
7745         getprogname: Make more robust in multithreaded applications.
7746         * lib/getprogname.c (getprogname): Pass an O_CLOEXEC flag to open().
7747         * modules/getprogname (Depends-on): Add 'open'.
7749 2020-05-28  Bruno Haible  <bruno@clisp.org>
7751         get_progname_of: Make more robust in multithreaded applications.
7752         * lib/get_progname_of.c (get_progname_of): Pass an O_CLOEXEC flag to
7753         open().
7754         * modules/get_progname_of (Depends-on): Add 'open'.
7756 2020-05-28  Bruno Haible  <bruno@clisp.org>
7758         get_ppid_of: Make more robust in multithreaded applications.
7759         * lib/get_ppid_of.c (get_ppid_of): Pass an O_CLOEXEC flag to open().
7760         * modules/get_ppid_of (Depends-on): Add 'open'.
7762 2020-05-28  Bruno Haible  <bruno@clisp.org>
7764         get-rusage-as: Make more robust in multithreaded applications.
7765         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Pass an O_CLOEXEC
7766         flag to open().
7767         * modules/get-rusage-as (Depends-on): Add 'open'.
7769 2020-05-28  Bruno Haible  <bruno@clisp.org>
7771         crypto/gc: Make more robust in multithreaded applications.
7772         * lib/gc-gnulib.c (randomize): Pass an O_CLOEXEC flag to open().
7773         * modules/crypto/gc (Depends-on): Add 'open'.
7775 2020-05-28  Bruno Haible  <bruno@clisp.org>
7777         copy-file: Make more robust in multithreaded applications.
7778         * lib/copy-file.c (qcopy_file_preserving): Pass an O_CLOEXEC flag to
7779         open().
7781 2020-05-28  Bruno Haible  <bruno@clisp.org>
7783         chown: Make more robust in multithreaded applications.
7784         * lib/chown.c (rpl_chown): Pass an O_CLOEXEC flag to open().
7786 2020-05-28  Bruno Haible  <bruno@clisp.org>
7788         doc: Fix statement about O_CLOEXEC (wrong since 2017-08-14).
7789         * doc/posix-headers/fcntl.texi: Gnulib no longer defines O_CLOEXEC to 0.
7791 2020-05-28  Daiki Ueno  <ueno@gnu.org>
7793         fopen-gnu: make 'b' flag can be used with 'e' on Windows
7794         * lib/fopen.c (rpl_fopen): Pass O_BINARY to open, if a 'b' flag is
7795         specified on Windows.
7796         * tests/test-fopen-gnu.c (DATA): New define.
7797         (main): Add test for reading binary files with an 'e' flag.
7799 2020-05-27  Bruno Haible  <bruno@clisp.org>
7801         Don't assume that UNICODE is not defined.
7802         Some Windows types, such as TCHAR, LPTSTR, LPCTSTR, are defined
7803         differently if the application defines the macro UNICODE.
7804         Reported by Steve Lhomme <robux4@ycbcr.xyz> in
7805         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00184.html>.
7806         * lib/link.c (CreateHardLinkFuncType): Use LPCSTR, not LPCTSTR.
7807         * lib/localename.c (enum_locales_fn): Use LPSTR, not LPTSTR.
7808         * lib/stat-w32.c (GetFinalPathNameByHandleFuncType): Likewise.
7810 2020-05-27  Bruno Haible  <bruno@clisp.org>
7812         Improve pattern for defining _WIN32_WINNT.
7813         Newer versions of the Windows API may not only add, but also remove API
7814         functions. Therefore, when the user is e.g. building for Windows 10, we
7815         should not set _WIN32_WINNT to e.g. Windows 8, as this may enable the
7816         use of APIs that were present in Windows 8 but removed in Windows 10.
7817         Suggested by Steve Lhomme <robux4@ycbcr.xyz> in
7818         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00318.html>.
7819         * lib/ftruncate.c (_WIN32_WINNT): Don't set to a smaller value.
7820         * lib/sethostname.c (_WIN32_WINNT): Likewise.
7821         * lib/stat-w32.c (_WIN32_WINNT): Likewise.
7823 2020-05-27  Bruno Haible  <bruno@clisp.org>
7825         javacomp: Make more robust in multithreaded applications.
7826         * lib/javacomp.c (write_temp_file): Pass an 'e' flag to fopen_temp.
7827         * modules/javacomp (Depends-on): Add fopen-gnu.
7829 2020-05-27  Bruno Haible  <bruno@clisp.org>
7831         mountlist: Make more robust in multithreaded applications.
7832         * lib/mountlist.c (setmntent, read_file_system_list): Pass an 'e' flag
7833         to fopen.
7834         * modules/mountlist (Depends-on): Add fopen-gnu.
7836 2020-05-27  Bruno Haible  <bruno@clisp.org>
7838         sethostname: Make more robust in multithreaded applications.
7839         * lib/sethostname.c (sethostname): Pass an 'e' flag to fopen.
7840         * modules/sethostname (Depends-on): Add fopen-gnu.
7842 2020-05-27  Bruno Haible  <bruno@clisp.org>
7844         readutmp: Make more robust in multithreaded applications.
7845         * lib/readutmp.c (read_utmp): Pass an 'e' flag to fopen.
7846         * modules/readutmp (Depends-on): Add fopen-gnu.
7848 2020-05-27  Bruno Haible  <bruno@clisp.org>
7850         getpass: Make more robust in multithreaded applications.
7851         * lib/getpass.c (getpass): Pass an 'e' flag to fopen.
7852         * modules/getpass (Depends-on): Add fopen-gnu.
7854 2020-05-27  Bruno Haible  <bruno@clisp.org>
7856         getloadavg: Make more robust in multithreaded applications.
7857         * lib/getloadavg.c (getloadavg): Pass an 'e' flag to fopen.
7858         * modules/getloadavg (Depends-on): Add fopen-gnu.
7860 2020-05-27  Bruno Haible  <bruno@clisp.org>
7862         exclude: Make more robust in multithreaded applications.
7863         * lib/exclude.c (add_exclude_file): Pass an 'e' flag to fopen.
7864         * modules/exclude (Depends-on): Add fopen-gnu.
7866 2020-05-27  Bruno Haible  <bruno@clisp.org>
7868         bitset: Make more robust in multithreaded applications.
7869         * lib/bitset/stats.c (bitset_stats_read, bitset_stats_write): Pass an
7870         'e' flag to fopen.
7871         * modules/bitset (Depends-on): Add fopen-gnu.
7873 2020-05-27  Daiki Ueno  <ueno@gnu.org>
7875         read-file: add RF_SENSITIVE flag
7876         * lib/read-file.h (RF_SENSITIVE): New define.
7877         * lib/read-file.c (fread_file, read_file): Take into account of
7878         RF_SENSITIVE flag.
7879         * modules/read-file (Depends-on): Add explicit_bzero.
7880         This adds an alternative behavior of those functions to explicitly
7881         clear the internal memory block when it becomes unused.  This is
7882         useful for reading sensitive information from a file.
7884 2020-05-27  Daiki Ueno  <ueno@gnu.org>
7886         read-file: add flags to modify reading behavior
7887         * lib/read-file.h (RF_BINARY): New define.
7888         (fread_file, read_file): Take FLAGS argument.
7889         (read_binary_file): Remove.
7890         * lib/read-file.c (internal_read_file): Merge into ...
7891         (read_file): ... here.
7892         * modules/read-file-tests (Files): Add "tests/macros.h".
7893         * tests/test-read-file.c (main): Refactor using ASSERT macro.
7894         * NEWS: Mention this change.
7896 2020-05-26  Bernhard Voelker  <mail@bernhard-voelker.de>
7898         doc/gnulib-intro.texi: add missing "to" in sentence
7899         Reported by Bjarni Ingi Gislason <bjarniig@rhi.hi.is> in
7900         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00316.html>.
7901         * doc/gnulib-intro.texi (Collaborative Development): Add "to".
7903 2020-05-26  Bruno Haible  <bruno@clisp.org>
7905         count-one-bits: Fix MSVC specific code.
7906         Reported by Gisle Vanem <gisle.vanem@gmail.com> in
7907         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00309.html>.
7908         * lib/count-one-bits.h (COUNT_ONE_BITS_GENERIC): Don't define if we're
7909         using GCC.
7910         [_MSC_VER]: Use correct syntax for #pragma intrinsic.
7911         (__popcnt64): In 32-bit mode, define as an inline function.
7912         (COUNT_ONE_BITS): Rename first argument to GCC_BUILTIN.
7914 2020-05-26  Bruno Haible  <bruno@clisp.org>
7916         argz: Avoid name clashes through argz.h.
7917         Reported by Gisle Vanem <gisle.vanem@gmail.com> in
7918         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00308.html>.
7919         * lib/argz.h: Don't use __ prefixed identifiers.
7920         (const): Remove definition.
7921         (argz_next): Remove inline definitions.
7923 2020-05-26  Daiki Ueno  <ueno@gnu.org>
7925         read-file: make use of fopen-gnu
7926         * lib/read-file.c (read_file): Pass an 'e' flag to fopen.
7927         (read_binary_file): Likewise.
7928         * modules/read-file (Depends-on): Add fopen-gnu.
7930 2020-05-25  Paul Eggert  <eggert@cs.ucla.edu>
7932         getentropy, getrandom: new modules
7933         * MODULES.html.sh (func_all_modules):
7934         * lib/unistd.in.h (getentropy, getrandom):
7935         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS):
7936         * modules/unistd (unistd.h):
7937         Add support for getentropy, getrandom.
7938         * doc/glibc-functions/getentropy.texi (getentropy):
7939         * doc/glibc-functions/getrandom.texi (getrandom):
7940         These are now fixed on some platforms.
7941         * lib/getentropy.c, lib/getrandom.c, lib/sys_random.in.h:
7942         * m4/getentropy.m4, m4/getrandom.m4:
7943         * modules/getentropy, modules/getentropy-tests:
7944         * modules/getrandom, modules/getrandom-tests:
7945         * tests/test-getentropy.c, tests/test-getrandom.c:
7946         New files.
7948 2020-05-25  Bruno Haible  <bruno@clisp.org>
7950         Add missing C99 dependencies.
7951         Reported by Paul Smith <psmith@gnu.org> in
7952         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00290.html>.
7953         * modules/assert (Depends-on): Add c99.
7954         * modules/filenamecat-lgpl (Depends-on): Likewise.
7955         * modules/libc-config (Depends-on): Likewise.
7956         * modules/mktime (Depends-on): Likewise.
7957         * modules/random_r (Depends-on): Likewise.
7958         * modules/regex (Depends-on): Likewise.
7959         * modules/scratch_buffer (Depends-on): Likewise.
7960         * modules/timespec-add (Depends-on): Likewise.
7961         * modules/timespec-sub (Depends-on): Likewise.
7962         * modules/verify (Depends-on): Likewise.
7964 2020-05-24  Paul Eggert  <eggert@cs.ucla.edu>
7966         explicit_bzero-tests: pacify -Wmissing-declarations
7967         * tests/test-explicit_bzero.c (do_secret_stuff, test_stack):
7968         Now static.
7970 2020-05-24  Bruno Haible  <bruno@clisp.org>
7972         fopen-gnu: Add tests.
7973         * tests/test-fopen-gnu.c: New file.
7974         * modules/fopen-gnu-tests: New file.
7976         fopen-gnu: New module.
7977         Suggested by Tim Rühsen <tim.ruehsen@gmx.de> in
7978         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00119.html>.
7979         * lib/fopen.c (rpl_fopen): When the fopen-gnu module is enabled and the
7980         mode contains an 'x' or 'e' flag, use open() followed by fdopen().
7981         * m4/fopen.m4 (gl_FUNC_FOPEN_GNU): New macro.
7982         * modules/fopen-gnu: New file.
7983         * doc/posix-functions/fopen.texi: Document the 'fopen-gnu' module.
7985 2020-05-24  Bruno Haible  <bruno@clisp.org>
7987         open, openat: Really support O_CLOEXEC.
7988         * lib/open.c (open): When have_cloexec is still undecided, do pass a
7989         O_CLOEXEC flag to orig_open.
7990         * lib/openat.c (rpl_openat): When have_cloexec is still undecided, do
7991         pass a O_CLOEXEC flag to orig_openat.
7992         * tests/test-open.h (test_open): Verify that O_CLOEXEC is honoured.
7993         * modules/open-tests (Depends-on): Add fcntl.
7994         * modules/openat-tests (Depends-on): Likewise.
7995         * modules/fcntl-safer-tests (Depends-on): Likewise.
7997 2020-05-24  Bruno Haible  <bruno@clisp.org>
7999         fopen: Fix the trailing slash workaround.
8000         * lib/fopen.c (rpl_fopen): Parse the mode string. Recognize "r+" as a
8001         write access. Pass the right flags to open().
8002         * tests/test-fopen.h (test_fopen): Add a few more tests on directories.
8004 2020-05-23  Paul Eggert  <eggert@cs.ucla.edu>
8006         assure: new macro ‘affirm’
8007         * lib/assure.h: Include verify.h.
8008         (affirm): New macro, after a suggestion by Marc Nieper-Wißkirchen in:
8009         https://lists.gnu.org/r/bug-gnulib/2020-05/msg00263.html
8010         and commentary by Bruno Haible in:
8011         https://lists.gnu.org/r/bug-gnulib/2020-05/msg00278.html
8012         * modules/assure (Depends-on:): Add verify.
8014 2020-05-23  Bruno Haible  <bruno@clisp.org>
8016         calloc-gnu: Make test work in non-flat address spaces.
8017         Uses code by Paul Eggert.
8018         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Allow a calloc() implementation
8019         to return more than SIZE_MAX bytes, but only without wrap-around bugs.
8021 2020-05-23  Bruno Haible  <bruno@clisp.org>
8023         calloc-gnu: Avoid wrong configure results with GCC's AddressSanitizer.
8024         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Split the AC_RUN_IFELSE into two
8025         AC_RUN_IFELSE invocations.
8027 2020-05-23  Bruno Haible  <bruno@clisp.org>
8029         isnanf, isnanl, isnan: Don't use nonexistent builtins with clang.
8030         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM,
8031         gl_ISNANF_WORKS): Don't use __builtin_isnanf on clang versions that
8032         don't have it.
8033         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
8034         gl_FUNC_ISNANL_WORKS): Don't use __builtin_isnanl on clang versions that
8035         don't have it.
8036         * lib/isnanf-nolibm.h (__has_builtin): New macro.
8037         (isnanf): Don't use __builtin_isnanf on clang versions that don't have
8038         it.
8039         * lib/isnanl-nolibm.h (__has_builtin): New macro.
8040         (isnanl): Don't use __builtin_isnanl on clang versions that don't have
8041         it.
8042         * lib/math.in.h (__has_builtin): New macro.
8043         (isnanf): Don't use __builtin_isnanf on clang versions that don't have
8044         it.
8045         (isnanl): Don't use __builtin_isnanl on clang versions that don't have
8046         it.
8047         (isnan): Don't use the builtins on clang versions that don't have
8048         __builtin_isnanf and __builtin_isnanl.
8050 2020-05-23  Bruno Haible  <bruno@clisp.org>
8052         calloc-gnu: Avoid wrong configure results with clang.
8053         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Mark the pointer variable as
8054         'volatile', to defeat compiler optimizations.
8056 2020-05-23  Bruno Haible  <bruno@clisp.org>
8058         isnanl, isnanl-nolibm: Make a test work better with "gcc -O2" on x86_64.
8059         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Pass the
8060         'long double' values by reference, with values taken from a statically
8061         allocated array.
8063 2020-05-23  Bruno Haible  <bruno@clisp.org>
8065         findprog-in: Ignore directories.
8066         Reported by Frederick Eaton via Dmitry Goncharov in
8067         <https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00003.html>.
8068         * lib/findprog-in.c (find_in_given_path): When the file found is a
8069         directory, set errno to EACCES and, during a PATH search, continue
8070         searching.
8071         * modules/findprog-in (Depends-on): Add sys_stat, stat.
8073 2020-05-23  Paul Eggert  <eggert@cs.ucla.edu>
8075         verify: document ‘assume’ better
8076         * lib/verify.h (assume): Say it’s for static analysis, not dynamic.
8078 2020-05-22  Asher Gordon  <AsDaGo@posteo.net>
8080         gendocs: Clarify licenses for templates.
8081         * doc/gendocs_template: Add a GNU All-Permissive license notice
8082         and bump Parent-Version.
8083         * doc/gendocs_template_min: Add a GNU All-Permissive license
8084         notice and copy the explanatory comment about the license notice
8085         at the bottom from gendocs_template.
8087 2020-05-21  Bruno Haible  <bruno@clisp.org>
8089         group-member: Relicense under LGPLv2+.
8090         Jim Meyering's approval is in
8091         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00218.html>.
8092         Paul Eggert's approval is in
8093         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00225.html>.
8094         Eric Blake's approval is in
8095         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00217.html>.
8096         * modules/group-member (License): Change to LGPLv2+.
8098 2020-05-21  Bruno Haible  <bruno@clisp.org>
8100         memmem: Avoid wrong configure results with "clang -fsanitize=undefined".
8101         Reported by Tim Rühsen in
8102         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00207.html>.
8103         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Use NULL + 1, not NULL.
8105 2020-05-21  Bruno Haible  <bruno@clisp.org>
8107         regex: Avoid wrong configure results with "clang -fsanitize=leak".
8108         Reported by Tim Rühsen in
8109         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00207.html>.
8110         * m4/regex.m4 (gl_REGEX): Free compiled regexes and allocated registers
8111         before returning with status 0.
8113 2020-05-21  Bruno Haible  <bruno@clisp.org>
8115         glob: Avoid wrong configure results with "clang -fsanitize=leak".
8116         Reported by Tim Rühsen in
8117         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00207.html>.
8118         * m4/glob.m4 (gl_GLOB): Free allocated memory before returning.
8120 2020-05-21  Bruno Haible  <bruno@clisp.org>
8122         fchownat: Support clang -fsanitize=implicit-integer-sign-change better.
8123         Reported by Tim Rühsen in
8124         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00207.html>.
8125         * m4/fchownat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG,
8126         gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): Cast -1 to uid_t or git_t,
8127         respectively.
8129 2020-05-18  Tim Rühsen  <tim.ruehsenqgmx.de>
8131         getdelim: Avoid wrong configure results with gcc -fsanitize=address.
8132         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Fix memleak.
8134 2020-05-19  Paul Eggert  <eggert@cs.ucla.edu>
8136         ftoastr: fix ifndef typo
8137         * lib/ftoastr.h (_GL_FTOASTR_H): Define.
8139 2020-05-19  Bruno Haible  <bruno@clisp.org>
8141         havelib: Tweak documentation.
8142         * doc/havelib.texi (Searching for Libraries): Fix typo.
8144 2020-05-18  Siddhesh Poyarekar  <siddhesh@gotplt.org>
8146         vcs-to-changelog: Rename vcs_to_changelog.py to use hyphens.
8147         This was needed earlier because modules had to import the main script,
8148         but that is no longer true.  Rename the script so that it is
8149         consistent with all other scripts in gnulib and uses hyphens.
8150         * build-aux/vcs_to_changelog.py: Rename to...
8151         * build-aux/vcs-to-changelog.py: ... this.
8152         * doc/vcs-to-changelog.texi (VCS To ChangeLog): Update reference.
8153         * modules/vcs-to-changelog: Likewise.
8155 2020-05-17  Bruno Haible  <bruno@clisp.org>
8157         Clarify intended usage of the license file modules.
8158         Reported by Asher Gordon <AsDaGo@posteo.net> in
8159         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00126.html>.
8160         * doc/licenses-texi.texi (License Texinfo sources): Mention the
8161         GNU AGPL. Explain the intended usage of the modules.
8162         * modules/fdl (Notice): Discourage use as a module.
8163         * modules/fdl-1.3 (Notice): Likewise.
8165 2020-05-17  Akim Demaille  <akim@lrde.epita.fr>
8167         hash: add hash_xinsert
8168         * lib/hash.h, lib/xhash.c (hash_xinsert): New.
8170 2020-05-16  Bruno Haible  <bruno@clisp.org>
8172         findprog-lgpl: Fix link error (existing since 2008-09-02).
8173         * modules/findprog-lgpl (Makefile.am): Arrange to compile
8174         findprog-lgpl.c, not findprog.c.
8175         * lib/findprog.c (find_in_path): Add LGPLed replacement code for
8176         XNMALLOC.
8178 2020-05-15  Paul Eggert  <eggert@cs.ucla.edu>
8180         c-stack: pacify -Wunused-result when DEBUG
8181         Problem reported by Marc Nieper-Wißkirchen in:
8182         https://lists.gnu.org/r/bug-gnulib/2020-05/msg00132.html
8183         * lib/c-stack.c (segv_handler, overflow_handler, segv_handler) [DEBUG]:
8184         Explicitly ignore write failures.
8186 2020-05-13  Jim Meyering  <meyering@fb.com>
8188         announce-gen: improve a comment
8189         * build-aux/announce-gen: Improve comment.
8191 2020-05-12  Paul Eggert  <eggert@cs.ucla.edu>
8193         xalloc: pacify -Wanalyzer-possible-null-argument
8194         Problem reported for GCC 10.1.0 by Bruno Haible in:
8195         https://lists.gnu.org/r/bug-gnulib/2020-05/msg00118.html
8196         * lib/xmalloc.c (HAVE_GNU_MALLOC, HAVE_GNU_REALLOC): New constants.
8197         (xmalloc): Suppress unnecessary check if HAVE_GNU_MALLOC.
8198         (xrealloc): Suppress unnecssary check if HAVE_GNU_REALLOC.
8200 2020-05-11  Paul Eggert  <eggert@cs.ucla.edu>
8202         careadlinkat: fix GCC 10 workaround
8203         * lib/careadlinkat.c (careadlinkat) [GCC_LINT]:
8204         Massage the code so that it’s closer to what it was before
8205         the GCC 10.1.0 workaround was introduced.  This fixes
8206         a loop when !buffer and the bug workaround is in effect.
8207         Remove unnecessary casts.  Defend in a different way
8208         against (buffer && !buffer_size), by adding at least 1
8209         to buf_size each time through the loop.
8211 2020-05-10  Bruno Haible  <bruno@clisp.org>
8213         doc: Mark HP-UX as unsupported.
8214         * doc/gnulib-intro.texi (Target Platforms): List HP-UX as unsupported.
8216 2020-05-10  Paul Eggert  <eggert@cs.ucla.edu>
8218         careadlinkat: limit GCC workaround
8219         * lib/careadlinkat.c (careadlinkat): Limit workaround to GCC
8220         10.1.0 and later, since the workaround is pretty bad and the GCC
8221         bug should get fixed.
8223 2020-05-10  Bruno Haible  <bruno@clisp.org>
8225         havelib: Enhance documentation.
8226         * doc/havelib.texi (Searching for Libraries): Mention the bad
8227         consequences of using LIBxxx instead of LTLIBxxx and vice versa.
8229 2020-05-10  Bruno Haible  <bruno@clisp.org>
8231         attribute: Clarify list of attributes.
8232         * lib/attribute.h: Reorder the list of attributes, and group them by
8233         purpose.
8235 2020-05-10  Bruno Haible  <bruno@clisp.org>
8237         string: Fix compilation error in C++ mode.
8238         * lib/warn-on-use.h (_GL_WARN_ON_USE_CXX): In C mode, use plain
8239         _GL_WARN_ON_USE.
8240         * lib/string.in.h (strchr, strpbrk, strrchr): Use _GL_WARN_ON_USE_CXX
8241         instead of _GL_WARN_ON_USE.
8243 2020-05-10  Akim Demaille  <akim@lrde.epita.fr>
8245         announce-gen: add support for dist-lzip
8246         * build-aux/announce-gen (@archive_suffixes): Add tar.lz.
8248 2020-05-09  Paul Eggert  <eggert@cs.ucla.edu>
8250         manywarnings: port to GCC 10.1
8251         * build-aux/gcc-warning.spec:
8252         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C)):
8253         Add GCC 10.1.0 warnings.
8255         careadlinkat: pacify -Wreturn-local-addr
8256         * lib/careadlinkat.c (careadlinkat) [GCC_LINT]:
8257         Pacify gcc 10’s -Wreturn-local-addr option.
8258         Simplify some of the later code.
8260 2020-05-09  Paul Eggert  <eggert@cs.ucla.edu>
8262         attribute: remove ATTRIBUTE_DEPRECATED
8263         * lib/attribute.h: Improve recently-added comments, mostly
8264         by shortening them (use active voice, etc.).
8265         (ATTRIBUTE_DEPRECATED): Remove, as it duplicates DEPRECATED.
8266         Problem reported by Bruno Haible in:
8267         https://lists.gnu.org/r/bug-gnulib/2020-05/msg00089.html
8269 2020-05-09  Bruno Haible  <bruno@clisp.org>
8271         attribute: Add comments.
8272         * lib/attribute.h: Document each macro.
8274 2020-05-09  Akim Demaille  <akim@lrde.epita.fr>
8276         bitset: use the attribute module
8277         * modules/bitset: Depend on 'attribute'.
8278         * lib/bitset/base.h (ATTRIBUTE_UNUSED): Remove.
8279         * lib/bitset.c, lib/bitset/array.c, lib/bitset/list.c,
8280         * lib/bitset/stats.c, lib/bitset/table.c, lib/bitset/vector.c:
8281         Use MAYBE_UNUSED instead of ATTRIBUTE_UNUSED.
8283 2020-05-09  Bruno Haible  <bruno@clisp.org>
8285         c-stack: Fix warning when DEBUG is enabled.
8286         Patch suggested by Marc Nieper-Wißkirchen <marc.nieper+gnu@gmail.com> in
8287         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00081.html>.
8288         * lib/c-stack.c: Include <stdio.h>.
8290 2020-05-09  Bruno Haible  <bruno@clisp.org>
8292         Remove redundant definitions of _GL_ATTRIBUTE_FORMAT.
8293         * lib/argp.h (_GL_ATTRIBUTE_FORMAT): Remove macro.
8294         * lib/argp-fmtstream.h (_GL_ATTRIBUTE_FORMAT): Likewise.
8295         * lib/c-snprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
8296         * lib/c-vasnprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
8297         * lib/c-vasprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
8298         * lib/c-vsnprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
8299         * lib/c-xvasprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
8300         * lib/error.h (_GL_ATTRIBUTE_FORMAT): Likewise.
8301         * lib/parse-datetime.y (_GL_ATTRIBUTE_FORMAT): Likewise.
8302         * lib/vasnprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
8303         * lib/xprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
8304         * lib/xvasprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
8306 2020-05-09  Bruno Haible  <bruno@clisp.org>
8308         Remove redundant definitions of _GL_ATTRIBUTE_ALLOC_SIZE.
8309         Reported by Akim Demaille in
8310         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00077.html>.
8311         * lib/eealloc.h (_GL_ATTRIBUTE_ALLOC_SIZE): Remove macro.
8312         * lib/pagealign_alloc.h (_GL_ATTRIBUTE_ALLOC_SIZE): Likewise.
8313         * lib/xalloc.h (_GL_ATTRIBUTE_ALLOC_SIZE): Likewise.
8315 2020-05-09  Bruno Haible  <bruno@clisp.org>
8317         stdio, monetary: Don't redefine _GL_ATTRIBUTE_FORMAT.
8318         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT): Don't override the definition
8319         that usually comes from m4/gnulib-common.m4.
8320         * lib/monetary.in.h (_GL_ATTRIBUTE_FORMAT): Likewise.
8322 2020-05-09  Bruno Haible  <bruno@clisp.org>
8324         dirent, stdlib, wchar, string: Don't redefine _GL_ATTRIBUTE_PURE.
8325         * lib/dirent.in.h (_GL_ATTRIBUTE_PURE): Don't override the definition
8326         that usually comes from m4/gnulib-common.m4.
8327         * lib/stdlib.in.h (_GL_ATTRIBUTE_PURE): Likewise.
8328         * lib/string.in.h (_GL_ATTRIBUTE_PURE): Likewise.
8329         * lib/wchar.in.h (_GL_ATTRIBUTE_PURE): Likewise.
8331 2020-05-09  Bruno Haible  <bruno@clisp.org>
8333         uchar: Work around incorrect char16_t, char32_t types on Haiku 2020.
8334         * lib/uchar.in.h (char16_t): Define as macro if
8335         GNULIB_OVERRIDES_CHAR16_T.
8336         (char32_t): Define as macro if GNULIB_OVERRIDES_CHAR32_T.
8337         * m4/uchar.m4 (gl_TYPE_CHAR16_T, gl_TYPE_CHAR32_T): New macros.
8338         (gl_UCHAR_H): Invoke them.
8339         (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_OVERRIDES_CHAR16_T,
8340         GNULIB_OVERRIDES_CHAR32_T.
8341         * m4/mbrtoc32.m4 (gl_FUNC_MBRTOC32, gl_MBRTOC32_SANITYCHECK): Require
8342         gl_TYPE_CHAR32_T and test GNULIB_OVERRIDES_CHAR32_T.
8343         * modules/uchar (Makefile.am): Substitute GNULIB_OVERRIDES_CHAR16_T,
8344         GNULIB_OVERRIDES_CHAR32_T.
8346 2020-05-09  Bruno Haible  <bruno@clisp.org>
8348         Macro tweaks.
8349         * m4/c32rtomb.m4 (gl_FUNC_C32RTOMB): Correct config.h comment.
8350         * m4/wint_t.m4 (gt_TYPE_WINT_T): Correct indentation.
8352 2020-05-08  Bruno Haible  <bruno@clisp.org>
8354         c32rtomb: Avoid compilation failure on Haiku.
8355         * m4/c32rtomb.m4 (gl_FUNC_C32RTOMB): Test for c32rtomb without excluding
8356         inline definitions.
8357         * doc/posix-functions/c32rtomb.texi: Mention the Haiku problem.
8359 2020-05-08  Bruno Haible  <bruno@clisp.org>
8361         mbrtoc32: Avoid compilation failure on Haiku.
8362         * m4/mbrtoc32.m4 (gl_CHECK_FUNC_MBRTOC32): New macro.
8363         (gl_FUNC_MBRTOC32, gl_MBRTOC32_SANITYCHECK): Use it instead of
8364         AC_CHECK_FUNCS_ONCE.
8365         * doc/posix-functions/mbrtoc32.texi: Mention the Haiku problem.
8367 2020-05-08  Bruno Haible  <bruno@clisp.org>
8369         limits-h: Define LONG_BIT correctly on Haiku/x86_64.
8370         * lib/limits.in.h: Define and test _GL_ALREADY_INCLUDING_LIMITS_H.
8372 2020-05-08  Bruno Haible  <bruno@clisp.org>
8374         list: Update documentation.
8375         Reported by Marc Nieper-Wißkirchen <marc.nieper+gnu@gmail.com> in
8376         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00062.html>.
8377         * doc/containers.texi (Container data types): Document the new list
8378         operations and their complexity.
8380 2020-05-08  Bruno Haible  <bruno@clisp.org>
8382         ignore-value tests: Use module 'attribute'.
8383         * m4/gnulib-common.m4 (gl_COMMON_BODY): Fix a typo.
8384         * tests/test-ignore-value.c: Include attribute.h.
8385         (_GL_ATTRIBUTE_RETURN_CHECK): Remove macro. Use NODISCARD instead.
8386         * modules/ignore-value-tests (Depends-on): Add attribute.
8388 2020-05-08  Bruno Haible  <bruno@clisp.org>
8390         uniname/uniname: Use module 'attribute'.
8391         * lib/uniname/gen-uninames.lisp: Emit a reference to ATTRIBUTE_PACKED.
8392         * lib/uniname/uninames.h: Regenerated.
8393         * lib/uniname/uniname.c: Include attribute.h.
8394         * modules/uniname/uniname (Depends-on): Add attribute.
8396 2020-05-08  Bruno Haible  <bruno@clisp.org>
8398         c32rtomb: Use module 'attribute'.
8399         * lib/c32rtomb.c: Include attribute.h.
8400         (FALLTHROUGH): Remove macro.
8401         * modules/c32rtomb (Depends-on): Add attribute.
8403 2020-05-08  Bruno Haible  <bruno@clisp.org>
8405         xsize: Use module 'attribute'.
8406         * lib/xsize.h: Include attribute.h. Use ATTRIBUTE_PURE.
8407         * modules/xsize (Depends-on): Add attribute.
8409 2020-05-06  Paul Eggert  <eggert@cs.ucla.edu>
8411         * m4/gnulib-common.m4 (gl_COMMON_BODY): Minor style fixes.
8413         * lib/attribute.h: Minor style fixes.
8415         Fix version-etc glitch on OpenIndiana
8416         Problem reported by Mats Erik Andersson in:
8417         https://lists.gnu.org/r/bug-gnulib/2020-05/msg00067.html
8418         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Remove defn
8419         that now clashes with gnulib-common.h.  All uses changed.
8421 2020-05-03  Paul Eggert  <eggert@cs.ucla.edu>
8423         attribute: new module
8424         This simplifies use of GCC and C2X attributes like ‘deprecated’.
8425         * MODULES.html.sh: Add attribute.
8426         * doc/attribute.texi, lib/attribute.h, modules/attribute: New files.
8427         * doc/gnulib.texi (Particular Modules): Add Attributes.
8428         * lib/backupfile.c, lib/fnmatch.c, lib/freopen-safer.c:
8429         * lib/mbrtoc32.c, lib/mbrtowc.c, lib/nstrftime.c, lib/quotearg.c:
8430         * lib/savewd.c, lib/unistr/u8-uctomb-aux.c, lib/unistr/u8-uctomb.c:
8431         * lib/vasnprintf.c:
8432         Include attribute.h, and let it define FALLTHROUGH.
8433         * lib/bitset/base.h, lib/c-stack.c (__attribute__): Remove macro.
8434         * lib/bitset/base.h (ATTRIBUTE_UNUSED): Define in terms of
8435         _GL_ATTRIBUTE_MAYBE_UNUSED, for forwards compatibility to C2X.
8436         * lib/dfa.c (FALLTHROUGH): Define consistently with gl_COMMON_BODY.
8437         This is a copy since Gawk doesn’t use Gnulib.
8438         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Remove definition that
8439         is incompatible with gl_COMMON_BODY’s.  All uses changed.
8440         * lib/fts.c: Include attribte.h, for FALLTHROUGH.
8441         Keep the existing FALLTHROUGH definition since Glibc might use it,
8442         and it does no harm to Gnulib’s FALLTHROUGH.
8443         * lib/fts_.h, lib/inttostr.h:
8444         (__GNUC_PREREQ): Remove; no longer needed.
8445         (__attribute_warn_unused_result__): Remove.  All uses
8446         replaced by _GL_ATTRIBUTE_NODISCARD.
8447         * lib/gl_list.h, lib/gl_map.h, lib/gl_omap.h, lib/gl_oset.h:
8448         * lib/gl_set.h: Prefer _GL_ATTRIBUTE_NODISCARD to an ifdeffed
8449         __attribute__ ((__warn_unused_result__)), for forward
8450         compatibility to C2X.
8451         * lib/hash.h (_GL_ATTRIBUTE_WUR): Remove.  All uses replaced by
8452         _GL_ATTRIBUTE_NODISCARD.
8453         (_GL_ATTRIBUTE_DEPRECATED): Remove, since gl_COMMON_BODY defines it.
8454         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Remove.  All uses
8455         replaced by gl_COMMON_BODY’s implementation, which has a
8456         slightly different signature.
8457         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK):
8458         Remove.  All uses replaced by _GL_ATTRIBUTE_NODISCARD.
8459         * lib/unused-parameter.h (_GL_UNUSED_PARAMETER):
8460         Define in terms of _GL_ATTRIBUTE_MAYBE_UNUSED.
8461         No doubt all uses should be replaced, at some point.
8462         * m4/gnulib-common.m4 (_GL_GNUC_PREREQ): New macro.
8463         (_Noreturn): Use it.
8464         (_GL_HAS_ATTRIBUTE, _GL_ATTRIBUTE_ALLOC_SIZE)
8465         (_GL_ATTRIBUTE_ALWAYS_INLINE, _GL_ATTRIBUTE_ARTIFICIAL)
8466         (_GL_ATTRIBUTE_COLD)
8467         (_GL_ATTRIBUTE_DEPRECATED, _GL_ATTRIBUTE_ERROR)
8468         (_GL_ATTRIBUTE_WARNING, _GL_ATTRIBUTE_EXTERNALLY_VISIBLE)
8469         (_GL_ATTRIBUTE_FALLTHROUGH, _GL_ATTRIBUTE_FORMAT)
8470         (_GL_ATTRIBUTE_LEAF, _GL_ATTRIBUTE_MAY_ALIAS)
8471         (_GL_ATTRIBUTE_MAYBE_UNUSED)
8472         (_GL_ATTRIBUTE_NODISCARD, _GL_ATTRIBUTE_NOINLINE)
8473         (_GL_ATTRIBUTE_NONNULL, _GL_ATTRIBUTE_NONSTRING)
8474         (_GL_ATTRIBUTE_NOTHROW, _GL_ATTRIBUTE_PACKED, _GL_ATTRIBUTE_PURE)
8475         (_GL_ATTRIBUTE_RETURNS_NONNULL)
8476         (_GL_ATTRIBUTE_SENTINEL): New macros.
8477         * modules/backup-rename, modules/backupfile, modules/c-vasnprintf:
8478         * modules/fnmatch, modules/freopen-safer, modules/fts:
8479         * modules/mbrtoc32, modules/mbrtowc, modules/nstrftime:
8480         * modules/quotearg, modules/savewd:
8481         * modules/unistdio/u16-u16-vasnprintf:
8482         * modules/unistdio/u16-vasnprintf:
8483         * modules/unistdio/u32-u32-vasnprintf:
8484         * modules/unistdio/u32-vasnprintf:
8485         * modules/unistdio/u8-u8-vasnprintf:
8486         * modules/unistdio/u8-vasnprintf:
8487         * modules/unistdio/ulc-vasnprintf:
8488         * modules/unistr/u8-uctomb, modules/vasnprintf:
8489         (Depends-on:): Add attribute module.
8491 2020-05-03  Bruno Haible  <bruno@clisp.org>
8493         bison: Fix today's commit.
8494         * m4/bison.m4 (gl_PROG_BISON): Set ac_verc_fail to 'yes', not 'true'.
8496 2020-05-03  Bruno Haible  <bruno@clisp.org>
8498         list-c++: Add get_first, get_last, set_first, set_last operations.
8499         * lib/gl_list.hh (class gl_List): Add methods get_first, get_last,
8500         set_first, set_last.
8501         * lib/gl_list.h: Tweak comments.
8503 2020-05-03  Akim Demaille  <akim@lrde.epita.fr>
8505         bison: rely on bison's %require to check a version requirement
8506         See https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00021.html.
8507         * m4/bison.m4 (gl_PROG_BISON): Let bison itself decide if it it recent
8508         enough of not.
8509         So far it is the only know Yacc tool that supports '%require'.
8510         Other yaccs will actually even choke on seeing the -o option after the
8511         input file name.
8512         * m4/parse-datetime.m4: Simplify gl_PROG_BISON invocation.
8514 2020-05-02  Bruno Haible  <bruno@clisp.org>
8516         list: Add get_first, get_last, set_first, set_last operations.
8517         * lib/gl_list.h (gl_list_get_first, gl_list_get_last,
8518         gl_list_nx_set_first, gl_list_nx_set_last): New functions.
8519         * lib/gl_xlist.h (gl_list_set_first, gl_list_set_last): New functions.
8521 2020-05-02  Bruno Haible  <bruno@clisp.org>
8523         list: Remove redundant code for remove_first and remove_last operations.
8524         * lib/gl_list.h (struct gl_list_implementation): Remove fields
8525         remove_first, remove_last.
8526         (gl_list_remove_first, gl_list_remove_last): Implement in a generic way.
8527         * lib/gl_array_list.c: Revert last change.
8528         * lib/gl_carray_list.c: Likewise.
8529         * lib/gl_anylinked_list2.h: Likewise.
8530         * lib/gl_linked_list.c: Likewise.
8531         * lib/gl_linkedhash_list.c: Likewise.
8532         * lib/gl_anytree_list2.h: Likewise.
8533         * lib/gl_avltree_list.c: Likewise.
8534         * lib/gl_avltreehash_list.c: Likewise.
8535         * lib/gl_rbtree_list.c: Likewise.
8536         * lib/gl_rbtreehash_list.c: Likewise.
8537         * lib/gl_sublist.c: Likewise.
8539 2020-05-02  Bruno Haible  <bruno@clisp.org>
8541         bison-i18n: Add support for cross-compilation.
8542         Reported by Hongxu Jia <hongxu.jia@windriver.com> in
8543         <https://lists.gnu.org/archive/html/bison-patches/2016-02/msg00000.html>
8544         via Akim Demaille <akim@lrde.epita.fr>.
8545         * m4/bison-i18n.m4 (BISON_I18N): Accept a configure option
8546         --with-bison-prefix=PREFIX and use it to determine BISON_LOCALEDIR.
8547         Don't use bison's --print-localedir option when cross-compiling.
8548         Also, fix an error message and a comment.
8550 2020-05-01  Bruno Haible  <bruno@clisp.org>
8552         list: Add remove_first and remove_last operations.
8553         Suggested by Marc Nieper-Wißkirchen <marc.nieper+gnu@gmail.com> in
8554         <https://lists.gnu.org/archive/html/bug-gnulib/2020-04/msg00092.html>.
8555         * lib/gl_list.h (struct gl_list_implementation): Add fields
8556         remove_first, remove_last.
8557         (gl_list_remove_first, gl_list_remove_last): New functions.
8558         * lib/gl_array_list.c (gl_array_remove_first, gl_array_remove_last): New
8559         functions, based on gl_array_remove_at.
8560         (gl_array_list_implementation): Implement the new operations.
8561         * lib/gl_carray_list.c (gl_carray_remove_first, gl_carray_remove_last):
8562         New functions, based on gl_carray_remove_at.
8563         (gl_carray_list_implementation): Implement the new operations.
8564         * lib/gl_anylinked_list2.h (gl_linked_remove_first,
8565         gl_linked_remove_last): New functions, based on gl_linked_remove_at.
8566         * lib/gl_linked_list.c (gl_linked_list_implementation): Implement the
8567         new operations.
8568         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation):
8569         Likewise.
8570         * lib/gl_anytree_list2.h (gl_tree_remove_first, gl_tree_remove_last):
8571         New functions, based on gl_tree_remove_at.
8572         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Implement the
8573         new operations.
8574         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
8575         Likewise.
8576         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Likewise.
8577         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation):
8578         Likewise.
8579         * lib/gl_sublist.c (gl_sublist_remove_first, gl_sublist_remove_last):
8580         New functions, based on gl_sublist_remove_at.
8581         (gl_sublist_list_implementation): Implement the new operations.
8582         * lib/gl_list.hh (class gl_List): Add methods remove_first,
8583         remove_last.
8584         * tests/test-array_list.c (main): Test also gl_list_remove_first and
8585         gl_list_remove_last.
8586         * tests/test-avltree_list.c (main): Likewise.
8587         * tests/test-avltreehash_list.c (main): Likewise.
8588         * tests/test-carray_list.c (main): Likewise.
8589         * tests/test-linked_list.c (main): Likewise.
8590         * tests/test-linkedhash_list.c (main): Likewise.
8591         * tests/test-rbtree_list.c (main): Likewise.
8592         * tests/test-rbtreehash_list.c (main): Likewise.
8594 2020-05-01  Bruno Haible  <bruno@clisp.org>
8596         parse-datetime: Fix a build failure with an older bison version.
8597         * modules/parse-datetime (Makefile.am): Don't do the post-processing of
8598         parse-datetime.tab.c if a suitable version of bison was not found.
8600 2020-05-01  Bruno Haible  <bruno@clisp.org>
8602         bison: New module.
8603         * m4/bison.m4 (gl_PROG_BISON): New macro, extracted from
8604         m4/parse-datetime.m4.
8605         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Invoke gl_PROG_BISON.
8606         * modules/bison: New file.
8607         * modules/parse-datetime (Files): Remove m4/bison.m4.
8608         (Depends-on): Add bison.
8610 2020-05-01  Jose E. Marchesi  <jemarch@gnu.org>
8612         Update users.txt.
8613         * users.txt: Add poke.
8615 2020-04-28  Bruno Haible  <bruno@clisp.org>
8617         posix_spawn_file_actions_addfchdir tests: Enhance test.
8618         * tests/test-posix_spawn5.c: Include findprog.h.
8619         (test): New function, extracted from main.
8620         (main): Invoke it. Also, invoke it with a program name such as
8621         "bin/pwd".
8622         * modules/posix_spawn_file_actions_addfchdir-tests (Depends-on): Add
8623         findprog.
8625 2020-04-28  Bruno Haible  <bruno@clisp.org>
8627         posix_spawn_file_actions_addchdir tests: Enhance test.
8628         * tests/test-posix_spawn4.c: Include findprog.h.
8629         (test): New function, extracted from main.
8630         (main): Invoke it. Also, invoke it with a program name such as
8631         "bin/pwd".
8632         * modules/posix_spawn_file_actions_addchdir-tests (Depends-on): Add
8633         findprog.
8635 2020-04-28  Bruno Haible  <bruno@clisp.org>
8637         posix_spawn_file_actions_destroy: Fix a crash (bug from 2019-06-10).
8638         * lib/spawn_faction_destroy.c (posix_spawn_file_actions_destroy): Don't
8639         access elements of the wrong union member.
8641 2020-04-27  Bruno Haible  <bruno@clisp.org>
8643         getdate: Remove deprecated module.
8644         * modules/getdate: Remove file.
8645         * doc/getdate.texi: Remove file.
8646         * lib/getdate.h: Remove file.
8647         * NEWS: Mention the removal.
8649 2020-04-27  Bruno Haible  <bruno@clisp.org>
8651         realloc: Remove deprecated module.
8652         * modules/realloc: Remove file.
8653         * NEWS: Mention the removal.
8655 2020-04-27  Bruno Haible  <bruno@clisp.org>
8657         calloc: Remove deprecated module.
8658         * modules/calloc: Remove file.
8659         * NEWS: Mention the removal.
8661 2020-04-27  Bruno Haible  <bruno@clisp.org>
8663         malloc: Remove deprecated module.
8664         * modules/malloc: Remove file.
8665         * NEWS: Mention the removal.
8667 2020-04-27  Bruno Haible  <bruno@clisp.org>
8669         fnmatch-posix: Remove deprecated module.
8670         * modules/fnmatch-posix: Remove file.
8671         * MODULES.html.sh (Enhancements for POSIX:2008 functions): Update.
8672         * NEWS: Mention the removal.
8674 2020-04-27  Bruno Haible  <bruno@clisp.org>
8676         pipe: Remove deprecated module.
8677         * modules/pipe: Remove file.
8678         * lib/pipe.h: Remove file.
8679         * NEWS: Mention the removal.
8681 2020-04-27  Bruno Haible  <bruno@clisp.org>
8683         getopt: Remove deprecated module.
8684         * modules/getopt: Remove file.
8685         * NEWS: Mention the removal.
8687 2020-04-27  Bruno Haible  <bruno@clisp.org>
8689         remove-dest-slash: Remove deprecated module.
8690         * modules/rename-dest-slash: Remove file.
8691         * MODULES.html.sh (Compatibility checks for POSIX:2008 functions):
8692         Update.
8693         * NEWS: Mention the removal.
8695 2020-04-27  Bruno Haible  <bruno@clisp.org>
8697         unictype/bidicategory-*: Remove deprecated modules.
8698         * modules/unictype/bidicategory-all: Remove file.
8699         * modules/unictype/bidicategory-byname: Remove file.
8700         * modules/unictype/bidicategory-name: Remove file.
8701         * modules/unictype/bidicategory-of: Remove file.
8702         * modules/unictype/bidicategory-test: Remove file.
8703         * MODULES.html.sh (Unicode string functions): Update.
8704         * NEWS: Mention the removals.
8706 2020-04-25  Paul Eggert  <eggert@cs.ucla.edu>
8708         Tune fts for FTS_LOGICAL+FTS_NOSTAT
8709         From a suggestion by Askar Safin in:
8710         https://lists.gnu.org/r/bug-gnulib/2020-04/msg00074.html
8711         * lib/fts.c (fts_build): If file types are known, optimize
8712         FTS_LOGICAL+FTS_NOSTAT for non-symlinks and non-directories the
8713         same way that we already optimize FTS_PHYSICAL+FTS_NOSTAT for
8714         non-directories.
8716 2020-04-19  Bruno Haible  <bruno@clisp.org>
8718         vasnprintf: Add support for printing wide characters using escapes.
8719         * lib/vasnprintf.c (ENABLE_WCHAR_FALLBACK): Document optional macro.
8720         (wctomb_fallback): New function.
8721         (local_wctomb): New function.
8722         (local_wcrtomb): New function or macro.
8723         (MAX_ROOM_NEEDED): Adjust estimate for %lc.
8724         (VASNPRINTF): Simplify %ls code by use of local_wcrtomb. Add code for
8725         %lc.
8727 2020-04-15  Paul Eggert  <eggert@cs.ucla.edu>
8729         fts: remove NOSTAT_LEAF_OPTIMIZATION
8730         It caused ‘find’ and ‘du’ to dump core, and it was useful
8731         only for obsolescent Linux filesystems anyway.  Problem reported in:
8732         https://lists.gnu.org/r/bug-gnulib/2020-04/msg00068.html
8733         Quite possibly there is still a serious underlying fts bug with
8734         tight-loop-check and mutating file systems, but if so this patch
8735         should cause the bug to be triggered less often.
8736         * lib/fts.c (enum leaf_optimization): Remove
8737         NOSTAT_LEAF_OPTIMIZATION, as it’s problematic.
8738         (S_MAGIC_REISERFS, S_MAGIC_XFS): Remove; no longer needed.
8739         (leaf_optimization): Remove special cases for ReiserFS and XFS.
8740         (fts_read): Remove NOSTAT_LEAF_OPTIMIZATION code.
8741         * lib/fts_.h (struct _ftsent.fts_n_dirs_remaining):
8742         Remove.  All uses removed.
8744 2020-04-13  Bastien Roucariès  <rouca@debian.org>
8746         explicit_bzero: Improve code style.
8747         * lib/explicit_bzero.c (explicit_bzero): Use '\0' instead of 0.
8749 2020-04-13  Bastien Roucariès  <rouca@debian.org>
8751         explicit_bzero: On native Windows, use SecureZeroMemory().
8752         * lib/explicit_bzero.c: Include <windows.h>.
8753         (explicit_bzero): On native Windows, use SecureZeroMemory.
8755 2020-04-13  Bastien Roucariès  <rouca@debian.org>
8757         explicit_bzero: Use memset_s() when available.
8758         * lib/explicit_bzero.c (__STDC_WANT_LIB_EXT1__): Define.
8759         (explicit_bzero): Use memset_s when available.
8760         * m4/explicit_bzero.m4 (gl_PREREQ_EXPLICIT_BZERO): Test for memset_s.
8762 2020-04-13  Bastien Roucariès  <rouca@debian.org>
8764         explicit_bzero tests: Fix test failure on OpenBSD 6.5.
8765         * tests/test-explicit_bzero.c (test_heap): Handle implementations of
8766         free() that overwrite the memory with canaries.
8768 2020-04-13  Akim Demaille  <akim@lrde.epita.fr>
8770         bootstrap: recommend git submodule update --init
8771         Reported by Bruno Haible.
8772         <https://lists.gnu.org/r/bug-gnulib/2020-03/msg00101.html>
8773         * build-aux/bootstrap: recommand "git submodule update --init"
8774         rather than "git submodule init".
8776 2020-04-12  Bruno Haible  <bruno@clisp.org>
8778         explicit_bzero: Add tests.
8779         * tests/test-explicit_bzero.c: New file.
8780         * modules/explicit_bzero-tests: New file.
8782 2020-04-11  Bruno Haible  <bruno@clisp.org>
8784         explicit_bzero: Relicense under LGPLv2+.
8785         Approved by Paul Eggert.
8786         * modules/explicit_bzero (License): Change to LGPLv2+.
8788 2020-04-10  Bruno Haible  <bruno@clisp.org>
8790         findprog, relocatable-prog: Ignore directories during PATH search.
8791         Reported by Frederick Eaton via Dmitry Goncharov in
8792         <https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00003.html>.
8794         * lib/findprog.c (find_in_path): When the file found in a PATH element
8795         is a directory, continue searching.
8796         * modules/findprog (Depends-on): Add sys_stat, stat.
8797         * modules/findprog-lgpl (Depends-on): Likewise.
8799         * lib/progreloc.c (maybe_executable): When the file found in a PATH
8800         element is a directory, continue searching.
8801         * lib/relocwrapper.c: Update comments.
8802         * modules/relocatable-prog-wrapper (Files): Add m4/largefile.m4.
8803         (configure.ac-early): New section.
8805 2020-04-10  Bruno Haible  <bruno@clisp.org>
8807         MODULES.html.sh: Support for reproducible builds from git-less tarballs.
8808         Reported by Bernhard M. Wiedemann <bwiedemann@suse.de> in
8809         <https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00061.html>.
8810         * MODULES.html.sh: In a git-less tarball, use the date of the first
8811         ChangeLog entry.
8813 2020-04-04  Bruno Haible  <bruno@clisp.org>
8815         Fix comments: The gettext library is under LGPL 2.1, not LGPL 2.0.
8816         * m4/gettext.m4: Fix comments regarding the gettext library.
8817         * m4/intl-thread-locale.m4: Likewise.
8818         * m4/intlmacosx.m4: Likewise.
8819         * m4/lcmessage.m4: Likewise.
8820         * m4/nls.m4: Likewise.
8821         * m4/po.m4: Likewise.
8822         * m4/progtest.m4: Likewise.
8824 2020-04-04  Jim Meyering  <meyering@fb.com>
8826         maint: remove a stray inter-word space in a 6x-repeated comment
8827         Induce the changes by running this:
8828           re='by  perl'; git grep -l "$re"|xargs perl -pi -e "s/$re/by perl/"
8829         * build-aux/announce-gen: Change "by  perl" to "by perl".
8830         * build-aux/gitlog-to-changelog: Likewise.
8831         * build-aux/prefix-gnulib-mk: Likewise.
8832         * build-aux/update-copyright: Likewise.
8833         * build-aux/useless-if-before-free: Likewise.
8834         * tests/test-update-copyright.sh: Likewise.
8836 2020-03-28  Bruno Haible  <bruno@clisp.org>
8838         Use module 'filename' instead of module 'dosname'.
8840         * lib/at-func.c: Include filename.h instead of dosname.h.
8841         * lib/unlinkat.c: Likewise.
8842         * modules/areadlinkat (Depends-on): Add filename. Remove dosname.
8843         * modules/areadlinkat-with-size (Depends-on): Likewise.
8844         * modules/faccessat (Depends-on): Likewise.
8845         * modules/fchmodat (Depends-on): Likewise.
8846         * modules/fchownat (Depends-on): Likewise.
8847         * modules/fstatat (Depends-on): Likewise.
8848         * modules/mkdirat (Depends-on): Likewise.
8849         * modules/mkfifoat (Depends-on): Likewise.
8850         * modules/readlinkat (Depends-on): Likewise.
8851         * modules/selinux-at (Depends-on): Likewise.
8852         * modules/symlinkat (Depends-on): Likewise.
8853         * modules/unlinkat (Depends-on): Likewise.
8854         * modules/utimensat (Depends-on): Likewise.
8856         * lib/at-func2.c: Include filename.h instead of dosname.h.
8857         * modules/linkat (Depends-on): Add filename. Remove dosname.
8858         * modules/renameatu (Depends-on): Likewise.
8860         * lib/canonicalize.c: Include filename.h instead of dosname.h.
8861         * lib/canonicalize-lgpl.c: Likewise.
8862         * modules/canonicalize (Depends-on): Add filename.
8863         * modules/canonicalize-lgpl (Depends-on): Likewise.
8865         * lib/dirname.h: Include filename.h instead of dosname.h.
8866         * modules/dirname-lgpl (Depends-on): Add filename. Remove dosname.
8868         * lib/fchdir.c: Include filename.h instead of dosname.h.
8869         * modules/fchdir (Depends-on): Add filename. Remove dosname.
8871         * lib/openat.c: Include filename.h instead of dosname.h.
8872         * modules/openat (Depends-on): Add filename. Remove dosname.
8874         * lib/rmdir.c: Include filename.h instead of dosname.h.
8875         * modules/rmdir (Depends-on): Add filename. Remove dosname.
8877         * lib/savewd.c: Include filename.h instead of dosname.h.
8878         * modules/savewd (Depends-on): Add filename. Remove dosname.
8880         * lib/unlink.c: Include filename.h instead of dosname.h.
8881         * modules/unlink (Depends-on): Add filename. Remove dosname.
8883         * modules/relocatable-prog-wrapper (Depends-on): Add filename.
8884         * lib/relocwrapper.c: Update comments.
8886         * modules/lstat (Depends-on): Remove dosname.
8888 2020-03-28  Bruno Haible  <bruno@clisp.org>
8890         dosname: Redirect to 'filename'.
8891         Reported by Tim Rühsen <tim.ruehsen@gmx.de> in
8892         <https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00042.html>.
8893         * lib/dosname.h: Remove all definitions. Just include filename.h.
8894         * modules/dosname (Status, Notice): Mark as deprecated.
8895         (Depends-on): Add 'filename'.
8897 2020-03-28  Bruno Haible  <bruno@clisp.org>
8899         dosname: Change IS_RELATIVE_FILE_NAME.
8900         * lib/dosname.h (IS_RELATIVE_FILE_NAME): On native Windows, OS/2, DOS,
8901         change the definition so that IS_RELATIVE_FILE_NAME("c:") is false.
8902         * NEWS: Mention the change.
8904 2020-03-28  Bruno Haible  <bruno@clisp.org>
8906         filename: Copy some definitions from module 'dosname'.
8907         * lib/filename.h: Include <string.h>, for IS_FILE_NAME_WITH_DIR.
8908         (HAS_DEVICE): Document macro.
8909         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New macro.
8910         (IS_ABSOLUTE_FILE_NAME): Consider
8911         FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE.
8912         (IS_RELATIVE_FILE_NAME, IS_FILE_NAME_WITH_DIR): New macros.
8913         (IS_ABSOLUTE_PATH, IS_PATH_WITH_DIR): Define as deprecated aliases.
8914         * lib/relocatable.c (IS_FILE_NAME_WITH_DIR): Renamed from
8915         IS_PATH_WITH_DIR.
8916         (DllMain): Update.
8917         * lib/progreloc.c (IS_FILE_NAME_WITH_DIR): Renamed from
8918         IS_PATH_WITH_DIR.
8919         (find_executable): Update.
8920         * NEWS: Document the deprecations.
8922 2020-03-25  Paul Eggert  <eggert@cs.ucla.edu>
8924         getopt-posix: port __GETOPT_PREFIX to macOS
8925         * lib/getopt-pfx-core.h (_GETOPT) [__APPLE__ && __GETOPT_PREFIX]:
8926         Define to work around a problem with asm on macOS (Bug#40205).
8928 2020-03-22  Bruno Haible  <bruno@clisp.org>
8930         MODULES.html.sh: Add support for reproducible builds.
8931         Reported by Bernhard M. Wiedemann <bwiedemann@suse.de> in
8932         <https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00024.html>.
8933         * MODULES.html.sh: Print the date of the last gnulib commit, not the
8934         current date.
8936 2020-03-22  Bruno Haible  <bruno@clisp.org>
8938         Several modules: Depend on stat.
8939         * modules/acl-permissions (Depends-on): Add stat.
8940         * modules/canonicalize (Depends-on): Likewise.
8941         * modules/file-has-acl (Depends-on): Likewise.
8942         * modules/fstat (Depends-on): Likewise.
8943         * modules/fstatat (Depends-on): Likewise.
8944         * modules/glob (Depends-on): Likewise.
8945         * modules/javacomp (Depends-on): Likewise.
8946         * modules/linkat (Depends-on): Likewise.
8947         * modules/mkdir (Depends-on): Likewise.
8948         * modules/pt_chown (Depends-on): Likewise.
8949         * modules/ptsname_r (Depends-on): Likewise.
8950         * modules/readlinkat (Depends-on): Likewise.
8951         * modules/rename (Depends-on): Likewise.
8952         * modules/renameatu (Depends-on): Likewise.
8953         * modules/tmpdir (Depends-on): Likewise.
8954         * modules/utimens (Depends-on): Likewise.
8955         * modules/relocatable-prog-wrapper (Depends-on): Add largefile.
8956         * modules/same (Depends-on): Remove stat.
8958 2020-03-22  Bruno Haible  <bruno@clisp.org>
8960         acl-permissions: Improve autoconf macro.
8961         * m4/acl.m4 (gl_FUNC_ACL): Test the value of gl_need_lib_has_acl
8962         more reliably.
8964 2020-03-22  Bruno Haible  <bruno@clisp.org>
8966         file-has-acl: Fix module description.
8967         * modules/file-has-acl (Files): Add lib/acl-internal.h, m4/acl.m4.
8968         (Depends-on): Depend on acl-permissions unconditionally.
8970 2020-03-21  Bruno Haible  <bruno@clisp.org>
8972         unlink: Ensure errno also on native Windows.
8973         * modules/unlink (Depends-on): Add malloc-posix.
8975 2020-03-21  Paul Eggert  <eggert@cs.ucla.edu>
8977         unlink: fix malloc errno typo
8978         Problem reported by Tim Rühsen in:
8979         https://lists.gnu.org/r/bug-gnulib/2020-03/msg00044.html
8980         * lib/unlink.c (rpl_unlink): Don’t mask malloc errno.
8982 2020-03-16  Bruno Haible  <bruno@clisp.org>
8984         *printf-posix: Fix m4 error (regression from 2020-03-08).
8985         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): Enable interpretation of
8986         brackets in AC_COMPILE_IFELSE invocation.
8988 2020-03-08  Bruno Haible  <bruno@clisp.org>
8990         crypto/af_alg, renameatu, same, term-style-control: Depend on fstat.
8991         * modules/crypto/af_alg (Depends-on): Add fstat.
8992         * modules/renameatu (Depends-on): Likewise.
8993         * modules/same (Depends-on): Likewise.
8994         * modules/term-style-control (Depends-on): Likewise.
8996 2020-03-08  Bruno Haible  <bruno@clisp.org>
8998         *printf-posix: Document why it's overridden on some glibc systems.
8999         Reported by Adrian Bunk <bunk@stusta.de> in
9000         <https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00011.html>.
9001         * doc/posix-functions/*printf.texi: Document the problem with the %n
9002         directive on some glibc systems.
9003         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Adjust
9004         the cross-compilation guesses accordingly.
9006 2020-03-07  Paul Eggert  <eggert@cs.ucla.edu>
9008         open, openat: port to (O_RDWR | O_RDONLY) != 0
9009         Potential portability problem reported by Dan Gohman in:
9010         https://lists.gnu.org/r/bug-gnulib/2020-03/msg00000.html
9011         * lib/open.c (open):
9012         * lib/openat.c (rpl_openat):
9013         Don’t assume O_RDONLY is disjoint from O_RDWR.
9015 2020-03-07  Bruno Haible  <bruno@clisp.org>
9017         openat: Fix theoretically possible issue on GNU/Hurd.
9018         Reported by Dan Gohman <sunfish@mozilla.com> in
9019         <https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00000.html>.
9020         * lib/openat.c (rpl_openat): When testing whether flags contains O_RDWR,
9021         ignore the bits that are also set in O_RDONLY.
9023 2020-02-24  Bruno Haible  <bruno@clisp.org>
9025         getloadavg: Don't use /usr/local when cross-compiling on AIX.
9026         Reported by Jens Rehsack <sno@netbsd.org> in
9027         <https://lists.gnu.org/archive/html/bug-gnulib/2020-02/msg00136.html>.
9028         * m4/getloadavg.m4 (gl_GETLOADAVG): Don't look in /usr/local/lib when
9029         cross-compiling.
9031 2020-02-24  Bruno Haible  <bruno@clisp.org>
9033         fcntl: Add witness of gnulib override.
9034         Reported by Jens Rehsack <sno@netbsd.org> in
9035         <https://lists.gnu.org/archive/html/bug-gnulib/2020-02/msg00137.html>.
9036         * lib/fcntl.in.h (GNULIB_defined_rpl_fcntl, GNULIB_defined_fcntl): New
9037         macros.
9039 2020-02-23  Assaf Gordon  <assafgordon@gmail.com>
9041         Update users.txt.
9042         * users.txt: Add datamash, time.
9044 2020-02-23  Bruno Haible  <bruno@clisp.org>
9046         uni*/base: Use 'restrict'.
9047         * lib/unitypes.in.h (_UC_RESTRICT): New macro, based on '_Restrict_'
9048         from lib/regex.h.
9049         * lib/unistr.in.h (u8_cpy, u16_cpy, u32_cpy, u8_strcpy, u16_strcpy,
9050         u32_strcpy, u8_stpcpy, u16_stpcpy, u32_stpcpy, u8_strncpy, u16_strncpy,
9051         u32_strncpy, u8_stpncpy, u16_stpncpy, u32_stpncpy, u8_strcat,
9052         u16_strcat, u32_strcat, u8_strncat, u16_strncat, u32_strncat, u8_strtok,
9053         u16_strtok, u32_strtok): Use '_UC_RESTRICT'.
9054         * lib/uninorm.in.h (u8_normalize, u16_normalize, u32_normalize): Use
9055         '_UC_RESTRICT'.
9056         * lib/uniconv.in.h (u8_conv_to_encoding, u16_conv_to_encoding,
9057         u32_conv_to_encoding): Use '_UC_RESTRICT'.
9058         * lib/unicase.in.h (u8_toupper, u16_toupper, u32_toupper, u8_tolower,
9059         u16_tolower, u32_tolower, u8_totitle, u16_totitle, u32_totitle,
9060         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
9061         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
9062         u32_ct_totitle, u8_casefold, u16_casefold, u32_casefold, u8_ct_casefold,
9063         u16_ct_casefold, u32_ct_casefold, u8_casexfrm, u16_casexfrm,
9064         u32_casexfrm, ulc_casexfrm): Use '_UC_RESTRICT'.
9065         * lib/unilbrk.in.h (u8_possible_linebreaks, u16_possible_linebreaks,
9066         u32_possible_linebreaks, ulc_possible_linebreaks, u8_width_linebreaks,
9067         u16_width_linebreaks, u32_width_linebreaks, ulc_width_linebreaks): Use
9068         '_UC_RESTRICT'.
9069         * lib/uniwbrk.in.h (ulc_wordbreaks): Use '_UC_RESTRICT'.
9070         * lib/unistdio.in.h (ulc_sprintf, ulc_snprintf, ulc_asnprintf,
9071         ulc_vsprintf, ulc_vsnprintf, ulc_vasnprintf, u8_u8_sprintf,
9072         u8_u8_snprintf, u8_u8_asnprintf, u8_u8_vsprintf, u8_u8_vsnprintf,
9073         u8_u8_vasnprintf, u16_u16_sprintf, u16_u16_snprintf, u16_u16_asnprintf,
9074         u16_u16_vsprintf, u16_u16_vsnprintf, u16_u16_vasnprintf,
9075         u32_u32_sprintf, u32_u32_snprintf, u32_u32_asnprintf, u32_u32_vsprintf,
9076         u32_u32_vsnprintf, u32_u32_vasnprintf): Use '_UC_RESTRICT'.
9078 2020-02-23  Bruno Haible  <bruno@clisp.org>
9080         glob, spawn: Use improved '_Restrict_' definition.
9081         * lib/glob.in.h (_Restrict_): Use same definition as in lib/regex.h.
9082         * lib/spawn.in.h (_Restrict_, _Restrict_arr_): Likewise.
9084 2020-02-23  Bruno Haible  <bruno@clisp.org>
9086         crypto/gc: Use 'restrict'.
9087         * lib/gc.h (gc_pbkdf2_hmac, gc_pbkdf2_sha1): Use 'restrict'.
9088         * m4/gc.m4 (gl_GC): Require AC_C_RESTRICT.
9090         crypto/hmac-*: Use 'restrict'.
9091         * lib/hmac.h (hmac_md5, hmac_sha1, hmac_sha256, hmac_sha512): Use
9092         'restrict'.
9093         * modules/crypto/hmac-md5 (configure.ac): Require AC_C_RESTRICT.
9094         * modules/crypto/hmac-sha1 (configure.ac): Likewise.
9095         * modules/crypto/hmac-sha256 (configure.ac): Likewise.
9096         * modules/crypto/hmac-sha512 (configure.ac): Likewise.
9098         crypto/sm3: Use 'restrict'.
9099         * lib/sm3.h (sm3_finish_ctx, sm3_read_ctx, sm3_buffer): Use 'restrict'.
9100         * m4/sm3.m4 (gl_SM3): Require AC_C_RESTRICT.
9102         crypto/*-buffer: Use 'restrict'.
9103         * lib/gl_openssl.h (GL_CRYPTO_FN (_finish_ctx), GL_CRYPTO_FN (_buffer),
9104         GL_CRYPTO_FN (_read_ctx)): Use 'restrict'.
9106         crypto/sha512-buffer: Use 'restrict'.
9107         * lib/sha512.h (sha512_finish_ctx, sha384_finish_ctx, sha512_read_ctx,
9108         sha384_read_ctx, sha512_buffer, sha384_buffer): Use 'restrict'.
9109         * modules/crypto/sha512-buffer (configure.ac): Require AC_C_RESTRICT.
9111         crypto/sha256-buffer: Use 'restrict'.
9112         * lib/sha256.h (sha256_finish_ctx, sha224_finish_ctx, sha256_read_ctx,
9113         sha224_read_ctx, sha256_buffer, sha224_buffer): Use 'restrict'.
9114         * modules/crypto/sha256-buffer (configure.ac): Require AC_C_RESTRICT.
9116         crypto/sha1-buffer: Use 'restrict'.
9117         * lib/sha1.h (sha1_finish_ctx, sha1_read_ctx, sha1_buffer): Use
9118         'restrict'.
9119         * modules/crypto/sha1-buffer (configure.ac): Require AC_C_RESTRICT.
9121         crypto/md5-buffer: Use 'restrict'.
9122         * lib/md5.h (__md5_finish_ctx, __md5_read_ctx, __md5_buffer): Use
9123         'restrict'.
9124         * modules/crypto/md5-buffer (configure.ac): Require AC_C_RESTRICT.
9126         crypto/md4: Use 'restrict'.
9127         * lib/md4.h (md4_finish_ctx, md4_read_ctx, md4_buffer): Use 'restrict'.
9128         * modules/crypto/md4 (configure.ac): Require AC_C_RESTRICT.
9130         crypto/md2: Use 'restrict'.
9131         * lib/md2.h (md2_finish_ctx, md2_read_ctx, md2_buffer): Use 'restrict'.
9132         * modules/crypto/md2 (configure.ac): Require AC_C_RESTRICT.
9134         crypto/rijndael: Use 'restrict'.
9135         * lib/rijndael-api-fst.h (rijndaelBlockEncrypt, rijndaelPadEncrypt,
9136         rijndaelBlockDecrypt, rijndaelPadDecrypt): Use 'restrict'.
9137         * modules/crypto/rijndael (configure.ac): Require AC_C_RESTRICT.
9139         crypto/arctwo: Use 'restrict'.
9140         * lib/arctwo.h (arctwo_encrypt, arctwo_decrypt): Use 'restrict'.
9141         * modules/crypto/arctwo (configure.ac): Require AC_C_RESTRICT.
9143         crypto/arcfour: Use 'restrict'.
9144         * lib/arcfour.h (arcfour_stream): Use 'restrict'.
9145         * modules/crypto/arcfour (configure.ac): Require AC_C_RESTRICT.
9147         careadlinkat: Use 'restrict'.
9148         * lib/careadlinkat.h (careadlinkat): Use 'restrict'.
9149         * modules/careadlinkat (configure.ac): Require AC_C_RESTRICT.
9150         * modules/relocatable-prog-wrapper (configure.ac): Likewise.
9152         regex-quote: Use 'restrict'.
9153         * lib/regex-quote.h (regex_quote_copy): Use 'restrict'.
9154         * modules/regex-quote (configure.ac): Require AC_C_RESTRICT.
9156         system-quote: Use 'restrict'.
9157         * lib/system-quote.h (system_quote_copy): Use 'restrict'.
9158         * modules/system-quote (configure.ac): Require AC_C_RESTRICT.
9160         sh-quote: Use 'restrict'.
9161         * lib/sh-quote.h (shell_quote_copy): Use 'restrict'.
9162         * modules/sh-quote (configure.ac): Require AC_C_RESTRICT.
9164         quotearg: Use 'restrict'.
9165         * lib/quotearg.h (quotearg_buffer): Use 'restrict'.
9166         * m4/quotearg.m4 (gl_QUOTEARG): Require AC_C_RESTRICT.
9168         parse-datetime: Use 'restrict'.
9169         * lib/parse-datetime.h (parse_datetime, parse_datetime2): Use
9170         'restrict'.
9171         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Require AC_C_RESTRICT.
9173         nstrftime: Use 'restrict'.
9174         * lib/strftime.h (nstrftime): Use 'restrict'.
9175         * m4/nstrftime.m4 (gl_FUNC_GNU_STRFTIME): Require AC_C_RESTRICT.
9177         mbstok_r: Use 'restrict'.
9178         * lib/string.in.h (mbstok_r): Use 'restrict'.
9180         xmemcoll: Use 'restrict'.
9181         * lib/xmemcoll.h (xmemcoll): Use 'restrict'.
9182         * modules/xmemcoll (configure.ac): Require AC_C_RESTRICT.
9184         memcoll: Use 'restrict'.
9185         * lib/memcoll.h (memcoll): Use 'restrict'.
9186         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_C_RESTRICT.
9188         vasnprintf: Use 'restrict'.
9189         * lib/vasnprintf.h (asnprintf, vasnprintf): Use 'restrict'.
9190         * modules/vasnprintf (configure.ac): Require AC_C_RESTRICT.
9192         c-vasnprintf: Use 'restrict'.
9193         * lib/c-vasnprintf.h (c_vasnprintf): Use 'restrict'.
9194         * modules/c-vasnprintf (configure.ac): Require AC_C_RESTRICT.
9196         c-vsnprintf: Use 'restrict'.
9197         * lib/c-vsnprintf.h (c_vsnprintf): Use 'restrict'.
9198         * modules/c-vsnprintf (configure.ac): Require AC_C_RESTRICT.
9200         c-snprintf: Use 'restrict'.
9201         * lib/c-snprintf.h (c_snprintf): Use 'restrict'.
9202         * modules/c-snprintf (configure.ac): Require AC_C_RESTRICT.
9204         astrxfrm: Use 'restrict'.
9205         * lib/astrxfrm.h (astrxfrm): Use 'restrict'.
9206         * modules/astrxfrm (configure.ac): Require AC_C_RESTRICT.
9208         amemxfrm: Use 'restrict'.
9209         * lib/amemxfrm.h (amemxfrm): Use 'restrict'.
9210         * modules/amemxfrm (configure.ac): Require AC_C_RESTRICT.
9212 2020-02-22  Paul Eggert  <eggert@cs.ucla.edu>
9214         fchmodat, lchmod: simplify
9215         It appears that we may have overengineered lchmod and fchmodat,
9216         in that the code was prepared for some hypothetical platforms but
9217         was so complicated that it was hard to understand.  I attempted to
9218         improve the situation by simplifying the code when this
9219         simplification should not hurt on real platforms; we can re-add
9220         complexity later to port to platforms I didn’t know about.
9221         * lib/fchmodat.c (fchmodat):
9222         * lib/lchmod.c (lchmod):
9223         Put the ‘defined __linux__ || defined __ANDROID__’ #ifdef only
9224         around the /proc code that needs it.
9225         * lib/fchmodat.c (fchmodat): Coalese calls to orig_fchmodat.
9226         * lib/lchmod.c (__need_system_sys_stat_h): Omit; no longer needed.
9227         Do not include <config.h> twice.
9228         (orig_lchmod) [HAVE_LCHMOD]: Remove, since we need not wrap
9229         lchmod on any known hosts.
9230         (lchmod): Do not defer to fchmodat, so that the lchmod module
9231         need not depend on the fchmodat module (which is a circular
9232         dependency).  Do not use openat, since ‘open’ suffices.
9233         Coalesce calls to lchmod/chmod.
9234         * lib/lchmod.c, lib/sys_stat.in.h (lchmod):
9235         * m4/sys_stat_h.m4 (REPLACE_FSTAT):
9236         * modules/lchmod (Depends-on, configure.ac):
9237         * modules/sys_stat (Depends-on):
9238         Do not worry about replacing lchmod, since that shouldn’t happen.
9239         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Do not check for fchmodat.
9240         Do not worry about whether lchmod works on non-symlinks,
9241         since every known lchmod works on non-symlinks.
9242         * modules/lchmod (Depends-on):
9243         Remove circular dependency on fchmodat.
9245 2020-02-22  Bruno Haible  <bruno@clisp.org>
9247         lchmod: Fix link error on Solaris 10 (regression from 2020-02-16).
9248         * lib/lchmod.c (lchmod): Use the code with lstat and chmod also when
9249         NEED_LCHMOD_NONSYMLINK_FIX is not defined.
9251 2020-02-22  Bruno Haible  <bruno@clisp.org>
9253         Use 'restrict' in all POSIX function declarations.
9254         * lib/iconv.in.h (iconv): Use 'restrict'.
9255         * lib/inttypes.in.h (strtoimax, strtoumax): Likewise.
9256         * lib/monetary.in.h (strfmon_l): Likewise.
9257         * lib/pthread.in.h (pthread_create, pthread_mutex_init,
9258         pthread_mutexattr_gettype, pthread_mutexattr_getrobust,
9259         pthread_mutex_timedlock, pthread_rwlock_init,
9260         pthread_rwlock_timedrdlock, pthread_rwlock_timedwrlock,
9261         pthread_cond_init, pthread_cond_wait, pthread_cond_timedwait): Likewise.
9262         * lib/search.in.h (tdelete): Likewise.
9263         * lib/signal.in.h (pthread_sigmask, sigprocmask): Likewise.
9264         * lib/stdio.in.h (dprintf, fgets, fopen, fprintf, fputs, fread, freopen,
9265         fscanf, fwrite, getdelim, getline, printf, scanf, snprintf, sprintf,
9266         vdprintf, vfprintf, vfscanf, vprintf, vscanf, vsnprintf, vsprintf):
9267         Likewise.
9268         * lib/stdlib.in.h (mbtowc, realpath, strtod, strtold, strtoll,
9269         strtoull): Likewise.
9270         * lib/string.in.h (strncat): Likewise.
9271         * lib/sys_socket.in.h (accept, getpeername, getsockname, getsockopt,
9272         recvfrom): Likewise.
9273         * lib/sys_stat.in.h (fstatat, lstat, stat): Likewise.
9274         * lib/time.in.h (strftime): Likewise.
9275         * lib/unistd.in.h (readlink, readlinkat): Likewise.
9276         * lib/wchar.in.h (mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs, wcrtomb,
9277         wcsrtombs, wcsnrtombs, wmemcpy, wcscpy, wcpcpy, wcsncpy, wcpncpy,
9278         wcscat, wcsncat, wcsxfrm, wcsstr, wcstok, wcsftime): Likewise.
9279         * m4/iconv_h.m4 (gl_ICONV_H): Require AC_C_RESTRICT.
9280         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Likewise.
9281         * m4/monetary_h.m4 (gl_MONETARY_H): Likewise.
9282         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
9283         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
9284         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
9285         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
9286         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
9287         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
9288         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
9289         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
9290         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Make consistent with the
9291         other *_h.m4 files.
9292         * m4/time_h.m4 (gl_HEADER_TIME_H): Likewise.
9294 2020-02-22  Bruno Haible  <bruno@clisp.org>
9296         Update NEWS.
9297         * NEWS: Mention the last change.
9299 2020-02-22  Paul Eggert  <eggert@cs.ucla.edu>
9301         chmodat, chownat: new modules
9302         These are split from fchmodat, fchownat.  GNU Emacs needs the
9303         POSIX-specified fchmodat, but not the gnulib-specified chmodat and
9304         lchmodat.  Split the latter two into a new module chmodat.
9305         Similarly for fchownat.  This the same basic idea for why statat
9306         was split from fstatat on 2013-01-23.
9307         * lib/chmodat.c, lib/openat.h (CHMODAT_INLINE):
9308         Rename from FCHMODAT_INLINE.  All uses changed.
9309         * lib/chownat.c, lib/openat.h (CHOWNAT_INLINE):
9310         Rename from FCHOWNAT_INLINE.  All uses changed.
9311         * lib/openat.h:
9312         (chownat, lchownat): Define if GNULIB_CHOWNAT, not GNULIB_FCHOWNAT.
9313         (chmodat, lchmodat): Define if GNULIB_CHMODAT, not GNULIB_FCHMODAT.
9314         * modules/chmodat, modules/chownat, tests/test-chownat.c: New files.
9315         * modules/fchmodat (Files:): Remove lib/fchmodat.c.
9316         (configure.ac): Remove fchmodat module indicator.
9317         (Makefile.am): Omit chmodat.c.
9318         (Maintainer): Add self.
9319         * modules/fchownat: Similarly, but for chown.
9320         * tests/test-fchownat.c (BASE): Don't define if already defined.
9321         (do_chown, do_lchown) [!TEST_CHOWNAT]: Test fchownat instead.
9323 2020-02-22  Bruno Haible  <bruno@clisp.org>
9325         users.txt: Add groff.
9326         Reported by Bjarni Ingi Gislason <bjarniig@rhi.hi.is>.
9327         * users.txt: Add groff.
9329 2020-02-22  Bruno Haible  <bruno@clisp.org>
9331         gnulib-tool: Ensure copied files are writable.
9332         Reported by Benno Fünfstück <benno.fuenfstueck@gmail.com> in
9333         <https://lists.gnu.org/archive/html/bug-gnulib/2020-02/msg00101.html>.
9334         * gnulib-tool (func_ensure_writable): New function.
9335         (func_ln_s, func_hardlink, func_lookup_file, func_import,
9336         func_create_testdir, copy-file): Invoke it after copying a file.
9338 2020-02-22  Bruno Haible  <bruno@clisp.org>
9340         users.txt: Update.
9341         * users.txt: Update URLs to projects that have moved or switched to git.
9342         Use canonical host names. Prefer gitweb over cgit. Prefer the tree view
9343         over the summary view. Add gawk.
9345 2020-02-21  Paul Eggert  <eggert@cs.ucla.edu>
9347         largefile: remove _DARWIN_USE_64_BIT_INODE
9348         It’s not needed in currently-supported macOS versions, and was
9349         problematic anyway in MacOS X 10.5 which was the only version that
9350         could use it.  Problem reported by Peter Eisentraut in:
9351         https://lists.gnu.org/r/bug-autoconf/2020-02/msg00004.html
9352         * m4/largefile.m4 (AC_SYS_LARGEFILE):
9353         Don’t define _DARWIN_USE_64_BIT_INODE.
9354         This syncs with Autoconf master.
9356         Add ‘extern "C"’ to count-one-bits.h etc.
9357         This ports these .h files to C++.
9358         Problem reported by Simon Marchi in:
9359         https://lists.gnu.org/r/bug-gnulib/2020-02/msg00110.html
9360         * lib/count-leading-zeros.h, lib/count-one-bits.h:
9361         * lib/count-trailing-zeros.h: Add ‘extern "C"’.
9363 2020-02-19  Bruno Haible  <bruno@clisp.org>
9365         uninorm/decompose-internal: Avoid "no previous prototype" warning.
9366         Reported by Tim Rühsen <tim.ruehsen@gmx.de> in
9367         <https://lists.gnu.org/archive/html/bug-gnulib/2020-02/msg00105.html>.
9368         * lib/array-mergesort.h: Accept an optional macro definition
9369         STATIC_FROMTO.
9370         * lib/uninorm/decompose-internal.c (STATIC_FROMTO): New macro.
9372 2020-02-16  Bruno Haible  <bruno@clisp.org>
9374         fchmodat: Make more future-proof.
9375         * m4/fchmodat.m4 (gl_FUNC_FCHMODAT): Define
9376         NEED_FCHMODAT_NONSYMLINK_FIX.
9377         (gl_PREREQ_FCHMODAT): New macro.
9378         * lib/fchmodat.c (fchmodat): Test NEED_FCHMODAT_NONSYMLINK_FIX. Access
9379         /proc only on Linux. Return EOPNOTSUPP only on Linux and on platforms
9380         without lchmod function.
9381         * modules/fchmodat (configure.ac): Invoke gl_PREREQ_FCHMODAT.
9383 2020-02-16  Bruno Haible  <bruno@clisp.org>
9385         lchmod: Make more future-proof.
9386         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Define NEED_LCHMOD_NONSYMLINK_FIX.
9387         (gl_PREREQ_LCHMOD): New macro.
9388         * lib/lchmod.c (orig_lchmod): New function.
9389         (lchmod): Test NEED_LCHMOD_NONSYMLINK_FIX. Access /proc only on Linux.
9390         Return EOPNOTSUPP only on Linux and on platforms without lchmod
9391         function.
9392         * modules/lchmod (configure.ac): Invoke gl_PREREQ_LCHMOD.
9394         lchmod: Fix buggy override on macOS, HP-UX (regression from 2020-02-08).
9395         * modules/lchmod (Makefile.am): Don't add lchmod.c to lib_SOURCES.
9397 2020-02-16  Paul Eggert  <eggert@cs.ucla.edu>
9399         xnanosleep: prefer pause, and get remaining time
9400         Problem reported by Vladimir Panteleev in:
9401         https://lists.gnu.org/r/bug-gnulib/2020-02/msg00052.html
9402         * lib/xnanosleep.c: Include intprops.h, unistd.h.
9403         (xnanosleep) [HAVE_PAUSE]: Prefer pause when sleeping infinitely.
9404         (xnanosleep): Obtain remaining time when nanosleep is interrupted.
9405         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Check for 'pause'.
9406         * modules/xnanosleep (Depends-on): Add intprops, unistd.
9408 2020-02-16  Bruno Haible  <bruno@clisp.org>
9410         lchmod: Improve cross-compilation guess.
9411         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require AC_CANONICAL_HOST. When
9412         cross-compiling, guess depending on the platform.
9414 2020-02-16  Bruno Haible  <bruno@clisp.org>
9416         fstrcmp: Add API to clean up resources.
9417         Reported by Akim Demaille <akim@lrde.epita.fr> in
9418         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00080.html>.
9419         * lib/fstrcmp.h (fstrcmp_free_resources): New declaration.
9420         * lib/fstrcmp.c (fstrcmp_free_resources): New function.
9422 2020-02-14  Bruno Haible  <bruno@clisp.org>
9424         wctype-h: Fix compilation errors in C++ (regression from 2020-01-25).
9425         Reported by Christian Biesinger in
9426         <https://lists.gnu.org/archive/html/bug-gnulib/2020-02/msg00064.html>.
9427         * lib/wctype.in.h (iswdigit, iswxdigit): Don't declare if the
9428         corresponding module is not enabled.
9429         * tests/test-wctype-h-c++.cc (iswdigit, iswxdigit): Don't check the
9430         prototype if the corresponding module is not enabled.
9432 2020-02-13  Paul Eggert  <eggert@cs.ucla.edu>
9434         fchmodat, lchmod: port to buggy Linux filesystems
9435         Problem reported by Florian Weimer in:
9436         https://www.sourceware.org/ml/libc-alpha/2020-02/msg00534.html
9437         * lib/fchmodat.c (fchmodat):
9438         * lib/lchmod.c (lchmod):
9439         Don’t assume that chmod on the O_PATH-opened fd will do
9440         the right thing on a symbolic link.
9441         * lib/fchmodat.c (fchmodat):
9442         Don’t attempt to special-case
9443         any flag value other than AT_SYMLINK_NOFOLLOW.
9445 2020-02-11  Paul Eggert  <eggert@cs.ucla.edu>
9447         lchmod: pacify Coverity CID 1491216
9448         * lib/lchmod.c (lchmod): Redo #if nesting so that Coverity does
9449         not complain about unreachable code at the ‘struct stat st;’
9450         declaration.
9452 2020-02-10  Bruno Haible  <bruno@clisp.org>
9454         copysignf: Fix link error on HP-UX with cc.
9455         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Require AC_CANONICAL_HOST. On
9456         HP-UX, set COPYSIGNF_LIBM to -lm.
9458 2020-02-10  Bruno Haible  <bruno@clisp.org>
9460         pthread-mutex-tests, pthread-rwlock-tests: Fix link errors on HP-UX.
9461         * modules/pthread-mutex-tests (Makefile.am): Link test-pthread-mutex
9462         with $(LIB_SEMAPHORE).
9463         * modules/pthread-rwlock-tests (Makefile.am): Link test-pthread-rwlock
9464         with $(LIB_SEMAPHORE).
9466 2020-02-10  Bruno Haible  <bruno@clisp.org>
9468         ptsname_r-tests: Avoid unused function warning.
9469         * tests/test-ptsname_r.c: Don't include null-ptr.h if we don't need it.
9471 2020-02-08  Bruno Haible  <bruno@clisp.org>
9473         lchmod: Add tests.
9474         * tests/test-lchmod.c: New file.
9475         * modules/lchmod-tests: New file.
9477 2020-02-08  Bruno Haible  <bruno@clisp.org>
9479         lchmod: Ensure declaration on HP-UX.
9480         * lib/sys_stat.in.h (lchown): Declare also on HP-UX.
9481         * doc/glibc-functions/lchmod.texi: Mention the HP-UX problem.
9483 2020-02-08  Bruno Haible  <bruno@clisp.org>
9485         fchmodat: Strengthen tests.
9486         * tests/test-fchmodat.c (BASE): New macro.
9487         (main): Use it, to avoid conflicts with other unit tests. Verify that
9488         fchmodat changed the file permission bits.
9490 2020-02-08  Bruno Haible  <bruno@clisp.org>
9492         fchmodat: Fix endless recursion on Cygwin (regression from 2020-02-07).
9493         * lib/fchmodat.c (orig_fchmodat): Move definition to immediately after
9494         '#undef __need_system_sys_stat_h'.
9496 2020-02-08  Bruno Haible  <bruno@clisp.org>
9498         fchmodat: Improve cross-compilation guesses.
9499         * m4/fchmodat.m4 (gl_FUNC_FCHMODAT): Require AC_CANONICAL_HOST. When
9500         cross-compiling, guess depending on the platform.
9501         * doc/posix-functions/fchmodat.texi: Clarify.
9503 2020-02-08  Bruno Haible  <bruno@clisp.org>
9505         Fix compilation errors in a testdir created with --with-c++-tests.
9506         * lib/c++defs.h (_GL_CXXALIASWARN1_2): Do not use __typeof__ (func),
9507         since it does not work any more with g++ >= 4.4.
9509 2020-02-08  Bruno Haible  <bruno@clisp.org>
9511         doc: Update for glibc 2.31.
9512         * doc/glibc-functions/pthread_clockjoin_np.texi: New file.
9513         * doc/gnulib.texi: Include it.
9514         * doc/pastposix-functions/h_errno.texi: Update.
9515         * doc/posix-functions/*.texi: Likewise.
9517 2020-02-08  Kenneth D'souza  <kdsouza@redhat.com>
9519         mountlist: consider smb3 file systems as remote
9520         * lib/mountlist.c (ME_REMOTE): Recognize file systems of type
9521         "smb3" as remote.
9523 2020-02-07  Paul Eggert  <eggert@cs.ucla.edu>
9525         fchmodat: AT_SYMLINK_NOFOLLOW fix for non-symlinks
9526         Fix lchmod, and fchmodat with AT_SYMLINK_NOFOLLOW, so that
9527         they act like chmod on non-symlinks.
9528         * NEWS:
9529         * doc/glibc-functions/lchmod.texi (lchmod):
9530         * doc/posix-functions/fchmodat.texi (fchmodat):
9531         Mention this.
9532         * lib/fchmodat.c: Define __need_system_sys_stat_h before including
9533         config.h, and undef it after including sys/stat.h the first time.
9534         Include fcntl.h, stdio.h, unistd.h, intprops.h, and include
9535         sys/stat.h a second time after defining orig_fchmodat.
9536         (orig_fchmodat) [HAVE_FCHMODAT]: New function.
9537         (fchmodat) [HAVE_FCHMODAT]: Work around the AT_SYMLINK_NOFOLLOW bug.
9538         * lib/lchmod.c: New file.
9539         * lib/sys_stat.in.h (fchmodat, lchmod):
9540         Support replacing these functions.
9541         * m4/fchmodat.m4 (gl_FUNC_FCHMODAT): If fchmodat exists,
9542         test that AT_SYMLINK_NOFOLLOW works on non-symlinks.
9543         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Check for lstat.
9544         Test that lchmod works on non-symlinks.
9545         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS):
9546         Default REPLACE_FCHMODAT and REPLACE_LCHMOD to 0.
9547         * modules/fchmodat (Depends-on): Add fstatat, intprops, lchmod, unistd.
9548         (Depends-on, configure.ac): Check REPLACE_FCHMODAT too.
9549         * modules/lchmod (Files): Add lib/lchmod.c.
9550         (Depends-on): Add errno, fcntl-h, fchmodat, intprops, lstat, unistd.
9551         (configure.ac): Compile lchmod.c if needed.
9552         (lib_SOURCES): Add lchmod.c.
9553         * modules/sys_stat (sys/stat.h): Substitute REPLACE_FCHMODAT
9554         and REPLACE_LCHMOD.
9555         * tests/test-fchmodat.c: Include fcntl.h, sys/stat.h.
9556         (main): Test fchmodat with AT_SYMLINK_NOFOLLOW on non-symlinks.
9558 2020-02-05  Marc Dionne  <marc.dionne@auristor.com>  (tiny change)
9560         mountlist: Consider AFS filesystems as remote
9561         df --local relies on the ME_REMOTE macro to determine if a given
9562         mount entry should be considered "local".  There is special logic
9563         for nfs and smb/cifs mounts, but /afs as mounted by OpenAFS, the
9564         kernel's kafs module or AuriStorFS is treated as a local mount.
9565         * lib/mountlist.c (ME_REMOTE): Treat mounts of type 'afs'
9566         (OpenAFS, kernel kafs) and 'auristorfs' (AuriStorFS) as remote.
9568 2020-02-04  Paul Eggert  <eggert@cs.ucla.edu>
9570         Port _Noreturn to older Clang
9571         Problem reported by Jeffery Walton in:
9572         https://lists.gnu.org/r/bug-gnulib/2020-02/msg00013.html
9573         * lib/_Noreturn.h (_Noreturn):
9574         * m4/gnulib-common.m4 (gl_COMMON_BODY):
9575         Assume _Noreturn works in Clang 3.5 and later.
9576         It is documented to work in Clang 3.5:
9577         http://releases.llvm.org/3.5.0/tools/clang/docs/AttributeReference.html
9578         and is not documented in Clang 3.4:
9579         https://releases.llvm.org/3.4/tools/clang/docs/LanguageExtensions.html
9580         Apple sets __clang_version__ to a different value, so use
9581         __apple_build_version__ there.  See:
9582         https://lists.gnu.org/r/bug-gnulib/2020-02/msg00017.html
9584 2020-02-04  Pádraig Brady  <P@draigBrady.com>
9586         test-canonicalize: avoid unused function warning
9587         * tests/test-canonicalize.c: Protect the inclusion of null-ptr.h
9588         with the same guard as that used to protect usage of the null_ptr
9589         function, so that one doesn't get a -Wunused warning.
9590         * tests/test-canonicalize-lgpl.c: Likewise.
9592 2020-02-03  Paul Eggert  <eggert@cs.ucla.edu>
9594         libc-config: port to Apple’s Clang variant
9595         * lib/libc-config.h (__glibc_clang_prereq):
9596         Port to Apple’s Clang variant, which uses a different
9597         numbering scheme for __clang_major__.
9599 2020-02-02  Bruno Haible  <bruno@clisp.org>
9601         Document the new modules list-c++, set-c++, oset-c++, map-c++, omap-c++.
9602         * doc/containers.texi: Document these new modules.
9604 2020-02-02  Bruno Haible  <bruno@clisp.org>
9606         omap-c++: Add tests.
9607         * tests/test-omap-c++.cc: New file.
9608         * modules/omap-c++-tests: New file.
9610         omap-c++: New module.
9611         * lib/gl_omap.hh: New file, based on lib/gl_omap.h.
9612         * modules/omap-c++: New file.
9614 2020-02-02  Bruno Haible  <bruno@clisp.org>
9616         map-c++: Add tests.
9617         * tests/test-map-c++.cc: New file.
9618         * modules/map-c++-tests: New file.
9620         map-c++: New module.
9621         * lib/gl_map.hh: New file, based on lib/gl_map.h.
9622         * modules/map-c++: New file.
9624 2020-02-02  Bruno Haible  <bruno@clisp.org>
9626         oset-c++: Add tests.
9627         * tests/test-oset-c++.cc: New file.
9628         * modules/oset-c++-tests: New file.
9630         oset-c++: New module.
9631         * lib/gl_oset.hh: New file, based on lib/gl_oset.h.
9632         * modules/oset-c++: New file.
9634 2020-02-02  Bruno Haible  <bruno@clisp.org>
9636         set-c++: Add tests.
9637         * tests/test-set-c++.cc: New file.
9638         * modules/set-c++-tests: New file.
9640         set-c++: New module.
9641         * lib/gl_set.hh: New file, based on lib/gl_set.h.
9642         * modules/set-c++: New file.
9644 2020-02-02  Bruno Haible  <bruno@clisp.org>
9646         list-c++: Add tests.
9647         * tests/test-list-c++.cc: New file.
9648         * modules/list-c++-tests: New file.
9650         list-c++: New module.
9651         * lib/gl_list.hh: New file, based on lib/gl_list.h.
9652         * modules/list-c++: New file.
9654 2020-02-02  Bruno Haible  <bruno@clisp.org>
9656         xalloc: Fix compilation error in C++ mode on FreeBSD 12.
9657         * lib/xalloc.h (xalloc_die): Comment out 'extern' keyword before
9658         '_Noreturn'.
9659         * lib/sigpipe-die.h (sigpipe_die): Likewise.
9661 2020-02-02  Pádraig Brady  <P@draigBrady.com>
9663         read-file: reduce max size from SIZE_MAX to PTRDIFF_MAX
9664         On x86_64 with glibc-2.30, gcc 9.2 is giving:
9665           error: argument 2 value '18446744073709551615'
9666           exceeds maximum object size 9223372036854775807
9667           [-Werror=alloc-size-larger-than=]
9668         The details of this restriction are discussed at:
9669         https://stackoverflow.com/q/42574890/4421
9670         * lib/read-file.c: s/SIZE_MAX/PTRDIFF_MAX/
9672 2020-02-02  Pádraig Brady  <P@draigBrady.com>
9674         sysctl.h: avoid including on glibc
9675         * lib/nproc.c: Avoid including deprecated and unneeded header on GLIBC.
9676         * lib/physmem.c: Likewise.
9678 2020-02-02  Bruno Haible  <bruno@clisp.org>
9680         list, set, oset, map, omap: Avoid imperative voice in documentation.
9681         * lib/gl_list.h: Use descriptive sentences instead of imperative voice
9682         in the specification of functions.
9683         * lib/gl_set.h: Likewise.
9684         * lib/gl_oset.h: Likewise.
9685         * lib/gl_map.h: Likewise.
9686         * lib/gl_omap.h: Likewise.
9687         * lib/gl_*.h: Likewise.
9689 2020-02-01  Bruno Haible  <bruno@clisp.org>
9691         ansi-c++-opt: Set CXXFLAGS to "-g -O2" by default.
9692         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Determine CXXFLAGS like AC_PROG_CXX
9693         does.
9695 2020-01-29  Bruno Haible  <bruno@clisp.org>
9697         array-map, hash-map, linkedhash-map: Fix module description.
9698         * modules/array-map (Description): Fix description.
9699         * modules/hash-map (Description): Likewise.
9700         * modules/linkedhash-map (Description): Likewise.
9702 2020-01-29  Paul Eggert  <eggert@cs.ucla.edu>
9704         dfa: do not depend on isblank
9705         This removes a difference between Gawk dfa.c and Gnulib dfa.c.
9706         * lib/dfa.c (isblank): Define if neither system nor Gnulib does.
9707         * modules/dfa (Depends-on): Remove isblank.
9708         * modules/isblank: Add a module indicator, for lib/dfa.c.
9710         dfa: do not assume 64-bit int
9711         Problem reported for VAX/VMS C (!) by Arnold Robbins in:
9712         https://lists.gnu.org/r/bug-gnulib/2020-01/msg00173.html
9713         * lib/dfa.c (CHARCLASS_PAIR): Bring back this macro.
9714         (CHARCLASS_WORD_BITS, charclass_word) [!UINT_LEAST64_MAX]:
9715         Fall back to 32-bit words.
9716         (CHARCLASS_INIT): Go back to having 8 32-bit args instead
9717         of 4 64-bit args.  All uses changed.
9719 2020-01-27  Paul Eggert  <eggert@cs.ucla.edu>
9721         regex: remove limits-h dependency
9722         * modules/regex (Depends-on): Remove limits-h, since the
9723         code no longer depends on ULONG_WIDTH already being defined.
9725         regex: port to non-GCC pre-IEC-60559
9726         Problem reported by Arnold Robbins in:
9727         https://lists.gnu.org/r/bug-gnulib/2020-01/msg00154.html
9728         * lib/regex_internal.h (ULONG_WIDTH): Make this usable in #if.
9730 2020-01-25  Bruno Haible  <bruno@clisp.org>
9732         c32isxdigit: Add tests.
9733         * tests/test-c32isxdigit.c: New file, based on tests/test-iswxdigit.c.
9734         * tests/test-c32isxdigit.sh: New file.
9735         * modules/c32isxdigit-tests: New file.
9737         c32isxdigit: New module.
9738         * lib/c32isxdigit.c: New file.
9739         * modules/c32isxdigit: New file.
9740         * doc/posix-functions/iswxdigit.texi: Mention the new module.
9742 2020-01-25  Bruno Haible  <bruno@clisp.org>
9744         c32isupper: Add tests.
9745         * tests/test-c32isupper.c: New file.
9746         * tests/test-c32isupper.sh: New file.
9747         * modules/c32isupper-tests: New file.
9749         c32isupper: New module.
9750         * lib/c32isupper.c: New file.
9751         * modules/c32isupper: New file.
9752         * doc/posix-functions/iswupper.texi: Mention the new module.
9754 2020-01-25  Bruno Haible  <bruno@clisp.org>
9756         c32isspace: Add tests.
9757         * tests/test-c32isspace.c: New file.
9758         * tests/test-c32isspace.sh: New file.
9759         * modules/c32isspace-tests: New file.
9761         c32isspace: New module.
9762         * lib/c32isspace.c: New file.
9763         * modules/c32isspace: New file.
9764         * doc/posix-functions/iswspace.texi: Mention the new module.
9766 2020-01-25  Bruno Haible  <bruno@clisp.org>
9768         c32ispunct: Add tests.
9769         * tests/test-c32ispunct.c: New file.
9770         * tests/test-c32ispunct.sh: New file.
9771         * modules/c32ispunct-tests: New file.
9773         c32ispunct: New module.
9774         * lib/c32ispunct.c: New file.
9775         * modules/c32ispunct: New file.
9776         * doc/posix-functions/iswpunct.texi: Mention the new module.
9778 2020-01-25  Bruno Haible  <bruno@clisp.org>
9780         c32isprint: Add tests.
9781         * tests/test-c32isprint.c: New file.
9782         * tests/test-c32isprint.sh: New file.
9783         * modules/c32isprint-tests: New file.
9785         c32isprint: New module.
9786         * lib/c32isprint.c: New file.
9787         * modules/c32isprint: New file.
9788         * doc/posix-functions/iswprint.texi: Mention the new module.
9790 2020-01-25  Bruno Haible  <bruno@clisp.org>
9792         c32islower: Add tests.
9793         * tests/test-c32islower.c: New file.
9794         * tests/test-c32islower.sh: New file.
9795         * modules/c32islower-tests: New file.
9797         c32islower: New module.
9798         * lib/c32islower.c: New file.
9799         * modules/c32islower: New file.
9800         * doc/posix-functions/iswlower.texi: Mention the new module.
9802 2020-01-25  Bruno Haible  <bruno@clisp.org>
9804         c32isgraph: Add tests.
9805         * tests/test-c32isgraph.c: New file.
9806         * tests/test-c32isgraph.sh: New file.
9807         * modules/c32isgraph-tests: New file.
9809         c32isgraph: New module.
9810         * lib/c32isgraph.c: New file.
9811         * modules/c32isgraph: New file.
9812         * doc/posix-functions/iswgraph.texi: Mention the new module.
9814 2020-01-25  Bruno Haible  <bruno@clisp.org>
9816         c32isdigit: Add tests.
9817         * tests/test-c32isdigit.c: New file, based on tests/test-iswdigit.c.
9818         * tests/test-c32isdigit.sh: New file.
9819         * modules/c32isdigit-tests: New file.
9821         c32isdigit: New module.
9822         * lib/c32isdigit.c: New file.
9823         * modules/c32isdigit: New file.
9824         * doc/posix-functions/iswdigit.texi: Mention the new module.
9826 2020-01-25  Bruno Haible  <bruno@clisp.org>
9828         c32iscntrl: Add tests.
9829         * tests/test-c32iscntrl.c: New file.
9830         * tests/test-c32iscntrl.sh: New file.
9831         * modules/c32iscntrl-tests: New file.
9833         c32iscntrl: New module.
9834         * lib/c32iscntrl.c: New file.
9835         * modules/c32iscntrl: New file.
9836         * doc/posix-functions/iswcntrl.texi: Mention the new module.
9838 2020-01-25  Bruno Haible  <bruno@clisp.org>
9840         c32isblank: Add tests.
9841         * tests/test-c32isblank.c: New file.
9842         * tests/test-c32isblank.sh: New file.
9843         * modules/c32isblank-tests: New file.
9845         c32isblank: New module.
9846         * lib/c32isblank.c: New file.
9847         * modules/c32isblank: New file.
9848         * doc/posix-functions/iswblank.texi: Mention the new module.
9850 2020-01-25  Bruno Haible  <bruno@clisp.org>
9852         c32isalpha: Add tests.
9853         * tests/test-c32isalpha.c: New file.
9854         * tests/test-c32isalpha.sh: New file.
9855         * modules/c32isalpha-tests: New file.
9857         c32isalpha: New module.
9858         * lib/c32isalpha.c: New file.
9859         * modules/c32isalpha: New file.
9860         * doc/posix-functions/iswalpha.texi: Mention the new module.
9862 2020-01-25  Bruno Haible  <bruno@clisp.org>
9864         c32isalnum: Add tests.
9865         * tests/test-c32isalnum.c: New file.
9866         * tests/test-c32isalnum.sh: New file.
9867         * modules/c32isalnum-tests: New file.
9869         c32isalnum: New module.
9870         * lib/c32isalnum.c: New file.
9871         * lib/c32is-impl.h: New file.
9872         * modules/c32isalnum: New file.
9873         * doc/posix-functions/iswalnum.texi: Mention the new module.
9875 2020-01-25  Bruno Haible  <bruno@clisp.org>
9877         uchar: Preparations for modules c32isalnum, ..., c32isxdigit.
9878         * lib/uchar.in.h (c32isalnum, c32isalpha, c32isblank, c32iscntrl,
9879         c32isdigit, c32isgraph, c32islower, c32isprint, c32ispunct, c32isspace,
9880         c32isupper, c32isxdigit): New declarations.
9881         * m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_C32ISALNUM,
9882         GNULIB_C32ISALPHA, GNULIB_C32ISBLANK, GNULIB_C32ISCNTRL,
9883         GNULIB_C32ISDIGIT, GNULIB_C32ISGRAPH, GNULIB_C32ISLOWER,
9884         GNULIB_C32ISPRINT, GNULIB_C32ISPUNCT, GNULIB_C32ISSPACE,
9885         GNULIB_C32ISUPPER, GNULIB_C32ISXDIGIT.
9886         * modules/uchar (Makefile.am): Substitute GNULIB_C32ISALNUM,
9887         GNULIB_C32ISALPHA, GNULIB_C32ISBLANK, GNULIB_C32ISCNTRL,
9888         GNULIB_C32ISDIGIT, GNULIB_C32ISGRAPH, GNULIB_C32ISLOWER,
9889         GNULIB_C32ISPRINT, GNULIB_C32ISPUNCT, GNULIB_C32ISSPACE,
9890         GNULIB_C32ISUPPER, GNULIB_C32ISXDIGIT.
9891         * tests/test-uchar-c++.cc: Test the signature of c32isalnum, c32isalpha,
9892         c32isblank, c32iscntrl, c32isdigit, c32isgraph, c32islower, c32isprint,
9893         c32ispunct, c32isspace, c32isupper, c32isxdigit.
9895 2020-01-25  Bruno Haible  <bruno@clisp.org>
9897         mbchar, wctype: Use the corrected iswxdigit function.
9898         * modules/mbchar (Depends-on): Add iswxdigit.
9899         * modules/wctype (Depends-on): Likewise.
9901         iswxdigit: Add tests.
9902         * tests/test-iswxdigit.c: New file.
9903         * tests/test-iswxdigit.sh: New file.
9904         * modules/iswxdigit-tests: New file.
9906         iswxdigit: New module.
9907         * m4/iswxdigit.m4: New file.
9908         * lib/wctype.in.h (iswxdigit): Potentially override.
9909         (iswxdigit, rpl_iswxdigit): Test REPLACE_ISWXDIGIT, not
9910         REPLACE_ISWCNTRL. Rely on ISO C compliant definition.
9911         * lib/iswxdigit.c: New file.
9912         * m4/wctype_h.m4 (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWXDIGIT,
9913         REPLACE_ISWXDIGIT.
9914         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWXDIGIT,
9915         REPLACE_ISWXDIGIT.
9916         * modules/iswxdigit: New file.
9917         * doc/posix-functions/iswxdigit.texi: Mention the portability problem.
9919 2020-01-25  Bruno Haible  <bruno@clisp.org>
9921         lseek: Fix the override to not undo the effects of AC_SYS_LARGEFILE.
9922         Reported by John Donoghue <john.david.donoghue@gmail.com> in
9923         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00146.html>.
9924         * lib/lseek.c (rpl_lseek): When AC_SYS_LARGEFILE has enabled a 64-bit
9925         off_t on mingw, invoke _lseeki64 instead of lseek.
9927 2020-01-25  Bruno Haible  <bruno@clisp.org>
9929         iswdigit tests: Avoid test failure on Cygwin.
9930         * tests/test-iswdigit.c (for_character): If mbrtowc cannot convert the
9931         byte sequence, return 0.
9933         iswdigit: Fix test failure on native Windows.
9934         * lib/wctype.in.h (rpl_iswdigit): Rely on ISO C compliant definition.
9936         mbchar, wctype: Use the corrected iswdigit function.
9937         * modules/mbchar (Depends-on): Add iswdigit.
9938         * modules/wctype (Depends-on): Likewise.
9940         iswdigit: Add tests.
9941         * tests/test-iswdigit.c: New file.
9942         * tests/test-iswdigit.sh: New file.
9943         * modules/iswdigit-tests: New file.
9945         iswdigit: New module.
9946         * m4/iswdigit.m4: New file.
9947         * lib/wctype.in.h (iswdigit): Potentially override.
9948         (iswdigit, rpl_iswdigit): Test REPLACE_ISWDIGIT, not REPLACE_ISWCNTRL.
9949         * lib/iswdigit.c: New file.
9950         * m4/wctype_h.m4 (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWDIGIT,
9951         REPLACE_ISWDIGIT.
9952         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWDIGIT,
9953         REPLACE_ISWDIGIT.
9954         * modules/iswdigit: New file.
9955         * doc/posix-functions/iswdigit.texi: Mention the portability problem.
9957 2020-01-25  Bruno Haible  <bruno@clisp.org>
9959         hard-locale tests: Make it easy to reuse the musl test.
9960         * m4/musl.m4: New file, extracted from modules/hard-locale-tests.
9961         * modules/hard-locale-tests (Files): Add it.
9962         (configure.ac): Invoke gl_MUSL_LIBC.
9964 2020-01-24  Paul Eggert  <eggert@cs.ucla.edu>
9966         regex: port to Gawk on nonstandard platforms
9967         * lib/regex_internal.h (ULONG_WIDTH): Define if not already defined.
9968         This is useful for Gawk, which does not use the Gnulib stdlib-h
9969         module.  Problem reported by Arnold Robbins in:
9970         https://lists.gnu.org/r/bug-gnulib/2020-01/msg00138.html
9972 2020-01-21  Paul Eggert  <eggert@cs.ucla.edu>
9974         regex: fix bug with >=16 subexpressions
9975         * lib/regex_internal.h (struct re_backref_cache_entry):
9976         Use bitset_word_t as the type of eps_reachable_subexps_map,
9977         instead of unsigned short int.  This fixes a bug I introduced
9978         to glibc in 2005-09-28T17:33:18Z!drepper@redhat.com (glibc commit
9979         2c05d33f90861d074dc12808dafbde30f487b1a0, BZ #1302).
9980         Remove unused member 'unused'.
9982         regex: simplify definition of BITSET_WORD_BITS
9983         * config/srclist.txt: Remove regex.c, regex_internal.h temporarily.
9984         * lib/regex.c (__STDC_WANT_IEC_60559_BFP_EXT__): Define.
9985         * lib/regex_internal.h (BITSET_WORD_BITS):
9986         * modules/regex (Depends-on): Add limits-h.
9987         Simplify now that we can use ULONG_WIDTH.
9989 2020-01-20  Bruno Haible  <bruno@clisp.org>
9991         mbrtoc32: Add note about FreeBSD 12.
9992         * m4/mbrtoc32.m4 (gl_MBRTOC32_SANITYCHECK): Guess no also on FreeBSD.
9993         * doc/posix-functions/mbrtoc32.texi: Mention that FreeBSD 12 is also
9994         affected.
9996 2020-01-20  Bruno Haible  <bruno@clisp.org>
9998         unistr/u8-uctomb: Fix warning.
9999         Reported by Andreas Schwab <schwab@suse.de> in
10000         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00127.html>.
10001         * lib/unistr/u8-uctomb.c (FALLTHROUGH): New macro.
10002         (u8_uctomb): Add FALLTHROUGH markers.
10004 2020-01-20  Bruno Haible  <bruno@clisp.org>
10006         lock: Fix test-once1 failure on FreeBSD 11 (regression from 2020-01-19).
10007         * lib/glthread/lock.c (glthread_once_multithreaded): New function.
10008         * lib/glthread/lock.h (glthread_once_multithreaded): New declaration.
10009         (glthread_once): Use it.
10011 2020-01-19  Bruno Haible  <bruno@clisp.org>
10013         threadlib: Disable use of weak symbols on FreeBSD 11.
10014         Reported by Tim Rühsen <tim.ruehsen@gmx.de> in
10015         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00061.html>.
10016         * m4/threadlib.m4 (gl_WEAK_SYMBOLS): Require AC_CANONICAL_HOST. Test
10017         against a bug in FreeBSD 11.
10019 2020-01-19  Bruno Haible  <bruno@clisp.org>
10021         iconv_open: Improve z/OS support.
10022         * lib/iconv_open-zos.gperf: Choose better aliases. Add mapping for
10023         ISO-8859-3, KOI8-R, KOI8-U, CP775, CP857, CP865, CP1129, CP1131, CP1257.
10024         Remove mapping for EUC-TW.
10026 2020-01-18  Bruno Haible  <bruno@clisp.org>
10028         Rename ~~gnulib.m4 to zzgnulib.m4.
10029         Suggested by Paul Eggert.
10030         * m4/zzgnulib.m4: Renamed from m4/~~gnulib.m4.
10031         * gnulib-tool (func_get_filelist): Update.
10032         * pygnulib/GLModuleSystem.py (getFiles): Likewise.
10034 2020-01-18  Bruno Haible  <bruno@clisp.org>
10036         doc: Update license notices.
10037         * doc/*.texi: Reference the GFDL 1.3 through a URL, rather than by
10038         reference to a section or to a "file as part of this distribution".
10040 2020-01-18  Bruno Haible  <bruno@clisp.org>
10042         Avoid error "m4_require: circular dependency of AC_LANG_COMPILER(C)".
10043         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se> in
10044         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00109.html>.
10045         * m4/00gnulib.m4 (gl_COMPILER_CLANG): Use _AC_COMPILE_IFELSE, not
10046         AC_EGREP_CPP.
10048 2020-01-18  Bruno Haible  <bruno@clisp.org>
10050         Ensure Automake does not drop ~~gnulib.m4.
10051         * m4/~~gnulib.m4 (gl_ZZGNULIB): New macro.
10052         * m4/gnulib-common.m4 (gl_COMMON): Require it.
10054 2020-01-18  Bruno Haible  <bruno@clisp.org>
10056         Fix major regression from 2020-01-10.
10057         Reported by Paul Eggert in
10058         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00079.html>.
10059         * m4/00gnulib.m4 (gl_COMPILER_CLANG, gl_COMPILER_PREPARE_CHECK_DECL):
10060         Don't AC_REQUIRE anything.
10061         (gl_COMPILER_PREPARE_CHECK_DECL): Define through AC_DEFUN, not
10062         AC_DEFUN_ONCE. Use _AC_COMPILE_IFELSE, not AC_COMPILE_IFELSE.
10063         (_AC_CHECK_DECL_BODY): If ac_compile_for_check_decl has not been set,
10064         use ac_compile instead.
10065         (AC_CHECK_DECL): Remove override.
10066         * m4/~~gnulib.m4: New file.
10067         * gnulib-tool (func_get_filelist): Add also ~~gnulib.m4.
10068         * pygnulib/GLModuleSystem.py (getFiles): Likewise.
10070 2020-01-17  Bruno Haible  <bruno@clisp.org>
10071             Paul Eggert  <eggert@cs.ucla.edu>
10073         glob: Fix use-after-free bug.
10074         Reported by Tim Rühsen <tim.ruehsen@gmx.de> in
10075         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00102.html>.
10076         * lib/glob.c (__glob): Delay freeing dirname until after the use of
10077         end_name.
10079 2020-01-16  Siddhesh Poyarekar  <siddhesh@gotplt.org>
10081         vcs-to-changelog: Fix parsing of fndecl without args.
10082         * build-aux/vcstocl/frontend_c.py (FNDECL_RE): Fix regular expression
10083         for empty arguments.
10085 2020-01-16  Siddhesh Poyarekar  <siddhesh@gotplt.org>
10087         vcs-to-changelog: Add documentation.
10088         * doc/vcs-to-changelog.texi: New file.
10089         * doc/gnulib.texi (Build Infrastructure Modules): Add vcs-to-changelog
10090         section.
10092 2020-01-16  Siddhesh Poyarekar  <siddhesh@gotplt.org>
10094         vcs-to-changelog: Allow loading of custom quirks file.
10095         * build-aux/vcs_to_changelog.py: New commandline option -q.
10097 2020-01-16  Siddhesh Poyarekar  <siddhesh@gotplt.org>
10099         vcs-to-changelog: Fix formatting of ChangeLog output.
10100         * build-aux/vcstocl/vcs_git.py (list_changes): Add newline in print
10101         output.
10103 2020-01-16  Siddhesh Poyarekar  <siddhesh@gotplt.org>
10105         vcs-to-changelog: Drop python3 shebang from frontend_c.py.
10106         Reported in
10107         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00050.html>.
10108         * build-aux/vcstocl/frontend_c.py: Remove shebang.
10110 2020-01-15  Simon Josefsson  <simon@josefsson.org>
10112         crypto/gc-pbkdf2: New module.
10113         * MODULES.html.sh (func_all_modules): Add gc-pbkdf2.
10114         * NEWS: Deprecated gc-pbkdf2-sha1 in favor of gc-pbkdf2.
10115         * lib/gc-pbkdf2.c: New file.
10116         * lib/gc-pbkdf2-sha1.c: Use new interface.
10117         * lib/gc.h (GC_MAX_DIGEST_SIZE, gc_pbkdf2_hmac): Add.
10118         * modules/crypto/gc-pbkdf2: New file.
10119         * modules/crypto/gc-pbkdf2-tests: New file.
10120         * tests/test-gc-pbkdf2.c: New file.
10122 2020-01-12  Bruno Haible  <bruno@clisp.org>
10124         c32stombs: Add tests.
10125         * tests/test-c32stombs.c: New file, based on tests/test-c32srtombs.c.
10126         * tests/test-c32stombs-1.sh: New file, based on
10127         tests/test-c32srtombs-1.sh.
10128         * tests/test-c32stombs-2.sh: New file, based on
10129         tests/test-c32srtombs-2.sh.
10130         * tests/test-c32stombs-3.sh: New file, based on
10131         tests/test-c32srtombs-3.sh.
10132         * tests/test-c32stombs-4.sh: New file, based on
10133         tests/test-c32srtombs-4.sh.
10134         * modules/c32stombs-tests: New file, based on modules/c32srtombs-tests.
10136         c32stombs: New module.
10137         * lib/uchar.in.h (c32stombs): New declaration.
10138         * lib/c32stombs.c: New file.
10139         * m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_C32STOMBS.
10140         * modules/uchar (Makefile.am): Substitute GNULIB_C32STOMBS.
10141         * modules/c32stombs: New file.
10142         * tests/test-uchar-c++.cc: Test the signature of c32stombs.
10143         * doc/posix-functions/wcstombs.texi: Mention the new module.
10145 2020-01-11  Jim Meyering  <meyering@fb.com>
10147         perl: require the "warnings" module
10148         * m4/perl.m4: Also "use warnings", so we reject the perl found
10149         on at least one IRIX 6.5 system. Reported by Bruno Haible in
10150         https://lists.gnu.org/r/sed-devel/2020-01/msg00004.html
10152 2020-01-10  Bruno Haible  <bruno@clisp.org>
10154         Fix major regression from 2020-01-04.
10155         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se> in
10156         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00072.html>.
10157         * m4/00gnulib.m4 (gl_COMPILER_PREPARE_CHECK_DECL): Define through
10158         AC_DEFUN_ONCE.
10159         (AC_CHECK_DECL): Invoke, not require, it.
10161 2020-01-10  Bruno Haible  <bruno@clisp.org>
10163         c32snrtombs: Add tests.
10164         * tests/test-c32snrtombs.c: New file, based on tests/test-wcsnrtombs.c.
10165         * tests/test-c32snrtombs-1.sh: New file, based on
10166         tests/test-wcsnrtombs1.sh.
10167         * tests/test-c32snrtombs-2.sh: New file, based on
10168         tests/test-wcsnrtombs2.sh.
10169         * tests/test-c32snrtombs-3.sh: New file, based on
10170         tests/test-wcsnrtombs3.sh.
10171         * tests/test-c32snrtombs-4.sh: New file, based on
10172         tests/test-wcsnrtombs4.sh.
10173         * modules/c32snrtombs-tests: New file, based on
10174         modules/wcsnrtombs-tests.
10176         c32snrtombs: New module.
10177         * lib/uchar.in.h (c32snrtombs): New declaration.
10178         * lib/wcsnrtombs-impl.h: Parameterize: Use macros FUNC, SCHAR_T,
10179         INTERNAL_STATE, WCRTOMB.
10180         * lib/wcsnrtombs.c (FUNC, SCHAR_T, INTERNAL_STATE, WCRTOMB): New macros.
10181         * lib/c32snrtombs.c: New file.
10182         * m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_C32SNRTOMBS.
10183         * modules/uchar (Makefile.am): Substitute GNULIB_C32SNRTOMBS.
10184         * modules/c32snrtombs: New file.
10185         * tests/test-uchar-c++.cc: Test the signature of c32snrtombs.
10186         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
10188 2020-01-09  Bruno Haible  <bruno@clisp.org>
10190         c32srtombs: Add tests.
10191         * tests/test-c32srtombs.c: New file, based on tests/test-wcsrtombs.c.
10192         * tests/test-c32srtombs-1.sh: New file, based on
10193         tests/test-wcsrtombs1.sh.
10194         * tests/test-c32srtombs-2.sh: New file, based on
10195         tests/test-wcsrtombs2.sh.
10196         * tests/test-c32srtombs-3.sh: New file, based on
10197         tests/test-wcsrtombs3.sh.
10198         * tests/test-c32srtombs-4.sh: New file, based on
10199         tests/test-wcsrtombs4.sh.
10200         * modules/c32srtombs-tests: New file, based on modules/wcsrtombs-tests.
10202         c32srtombs: New module.
10203         * lib/uchar.in.h (c32srtombs): New declaration.
10204         * lib/wcsrtombs-impl.h: Parameterize: Use macros FUNC, SCHAR_T,
10205         INTERNAL_STATE, WCRTOMB.
10206         * lib/wcsrtombs.c (FUNC, SCHAR_T, INTERNAL_STATE, WCRTOMB): New macros.
10207         * lib/c32srtombs.c: New file.
10208         * lib/c32srtombs-state.c: New file, based on lib/wcsrtombs-state.c.
10209         * m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_C32SRTOMBS.
10210         * modules/uchar (Makefile.am): Substitute GNULIB_C32SRTOMBS.
10211         * modules/c32srtombs: New file.
10212         * tests/test-uchar-c++.cc: Test the signature of c32srtombs.
10213         * doc/posix-functions/wcsrtombs.texi: Mention the new module.
10215 2020-01-08  Bruno Haible  <bruno@clisp.org>
10217         c32tob: Make consistent with mbrtoc32.
10218         * lib/c32tob.c: Include <stdio.h>, <string.h>, <wchar.h>.
10219         (c32tob): If the char32_t encoding and the wchar_t encoding may differ,
10220         use c32rtomb, not wctob.
10221         * modules/c32tob (Files): Add m4/mbrtoc32.m4.
10222         (Depends-on): Add c32rtomb.
10223         (configure.ac): Require gl_MBRTOC32_SANITYCHECK.
10225 2020-01-08  Bruno Haible  <bruno@clisp.org>
10227         c32rtomb: Add tests.
10228         * tests/test-c32rtomb.c: New file, based on tests/test-wcrtomb.c.
10229         * tests/test-c32rtomb.sh: New file, based on tests/test-wcrtomb.sh.
10230         * tests/test-c32rtomb-w32.c: New file, based on
10231         tests/test-wcrtomb-w32.c.
10232         * tests/test-c32rtomb-w32-1.sh: New file, based on
10233         tests/test-wcrtomb-w32-1.sh.
10234         * tests/test-c32rtomb-w32-2.sh: New file, based on
10235         tests/test-wcrtomb-w32-2.sh.
10236         * tests/test-c32rtomb-w32-3.sh: New file, based on
10237         tests/test-wcrtomb-w32-3.sh.
10238         * tests/test-c32rtomb-w32-4.sh: New file, based on
10239         tests/test-wcrtomb-w32-4.sh.
10240         * tests/test-c32rtomb-w32-5.sh: New file, based on
10241         tests/test-wcrtomb-w32-5.sh.
10242         * tests/test-c32rtomb-w32-6.sh: New file, based on
10243         tests/test-wcrtomb-w32-6.sh.
10244         * tests/test-c32rtomb-w32-7.sh: New file, based on
10245         tests/test-wcrtomb-w32-7.sh.
10246         * modules/c32rtomb-tests: New file.
10248         c32rtomb: New module.
10249         * lib/uchar.in.h (c32rtomb): New declaration.
10250         * lib/c32rtomb.c: New file, based on lib/unistr/u8-uctomb-aux.c.
10251         * m4/c32rtomb.m4: New file.
10252         * m4/uchar.m4 (gl_UCHAR_H): Test whether c32rtomb is declared.
10253         (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_C32RTOMB, HAVE_C32RTOMB,
10254         REPLACE_C32RTOMB.
10255         * modules/uchar (Makefile.am): Substitute GNULIB_C32RTOMB,
10256         HAVE_C32RTOMB, REPLACE_C32RTOMB.
10257         * modules/c32rtomb: New file.
10258         * tests/test-uchar-c++.cc: Test the signature of c32rtomb.
10259         * doc/posix-functions/c32rtomb.texi: Document the new module.
10260         * doc/posix-functions/wcrtomb.texi: Mention the new module.
10262 2020-01-08  Bruno Haible  <bruno@clisp.org>
10264         mbrtoc32: Use the system's mbrtoc32 if it exists and basically works.
10265         * m4/mbrtoc32.m4 (gl_MBRTOC32_SANITYCHECK): New macro.
10266         (gl_FUNC_MBRTOC32): Require it. Set REPLACE_MBRTOC32 if mbrtoc32 exists
10267         but is not working.
10268         * lib/mbrtoc32.c: Include hard-locale.h, <locale.h>.
10269         (mbrtoc32): If the char32_t encoding and the wchar_t encoding may
10270         differ, use the system's mbrtoc32, adding workarounds.
10271         * modules/mbrtoc32 (Depends-on): Add hard-locale.
10272         * doc/posix-functions/mbrtoc32.texi: Mention the Solaris and native
10273         Windows problem.
10274         * lib/btoc32.c: Include <stdio.h>, <string.h>.
10275         (btoc32): If the char32_t encoding and the wchar_t encoding may differ,
10276         use mbrtoc32, not btowc.
10277         * modules/btoc32 (Depends-on): Add mbrtoc32.
10278         * lib/mbsrtoc32s.c (mbsrtoc32s): If the char32_t encoding and the
10279         wchar_t encoding may differ, use mbrtoc32, not mbsrtowcs.
10280         * modules/mbsrtoc32s (Depends-on): Update conditions.
10281         (configure.ac): Compile mbsrtoc32s-state.c unconditionally.
10282         * lib/mbsnrtoc32s.c (mbsnrtoc32s): If the char32_t encoding and the
10283         wchar_t encoding may differ, use mbrtoc32, not mbsnrtowcs.
10284         * modules/mbsnrtoc32s (Depends-on): Update conditions.
10285         (configure.ac): Compile mbsrtoc32s-state.c unconditionally.
10287 2020-01-07  Bruno Haible  <bruno@clisp.org>
10289         wcrtomb: Make multithread-safe, except possibly on IRIX.
10290         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Don't set REPLACE_WCRTOMB to 1 when
10291         REPLACE_MBSTATE_T is set. Define WCRTOMB_C_LOCALE_BUG and
10292         WCRTOMB_RETVAL_BUG.
10293         * lib/wcrtomb.c (wcrtomb): Use original wcrtomb whenever available. Use
10294         wctomb only on IRIX.
10296 2020-01-05  Jim Meyering  <meyering@fb.com>
10298         tests: skip thread-using tests when threading is disabled
10299         sed's configure.ac specifies gl_DISABLE_THREADS, and that caused three
10300         thread-using gnulib tests to fail. Add an #if-guarded exit (77) to each
10301         of those, so they are skipped in this case.
10302         * tests/test-nl_langinfo-mt.c (main): Exit 77 when threading is disabled.
10303         * tests/test-setlocale_null-mt-all.c (main): Likewise.
10304         * tests/test-setlocale_null-mt-one.c (main): Likewise.
10306 2020-01-05  Bruno Haible  <bruno@clisp.org>
10308         tests: Avoid GCC over-optimization caused by _GL_ARG_NONNULL attributes.
10309         Reported by Jim Meyering in
10310         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00040.html>.
10311         * lib/stdlib.in.h (GNULIB_defined_canonicalize_file_name): New macro.
10312         (GNULIB_defined_ptsname_r): New macro.
10313         * tests/test-canonicalize.c (_GL_ARG_NONNULL): Define to empty.
10314         (main): Disable the NULL argument test if canonicalize_file_name does
10315         not come from gnulib.
10316         * tests/test-canonicalize-lgpl.c (_GL_ARG_NONNULL): Define to empty.
10317         (main): Disable the NULL argument test if canonicalize_file_name does
10318         not come from gnulib.
10319         * tests/test-ptsname_r.c (_GL_ARG_NONNULL): Define to empty.
10320         (test_errors): Disable the NULL argument test if ptsname_r does not come
10321         from gnulib.
10323 2020-01-04  Jim Meyering  <meyering@fb.com>
10325         update-copyright: reenable its always-skipped test
10326         * tests/test-update-copyright.sh: Restore the "-pi" options removed
10327         on 2019-06-15. Without those, an internal preliminary test would
10328         fail, causing this test always to be skipped.
10329         Verify that the test is now run and passes via this:
10330           ./gnulib-tool --test --dir /tmp/x --with-tests update-copyright
10332 2020-01-05  Bruno Haible  <bruno@clisp.org>
10334         mbstoc32s: Add tests.
10335         * tests/test-mbstoc32s.c: New file, based on tests/test-mbsrtoc32s.c.
10336         * tests/test-mbstoc32s-1.sh: New file, based on
10337         tests/test-mbsrtoc32s-1.sh.
10338         * tests/test-mbstoc32s-2.sh: New file, based on
10339         tests/test-mbsrtoc32s-2.sh.
10340         * tests/test-mbstoc32s-3.sh: New file, based on
10341         tests/test-mbsrtoc32s-3.sh.
10342         * tests/test-mbstoc32s-4.sh: New file, based on
10343         tests/test-mbsrtoc32s-4.sh.
10344         * modules/mbstoc32s-tests: New file, based on modules/mbsrtoc32s-tests.
10346         mbstoc32s: New module.
10347         * lib/uchar.in.h (mbstoc32s): New declaration.
10348         * lib/mbstoc32s.c: New file.
10349         * m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_MBSTOC32S.
10350         * modules/uchar (Makefile.am): Substitute GNULIB_MBSTOC32S.
10351         * modules/mbstoc32s: New file.
10352         * tests/test-uchar-c++.cc: Test the signature of mbstoc32s.
10353         * doc/posix-functions/mbstowcs.texi: Mention the new module.
10355 2020-01-05  Bruno Haible  <bruno@clisp.org>
10357         Tweak recently added tests.
10358         * tests/test-mbrtoc32.c: Make signature consistent with uchar.in.h.
10359         * tests/test-mbsrtoc32s.c: Likewise.
10360         * tests/test-mbsnrtoc32s.c: Likewise.
10362 2020-01-04  Bruno Haible  <bruno@clisp.org>
10364         mbsnrtoc32s: Add tests.
10365         * tests/test-mbsnrtoc32s.c: New file, based on tests/test-mbsnrtowcs.c.
10366         * tests/test-mbsnrtoc32s-1.sh: New file, based on
10367         tests/test-mbsnrtowcs1.sh.
10368         * tests/test-mbsnrtoc32s-2.sh: New file, based on
10369         tests/test-mbsnrtowcs2.sh.
10370         * tests/test-mbsnrtoc32s-3.sh: New file, based on
10371         tests/test-mbsnrtowcs3.sh.
10372         * tests/test-mbsnrtoc32s-4.sh: New file, based on
10373         tests/test-mbsnrtowcs4.sh.
10374         * modules/mbsnrtoc32s-tests: New file, based on
10375         modules/mbsnrtowcs-tests.
10377         mbsnrtoc32s: New module.
10378         * lib/uchar.in.h (mbsnrtoc32s): New declaration.
10379         * lib/mbsnrtowcs-impl.h: Parameterize: Use macros FUNC, DCHAR_T,
10380         INTERNAL_STATE, MBRTOWC.
10381         * lib/mbsnrtowcs.c (FUNC, DCHAR_T, INTERNAL_STATE, MBRTOWC): New macros.
10382         * lib/mbsnrtoc32s.c: New file.
10383         * m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOC32S.
10384         * modules/uchar (Makefile.am): Substitute GNULIB_MBSNRTOC32S.
10385         * modules/mbsnrtoc32s: New file.
10386         * tests/test-uchar-c++.cc: Test the signature of mbsnrtoc32s.
10387         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module.
10389 2020-01-04  Bruno Haible  <bruno@clisp.org>
10391         mbsrtoc32s tests: Enhance test.
10392         * tests/test-mbsrtoc32s.c (main): Include a non-BMP character in the
10393         test strings for UTF-8 and GB18030.
10395 2020-01-04  Bruno Haible  <bruno@clisp.org>
10397         mbsrtoc32s: Fix bug.
10398         * modules/mbsrtoc32s (configure.ac): Require gl_UCHAR_H, to make sure
10399         that SMALL_WCHAR_T is defined.
10401 2020-01-04  Bruno Haible  <bruno@clisp.org>
10403         mbsrtoc32s: Add tests.
10404         * tests/test-mbsrtoc32s.c: New file, based on tests/test-mbsrtowcs.c.
10405         * tests/test-mbsrtoc32s-1.sh: New file, based on
10406         tests/test-mbsrtowcs1.sh.
10407         * tests/test-mbsrtoc32s-2.sh: New file, based on
10408         tests/test-mbsrtowcs2.sh.
10409         * tests/test-mbsrtoc32s-3.sh: New file, based on
10410         tests/test-mbsrtowcs3.sh.
10411         * tests/test-mbsrtoc32s-4.sh: New file, based on
10412         tests/test-mbsrtowcs4.sh.
10413         * modules/mbsrtoc32s-tests: New file, based on modules/mbsrtowcs-tests.
10415         mbsrtoc32s: New module.
10416         * lib/uchar.in.h (mbsrtoc32s): New declaration.
10417         * lib/mbsrtowcs-impl.h: Parameterize: Use macros FUNC, DCHAR_T,
10418         INTERNAL_STATE, MBRTOWC.
10419         * lib/mbsrtowcs.c (FUNC, DCHAR_T, INTERNAL_STATE, MBRTOWC): New macros.
10420         * lib/mbsrtoc32s.c: New file.
10421         * lib/mbsrtoc32s-state.c: New file, based on lib/mbsrtowcs-state.c.
10422         * m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOC32S.
10423         * modules/uchar (Makefile.am): Substitute GNULIB_MBSRTOC32S.
10424         * modules/mbsrtoc32s: New file.
10425         * tests/test-uchar-c++.cc: Test the signature of mbsrtoc32s.
10426         * doc/posix-functions/mbsrtowcs.texi: Mention the new module.
10428 2020-01-04  Bruno Haible  <bruno@clisp.org>
10430         mbrtowc, mbrtoc32: Tighten dependendies.
10431         * modules/mbrtowc (Depends-on): Disable hard-locale, mbsinit if
10432         REPLACE_MBSTATE_T is 1.
10433         (configure.ac): Don't compile lc-charset-dispatch.c and mbtowc-lock.c if
10434         REPLACE_MBSTATE_T is 0.
10435         * modules/mbrtoc32 (Depends-on): Remove hard-locale, mbsinit. Disable
10436         mbrtowc dependency if REPLACE_MBSTATE_T is 1.
10437         (configure.ac): Don't compile lc-charset-dispatch.c and mbtowc-lock.c if
10438         REPLACE_MBSTATE_T is 0.
10440 2020-01-04  Bruno Haible  <bruno@clisp.org>
10442         uchar: Decide about _GL_LARGE_CHAR32_T at configure time.
10443         * m4/uchar.m4 (gl_UCHAR_H): Set SMALL_WCHAR_T.
10444         * modules/uchar (Files): Add stdint.m4.
10445         (Makefile.am): Substitute SMALL_WCHAR_T.
10446         * lib/uchar.in.h (_GL_LARGE_CHAR32_T): Rely on SMALL_WCHAR_T.
10448 2020-01-04  Bruno Haible  <bruno@clisp.org>
10450         Fix AC_CHECK_DECL so that it deactivates clang's built-in declarations.
10451         Reported by Martin Storsjö <martin@martin.st> in
10452         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00016.html>.
10453         * m4/00gnulib.m4 (gl_COMPILER_CLANG, gl_COMPILER_PREPARE_CHECK_DECL):
10454         New macros.
10455         (_AC_CHECK_DECL_BODY, AC_CHECK_DECL): Augment.
10457 2020-01-04  Bruno Haible  <bruno@clisp.org>
10459         btoc32: Add tests.
10460         * tests/test-btoc32.c: New file, based on tests/test-btowc.c.
10461         * tests/test-btoc32-1.sh: New file, based on tests/test-btowc1.sh.
10462         * tests/test-btoc32-2.sh: New file, based on tests/test-btowc2.sh.
10463         * modules/btoc32-tests: New file, based on modules/btowc-tests.
10465         btoc32: New module.
10466         * lib/uchar.in.h (btoc32): New declaration.
10467         * lib/btoc32.c: New file.
10468         * m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_BTOC32.
10469         * modules/uchar (Makefile.am): Substitute GNULIB_BTOC32.
10470         * modules/btoc32: New file.
10471         * tests/test-uchar-c++.cc: Test the signature of btoc32.
10472         * doc/posix-functions/btowc.texi: Mention the new module.
10474 2020-01-03  Bruno Haible  <bruno@clisp.org>
10476         uchar tests: Avoid compilation error with HP cc.
10477         * tests/test-uchar.c: Disable a test when HP cc is in use.
10479 2020-01-03  Bruno Haible  <bruno@clisp.org>
10481         mbrtoc32: Add tests.
10482         * tests/test-mbrtoc32.c: New file, based on tests/test-mbrtowc.c.
10483         * tests/test-mbrtoc32-1.sh: New file, based on tests/test-mbrtowc1.sh.
10484         * tests/test-mbrtoc32-2.sh: New file, based on tests/test-mbrtowc2.sh.
10485         * tests/test-mbrtoc32-3.sh: New file, based on tests/test-mbrtowc3.sh.
10486         * tests/test-mbrtoc32-4.sh: New file, based on tests/test-mbrtowc4.sh.
10487         * tests/test-mbrtoc32-5.sh: New file, based on tests/test-mbrtowc5.sh.
10488         * tests/test-mbrtoc32-w32.c: New file, based on tests/test-mbrtowc-w32.c.
10489         * tests/test-mbrtoc32-w32-1.sh: New file, based on
10490         tests/test-mbrtowc-w32-1.sh.
10491         * tests/test-mbrtoc32-w32-2.sh: New file, based on
10492         tests/test-mbrtowc-w32-2.sh.
10493         * tests/test-mbrtoc32-w32-3.sh: New file, based on
10494         tests/test-mbrtowc-w32-3.sh.
10495         * tests/test-mbrtoc32-w32-4.sh: New file, based on
10496         tests/test-mbrtowc-w32-4.sh.
10497         * tests/test-mbrtoc32-w32-5.sh: New file, based on
10498         tests/test-mbrtowc-w32-5.sh.
10499         * tests/test-mbrtoc32-w32-6.sh: New file, based on
10500         tests/test-mbrtowc-w32-6.sh.
10501         * tests/test-mbrtoc32-w32-7.sh: New file, based on
10502         tests/test-mbrtowc-w32-7.sh.
10503         * modules/mbrtoc32-tests: New file, based on modules/mbrtowc-tests.
10505         mbrtoc32: New module.
10506         * lib/uchar.in.h (mbrtoc32): New declaration.
10507         * lib/mbrtoc32.c: New file, based on lib/mbrtowc.c.
10508         * m4/mbrtoc32.m4: New file, based on m4/mbrtowc.m4.
10509         * m4/uchar.m4 (gl_UCHAR_H): Test whether mbrtoc32 is declared.
10510         (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOC32, HAVE_MBRTOC32,
10511         REPLACE_MBRTOC32.
10512         * modules/uchar (Makefile.am): Substitute GNULIB_MBRTOC32,
10513         HAVE_MBRTOC32, REPLACE_MBRTOC32.
10514         * modules/mbrtoc32: New file, based on modules/mbrtowc.
10515         * tests/test-uchar-c++.cc (mbrtoc32): Verify the signature.
10516         * modules/uchar-c++-tests (Makefile.am): Link test-uchar-c++ with
10517         $(LIB_MBRTOWC).
10518         * doc/posix-functions/mbrtoc32.texi: Document the new module.
10519         * doc/posix-functions/mbrtowc.texi: Mention the new module.
10521 2020-01-03  Bruno Haible  <bruno@clisp.org>
10523         mbrtowc: Refactor to share code with mbrtoc32.
10524         * lib/mbrtowc-impl.h: New file, extracted from lib/mbrtowc.c.
10525         * lib/mbrtowc-impl-utf8.h: Likewise.
10526         * lib/mbrtowc.c (mbrtowc): Define macro FITS_IN_CHAR_TYPE. Include
10527         mbrtowc-impl.h.
10528         * modules/mbrtowc (Files): Add the new files.
10530 2020-01-03  Jim Meyering  <meyering@fb.com>
10532         doc: fix time.texi wording
10533         * doc/posix-headers/time.texi (time.h): Typo.
10535 2020-01-03  Bruno Haible  <bruno@clisp.org>
10537         mbrtowc: Refactor locale charset dispatching.
10538         * lib/lc-charset-dispatch.h: New file, extracted from lib/mbrtowc.c.
10539         * lib/lc-charset-dispatch.c: New file, extracted from lib/mbrtowc.c.
10540         * lib/mbrtowc.c: Include lc-charset-dispatch.h. Don't include
10541         localcharset.h, streq.h.
10542         (enc_t): Remove type.
10543         (locale_enc): Remove function.
10544         (cached_locale_enc): Remove variable.
10545         (locale_enc_cached): Remove function.
10546         (mbrtowc): Invoke locale_encoding_classification.
10547         * m4/mbrtowc.m4 (gl_PREREQ_MBRTOWC): Update comment.
10548         * modules/mbrtowc (Files): Add lc-charset-dispatch.h,
10549         lc-charset-dispatch.c.
10550         (configure.ac): Arrange to compile lc-charset-dispatch.c.
10552 2020-01-03  Paul Eggert  <eggert@cs.ucla.edu>
10554         doc: mention 32-bit time_t issue
10555         * doc/posix-headers/sys_stat.texi (sys/stat.h):
10556         * doc/posix-headers/time.texi (time.h): Mention 2038.
10558 2020-01-03  Bruno Haible  <bruno@clisp.org>
10560         mbrtowc: Ensure the mbtowc_lock is unique.
10561         * lib/mbtowc-lock.c: New file, based on lib/setlocale-lock.c.
10562         * lib/mbtowc-lock.h: New file, extracted from lib/mbrtowc.c and
10563         lib/setlocale_null.c.
10564         * lib/mbrtowc.c: Include headers needed for mbtowc-lock.h. Don't include
10565         glthread/lock.h. Include mbtowc-lock.h.
10566         (mbtowc_lock): Remove declaration.
10567         (mbrtowc): Use mbtowc_with_lock.
10568         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Require gl_PTHREADLIB. Check for
10569         threads.h. Set LIB_MBRTOWC.
10570         (gl_PREREQ_MBTOWC_LOCK): New macro.
10571         * modules/mbrtowc (Files): Add lib/mbtowc-lock.h, lib/mbtowc-lock.c,
10572         lib/windows-initguard.h, m4/threadlib.m4, m4/visibility.m4.
10573         (Depends-on): Remove lock.
10574         (configure.ac): Arrange to compile mbtowc-lock.c.
10575         (Link): Mention $(LIB_MBRTOWC) instead of $(LIBTHREAD).
10576         * modules/acl (Link): Likewise.
10577         * modules/argmatch (Link): Likewise.
10578         * modules/backup-rename (Link): Likewise.
10579         * modules/backupfile (Link): Likewise.
10580         * modules/closein (Link): Likewise.
10581         * modules/closeout (Link): Likewise.
10582         * modules/copy-file (Link): Likewise.
10583         * modules/csharpcomp (Link): Likewise.
10584         * modules/csharpexec (Link): Likewise.
10585         * modules/dfa (Link): Likewise.
10586         * modules/exclude (Link): Likewise.
10587         * modules/fnmatch (Link): Likewise.
10588         * modules/fnmatch-gnu (Link): Likewise.
10589         * modules/fnmatch-posix (Link): Likewise.
10590         * modules/glob (Link): Likewise.
10591         * modules/human (Link): Likewise.
10592         * modules/javacomp (Link): Likewise.
10593         * modules/javaexec (Link): Likewise.
10594         * modules/javaversion (Link): Likewise.
10595         * modules/mbfile (Link): Likewise.
10596         * modules/mbiter (Link): Likewise.
10597         * modules/mbmemcasecmp (Link): Likewise.
10598         * modules/mbmemcasecoll (Link): Likewise.
10599         * modules/mbrlen (Link): Likewise.
10600         * modules/mbscasecmp (Link): Likewise.
10601         * modules/mbscasestr (Link): Likewise.
10602         * modules/mbschr (Link): Likewise.
10603         * modules/mbscspn (Link): Likewise.
10604         * modules/mbsinit (Link): Likewise.
10605         * modules/mbslen (Link): Likewise.
10606         * modules/mbsncasecmp (Link): Likewise.
10607         * modules/mbsnlen (Link): Likewise.
10608         * modules/mbsnrtowcs (Link): Likewise.
10609         * modules/mbspbrk (Link): Likewise.
10610         * modules/mbspcasecmp (Link): Likewise.
10611         * modules/mbsrchr (Link): Likewise.
10612         * modules/mbsrtowcs (Link): Likewise.
10613         * modules/mbssep (Link): Likewise.
10614         * modules/mbsspn (Link): Likewise.
10615         * modules/mbsstr (Link): Likewise.
10616         * modules/mbstok_r (Link): Likewise.
10617         * modules/mbswidth (Link): Likewise.
10618         * modules/mbuiter (Link): Likewise.
10619         * modules/mkdir-p (Link): Likewise.
10620         * modules/propername (Link): Likewise.
10621         * modules/quote (Link): Likewise.
10622         * modules/quotearg (Link): Likewise.
10623         * modules/quotearg-simple (Link): Likewise.
10624         * modules/regex-quote (Link): Likewise.
10625         * modules/rpmatch (Link): Likewise.
10626         * modules/sh-quote (Link): Likewise.
10627         * modules/system-quote (Link): Likewise.
10628         * modules/trim (Link): Likewise.
10629         * modules/unistdio/ulc-asnprintf (Link): Likewise.
10630         * modules/unistdio/ulc-fprintf (Link): Likewise.
10631         * modules/unistdio/ulc-vasnprintf (Link): Likewise.
10632         * modules/unistdio/ulc-vasprintf (Link): Likewise.
10633         * modules/unistdio/ulc-vfprintf (Link): Likewise.
10634         * modules/unistdio/ulc-vsnprintf (Link): Likewise.
10635         * modules/unistdio/ulc-vsprintf (Link): Likewise.
10636         * modules/xfreopen (Link): Likewise.
10637         * modules/xmemcoll (Link): Likewise.
10638         * modules/yesno (Link): Likewise.
10639         * modules/regex (Link): Add $(LIB_MBRTOWC).
10640         * modules/acl-tests (Makefile.am): Link the programs with $(LIB_MBRTOWC)
10641         instead of $(LIBTHREAD).
10642         * modules/argmatch-tests (Makefile.am): Likewise.
10643         * modules/closein-tests (Makefile.am): Likewise.
10644         * modules/copy-file-tests (Makefile.am): Likewise.
10645         * modules/dfa-tests (Makefile.am): Likewise.
10646         * modules/fnmatch-tests (Makefile.am): Likewise.
10647         * modules/glob-tests (Makefile.am): Likewise.
10648         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
10649         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
10650         * modules/mbrtowc-tests (Makefile.am): Likewise.
10651         * modules/mbscasecmp-tests (Makefile.am): Likewise.
10652         * modules/mbscasestr-tests (Makefile.am): Likewise.
10653         * modules/mbschr-tests (Makefile.am): Likewise.
10654         * modules/mbscspn-tests (Makefile.am): Likewise.
10655         * modules/mbsinit-tests (Makefile.am): Likewise.
10656         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
10657         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
10658         * modules/mbspbrk-tests (Makefile.am): Likewise.
10659         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
10660         * modules/mbsrchr-tests (Makefile.am): Likewise.
10661         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
10662         * modules/mbsspn-tests (Makefile.am): Likewise.
10663         * modules/mbsstr-tests (Makefile.am): Likewise.
10664         * modules/quotearg-simple-tests (Makefile.am): Likewise.
10665         * modules/quotearg-tests (Makefile.am): Likewise.
10666         * modules/readtokens-tests (Makefile.am): Likewise.
10667         * modules/sh-quote-tests (Makefile.am): Likewise.
10668         * modules/system-quote-tests (Makefile.am): Likewise.
10669         * modules/unistdio/ulc-asnprintf-tests (Makefile.am): Likewise.
10670         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
10671         * modules/unistdio/ulc-vasprintf-tests (Makefile.am): Likewise.
10672         * modules/unistdio/ulc-vsnprintf-tests (Makefile.am): Likewise.
10673         * modules/unistdio/ulc-vsprintf-tests (Makefile.am): Likewise.
10674         * modules/yesno-tests (Makefile.am): Likewise.
10675         * modules/exclude-tests (Makefile.am): Link the programs with
10676         $(LIB_MBRTOWC).
10677         * modules/regex-tests (Makefile.am): Likewise.
10678         * modules/regex-quote-tests (Makefile.am): Likewise.
10680 2020-01-03  Bruno Haible  <bruno@clisp.org>
10682         getopt-posix: Fix compilation failure in testdirs.
10683         * lib/unistd.in.h: Include <getopt-cdefs.h> and <getopt-pfx-core.h> only
10684         when the gnulib module 'getopt-posix' is enabled.
10685         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETOPT_POSIX.
10686         * modules/getopt-posix (configure.ac): Set GNULIB_GETOPT_POSIX as a
10687         module indicator.
10688         * modules/unistd (Makefile.am): Substitute GNULIB_GETOPT_POSIX.
10690 2020-01-03  Bruno Haible  <bruno@clisp.org>
10692         doc: Mention the 64-bit inode number problem.
10693         * m4/largefile.m4 (AC_SYS_LARGEFILE): Mention that this macro fixes the
10694         64-bit inode number problem.
10695         * doc/posix-functions/stat.texi: Mention that this module fixes the
10696         64-bit inode number problem.
10697         * doc/posix-functions/lstat.texi: Likewise.
10698         * doc/posix-functions/fstat.texi: Likewise.
10699         * doc/posix-functions/readdir.texi: Add more details.
10700         * doc/posix-functions/readdir_r.texi: Likewise.
10702 2020-01-02  Bruno Haible  <bruno@clisp.org>
10704         wcrtomb: Add more tests.
10705         * tests/test-wcrtomb-w32.c: Include localcharset.h.
10706         (test_one_locale): For the GB18030 and UTF-8 tests, verify that
10707         locale_charset() returns the expected value; otherwise, skip the test.
10708         * tests/test-wcrtomb-w32-6.sh: Remove old comment.
10709         * tests/test-wcrtomb-w32-7.sh: Likewise.
10710         * modules/wcrtomb-tests (Files): Add these files.
10711         (Depends-on): Add localcharset.
10712         (TESTS): Add test-wcrtomb-w32-6.sh, test-wcrtomb-w32-7.sh.
10714 2020-01-02  Bruno Haible  <bruno@clisp.org>
10716         mbrtowc: Add more tests.
10717         * tests/test-mbrtowc-w32.c: Include localcharset.h.
10718         (test_one_locale): For the GB18030 and UTF-8 tests, verify that
10719         locale_charset() returns the expected value; otherwise, skip the test.
10720         * tests/test-mbrtowc-w32-6.sh: Remove old comment.
10721         * tests/test-mbrtowc-w32-7.sh: Likewise.
10722         * modules/mbrtowc-tests (Files): Add these files.
10723         (Depends-on): Add localcharset.
10724         (TESTS): Add test-mbrtowc-w32-6.sh, test-mbrtowc-w32-7.sh.
10726 2020-01-02  Bruno Haible  <bruno@clisp.org>
10728         mbrtowc: Fix test failures on MSVC (regression by previous commit).
10729         * m4/mbrtowc.m4 (gl_MBRTOWC_STORES_INCOMPLETE): New macro.
10730         (gl_FUNC_MBRTOWC): Invoke it. Define MBRTOWC_STORES_INCOMPLETE_BUG.
10731         * lib/mbrtowc.c (rpl_mbrtowc): Add workaround for
10732         MBRTOWC_STORES_INCOMPLETE_BUG.
10733         * doc/posix-functions/mbrtowc.texi: Mention the MSVC bug.
10735 2020-01-02  Paul Eggert  <eggert@cs.ucla.edu>
10737         doc: mention glibc bug 24269
10738         * doc/regex.texi (Back-reference Operator): Add glibc bug 24269.
10739         Reformat slightly so that it looks nicer in the Grep manual.
10741 2020-01-02  Bruno Haible  <bruno@clisp.org>
10743         mbrtowc: Don't replace mbstate_t on MSVC.
10744         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN): Require AC_CANONICAL_HOST. Ignore
10745         a missing mbsinit function on native Windows.
10746         * lib/wchar.in.h (GNULIB_defined_mbstate_t): Likewise.
10747         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Strengthen the test, to detect an
10748         MSVC bug.
10749         * doc/posix-functions/wcrtomb.texi: Mention the MSVC bug.
10751 2020-01-02  Bruno Haible  <bruno@clisp.org>
10753         setlocale-null: Avoid crashing the MSVC linker.
10754         * lib/setlocale-lock.c: Don't define IMP(gl_get_setlocale_null_lock) on
10755         MSVC.
10757 2020-01-02  Bruno Haible  <bruno@clisp.org>
10759         wchar: Make the HP-UX workaround work on HP-UX 11.31.
10760         * modules/wchar (Depends-on): Add inttypes-incomplete.
10761         * lib/inttypes.in.h: Define _GL_FINISHED_INCLUDING_SYSTEM_INTTYPES_H.
10762         * lib/wchar.in.h: Test _GL_FINISHED_INCLUDING_SYSTEM_INTTYPES_H instead
10763         of strtoimax.
10765 2020-01-02  Bruno Haible  <bruno@clisp.org>
10767         mbrtowc: Fix compilation error on IRIX (regression from 2019-12-26).
10768         * lib/mbrtowc.c: Include <stdint.h>.
10769         * modules/mbrtowc (Depends-on): Add stdint.
10771 2020-01-01  Pádraig Brady  <P@draigBrady.com>
10773         md5, sha1, sha256, sha512: support --with-openssl=auto-gpl-compat
10774         * m4/gl-openssl.m4: Add a new "auto-gpl-compat" mode,
10775         which will auto enable use of openssl, only for >= version 3,
10776         which is newly licensed under the Apache Software License.
10778 2020-01-01  Bruno Haible  <bruno@clisp.org>
10780         mbrtowc: Include function name in macro names.
10781         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Define
10782         MBRTOWC_IN_C_LOCALE_MAYBE_EILSEQ, not C_LOCALE_MAYBE_EILSEQ.
10783         (gl_MBRTOWC_C_LOCALE): Change cache variable name to
10784         gl_cv_func_mbrtowc_C_locale_sans_EILSEQ.
10785         * lib/mbrtowc.c: Test MBRTOWC_IN_C_LOCALE_MAYBE_EILSEQ, not
10786         C_LOCALE_MAYBE_EILSEQ.
10788 2020-01-01  Bruno Haible  <bruno@clisp.org>
10790         c32tob: New module.
10791         * lib/uchar.in.h (_GL_LARGE_CHAR32_T): New macro.
10792         (c32tob): New declaration.
10793         * lib/c32tob.c: New file.
10794         * m4/uchar.m4 (gl_UCHAR_MODULE_INDICATOR, gl_UCHAR_H_DEFAULTS): New
10795         macros.
10796         (gl_UCHAR_H): Require gl_UCHAR_H_DEFAULTS.
10797         * modules/uchar (Depends-on): Add snippet/c++defs.
10798         (Makefile.am): Include c++defs.h and substitute GNULIB_C32TOB in
10799         uchar.h.
10800         * modules/c32tob: New file.
10801         * tests/test-uchar.c: Verify that _GL_LARGE_CHAR32_T is correctly
10802         defined.
10803         * tests/test-uchar-c++.cc: Include signature.h. Test the signature of
10804         c32tob.
10805         * modules/uchar-c++-tests (Files): Add tests/signature.h.
10806         * doc/posix-functions/wctob.texi: Mention the new module.
10808 2020-01-01  Bruno Haible  <bruno@clisp.org>
10810         locale C++ tests: Fix link error on AIX (regression from 2019-12-18).
10811         * modules/locale-c++-tests (Makefile.am): Link test-locale-c++ with
10812         $(LIB_SETLOCALE).
10814 2020-01-01  Bruno Haible  <bruno@clisp.org>
10816         hard-locale tests: Fix a conflict with the C++ tests.
10817         * modules/hard-locale-tests (Makefile.am): Build a program named
10818         'current-locale', not 'locale'.
10820 2020-01-01  Bruno Haible  <bruno@clisp.org>
10822         doc: Update documentation about wchar_t.
10823         * doc/*/*wc*.texi: Clarify that 64-bit AIX does not have a too small
10824         wchar_t type.
10826 2020-01-01  Bruno Haible  <bruno@clisp.org>
10828         mbrtowc tests: Fix typos.
10829         * tests/test-mbrtowc.c (main): Fix typo.
10830         * tests/test-mbrtowc-w32.c (test_one_locale): Likewise.
10832 2019-12-31  Paul Eggert  <eggert@cs.ucla.edu>
10834         maint: update copyright notices
10835         Before doing the following changes done by hand, I also ran ‘make
10836         update-copyright’ and ‘config/srclist-update <config/srclist.txt’
10837         to do most of the copyright years automatically.  A few upstream
10838         sources are still in 2019 but these should eventually be changed
10839         automatically too.
10840         * build-aux/declared.sh (func_version):
10841         * build-aux/libtool-next-version (func_version):
10842         * build-aux/run-test (func_version):
10843         Update these notices by hand.  Put just the last year
10844         in output of programs, as per GNU coding standards.
10846 2019-12-31  Bruno Haible  <bruno@clisp.org>
10848         uchar: Add C++ tests.
10849         * tests/test-uchar-c++.cc: New file.
10850         * tests/test-uchar-c++2.cc: New file.
10851         * modules/uchar-c++-tests: New file.
10853         uchar: Add tests.
10854         * tests/test-uchar.c: New file.
10855         * modules/uchar-tests: New file.
10857         uchar: New module.
10858         * lib/uchar.in.h: New file.
10859         * m4/uchar.m4: New file.
10860         * modules/uchar: New file.
10861         * doc/posix-headers/uchar.texi: Mention the new module.
10863 2019-12-30  Jim Meyering  <meyering@fb.com>
10865         localeinfo: ->simple would be wrong for LC_ALL=C
10866         That would lead to using unnecessary and expensive code paths in dfa.c.
10867         * lib/localeinfo.c (using_simple_locale): Fix recently-introduced logic
10868         error that would have made grep many times slower in the C locale.
10869         With this change, and a file created like this:
10870           yes 00 | head -10000000 > in
10871         Running grep as follows becomes more than 40 times faster:
10872           LC_ALL=C grep -Fw 0 in
10874 2019-12-30  Paul Eggert  <eggert@cs.ucla.edu>
10876         doc: document trouble with back-references
10877         * doc/regex.texi (Back-reference Operator): Mention bugs etc.
10879 2019-12-29  Paul Eggert  <eggert@cs.ucla.edu>
10881         doc: use “back-reference” for \1 etc.
10882         * doc/regex.texi: Consistently spell “back-reference” with
10883         a hyphen, since that’s how POSIX does it.
10885 2019-12-26  Jim Meyering  <meyering@fb.com>
10887         test-framework-sh: tighten an internal grep regexp
10888         * tests/init.sh (gl_shell_test_script_): Tighten the grep regexp
10889         that helps test for a working printf.
10891 2019-12-26  Bruno Haible  <bruno@clisp.org>
10893         test-framework-sh: Avoid /bin/sh on AIX 7.2 due to its printf built-in.
10894         Reported by Paul Eggert in
10895         <https://lists.gnu.org/archive/html/grep-devel/2019-12/msg00020.html>.
10896         Simplification by Jim Meyering.
10897         * tests/init.sh (gl_shell_test_script_): Add a test of printf of an
10898         octal escape sequence in a UTF-8 locale.
10900 2019-12-26  Paul Eggert  <eggert@cs.ucla.edu>
10902         mbrtowc: port better to narrow-wchar_t platforms
10903         * lib/mbrtowc.c (mbrtowc): On platforms like AIX 7.2, where
10904         wchar_t is too narrow to represent all the Unicode characters,
10905         consider a byte sequence for an out-of-wchar_t-range character to
10906         be an encoding error.  This fixes grep’s surrogate-pair test
10907         failure on AIX 7.2.
10909 2019-12-24  Bruno Haible  <bruno@clisp.org>
10911         localcharset: Avoid referencing rpl_setlocale on native Windows.
10912         * lib/localcharset.c (setlocale): Undefine.
10914 2019-12-24  Bruno Haible  <bruno@clisp.org>
10916         lock tests: Fix link error on HP-UX/hppa (regression from 2019-12-21).
10917         * m4/semaphore.m4: New file.
10918         * modules/lock-tests (Files): Add it.
10919         (configure.ac): Require gl_SEMAPHORE.
10920         (Makefile.am): Link test-lock with $(LIB_SEMAPHORE).
10922 2019-12-24  Paul Eggert  <eggert@cs.ucla.edu>
10924         strptime: fix typo in previous patch
10925         Problem and fix reported by Bruno Haible in:
10926         https://lists.gnu.org/r/bug-gnulib/2019-12/msg00202.html
10927         * lib/strptime.c (day_of_the_week): Fix paren bug.
10929 2019-12-24  Bruno Haible  <bruno@clisp.org>
10931         setlocale-null: Make it easy to rely on the lock in another library.
10932         * lib/setlocale-lock.c: Do not define anything if OMIT_SETLOCALE_LOCK is
10933         defined.
10935 2019-12-23  Paul Eggert  <eggert@cs.ucla.edu>
10937         gethrxtime, mktime, nstrftime, strptime: tweak division performance
10938         Performanced analyzed by Bruno Haible in:
10939         https://lists.gnu.org/r/bug-gnulib/2019-12/msg00200.html
10940         * config/srclist.txt: Do not sync mktime.c for now.
10941         * lib/mktime.c (shr, ydhms_diff):
10942         * lib/nstrftime.c (SHR, tm_diff, __strftime_internal):
10943         * lib/strptime.c (day_of_the_week):
10944         * lib/xtime.h (xtime_sec):
10945         Redo with neither ‘%’ nor conditional branches.
10947 2019-12-23  Bruno Haible  <bruno@clisp.org>
10949         setlocale-null: Export the lock function also on non-Windows platforms.
10950         * lib/setlocale-lock.c (DLL_EXPORTED): New macro.
10951         (gl_get_setlocale_null_lock): Declare as DLL_EXPORTED.
10952         * m4/setlocale_null.m4 (gl_PREREQ_SETLOCALE_LOCK): New macro.
10953         * modules/setlocale-null (configure.ac): Invoke it.
10954         (Files): Add m4/visibility.m4.
10956 2019-12-22  Paul Eggert  <eggert@cs.ucla.edu>
10958         gethrxtime: fix rounding bug with negative args
10959         Problem reported by Bruno Haible in:
10960         https://lists.gnu.org/r/bug-gnulib/2019-12/msg00192.html
10961         * lib/xtime.h (xtime_sec): Simplify calculation and correct bug
10962         with negative rounding.  Common platforms can compute / and % with
10963         a single instruction, so the simplified code should be shorter and
10964         faster on these platforms anyway.
10966 2019-12-22  Bruno Haible  <bruno@clisp.org>
10968         gethrxtime: remove incorrect overflow detection
10969         * lib/xtime.h (xtime_make): Remove attempt to prevent internal
10970         integer overflow, as it didn’t suffice.  This reverts the xtime.h
10971         part of 2018-10-12T04:46:09Z!akim.demaille@gmail.com, which I
10972         cannot now see the need for anyway (even in cases where it works),
10973         as the patch is helpful only when the signs of S and NS disagree,
10974         and all callers pass nonnegative values for S and NS.
10976 2019-12-22  Bruno Haible  <bruno@clisp.org>
10978         setlocale-null: Add standalone include file.
10979         * lib/setlocale_null.h: New file, extracted from lib/locale.in.h.
10980         * lib/locale.in.h: Include setlocale_null.h.
10981         (SETLOCALE_NULL_MAX, SETLOCALE_NULL_ALL_MAX, setlocale_null_r,
10982         setlocale_null): Remove declarations.
10983         * lib/setlocale_null.c: Include setlocale_null.h.
10984         * lib/localename.c: Likewise.
10985         * modules/setlocale-null (Files): Add lib/setlocale_null.h.
10986         (Depends-on): Add snippet/arg-nonnull.
10987         (Include): Allow either "setlocale_null.h" or <locale.h>.
10989 2019-12-22  Bruno Haible  <bruno@clisp.org>
10991         strfmon_l: Fix test failures on FreeBSD and Cygwin.
10992         * m4/strfmon_l.m4 (gl_FUNC_STRFMON_L): Require gt_LOCALE_FR_UTF8. Add an
10993         AC_RUN_IFELSE test.
10994         * modules/strfmon_l (Files): Add locale-fr.m4, codeset.m4.
10995         * doc/posix-functions/strfmon_l.texi: Mention the FreeBSD and Cygwin
10996         problem.
10998 2019-12-22  Bruno Haible  <bruno@clisp.org>
11000         Prefer lib_SOURCES to unconditional AC_LIBOBJ.
11001         * modules/at-internal: Prefer a lib_SOURCES augmentation to an
11002         unconditional AC_LIBOBJ.
11003         * modules/selinux-at: Likewise.
11004         * modules/xmemdup0: Likewise.
11005         * modules/xstrtoll: Likewise.
11007 2019-12-22  Bruno Haible  <bruno@clisp.org>
11009         longlong: Mark module obsolete.
11010         * modules/longlong (Status, Notice): New sections.
11012         stdint: Assume that the compiler supports 'long long'.
11013         * lib/stdint.in.h (int64_t, uint64_t, intmax_t, uintmax_t, INT64_C,
11014         UINT64_C, INTMAX_C, UINTMAX_C): Assume HAVE_LONG_LONG_INT and
11015         HAVE_UNSIGNED_LONG_LONG_INT to be 1.
11016         * m4/stdint.m4 (gl_STDINT_H): Don't require AC_TYPE_LONG_LONG_INT,
11017         AC_TYPE_UNSIGNED_LONG_LONG_INT.
11018         * modules/stdint (Files): Remove longlong.m4.
11019         (Makefile.am): Don't substitute HAVE_LONG_LONG_INT,
11020         HAVE_UNSIGNED_LONG_LONG_INT.
11022         inttypes-incomplete: Assume that the compiler supports 'long long'.
11023         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
11024         _SCNu64_PREFIX): Assume HAVE_LONG_LONG_INT and
11025         HAVE_UNSIGNED_LONG_LONG_INT to be 1.
11026         * m4/inttypes.m4 (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): Assume
11027         HAVE_LONG_LONG_INT to be 1.
11028         * modules/inttypes-incomplete (Makefile.am): Don't substitute
11029         HAVE_LONG_LONG_INT, HAVE_UNSIGNED_LONG_LONG_INT.
11031         malloca: Assume that the compiler supports 'long long'.
11032         * lib/malloca.h: Assume HAVE_LONG_LONG_INT to be 1.
11033         * m4/malloca.m4 (gl_MALLOCA): Don't require AC_TYPE_LONG_LONG_INT.
11034         * modules/malloca (Files): Remove longlong.m4.
11035         * modules/relocatable-prog-wrapper (Files): Likewise.
11037         atoll: Assume that the compiler supports 'long long'.
11038         * m4/atoll.m4 (gl_FUNC_ATOLL): Don't require AC_TYPE_LONG_LONG_INT.
11039         * modules/atoll (Files): Remove longlong.m4.
11041         strtoll: Assume that the compiler supports 'long long'.
11042         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Don't require AC_TYPE_LONG_LONG_INT.
11043         * modules/strtoll (Files): Remove longlong.m4.
11045         strtoull: Assume that the compiler supports 'long long'.
11046         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Don't require
11047         AC_TYPE_UNSIGNED_LONG_LONG_INT.
11048         * modules/strtoull (Files): Remove longlong.m4.
11050         strtoimax, strtoumax: Assume that the compiler supports 'long long'.
11051         * lib/strtoimax.c: Assume HAVE_LONG_LONG_INT and
11052         HAVE_UNSIGNED_LONG_LONG_INT to be 1.
11053         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Don't require
11054         AC_TYPE_LONG_LONG_INT.
11055         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't require
11056         AC_TYPE_UNSIGNED_LONG_LONG_INT.
11057         * modules/strtoimax (Files): Remove longlong.m4.
11058         * modules/strtoumax (Files): Likewise.
11060         xstrtoll: Assume that the compiler supports 'long long'.
11061         * lib/xstrtol.h (xstrtoll, xstrtoull): Declare unconditionally.
11062         * modules/xstrtoll (configure.ac): Don't invoke AC_TYPE_LONG_LONG_INT.
11064         vasnprintf: Assume that the compiler supports 'long long'.
11065         * lib/printf-args.h: Assume HAVE_LONG_LONG_INT to be 1.
11066         * lib/printf-args.c (PRINTF_FETCHARGS): Likewise.
11067         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
11068         * lib/vasnprintf.c (MAX_ROOM_NEEDED, VASNPRINTF): Likewise.
11069         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Don't
11070         require AC_TYPE_LONG_LONG_INT.
11071         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
11072         gl_PREREQ_VASNPRINTF): Likewise.
11073         * modules/vasnprintf (Files): Remove longlong.m4.
11074         * modules/c-vasnprintf (Files): Likewise.
11075         * modules/unistdio/u8-vasnprintf (Files): Likewise.
11076         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
11077         * modules/unistdio/u16-vasnprintf (Files): Likewise.
11078         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
11079         * modules/unistdio/u32-vasnprintf (Files): Likewise.
11080         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
11081         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
11083         gethrxtime: Assume that the compiler supports 'long long'.
11084         * lib/xtime.h (xtime_t): Define to 'long long int' always.
11085         (XTIME_PRECISION): Define to 1000000000 always.
11086         (xtime_make, xtime_sec): Optimize accordingly.
11087         * m4/gethrxtime.m4 (gl_XTIME): Don't require AC_TYPE_LONG_LONG_INT.
11088         * modules/gethrxtime (Files): Remove longlong.m4.
11090         integer_length*: Assume that the compiler supports 'long long'.
11091         * lib/integer_length.h (integer_length_ll): Declare unconditionally.
11092         * modules/integer_length (Files): Remove longlong.m4.
11093         (configure.ac): Don't require AC_TYPE_UNSIGNED_LONG_LONG_INT.
11094         * modules/integer_length_l (Files): Remove longlong.m4.
11095         (configure.ac): Don't require AC_TYPE_UNSIGNED_LONG_LONG_INT.
11096         * modules/integer_length_ll (Files): Remove longlong.m4.
11097         (configure.ac): Don't require AC_TYPE_UNSIGNED_LONG_LONG_INT.
11099         count-one-bits: Assume that the compiler supports 'long long'.
11100         * lib/count-one-bits.h (count_one_bits_ll): Define unconditionally.
11101         * m4/count-one-bits.m4: Remove file.
11102         * modules/count-one-bits (Files): Remove it.
11103         (configure.ac): Don't invoke gl_COUNT_ONE_BITS.
11104         * tests/test-count-one-bits.c (main): Test count_one_bits_ll
11105         unconditionally.
11107         count-trailing-zeros: Assume that the compiler supports 'long long'.
11108         * lib/count-trailing-zeros.h (count_trailing_zeros_ll): Define
11109         unconditionally.
11110         * m4/count-trailing-zeros.m4: Remove file.
11111         * modules/count-trailing-zeros (Files): Remove it.
11112         (configure.ac): Don't invoke gl_COUNT_TRAILING_ZEROS.
11113         * tests/test-count-trailing-zeros.c (main): Test count_trailing_zeros_ll
11114         unconditionally.
11116         count-leading-zeros: Assume that the compiler supports 'long long'.
11117         * lib/count-leading-zeros.h (count_leading_zeros_ll): Define
11118         unconditionally.
11119         * m4/count-leading-zeros.m4: Remove file.
11120         * modules/count-leading-zeros (Files): Remove it.
11121         (configure.ac): Don't invoke gl_COUNT_LEADING_ZEROS.
11122         * tests/test-count-leading-zeros.c (main): Test count_leading_zeros_ll
11123         unconditionally.
11125 2019-12-22  Bruno Haible  <bruno@clisp.org>
11127         localcharset: Update support for OpenBSD.
11128         * lib/localcharset.c (alias_table): Map "US-ASCII" to "ASCII".
11130 2019-12-21  Bruno Haible  <bruno@clisp.org>
11132         pthread_sigmask: Avoid test failure on NetBSD 8.0.
11133         * tests/test-pthread_sigmask2.c (main): Skip the error handling test on
11134         NetBSD.
11135         * doc/posix-functions/pthread_sigmask.texi: Mention the NetBSD problem.
11137 2019-12-21  Bruno Haible  <bruno@clisp.org>
11139         threadlib: Improve code structure.
11140         * m4/threadlib.m4: Reorder macros. Add comments.
11142 2019-12-21  Bruno Haible  <bruno@clisp.org>
11144         threadlib: Fix LIBMULTITHREAD on FreeBSD with --enable-threads=isoc.
11145         * m4/threadlib.m4 (gl_STDTHREADLIB_BODY): New macro (some code moved
11146         here from m4/threads.m4).
11147         (gl_THREADLIB_BODY): Don't test whether mtx_lock and cnd_timedwait exist
11148         in libc. Instead, rely on gl_STDTHREADLIB_BODY.
11149         (gl_STDTHREADLIB): New macro.
11150         * m4/threads.m4 (gl_THREADS_H): Require gl_STDTHREADLIB instead of
11151         gl_THREADLIB_BODY and gl_YIELD. Don't set LIBSTDTHREAD here.
11153 2019-12-21  Bruno Haible  <bruno@clisp.org>
11155         sched_yield: Don't depend on threadlib and yield.
11156         * m4/threadlib.m4 (gl_PTHREADLIB): Document that it sets
11157         LIB_SCHED_YIELD.
11158         (gl_PTHREADLIB_BODY): Set LIB_SCHED_YIELD (code moved here from
11159         m4/yield.m4).
11160         * m4/sched_yield.m4 (gl_FUNC_SCHED_YIELD): Require gl_PTHREADLIB, not
11161         gl_THREADLIB and gl_YIELD.
11162         * m4/yield.m4 (gl_YIELD): Require gl_PTHREADLIB. Determine YIELD_LIB
11163         based on $(LIB_SCHED_YIELD).
11164         * m4/threads.m4 (gl_THREADS_H): Don't require gl_YIELD. Use
11165         $(LIB_SCHED_YIELD), not $(YIELD_LIB).
11166         * modules/sched_yield (Files): Remove yield.m4. Add threadlib.m4.
11167         (Depends-on): Remove threadlib.
11168         (Link): Mention $(LIB_SCHED_YIELD), not $(YIELD_LIB).
11169         * modules/threads-h (Files): Remove m4/yield.m4.
11170         * modules/pthread-cond-tests (Makefile.am): Link the programs against
11171         $(LIB_SCHED_YIELD), not $(YIELD_LIB).
11172         * modules/pthread-mutex-tests (Makefile.am): Likewise.
11173         * modules/pthread-once-tests (Makefile.am): Likewise.
11174         * modules/pthread-rwlock-tests (Makefile.am): Likewise.
11175         * modules/pthread-tss-tests (Makefile.am): Likewise.
11177 2019-12-21  Bruno Haible  <bruno@clisp.org>
11179         threads-h: Don't depend on threadlib.
11180         * modules/threads-h (configure.ac-early): Invoke gl_ANYTHREADLIB_EARLY,
11181         not gl_THREADLIB_EARLY.
11183 2019-12-21  Bruno Haible  <bruno@clisp.org>
11185         nl_langinfo tests: Fix link error (regression from 2019-12-18).
11186         * modules/nl_langinfo-tests (Makefile.am): Link also test-nl_langinfo
11187         with $(LIB_SETLOCALE).
11189 2019-12-21  Bruno Haible  <bruno@clisp.org>
11191         threadlib: Remove unused dependency (left over from 2019-07-06).
11192         * modules/threadlib (Depends-on): Remove havelib.
11194 2019-12-21  Bruno Haible  <bruno@clisp.org>
11196         New convention for multithread-safety tests.
11197         * tests/test-setlocale_null-mt-one.c: Renamed from
11198         tests/test-setlocale_null-one.c.
11199         * tests/test-setlocale_null-mt-all.c: Renamed from
11200         tests/test-setlocale_null-all.c.
11201         * modules/setlocale-null-tests (Files, Makefile.am): Update.
11203 2019-12-21  Bruno Haible  <bruno@clisp.org>
11205         quotearg tests: Fix conflict with hard-locale tests.
11206         * tests/testlocale: Renamed from tests/locale.
11207         * modules/quotearg-tests (Files): Update.
11208         * tests/test-quotearg.sh (LOCALEDIR): Likewise.
11210 2019-12-21  Bruno Haible  <bruno@clisp.org>
11212         pthread-thread, lock: On z/OS, use PTHREAD_RWLOCK_INITIALIZER_NP.
11213         Reported by Daniel Richard G. in
11214         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00001.html>
11215         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00167.html>
11216         * lib/pthread.in.h (PTHREAD_RWLOCK_INITIALIZER): Define to
11217         PTHREAD_RWLOCK_INITIALIZER_NP when possible.
11218         * lib/glthread/lock.h: Allow PTHREAD_RWLOCK_INITIALIZER_NP as an
11219         alternative to PTHREAD_RWLOCK_INITIALIZER.
11220         * lib/glthread/lock.c: Likewise.
11222 2019-12-21  Bruno Haible  <bruno@clisp.org>
11224         memcmp tests: Work around the clang bug.
11225         * tests/test-memcmp.c (main): Use a volatile function pointer to disable
11226         the clang optimization.
11228 2019-12-20  Bruno Haible  <bruno@clisp.org>
11230         localcharset: Add support for z/OS encoding names.
11231         * lib/localcharset.h: Mention which encodings are used as locale
11232         encodings on z/OS.
11234 2019-12-20  Bruno Haible  <bruno@clisp.org>
11236         iconv_open: Add support for z/OS encoding names.
11237         Reported by Daniel Richard G. in
11238         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00172.html>.
11239         * lib/iconv_open-zos.gperf: New file.
11240         * modules/iconv_open (Files): Add iconv_open-zos.gperf.
11241         (Makefile.am): Add rules for generating iconv_open-zos.h from it.
11242         * lib/iconv_open.c (ICONV_FLAVOR_ZOS): New macro.
11243         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): On z/OS, use ICONV_FLAVOR_ZOS.
11244         * doc/posix-functions/iconv_open.texi: Mention z/OS.
11246 2019-12-20  Bruno Haible  <bruno@clisp.org>
11248         doc: Document the problem of the per-thread locale functions on z/OS.
11249         * doc/posix-functions/uselocale.texi: Document the z/OS problem.
11250         * doc/posix-functions/newlocale.texi: Likewise.
11251         * doc/posix-functions/duplocale.texi: Likewise.
11252         * doc/posix-functions/freelocale.texi: Likewise.
11254 2019-12-20  Bruno Haible  <bruno@clisp.org>
11256         localename, gettext: Fix host_os value for z/OS.
11257         * m4/intl-thread-locale.m4 (gt_FUNC_USELOCALE): Fix host_os value in
11258         cross-configuration code.
11260 2019-12-19  Jim Meyering  <meyering@fb.com>
11262         nstrftime: avoid a shadowing warning
11263         * lib/nstrftime.c (libc_hidden_def): Rename inner "i" to "j",
11264         to avoid shadowing an "i" declared hundreds of lines above.
11266 2019-12-19  Paul Eggert  <eggert@cs.ucla.edu>
11268         dfa: struct dfamust now uses flexible array
11269         * lib/dfa.c: Include flexmember.h.
11270         (dfamust, dfamustfree): Adjust to struct dfamust change.
11271         This saves a call to malloc+free.
11272         * lib/dfa.h (struct dfamust): Make the final member a
11273         flexible array member.
11274         * modules/dfa (Depends-on): Add flexmember.
11276         dfa: fast->small for array elements
11277         * lib/dfa.c (charclass_word): Use uint_least64_t not uint_fast64_t,
11278         since this type is used in arrays.  This change is more for
11279         documentation than for any practical effect, since the two types
11280         are the same on all known platforms.
11282 2019-12-19  Bruno Haible  <bruno@clisp.org>
11284         iconv tests: Test canonicalized, not system-dependent, encoding names.
11285         * tests/test-iconv.c (main): Revert part of the 2016-08-17 patch.
11286         * modules/iconv-tests (Depends-on): Add iconv_open.
11288 2019-12-18  Bruno Haible  <bruno@clisp.org>
11290         localename: Fix test failure on AIX 7.2.
11291         * m4/intl-thread-locale.m4 (gt_INTL_THREAD_LOCALE_NAME): Enable nameless
11292         locales on AIX.
11293         * lib/localename.c (gl_locale_name_thread_unsafe): Handle nameless
11294         locales on AIX.
11296 2019-12-18  Paul Eggert  <eggert@cs.ucla.edu>
11298         Improve port of AC_C_RESTRICT to Oracle C++
11299         Problem reported by Christian Biesinger in:
11300         https://lists.gnu.org/r/bug-gnulib/2019-12/msg00159.html
11301         * m4/gnulib-common.m4 (AC_C_RESTRICT): Port better to
11302         Oracle Developer Studio C++ 12.5 or later.
11304 2019-12-18  Bruno Haible  <bruno@clisp.org>
11306         wchar: Fix test failures on AIX and MSVC (regression from 2019-12-07).
11307         * lib/wchar.in.h (GNULIB_defined_mbstate_t): Do define on AIX and MSVC.
11309 2019-12-18  Bruno Haible  <bruno@clisp.org>
11311         localename: Ensure multithread-safety in future changes.
11312         * lib/localename.c (setlocale): Reference the system's setlocale().
11313         (get_locale_t_name): Invoke setlocale_null instead of setlocale.
11314         (gl_locale_name_posix): Likewise.
11315         * modules/localename (Depends-on): Add setlocale-null.
11317 2019-12-18  Bruno Haible  <bruno@clisp.org>
11319         setlocale-null: Make API more useful.
11320         * lib/locale.in.h (setlocale_null_r): Renamed from setlocale_null. All
11321         callers changed.
11322         (setlocale_null): New declaration.
11323         * lib/setlocale_null.c (setlocale_null_androidfix): New function,
11324         extracted from setlocale_null_unlocked.
11325         (setlocale_null_unlocked): Invoke it.
11326         (setlocale_null_r): Renamed from setlocale_null.
11327         (setlocale_null): New function, extracted from setlocale_mtsafe in
11328         setlocale.c.
11329         * lib/setlocale.c: Don't include <errno.h>.
11330         (setlocale_mtsafe): Invoke setlocale_null.
11331         * lib/setlocale-lock.c: Update comments.
11332         * doc/posix-functions/setlocale.texi: Mention both functions.
11334 2019-12-18  Bruno Haible  <bruno@clisp.org>
11336         localename: Optimize code for native Windows.
11337         * lib/localename.c (gl_locale_name_posix): Remove handling of LC_ALL
11338         category (not allowed here).
11340 2019-12-18  Bruno Haible  <bruno@clisp.org>
11342         setlocale: Make calls with NULL argument multithread-safe.
11343         * lib/setlocale.c: Include <errno.h>.
11344         (setlocale_mtsafe): New function.
11345         (setlocale_unixlike): Invoke setlocale_mtsafe instead of setlocale.
11346         (setlocale_improved): Renamed from rpl_setlocale.
11347         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Require gl_FUNC_SETLOCALE_NULL.
11348         Set and define NEED_SETLOCALE_IMPROVED and NEED_SETLOCALE_MTSAFE. Set
11349         LIB_SETLOCALE.
11350         * modules/setlocale (Depends-on): Add setlocale-null. Update conditions.
11351         (Link): New section.
11352         * tests/locale.c: Undefine setlocale.
11353         * tests/test-setlocale_null-one.c: Likewise.
11354         * tests/test-setlocale_null-all.c: Likewise.
11355         * modules/setlocale-tests (Makefile.am): Link the test programs with
11356         $(LIB_SETLOCALE).
11357         * modules/astrxfrm-tests (Makefile.am): Likewise.
11358         * modules/btowc-tests (Makefile.am): Likewise.
11359         * modules/c-ctype-tests (Makefile.am): Likewise.
11360         * modules/c-snprintf-tests (Makefile.am): Likewise.
11361         * modules/c-strcase-tests (Makefile.am): Likewise.
11362         * modules/c-vasprintf-tests (Makefile.am): Likewise.
11363         * modules/c-vsnprintf-tests (Makefile.am): Likewise.
11364         * modules/c-xvasprintf-tests (Makefile.am): Likewise.
11365         * modules/dfa-tests (Makefile.am): Likewise.
11366         * modules/duplocale-tests (Makefile.am): Likewise.
11367         * modules/hard-locale-tests (Makefile.am): Likewise.
11368         * modules/localcharset-tests (Makefile.am): Likewise.
11369         * modules/localename-tests (Makefile.am): Likewise.
11370         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
11371         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
11372         * modules/mbrtowc-tests (Makefile.am): Likewise.
11373         * modules/mbscasecmp-tests (Makefile.am): Likewise.
11374         * modules/mbscasestr-tests (Makefile.am): Likewise.
11375         * modules/mbschr-tests (Makefile.am): Likewise.
11376         * modules/mbscspn-tests (Makefile.am): Likewise.
11377         * modules/mbsinit-tests (Makefile.am): Likewise.
11378         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
11379         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
11380         * modules/mbspbrk-tests (Makefile.am): Likewise.
11381         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
11382         * modules/mbsrchr-tests (Makefile.am): Likewise.
11383         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
11384         * modules/mbsspn-tests (Makefile.am): Likewise.
11385         * modules/mbsstr-tests (Makefile.am): Likewise.
11386         * modules/nl_langinfo-tests (Makefile.am): Likewise.
11387         * modules/quotearg-tests (Makefile.am): Likewise.
11388         * modules/regex-tests (Makefile.am): Likewise.
11389         * modules/strfmon_l-tests (Makefile.am): Likewise.
11390         * modules/strtod-tests (Makefile.am): Likewise.
11391         * modules/strtold-tests (Makefile.am): Likewise.
11392         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
11393         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
11394         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
11395         * modules/unigbrk/ulc-grapheme-breaks-tests (Makefile.am): Likewise.
11396         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
11397         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
11398         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
11399         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
11400         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
11401         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
11402         * modules/wcrtomb-tests (Makefile.am): Likewise.
11403         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
11404         * modules/wcsrtombs-tests (Makefile.am): Likewise.
11405         * modules/wcwidth-tests (Makefile.am): Likewise.
11406         * doc/posix-functions/setlocale.texi: Mention that the multithread-
11407         safety fix is also available in module 'setlocale'.
11409 2019-12-18  Bruno Haible  <bruno@clisp.org>
11411         hard-locale: Make multithread-safe.
11412         * lib/hard-locale.h (hard_locale): Move documentation to here.
11413         * lib/hard-locale.c: Don't include <stdlib.h>.
11414         (GLIBC_VERSION): Remove macro.
11415         (hard_locale): Assume that all systems name the "C" and "POSIX" locales
11416         "C" or "POSIX". Invoke setlocale_null instead of setlocale.
11417         * modules/hard-locale (Depends-on): Remove strdup. Add setlocale-null.
11418         (configure.ac): Require gl_FUNC_SETLOCALE_NULL. Set LIB_HARD_LOCALE.
11419         (Link): New section.
11420         * modules/hard-locale-tests (Makefile.am): Link test-hard-locale against
11421         $(LIB_HARD_LOCALE).
11423 2019-12-18  Bruno Haible  <bruno@clisp.org>
11425         hard-locale: Avoid test failure on Haiku.
11426         * tests/test-hard-locale.c (test_one): Treat Haiku like recent OpenBSD.
11428 2019-12-18  Bruno Haible  <bruno@clisp.org>
11430         setlocale-null: Handle NULL result from setlocale.
11431         * lib/locale.in.h (setlocale_null): Document EINVAL return value.
11432         * lib/setlocale_null.c (setlocale_null_unlocked): Handle NULL result
11433         from setlocale or _wsetlocale.
11435 2019-12-18  Bruno Haible  <bruno@clisp.org>
11437         hard-locale: Add test.
11438         * tests/test-hard-locale.c: New file.
11439         * tests/locale.c: New file.
11440         * modules/hard-locale-tests: New file.
11442 2019-12-17  Paul Eggert  <eggert@cs.ucla.edu>
11444         dfa: do not match invalid UTF-8
11445         * lib/dfa.c (struct dfa): Grow utf8_anychar_classes member array
11446         from 5 to 9 tokens; this is needed due to the changes to
11447         add_utf8_anychar.
11448         (charclass_index): 2nd arg is now pointer-to-const.
11449         (add_utf8_anychar): Match only valid UTF-8 byte sequences
11450         instead of allowing overlong encodings or surrogate halves.
11452         dfa: simplify charclass by assuming C99
11453         * lib/dfa.c (CHARCLASS_WORD_BITS): Now always 64.
11454         (charclass_word): Now always uint_fast64_t.
11455         (CHARCLASS_PAIR): Remove.
11456         (CHARCLASS_INIT): Take 4 arguments instead of 8.  All uses changed.
11458         fts: tune via calloc
11459         * lib/fts.c (fts_open): Prefer calloc to malloc + memset.
11461         dfa: tune via xzalloc
11462         * lib/dfa.c (dfaoptimize): Prefer xzalloc to xmalloc + memset.
11464 2019-12-17  Bruno Haible  <bruno@clisp.org>
11466         localcharset: Fix multithread-safety bug on Windows and OS/2.
11467         * lib/localcharset.h (locale_charset): Clarify when the result becomes
11468         invalid.
11469         * lib/localcharset.c (locale_charset): Use a stack-allocated buffer to
11470         assemble the result.
11472 2019-12-17  Bruno Haible  <bruno@clisp.org>
11474         localcharset: Optimize code for native Windows.
11475         * lib/localcharset.c (locale_charset): Don't bother calling
11476         setlocale (LC_ALL, NULL) since we're not interested in its result.
11478 2019-12-17  Bruno Haible  <bruno@clisp.org>
11480         nl_langinfo: Fix multithread-safety bug on OpenBSD 3.8.
11481         * lib/nl_langinfo.c (ctype_codeset): Invoke setlocale_null instead of
11482         setlocale.
11483         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Require
11484         gl_FUNC_SETLOCALE_NULL. Set LIB_NL_LANGINFO.
11485         * modules/nl_langinfo (Depends-on): Add setlocale-null.
11487 2019-12-17  Bruno Haible  <bruno@clisp.org>
11489         nl_langinfo: Fix multithread-safety bug on mingw and MSVC.
11490         * lib/nl_langinfo.c (ctype_codeset, rpl_nl_langinfo): Use a
11491         stack-allocated buffer to assemble each result and different static
11492         buffers to return it.
11493         * tests/test-nl_langinfo-mt.c: New file.
11494         * modules/nl_langinfo-tests (Files): Add it.
11495         (Depends-on): Add thread, nanosleep.
11496         (Makefile.am): Build test-nl_langinfo-mt test.
11498 2019-12-17  Bruno Haible  <bruno@clisp.org>
11500         langinfo: Document more details.
11501         * doc/posix-headers/langinfo.texi: List platform details.
11502         * doc/posix-functions/nl_langinfo.texi: Likewise.
11504 2019-12-17  Bruno Haible  <bruno@clisp.org>
11506         mbsinit: Fix compilation error in mingw-w64 7.0 with _UCRT defined.
11507         Reported by Tom Kacvinsky <tom.kacvinsky@vector.com>
11508         and Martin Storsjö <martin@martin.st>
11509         in <https://savannah.gnu.org/bugs/?57406>.
11510         * lib/mbsinit.c: Accommodate an MSVC-like mbstate_t definition with
11511         mingw.
11513 2019-12-17  Bruno Haible  <bruno@clisp.org>
11515         glob: Avoid warning on mingw.
11516         Reported by Christian Biesinger <cbiesinger@google.com> in
11517         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00122.html>.
11518         * lib/glob.c (__stat64): Undefine first.
11520 2019-12-17  Paul Eggert  <eggert@cs.ucla.edu>
11522         xalloc: tune xzalloc for fresh allocations
11523         * lib/xmalloc.c (xzalloc): Use xcalloc rather than xmalloc+memset,
11524         because when the memory is freshly allocated from the OS via sbrk
11525         or mmap, calloc can avoid doing the memset.
11527         dfa: new function dfacopysyntax
11528         * lib/dfa.c (struct dfa): Move syntax member later so
11529         that dfacopysyntax can easily clear earlier members.
11530         (dfacopysyntax): New function, used by Gawk.
11532 2019-12-16  Paul Eggert  <eggert@cs.ucla.edu>
11534         dfa: port _GL_ATTRIBUTE_MALLOC to Gawk
11535         Gawk does not use Gnulib, and does not define _GL_ATTRIBUTE_MALLOC.
11536         * lib/dfa.h (_GL_ATTRIBUTE_MALLOC): Define to empty
11537         if not already defined.
11539         dfa: remove one dependency on MB_CUR_MAX
11540         * lib/dfa.c (dfamust): No need to refer to MB_CUR_MAX here.
11542         dfa: remove struct lexer_state.cur_mb_len
11543         * lib/dfa.c (struct lexer_state): Remove cur_mb_len member,
11544         as it’s not needed and the code is simpler without it.
11545         All uses removed.
11547 2019-12-16  Bruno Haible  <bruno@clisp.org>
11549         setlocale-null: Remove need for -lpthread on musl libc, *BSD, Haiku.
11550         Reported by Arnold Robbins <arnold@skeeve.com>.
11551         * lib/setlocale_null.c (c11_threads_in_use, pthread_in_use): New macros,
11552         copied from lib/glthread/lock.h.
11553         (pthread_mutex_lock, pthread_mutex_unlock): Mark as weak.
11554         (setlocale_null_with_lock): If pthread_in_use() is false, use
11555         setlocale_null_unlocked directly.
11556         * m4/threadlib.m4 (gl_WEAK_SYMBOLS): New macro, extracted from
11557         gl_THREADLIB_BODY. Define HAVE_WEAK_SYMBOLS.
11558         (gl_THREADLIB_BODY): Invoke gl_WEAK_SYMBOLS.
11559         * m4/setlocale_null.m4 (gl_FUNC_SETLOCALE_NULL): Invoke gl_WEAK_SYMBOLS.
11560         Set LIB_SETLOCALE_NULL to empty if weak symbols are supported.
11561         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Add comment.
11563 2019-12-16  Paul Eggert  <eggert@cs.ucla.edu>
11565         dfa: make dfasyntax thread-safe
11566         Problem reported by Bruno Haible in:
11567         https://lists.gnu.org/r/bug-gnulib/2019-12/msg00099.html
11568         * lib/dfa.c: Do not include locale.h.
11569         (struct dfa): Remove simple_locale member.
11570         All uses replaced by localeinfo.simple.
11571         (using_simple_locale): Remove; now present (with some
11572         changes) in localeinfo.c.
11573         (dfasyntax): No need to initialize removed member.
11575         localeinfo: record whether locale is simple
11576         * lib/localeinfo.c (using_simple_locale): New function,
11577         copied here from lib/dfa.c but with a change: it uses
11578         strcoll for its heuristic, instead of using setlocale.
11579         This lets it be thread-safe.
11580         * lib/localeinfo.h (struct localeinfo): New member ‘simple’.
11582 2019-12-15  Bruno Haible  <bruno@clisp.org>
11584         duplocale: Fix multithread-safety bug on AIX.
11585         * lib/duplocale.c: Don't include <stdlib.h>.
11586         (rpl_duplocale): Invoke setlocale_null instead of setlocale.
11587         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Require gl_FUNC_SETLOCALE_NULL.
11588         Set LIB_DUPLOCALE.
11589         * modules/duplocale (Depends-on): Add setlocale-null.
11590         (Link): New section.
11591         * modules/duplocale-tests (Makefile.am): Link test-duplocale with
11592         $(LIB_DUPLOCALE).
11594 2019-12-15  Bruno Haible  <bruno@clisp.org>
11596         setlocale-null: Add tests.
11597         * tests/test-setlocale_null.c: New file.
11598         * tests/test-setlocale_null-one.c: New file.
11599         * tests/test-setlocale_null-all.c: New file.
11600         * modules/setlocale-null-tests: New file.
11602         setlocale-null: New module.
11603         * lib/locale.in.h (SETLOCALE_NULL_MAX, SETLOCALE_NULL_ALL_MAX,
11604         setlocale_null): New declarations.
11605         * lib/setlocale_null.c: New file.
11606         * lib/setlocale-lock.c: New file.
11607         * m4/threadlib.m4 (gl_PTHREADLIB_BODY): Define C macro HAVE_PTHREAD_API.
11608         * m4/setlocale_null.m4: New file.
11609         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize
11610         GNULIB_SETLOCALE_NULL.
11611         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE_NULL.
11612         * modules/setlocale-null: New file.
11613         * doc/posix-functions/setlocale.texi: Mention the new module.
11615 2019-12-15  Bruno Haible  <bruno@clisp.org>
11617         lock tests: Skip test when no multithreading is enabled.
11618         * tests/test-rwlock1.c: Skip the test when no multithreading is enabled.
11620 2019-12-14  Bruno Haible  <bruno@clisp.org>
11622         locale, duplocale, localename: Fix last patch.
11623         Reported by Daniel Richard G. in
11624         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00093.html>.
11625         * lib/locale.in.h (HAVE_WORKING_NEWLOCALE, HAVE_WORKING_DUPLOCALE):
11626         Don't define if locale_t does not exist.
11628 2019-12-13  Bruno Haible  <bruno@clisp.org>
11630         locale, duplocale, localename: Fix errors if locale_t does not exist.
11631         Reported by Daniel Richard G. in
11632         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00078.html>.
11633         * lib/locale.in.h (HAVE_WORKING_NEWLOCALE, HAVE_WORKING_DUPLOCALE): New
11634         macros.
11635         * tests/test-locale.c: Test HAVE_WORKING_NEWLOCALE instead of
11636         HAVE_NEWLOCALE.
11637         * tests/test-localename.c: Likewise.
11638         * tests/test-duplocale.c: Test HAVE_WORKING_DUPLOCALE instead of
11639         HAVE_DUPLOCALE.
11640         * tests/test-locale-c++.cc: Likewise.
11642 2019-12-13  Bruno Haible  <bruno@clisp.org>
11644         wcstok: Fix test failure on HP-UX.
11645         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Set REPLACE_WCSTOK to 1 on HP-UX.
11646         * doc/posix-functions/wcstok.texi: Mention the HP-UX bug.
11648 2019-12-12  Bruno Haible  <bruno@clisp.org>
11650         strtod, strtold tests: Avoid test failure on AIX 7.2.
11651         * tests/test-strtod1.c (main): Allow implementations in which ',' and
11652         '.' both are radix characters.
11653         * tests/test-strtold1.c (main): Likewise.
11655 2019-12-12  Paul Eggert  <eggert@cs.ucla.edu>
11657         dfa: prefer ptrdiff_t for API, too
11658         Also, use ‘idx_t’ for ptrdiff_t values that must be nonnegative,
11659         but do this only for internal use for now.
11660         * NEWS: Mention the API change.
11661         * lib/dfa.c (idx_t, IDX_MAX): New type and max value, for internal
11662         use for now.  Use them instead of ptrdiff_t and PTRDIFF_MAX for
11663         values known to be nonnegative.
11664         (dfaparse, dfaexec_mb, dfaexec_sb, dfaexec_noop, dfaexec):
11665         Prefer idx_t or ptrdiff_t to size_t for API.
11666         * lib/dfa.h (dfaparse, dfacomp, dfaexec):
11667         Prefer ptrdiff_t to size_t for API.
11669         stdalign: port to xlclang 16.01
11670         Problem reportd by Bruno Haible in:
11671         https://lists.gnu.org/r/bug-gnulib/2019-12/msg00064.html
11672         * lib/stdalign.in.h (_Alignas): Do not use __attribute__
11673         ((__aligned__ (...))) with xlclang, as a top-level
11674         ‘char __attribute__ ((__aligned__ (8))) c;’ does not work with
11675         xlclang version 16.01.0000.0001; the alignment directive is ignored.
11677 2019-12-12  Bruno Haible  <bruno@clisp.org>
11679         duplocale: Fix test failure on AIX 7.2 with xlclang.
11680         * lib/duplocale.c: Include <stdlib.h>.
11681         (rpl_duplocale): Use a heap-allocated copy of the first setlocale return
11682         value.
11684 2019-12-12  Bruno Haible  <bruno@clisp.org>
11686         stddef: Document the AIX xlc issue.
11687         * doc/posix-headers/stddef.texi: Document the NULL issue with AIX xlc.
11689 2019-12-12  Bruno Haible  <bruno@clisp.org>
11691         duplocale: Don't attempt to override if locale_t does not exist.
11692         Reported by Daniel Richard G. in
11693         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00039.html>.
11694         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): If locale_t does not exist, set
11695         HAVE_DUPLOCALE to 0.
11697 2019-12-12  Bruno Haible  <bruno@clisp.org>
11699         wcwidth: Avoid test failure on AIX 7.2.
11700         * tests/test-wcwidth.c (main): Don't fail if wcwidth(0x200B) is
11701         negative.
11702         * doc/posix-functions/wcwidth.texi: Mention the AIX issue.
11704 2019-12-12  Bruno Haible  <bruno@clisp.org>
11706         ilogbl: Work around Cygwin bug.
11707         * m4/ilogbl.m4 (gl_FUNC_ILOGBL_WORKS): Test whether ilogbl(0.0L) is
11708         correct.
11709         * doc/posix-functions/ilogbl.texi: Mention the Cygwin bug.
11711 2019-12-12  Bruno Haible  <bruno@clisp.org>
11713         strtold: Work around Cygwin bug.
11714         * m4/strtold.m4 (gl_FUNC_STRTOLD): Add test for the underflow problem.
11715         If it is present, define STRTOLD_HAS_UNDERFLOW_BUG.
11716         * lib/strtod.c (HAVE_UNDERLYING_STRTOD): Set to 0 if
11717         STRTOLD_HAS_UNDERFLOW_BUG is defined.
11718         * doc/posix-functions/strtold.texi: Mention the Cygwin bug.
11720 2019-12-12  Bruno Haible  <bruno@clisp.org>
11722         strtold: Fix autoconf test.
11723         * m4/strtold.m4 (gl_FUNC_STRTOLD): Test strtold, not strtod.
11725 2019-12-11  Bruno Haible  <bruno@clisp.org>
11727         fsync tests: Skip test that is known to fail.
11728         * doc/posix-functions/fsync.texi: Update list of platforms.
11729         * tests/test-fsync.c (main): Skip test with read-only file descriptors
11730         that is known to fail on AIX and Cygwin.
11732 2019-12-11  Bruno Haible  <bruno@clisp.org>
11734         getaddrinfo: Fix calling convention in 32-bit mode on native Windows.
11735         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Test whether getaddrinfo has a
11736         non-POSIX signature. If so, set REPLACE_GETADDRINFO. Define
11737         HAVE_GETADDRINFO as a C macro.
11738         * lib/netdb.in.h (getaddrinfo, freeaddrinfo): If REPLACE_GETADDRINFO,
11739         declare as replacement functions.
11740         * lib/getaddrinfo.c (getaddrinfo, freeaddrinfo): If HAVE_GETADDRINFO,
11741         define as no-op overrides.
11742         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize REPLACE_GETADDRINFO.
11743         * modules/netdb (Makefile.am): Substitute REPLACE_GETADDRINFO.
11744         * modules/getaddrinfo (Depends-on, configure.ac): Test
11745         REPLACE_GETADDRINFO.
11746         * doc/posix-functions/getaddrinfo.texi: Mention calling convention
11747         problem.
11748         * doc/posix-functions/freeaddrinfo.texi: Mention header file and calling
11749         convention problems.
11751 2019-12-11  Paul Eggert  <eggert@cs.ucla.edu>
11753         dfa: prefer signed integers for internals
11754         Signed integers can be checked more easily for integer overflow.
11755         * lib/dfa.c (position, struct lexer_state, struct parser_state)
11756         (struct dfa, mbs_to_wchar, fetch_wc, parse_bracket_exp)
11757         (struct lexptr, lex, addtok_mb, add_utf8_anychar, atom)
11758         (nsubtoks, copytoks, closure, alloc_position_set, delete)
11759         (replace, state_index, epsclosure, charclass_context)
11760         (state_separate_contexts, merge_nfa_state, dfaoptimize)
11761         (dfaanalyze, build_state, dfaexec_main, dfa_supported)
11762         (maybe_disable_superset_dfa, dfassbuild, dfafree, enlist)
11763         (comsubs, inboth, allocmust):
11764         Prefer a signed to an unsigned integer when calculating indexes,
11765         unless the integer is part of the external API (a bigger deal,
11766         and to be done later).
11768         dfa: fix index overflow
11769         * lib/dfa.c (compare): Avoid integer overflow when analyzing
11770         very large regular expressions.
11772         dfa: update commentary for previous change
11773         * NEWS: Mention the change.
11774         * lib/dfa.c, lib/dfa.h (dfaparse, dfamust, dfacomp): Update comments.
11776 2019-12-11  Norihiro Tanaka  <noritnk@kcn.ne.jp>
11778         dfa: separate parse and compile phase
11779         ‘dfamust’ must be called after parsing and before tokens are
11780         reordered, but both are executed in the compilation phase.
11781         Token reordering was introduced in Gnulib commit
11782         2018-10-22T15:01:08Z!noritnk@kcn.ne.jp
11783         (5c7a0371823876cca7a1347fa09ca26bbbff0c98).
11784         * lib/dfa.c (dfaparse): Change it to global function.
11785         (dfacomp): If first argument is NULL, skip parse.
11786         * lib/dfa.h: (dfaparse): Add a prototype.
11788 2019-12-11  Bruno Haible  <bruno@clisp.org>
11790         unistd tests: Fix link error on MSVC.
11791         * modules/unistd-c++-tests (Makefile.am): Link test-unistd-c++ against
11792         $(LIB_GETLOGIN).
11794 2019-12-11  Bruno Haible  <bruno@clisp.org>
11796         doc: Document that ISO C or POSIX substitutes are supported in C++ mode.
11797         * doc/gnulib-intro.texi (Various Kinds of Modules): Document that ISO C
11798         and POSIX substitutes are supported in C++ mode.
11799         * NEWS: Likewise.
11801 2019-12-11  Bruno Haible  <bruno@clisp.org>
11803         stddef: Fix compilation error in C++ mode on MSVC.
11804         * lib/stddef.in.h (max_align_t): With MSVC in C++ mode, don't define it;
11805         instead, include <cstddef>.
11807 2019-12-11  Bruno Haible  <bruno@clisp.org>
11809         unistd: Fix compilation error in C++ mode on MSVC.
11810         * lib/unistd.in.h: Don't do include[_next] <unistd.h> if the platform
11811         does not have <unistd.h>.
11813 2019-12-11  Bruno Haible  <bruno@clisp.org>
11815         locale: Fix compilation error in C++ mode on MSVC.
11816         * m4/locale_h.m4 (gl_LOCALE_H): Don't set REPLACE_STRUCT_LCONV on MSVC.
11817         * lib/locale.in.h (int_p_cs_precedes, int_p_sign_posn,
11818         int_p_sep_by_space, int_n_cs_precedes, int_n_sign_posn,
11819         int_n_sep_by_space): Define as macros on MSVC.
11821 2019-12-11  Bruno Haible  <bruno@clisp.org>
11823         wchar: Fix compilation error in C++ mode on MSVC.
11824         * lib/wchar.in.h (mbstate_t): Don't override on MSVC.
11826 2019-12-11  Bruno Haible  <bruno@clisp.org>
11828         pthread-thread: Fix compilation error in C++ mode on MSVC.
11829         * lib/pthread.in.h (pthread_exit): Don't use _Noreturn in the
11830         _GL_CXXALIAS_RPL invocation.
11832 2019-12-08  Bruno Haible  <bruno@clisp.org>
11834         Fix compilation errors in C++ mode on Haiku.
11835         * lib/stdio.in.h (vdprintf): Disable _GL_CXXALIASWARN invocation on
11836         non-glibc systems.
11837         * lib/spawn.in.h (posix_spawnattr_getschedpolicy,
11838         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
11839         posix_spawnattr_setschedparam): Likewise.
11840         * lib/stdlib.in.h (random, initstate_r, setstate_r): Use
11841         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
11842         * lib/unistd.in.h (usleep): Likewise.
11844 2019-12-08  Bruno Haible  <bruno@clisp.org>
11846         Fix compilation errors in 32-bit C++ mode on HP-UX 11/ia64.
11847         * m4/largefile.m4 (gl_SET_LARGEFILE_SOURCE): New macro.
11848         * modules/fseeko (configure.ac-early): Require it instead of
11849         AC_FUNC_FSEEKO.
11850         * modules/ftello (configure.ac-early): Likewise.
11851         * modules/fflush (configure.ac-early): Likewise.
11853 2019-12-08  Bruno Haible  <bruno@clisp.org>
11855         Fix compilation error in C++ mode on HP-UX 11.
11856         * lib/unistd.in.h (getpagesize): Declare on HP-UX.
11857         * doc/glibc-functions/getpagesize.texi: Mention the HP-UX problem.
11859 2019-12-08  Bruno Haible  <bruno@clisp.org>
11861         Fix compilation errors on HP-UX 11/ia64.
11862         * lib/math.in.h (copysignf, fmaf, fma): Undefine before
11863         _GL_FUNCDECL_SYS.
11865 2019-12-08  Bruno Haible  <bruno@clisp.org>
11867         Fix compilation error in C++ mode on OpenBSD.
11868         * lib/signal.in.h (signal): Declare on OpenBSD.
11870 2019-12-08  Bruno Haible  <bruno@clisp.org>
11872         math tests: Don't fail if isfinite, isinf, isnan, signbit is a macro.
11873         * tests/test-math-c++.cc (isfinite, isinf, isnan, signbit): Use #warning
11874         instead of #error.
11876 2019-12-08  Bruno Haible  <bruno@clisp.org>
11878         Fix compilation errors in C++ mode on FreeBSD.
11879         * lib/pthread.in.h (pthread_exit): Remove _Noreturn from prototype.
11880         * tests/test-pthread-c++.cc (GNULIB_NAMESPACE::pthread_exit): Likewise.
11881         * lib/threads.in.h (thrd_exit): Likewise.
11882         * tests/test-threads-c++.cc (GNULIB_NAMESPACE::thrd_exit): Likewise.
11884 2019-12-08  Bruno Haible  <bruno@clisp.org>
11886         Fix compilation errors in C++ mode on macOS and FreeBSD.
11887         * lib/math.in.h (isfinite, isinf, isnan, signbit): In C++ mode on macOS
11888         or FreeBSD with clang, use the approach without C preprocessor macro.
11890 2019-12-07  Bruno Haible  <bruno@clisp.org>
11892         Fix compilation errors in C++ mode on AIX with xlclang++.
11893         Reported by Christian Biesinger <cbiesinger@google.com> in
11894         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00009.html>.
11895         * lib/wchar.in.h (mbstate_t): Don't override on AIX.
11897 2019-12-07  Bruno Haible  <bruno@clisp.org>
11899         Document compilation error in C++ mode on NetBSD 8.0.
11900         * doc/posix-headers/monetary.texi: Mention the NetBSD bug.
11902 2019-12-07  Bruno Haible  <bruno@clisp.org>
11904         Fix compilation errors in C++ mode on Solaris 10.
11905         * m4/stdbool.m4 (AM_STDBOOL_H): Require AC_CANONICAL_HOST. Set STDBOOL_H
11906         to non-empty on Solaris with a non-GCC compiler.
11907         * doc/posix-headers/stdbool.texi: Mention the Solaris issue.
11909 2019-12-07  Bruno Haible  <bruno@clisp.org>
11911         Reword NEWS entry.
11912         * NEWS: Reword the latest NEWS entry.
11914 2019-12-05  Pino Toscano  <ptoscano@redhat.com>
11916         Move xstrtol_fatal to a new xstrtol-error module.
11917         * lib/xstrtol.h: Stop including <getopt.h>.
11918         (xstrtol_fatal): Move ...
11919         * lib/xstrtol-error.h: ... here.  New file.
11920         * lib/xstrtol-error.c: Include xstrtol-error.h instead of xstrtol.h.
11921         * tests/test-xstrtol.c: Likewise.
11922         * modules/xstrtol (Files): Remove lib/xstrtol-error.c.
11923         (Depends-on): Remove exitfail, error, getopt-gnu, and gettext-h.
11924         (Makefile.am): Remove xstrtol-error.c from lib_SOURCES.
11925         * modules/xstrtol-error: New file.
11926         * modules/xstrtol-tests (Depends-on): Add xstrtol-error.
11927         * MODULES.html.sh: Add xstrtol-error.
11928         * NEWS: Document the change.
11930 2019-12-06  Paul Eggert  <eggert@cs.ucla.edu>
11932         nstrftime: better width support for %N, %z
11933         * lib/nstrftime.c (width_add, width_add1, width_cpy):
11934         New macros, which generalize ‘add’, ‘add1’, ‘cpy’ by adding
11935         a new WIDTH parameter.
11936         (add, add1, cpy): Use these macros.
11937         (width_add): Do not treat digits == 0 as a special case,
11938         do not pad if padding is ‘-’, and do not use a negative width.
11939         (__strftime_internal): Redo formatting of nanoseconds and numeric
11940         timezones to avoid buffer misuse in unusual cases, and so that
11941         widths make more sense.  Add support for widths greater than 9 to
11942         the %N format; they are zero filled on the right.
11943         * tests/test-nstrftime.c (posixtm_test): Add a %12N test.
11945 2019-12-05  Bruno Haible  <bruno@clisp.org>
11947         Fix compilation errors in C++ mode on Solaris 10 and Solaris 11.
11948         * m4/isfinite.m4 (gl_ISFINITE): Require AC_CANONICAL_HOST. On Solaris,
11949         set REPLACE_ISFINITE to 1.
11950         * m4/isinf.m4 (gl_ISINF): Require AC_CANONICAL_HOST. On Solaris, set
11951         REPLACE_ISINF to 1.
11952         * m4/signbit.m4 (gl_SIGNBIT): On Solaris, set REPLACE_SIGNBIT to 1.
11953         * lib/pthread.in.h (pthread_create, pthread_once, pthread_key_create):
11954         Use _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
11955         * lib/threads.in.h (call_once): Likewise.
11956         * lib/iconv.in.h (iconv): Likewise.
11958 2019-12-05  Bruno Haible  <bruno@clisp.org>
11960         wchar: Add more C++ tests.
11961         Reported by Christian Biesinger <cbiesinger@google.com> in
11962         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00009.html>.
11963         * tests/test-wchar-c++3.cc: New file.
11964         * modules/wchar-c++-tests (Files): Add it.
11965         (Makefile.am): Compile it.
11967 2019-12-05  Bruno Haible  <bruno@clisp.org>
11969         Add more C++ tests.
11971         assert-h: Add C++ tests.
11972         * tests/test-assert-h-c++.cc: New file.
11973         * tests/test-assert-h-c++2.cc: New file.
11974         * modules/assert-h-c++-tests: New file.
11975         * modules/assert-h-tests: New file.
11977         ctype: Add C++ tests.
11978         * tests/test-ctype-c++.cc: New file.
11979         * tests/test-ctype-c++2.cc: New file.
11980         * modules/ctype-c++-tests: New file.
11981         * modules/ctype-tests (Depends-on): Add ctype-c++-tests.
11983         errno: Add C++ tests.
11984         * tests/test-errno-c++.cc: New file.
11985         * tests/test-errno-c++2.cc: New file.
11986         * modules/errno-c++-tests: New file.
11987         * modules/errno-tests (Depends-on): Add errno-c++-tests.
11989         float: Add C++ tests.
11990         * tests/test-float-c++.cc: New file.
11991         * tests/test-float-c++2.cc: New file.
11992         * modules/float-c++-tests: New file.
11993         * modules/float-tests (Depends-on): Add float-c++-tests.
11995         inttypes: Add more C++ tests.
11996         * tests/test-inttypes-c++2.cc: New file.
11997         * modules/inttypes-c++-tests (Files): Add it.
11998         (Makefile.am): Compile it.
12000         limits-h: Add C++ tests.
12001         * tests/test-limits-h-c++.cc: New file.
12002         * tests/test-limits-h-c++2.cc: New file.
12003         * modules/limits-h-c++-tests: New file.
12004         * modules/limits-h-tests (Depends-on): Add limits-h-c++-tests.
12006         stdarg: Add C++ tests.
12007         * tests/test-stdarg-c++.cc: New file.
12008         * tests/test-stdarg-c++2.cc: New file.
12009         * modules/stdarg-c++-tests: New file.
12010         * modules/stdarg-tests: New file.
12012         stdbool: Add C++ tests.
12013         * tests/test-stdbool-c++.cc: New file.
12014         * tests/test-stdbool-c++2.cc: New file.
12015         * modules/stdbool-c++-tests: New file.
12016         * modules/stdbool-tests (Depends-on): Add stdbool-c++-tests.
12018         stddef: Add C++ tests.
12019         * tests/test-stddef-c++.cc: New file.
12020         * tests/test-stddef-c++2.cc: New file.
12021         * modules/stddef-c++-tests: New file.
12022         * modules/stddef-tests (Depends-on): Add stddef-c++-tests.
12024         stdint: Add C++ tests.
12025         * tests/test-stdint-c++.cc: New file.
12026         * tests/test-stdint-c++2.cc: New file.
12027         * modules/stdint-c++-tests: New file.
12028         * modules/stdint-tests (Depends-on): Add stdint-c++-tests.
12030         wchar: Add more C++ tests.
12031         * tests/test-wchar-c++2.cc: New file.
12032         * modules/wchar-c++-tests (Files): Add it.
12033         (Makefile.am): Compile it.
12035         wctype-h: Add more C++ tests.
12036         * tests/test-wctype-h-c++2.cc: New file.
12037         * modules/wctype-h-c++-tests (Files): Add it.
12038         (Makefile.am): Compile it.
12040 2019-12-04  Bruno Haible  <bruno@clisp.org>
12042         Fix compilation errors in C++ mode with xlclang++ on AIX.
12043         * lib/math.in.h (expm1l, fmal, remainderl, roundl): Don't redeclare in
12044         C++ mode on AIX.
12045         (isfinite, signbit): In C++ mode on AIX with clang, use the approach
12046         without C preprocessor macro.
12047         * lib/pthread.in.h (pthread_exit): Use _GL_CXXALIAS_SYS_CAST instead of
12048         _GL_CXXALIAS_SYS.
12049         * lib/threads.in.h (thrd_exit): Likewise.
12051 2019-12-04  Bruno Haible  <bruno@clisp.org>
12053         Fix compilation error in C++ mode on Solaris 11 OpenIndiana.
12054         * lib/wchar.in.h (wcsnrtombs): Force declaration in C++ mode on Solaris.
12055         * doc/posix-functions/wcsnrtombs.texi: Mention the issue.
12057 2019-12-04  Bruno Haible  <bruno@clisp.org>
12059         Disable more _GL_CXXALIASWARN on all platforms other than glibc systems.
12060         * lib/wchar.in.h (wcsnrtombs, wcwidth, wcswidth): Disable
12061         _GL_CXXALIASWARN invocation on non-glibc systems.
12062         * lib/wctype.in.h (iswalnum, iswalpha, iswcntrl, iswdigit, iswgraph,
12063         iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit, wctype,
12064         iswctype, towlower, towupper): Likewise.
12066 2019-12-03  Bruno Haible  <bruno@clisp.org>
12068         Avoid hassles caused by [[noreturn]] in C++.
12069         Reported by Christian Biesinger <cbiesinger@google.com> in
12070         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00010.html>.
12071         * m4/gnulib-common.m4 (gl_COMMON_BODY): Disable the use of [[noreturn]].
12072         * lib/_Noreturn.h: Likewise.
12074 2019-12-02  Bruno Haible  <bruno@clisp.org>
12076         Fix mistakes in --enable-threads=isoc fixes from 2019-12-01.
12077         * m4/pthread-mutex.m4 (gl_PTHREAD_MUTEX): Use LIBPMULTITHREAD, not
12078         LIBMULTITHREAD.
12079         * m4/pthread-rwlock.m4 (gl_PTHREAD_RWLOCK): Likewise.
12080         * m4/pthread-thread.m4 (gl_PTHREAD_THREAD): Likewise.
12081         * m4/timer_time.m4 (gl_TIMER_TIME): Likewise. Require gl_PTHREADLIB, not
12082         gl_THREADLIB.
12083         * modules/timer-time (Depends-on): Add pthread-h. Remove threadlib.
12085 2019-12-02  Bruno Haible  <bruno@clisp.org>
12087         Fix some more link errors with --enable-threads=isoc.
12088         * modules/pthread-mutex (Depends-on): Test $gl_threads_api differently.
12089         * modules/pthread-rwlock (Depends-on): Likewise.
12091 2019-12-02  Bruno Haible  <bruno@clisp.org>
12093         Fix link errors with --enable-threads=posix on AIX.
12094         * modules/string-c++-tests (Makefile.am): Link the test-string-c++
12095         program with $(LIBTHREAD).
12096         * modules/wchar-c++-tests (Makefile.am): Link the test-wchar-c++
12097         program with $(LIBTHREAD).
12099 2019-12-02  Bruno Haible  <bruno@clisp.org>
12101         Fix link errors with --enable-threads=posix on AIX.
12102         * modules/mbrtowc (Link): New section.
12103         * modules/acl (Link): Likewise.
12104         * modules/argmatch (Link): Likewise.
12105         * modules/backup-rename (Link): Likewise.
12106         * modules/backupfile (Link): Likewise.
12107         * modules/closein (Link): Likewise.
12108         * modules/closeout (Link): Likewise.
12109         * modules/copy-file (Link): Likewise.
12110         * modules/csharpcomp (Link): Likewise.
12111         * modules/csharpexec (Link): Likewise.
12112         * modules/dfa (Link): Likewise.
12113         * modules/exclude (Link): Likewise.
12114         * modules/fnmatch (Link): Likewise.
12115         * modules/fnmatch-gnu (Link): Likewise.
12116         * modules/fnmatch-posix (Link): Likewise.
12117         * modules/glob (Link): Likewise.
12118         * modules/human (Link): Likewise.
12119         * modules/javacomp (Link): Likewise.
12120         * modules/javaexec (Link): Likewise.
12121         * modules/javaversion (Link): Likewise.
12122         * modules/mbfile (Link): Likewise.
12123         * modules/mbiter (Link): Likewise.
12124         * modules/mbmemcasecmp (Link): Likewise.
12125         * modules/mbmemcasecoll (Link): Likewise.
12126         * modules/mbrlen (Link): Likewise.
12127         * modules/mbscasecmp (Link): Likewise.
12128         * modules/mbscasestr (Link): Likewise.
12129         * modules/mbschr (Link): Likewise.
12130         * modules/mbscspn (Link): Likewise.
12131         * modules/mbsinit (Link): Likewise.
12132         * modules/mbslen (Link): Likewise.
12133         * modules/mbsncasecmp (Link): Likewise.
12134         * modules/mbsnlen (Link): Likewise.
12135         * modules/mbsnrtowcs (Link): Likewise.
12136         * modules/mbspbrk (Link): Likewise.
12137         * modules/mbspcasecmp (Link): Likewise.
12138         * modules/mbsrchr (Link): Likewise.
12139         * modules/mbsrtowcs (Link): Likewise.
12140         * modules/mbssep (Link): Likewise.
12141         * modules/mbsspn (Link): Likewise.
12142         * modules/mbsstr (Link): Likewise.
12143         * modules/mbstok_r (Link): Likewise.
12144         * modules/mbswidth (Link): Likewise.
12145         * modules/mbuiter (Link): Likewise.
12146         * modules/mkdir-p (Link): Likewise.
12147         * modules/propername (Link): Likewise.
12148         * modules/quote (Link): Likewise.
12149         * modules/quotearg (Link): Likewise.
12150         * modules/quotearg-simple (Link): Likewise.
12151         * modules/regex-quote (Link): Likewise.
12152         * modules/rpmatch (Link): Likewise.
12153         * modules/sh-quote (Link): Likewise.
12154         * modules/system-quote (Link): Likewise.
12155         * modules/trim (Link): Likewise.
12156         * modules/unistdio/ulc-asnprintf (Link): Likewise.
12157         * modules/unistdio/ulc-fprintf (Link): Likewise.
12158         * modules/unistdio/ulc-vasnprintf (Link): Likewise.
12159         * modules/unistdio/ulc-vasprintf (Link): Likewise.
12160         * modules/unistdio/ulc-vfprintf (Link): Likewise.
12161         * modules/unistdio/ulc-vsnprintf (Link): Likewise.
12162         * modules/unistdio/ulc-vsprintf (Link): Likewise.
12163         * modules/xfreopen (Link): Likewise.
12164         * modules/xmemcoll (Link): Likewise.
12165         * modules/yesno (Link): Likewise.
12166         * modules/acl-tests (Makefile.am): Link the programs with $(LIBTHREAD).
12167         * modules/argmatch-tests (Makefile.am): Likewise.
12168         * modules/closein-tests (Makefile.am): Likewise.
12169         * modules/copy-file-tests (Makefile.am): Likewise.
12170         * modules/dfa-tests (Makefile.am): Likewise.
12171         * modules/fnmatch-tests (Makefile.am): Likewise.
12172         * modules/glob-tests (Makefile.am): Likewise.
12173         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
12174         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
12175         * modules/mbrtowc-tests (Makefile.am): Likewise.
12176         * modules/mbscasecmp-tests (Makefile.am): Likewise.
12177         * modules/mbscasestr-tests (Makefile.am): Likewise.
12178         * modules/mbschr-tests (Makefile.am): Likewise.
12179         * modules/mbscspn-tests (Makefile.am): Likewise.
12180         * modules/mbsinit-tests (Makefile.am): Likewise.
12181         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
12182         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
12183         * modules/mbspbrk-tests (Makefile.am): Likewise.
12184         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
12185         * modules/mbsrchr-tests (Makefile.am): Likewise.
12186         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
12187         * modules/mbsspn-tests (Makefile.am): Likewise.
12188         * modules/mbsstr-tests (Makefile.am): Likewise.
12189         * modules/quotearg-tests (Makefile.am): Likewise.
12190         * modules/quotearg-simple-tests (Makefile.am): Likewise.
12191         * modules/readtokens-tests (Makefile.am): Likewise.
12192         * modules/regex-quote-tests (Makefile.am): Likewise.
12193         * modules/sh-quote-tests (Makefile.am): Likewise.
12194         * modules/system-quote-tests (Makefile.am): Likewise.
12195         * modules/unistdio/ulc-asnprintf-tests (Makefile.am): Likewise.
12196         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
12197         * modules/unistdio/ulc-vasprintf-tests (Makefile.am): Likewise.
12198         * modules/unistdio/ulc-vsnprintf-tests (Makefile.am): Likewise.
12199         * modules/unistdio/ulc-vsprintf-tests (Makefile.am): Likewise.
12200         * modules/yesno-tests (Makefile.am): Likewise.
12202 2019-12-02  Bruno Haible  <bruno@clisp.org>
12204         Simplify link sections.
12205         * modules/threadlib (Link): Stop mentioning LTLIBTHREAD.
12206         * modules/lock (Link): Likewise.
12207         * modules/cond (Link): Likewise.
12208         * modules/tls (Link): Likewise.
12209         * modules/yield (Link): Likewise.
12210         * modules/regex (Link): Likewise.
12211         * modules/localename (Link): Likewise.
12212         * modules/unicase/locale-language (Link): Likewise.
12213         * modules/thread (Link): Stop mentioning LTLIBMULTITHREAD.
12215 2019-12-02  Bruno Haible  <bruno@clisp.org>
12217         thread tests: Avoid link error with --enable-threads=isoc+posix on AIX.
12218         * tests/test-thread_self.c (main): Disable test on AIX.
12220 2019-12-01  Bruno Haible  <bruno@clisp.org>
12222         pthread-h: Fix link errors with --enable-threads=isoc on AIX.
12223         * m4/threadlib.m4 (gl_ANYTHREADLIB_EARLY): New macro, extracted from
12224         gl_THREADLIB_EARLY_BODY.
12225         (gl_THREADLIB_EARLY_BODY): Invoke it.
12226         (gl_PTHREADLIB_BODY): New macro, extracted from gl_THREADLIB_BODY.
12227         (gl_THREADLIB_BODY): Invoke it.
12228         (gl_PTHREADLIB): New macro.
12229         * m4/pthread_h.m4 (gl_PTHREAD_H): Require gl_PTHREADLIB. Require
12230         gl_THREADLIB and test $gl_threads_api only if module 'threadlib' is
12231         present. Define LIB_PTHREAD using LIBPMULTITHREAD, not LIBMULTITHREAD.
12232         * modules/pthread-h (Files): Add threadlib.m4.
12233         (Depends-on): Remove threadlib.
12234         (configure.ac-early): Invoke gl_ANYTHREADLIB_EARLY. Don't set _REENTRANT
12235         and _THREAD_SAFE here.
12236         (Link): Use LIBPTHREAD, not LIBTHREAD.
12237         * modules/pthread-thread (Link): Use LIBPMULTITHREAD, not
12238         LIBMULTITHREAD.
12239         * modules/pthread-once (Link): Likewise.
12240         * modules/pthread-mutex (Link): Likewise.
12241         * modules/pthread-rwlock (Link): Likewise.
12242         * modules/pthread-cond (Link): Likewise.
12243         * modules/pthread-tss (Link): Likewise.
12244         * modules/pthread-spin (Link): Likewise.
12245         * modules/pthread (Link): Likewise.
12246         * modules/pthread-h-c++-tests (test_pthread_c___LDADD): Likewise.
12247         * modules/pthread-thread-tests (test_pthread_thread_LDADD): Likewise.
12248         * modules/pthread-once-tests (test_pthread_once1_LDADD,
12249         test_pthread_once2_LDADD): Likewise.
12250         * modules/pthread-mutex-tests (test_pthread_mutex_LDADD): Likewise.
12251         * modules/pthread-rwlock-tests (test_pthread_rwlock_LDADD): Likewise.
12252         * modules/pthread-cond-tests (test_pthread_cond_LDADD): Likewise.
12253         * modules/pthread-tss-tests (test_pthread_tss_LDADD): Likewise.
12255 2019-12-01  Bruno Haible  <bruno@clisp.org>
12257         cond: State linking requirements.
12258         * modules/cond (Link): New section.
12260 2019-12-01  Bruno Haible  <bruno@clisp.org>
12262         threadlib: Remove unnecessary file (left over from 2019-07-06).
12263         * modules/threadlib (Files): Remove config.rpath.
12265 2019-11-29  Tim Rühsen  <tim.ruehsen@gmx.de>
12267         gnulib-tool.py: Fix libgnu_la_LDFLAGS section in generated Makefile.am.
12268         Reported by Dagobert Michelsen <dam@opencsw.org> in
12269         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00086.html>.
12270         * pygnulib/GLModuleSystem.py (getLink): Don't join the parts. Return a
12271         list of strings instead of one string.
12272         * pygnulib/GLEmiter.py (lib_Makefile_am): Adapt accordingly.
12273         * pygnulib/GLImport.py (execute): Likewise.
12275 2019-11-27  Bruno Haible  <bruno@clisp.org>
12277         openpty, forkpty: Fix build error on Solaris 11.4.
12278         * m4/pty_h.m4 (gl_PTY_H): Test for termios.h. Look for the declarations
12279         also in <termios.h>.
12280         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Look for the declaration
12281         of the function also in <termios.h>.
12282         * doc/glibc-functions/openpty.texi: Mention the Solaris 11.4 problems.
12283         * doc/glibc-functions/forkpty.texi: Likewise.
12285 2019-11-27  Bruno Haible  <bruno@clisp.org>
12287         New options --enable-threads=isoc and --enable-threads=isoc+posix.
12288         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Accept the options
12289         --enable-threads=isoc and --enable-threads=isoc+posix.
12290         (gl_THREADLIB_BODY): Test whether the ISO C threads API is available.
12291         When both the ISO C and the POSIX threads API are available, choose
12292         USE_ISOC_AND_POSIX_THREADS instead of USE_POSIX_THREADS if
12293         --enable-threads=isoc+posix was specified. When only the ISO C threads
12294         API is available and --enable-threads=iso was specified, choose
12295         USE_ISOC_THREADS.
12296         * lib/glthread/lock.h: Add new code for USE_ISOC_THREADS ||
12297         USE_ISOC_AND_POSIX_THREADS.
12298         * lib/glthread/lock.c: Likewise.
12299         * lib/glthread/cond.h: Likewise.
12300         * lib/glthread/cond.c: Likewise.
12301         * lib/glthread/tls.h: Likewise.
12302         * lib/glthread/tls.c: Likewise.
12303         * lib/glthread/yield.h: Likewise.
12304         * lib/glthread/thread.h: Add new code for USE_ISOC_THREADS. Treat
12305         USE_ISOC_AND_POSIX_THREADS like USE_POSIX_THREADS.
12306         * lib/glthread/thread.c: Likewise.
12307         * lib/glthread/threadlib.c: Likewise.
12308         * tests/test-lock.c: Save and restore the values of USE_ISOC_THREADS and
12309         USE_ISOC_AND_POSIX_THREADS.
12310         * tests/test-cond.c: Consider USE_ISOC_THREADS and
12311         USE_ISOC_AND_POSIX_THREADS.
12312         * tests/test-tls.c: Likewise.
12313         * tests/test-thread_create.c (main): Likewise.
12314         * tests/test-pthread-cond.c: Likewise.
12315         * tests/test-pthread-mutex.c: Likewise.
12316         * tests/test-pthread-once2.c: Likewise.
12317         * tests/test-pthread-rwlock.c: Likewise.
12318         * tests/test-pthread-tss.c: Likewise.
12319         * tests/test-pthread_sigmask2.c: Treat USE_ISOC_AND_POSIX_THREADS like
12320         USE_POSIX_THREADS.
12322 2019-11-24  Bruno Haible  <bruno@clisp.org>
12324         mbrtowc: Modernize autoconf test.
12325         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Require
12326         gt_LOCALE_FR_UTF8. If a traditional Japanese locale is not available,
12327         try a UTF-8 locale.
12328         * doc/posix-functions/mbrtowc.texi: Update info about AIX.
12330 2019-11-24  Bruno Haible  <bruno@clisp.org>
12332         Fix errors in C++ mode on mingw.
12333         * lib/arpa_inet.in.h (inet_ntop, inet_pton): Use _GL_CXXALIAS_SYS_CAST
12334         instead of _GL_CXXALIAS_SYS.
12335         * lib/signal.in.h (pthread_sigmask): Likewise.
12336         * lib/spawn.in.h (posix_spawn_file_actions_addopen,
12337         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
12338         Likewise.
12339         * lib/wchar.in.h (btowc): Likewise.
12341 2019-11-24  Bruno Haible  <bruno@clisp.org>
12343         sys_time: Fix errors in C++ mode on mingw.
12344         * lib/sys_time.in.h (timeval): Restore the redirection
12345         '#define timeval rpl_timeval', for when the symbol timeval is being used
12346         outside the 'gnulib' namespace.
12347         * lib/sys_select.in.h (select): In C++, write 'timeval', not
12348         'struct timeval'.
12350 2019-11-24  Bruno Haible  <bruno@clisp.org>
12352         iswctype: Fix errors in C++ mode on mingw.
12353         * lib/wctype.in.h (rpl_iswctype): Override if GNULIB_OVERRIDES_WINT_T
12354         is 1.
12355         * lib/iswctype.c (iswctype): Add another implementation, for the
12356         GNULIB_defined_wint_t case.
12357         * modules/iswctype (configure.ac): Compile iswctype.c also if
12358         GNULIB_OVERRIDES_WINT_T is 1.
12360 2019-11-24  Bruno Haible  <bruno@clisp.org>
12362         windows-timedmutex: Fix errors in C++ mode on mingw.
12363         * lib/windows-timedmutex.h: Add closing brace.
12365 2019-11-24  Bruno Haible  <bruno@clisp.org>
12367         Fix errors in C++ mode on Cygwin.
12368         * lib/sys_wait.in.h (waitpid): Use _GL_CXXALIAS_SYS_CAST instead of
12369         _GL_CXXALIAS_SYS.
12371 2019-11-24  Bruno Haible  <bruno@clisp.org>
12373         time_r: Fix for mingw (regression from 2019-11-16).
12374         * m4/time_r.m4 (gl_TIME_R): Revert to using AC_CHECK_FUNCS_ONCE. Use the
12375         AC_LINK_IFELSE test only if the function does not appear to exist.
12377 2019-11-24  Bruno Haible  <bruno@clisp.org>
12379         wcstok: Add tests.
12380         * tests/test-wcstok.c: New file.
12381         * modules/wcstok-tests: New file.
12383 2019-11-24  Bruno Haible  <bruno@clisp.org>
12385         wcstok: Work around wrong signature on native Windows.
12386         * lib/wchar.in.h (wcstok): Override when REPLACE_WCSTOK is 1.
12387         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Check for signature of wcstok. Set
12388         REPLACE_WCSTOK.
12389         * m4/wchar_h.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSTOK.
12390         * modules/wchar (Makefile.am): Substitute REPLACE_WCSTOK.
12391         * modules/wcstok (Depends-on, configure.ac): Consider REPLACE_WCSTOK.
12392         * doc/posix-functions/wcstok.texi: Mention the problem.
12394 2019-11-22  Paul Eggert  <eggert@cs.ucla.edu>
12396         intprops: INT_MULTIPLY_WRAPV speedup for GCC 8.4+
12397         * lib/intprops.h (INT_MULTIPLY_WRAPV): If GCC 8.x where 4 <= x,
12398         remove workaround for GCC bug 91450 as the bug should be fixed
12399         there too.
12401 2019-11-21  Bruno Haible  <bruno@clisp.org>
12403         Disable many _GL_CXXALIASWARN on all platforms other than glibc systems.
12404         Reported by Christian Biesinger <cbiesinger@google.com> in
12405         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00066.html>.
12406         * lib/fnmatch.in.h (fnmatch): Disable _GL_CXXALIASWARN invocation on
12407         non-glibc systems.
12408         * lib/locale.in.h (localeconv, setlocale): Likewise.
12409         * lib/math.in.h (cbrt, ceil, copysign, exp2, expm1, floor, fma, fmod,
12410         frexp, hypot, ilogb, log, log10, log1p, log2, logb, modf, remainder,
12411         rint, round, trunc): Likewise.
12412         * lib/monetary.in.h (strfmon_l): Likewise.
12413         * lib/pthread.in.h (pthread_mutexattr_getrobust,
12414         pthread_mutexattr_setrobust, pthread_mutex_lock, pthread_spin_init,
12415         pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock,
12416         pthread_spin_destroy): Likewise.
12417         * lib/signal.in.h (raise, signal): Likewise.
12418         * lib/stdio.in.h (fclose, fflush, fgetc, fgets, fopen, fprintf, fputc,
12419         fputs, fread, freopen, fscanf, fseek, ftell, fwrite, getc, getchar,
12420         perror, printf, putc, putchar, puts, remove, rename, scanf, sprintf,
12421         tmpfile, vfprintf, vprintf, vsprintf): Likewise.
12422         * lib/stdlib.in.h (calloc, malloc, mbtowc, realloc, strtod, wctomb):
12423         Likewise.
12424         * lib/string.in.h (memchr, strncat, strpbrk, strstr, strerror):
12425         Likewise.
12426         * lib/time.in.h (mktime, localtime, ctime, strftime): Likewise.
12427         * lib/wchar.in.h (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs,
12428         wcrtomb, wcsrtombs, wmemchr, wmemcmp, wmemcpy, wmemmove, wmemset,
12429         wcslen, wcscpy, wcsncpy, wcscat, wcsncat, wcscmp, wcsncmp, wcscoll,
12430         wcsxfrm, wcschr, wcsrchr, wcscspn, wcsspn, wcspbrk, wcsstr, wcstok,
12431         wcsftime): Likewise.
12432         * lib/wctype.in.h (iswblank, wctrans, towctrans): Likewise.
12434 2019-11-21  Bruno Haible  <bruno@clisp.org>
12436         Fix various errors in _GL_CXXALIAS_SYS invocations.
12437         * lib/locale.in.h (freelocale): Use _GL_CXXALIAS_SYS_CAST instead of
12438         _GL_CXXALIAS_SYS.
12439         * lib/pthread.in.h (pthread_mutexattr_gettype,
12440         pthread_mutexattr_getrobust): Likewise.
12441         * lib/stdlib.in.h (srandom, initstate, setstate): Likewise.
12442         * lib/sys_socket.in.h (recv, send): Likewise.
12443         * lib/unistd.in.h (getdtablesize): Likewise.
12444         * lib/sys_select.in.h (select): In C++, write 'timeval' instead of
12445         'struct timeval'.
12447 2019-11-21  Bruno Haible  <bruno@clisp.org>
12449         math tests: Update after 2019-08-28 change.
12450         * tests/test-math-c++.cc (isfinite, isinf, isnan, signbit): Expect a
12451         return type of 'bool', not 'int'.
12453 2019-11-21  Bruno Haible  <bruno@clisp.org>
12455         pthread-spin: Fix errors in C++ mode.
12456         * m4/pthread-spin.m4 (gl_PTHREAD_SPIN): Mark the pthread_spin_*
12457         functions as nonexistent when <pthread.h> exists but does not define
12458         the pthread_spinlock_t type.
12460 2019-11-21  Bruno Haible  <bruno@clisp.org>
12462         pthread-mutex: Fix errors in C++ mode.
12463         * m4/pthread-mutex.m4 (gl_PTHREAD_MUTEX): Test whether
12464         pthread_mutexattr_getrobust exists. If not, define
12465         PTHREAD_MUTEXATTR_ROBUST_UNIMPLEMENTED.
12466         * lib/pthread-mutex.c (pthread_mutexattr_getrobust,
12467         pthread_mutexattr_setrobust): Define also if <pthread.h> exists but
12468         PTHREAD_MUTEXATTR_ROBUST_UNIMPLEMENTED.
12469         * modules/pthread-mutex (configure.ac): Compile pthread-mutex.c also
12470         when <pthread.h> exists but pthread_mutexattr_getrobust needs a gnulib
12471         definition.
12473 2019-11-19  Bruno Haible  <bruno@clisp.org>
12475         threads-h tests: Fix typo.
12476         * tests/test-threads-c++.cc: Fix references to undefined type 'mtx'.
12478 2019-11-19  Bruno Haible  <bruno@clisp.org>
12480         pthread-thread: Fix prototype of pthread_attr_getdetachstate.
12481         * lib/pthread.in.h (pthread_attr_getdetachstate): Change first parameter
12482         to 'const pthread_attr_t *'.
12483         * lib/pthread-thread.c (pthread_attr_getdetachstate): Likewise.
12484         * tests/test-pthread-c++.cc (pthread_attr_getdetachstate): Likewise.
12486 2019-11-19  Paul Eggert  <eggert@cs.ucla.edu>
12488         intprops: speed up INT_MULTIPLY_WRAPV in GCC 9.3
12489         * lib/intprops.h (INT_MULTIPLY_WRAPV): If GCC 9.3 or later, do not
12490         work around GCC bug 91450 as the bug should be fixed there.
12492 2019-11-18  Paul Eggert  <eggert@cs.ucla.edu>
12494         glob: get closer to glibc glob.c
12495         Omit differences from glibc when the differences don’t matter.
12496         * lib/glob.c [_LIBC]: Include shlib-compat.h.
12497         (__glob) [!_LIBC]: New macro.  All uses of glob changed to __glob.
12498         (glob_lstat): New function.
12499         (glob_in_dir): Use it.
12500         (GLOB_ATTRIBUTE): Define to empty if not already defined.
12501         Use changed.
12503 2019-11-18  Bruno Haible  <bruno@clisp.org>
12505         stdint: Define [u]intptr_t correctly on 64-bit native Windows.
12506         * lib/stdint.in.h (gl_intptr_t, gl_uintptr_t, INTPTR_MIN, INTPTR_MAX,
12507         UINTPTR_MAX): Consider _WIN64.
12508         * tests/test-stdint.c: Verify that [u]intptr_t is large enough to hold
12509         a pointer.
12511 2019-11-18  Bruno Haible  <bruno@clisp.org>
12513         stdint: Fix value of WINT_MAX when we override wint_t.
12514         * lib/stdint.in.h (WINT_MIN, WINT_MAX): Don't override a second time
12515         when GNULIB_OVERRIDES_WINT_T is 1.
12517 2019-11-18  Bruno Haible  <bruno@clisp.org>
12519         vcs-to-changelog: New module.
12520         * modules/vcs-to-changelog: New file.
12521         * MODULES.html.sh (func_all_modules): Add it.
12523 2019-11-01  Siddhesh Poyarekar  <siddhesh@gotplt.org>
12525         vcs-to-changelog: New script to generate ChangeLog-like output.
12526         Discussion:
12527         <https://lists.gnu.org/archive/html/bug-gnulib/2019-10/msg00062.html>
12528         * build-aux/vcs_to_changelog.py: New file.
12529         * build-aux/vcstocl/frontend_c.py: New file.
12530         * build-aux/vcstocl/misc_util.py: New file.
12531         * build-aux/vcstocl/vcs_git.py: New file.
12533 2019-11-18  Bruno Haible  <bruno@clisp.org>
12535         stdint: Avoid triggering a "conflicting types" error on mingw 5.22.
12536         Reported by Keith Marshall <keith@users.osdn.me> in
12537         <https://lists.gnu.org/archive/html/bug-gnulib/2019-10/msg00044.html>
12538         and <https://osdn.net/projects/mingw/ticket/39677>.
12539         * lib/stdint.in.h (intptr_t, uintptr_t): Don't define if the types have
12540         already been defined by mingw's <crtdefs.h>.
12542 2019-11-18  Bruno Haible  <bruno@clisp.org>
12544         gnulib-tool: Fix build error on macOS with --conditional-dependencies.
12545         * gnulib-tool (func_modules_add_dummy): Ignore modules that are
12546         conditionally enabled.
12548 2019-11-18  Bruno Haible  <bruno@clisp.org>
12550         gc: Mirror libgcrypt.m4 from libgcrypt.
12551         * config/srclistvars.sh (LIBGCRYPT): New variable.
12552         * config/srclist.txt: Use it to fetch m4/libgcrypt.m4.
12554 2019-11-17  Bruno Haible  <bruno@clisp.org>
12556         locale, localename: Improve z/OS support.
12557         Reported by Daniel Richard G. in
12558         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00001.html>.
12559         * m4/locale_h.m4 (gl_LOCALE_T): New macro, partially extracted from
12560         gl_LOCALE_H.
12561         (gl_LOCALE_H): Require it.
12562         * m4/localename.m4 (gl_LOCALENAME): Likewise. If locale_t is not
12563         defined, don't even check for newlocale, duplocale, freelocale.
12564         * m4/intl-thread-locale.m4 (gt_FUNC_USELOCALE): Make the test fail when
12565         locale_t is not defined.
12567 2019-11-17  Bruno Haible  <bruno@clisp.org>
12569         havelib: Make libdirstems processing more flexible.
12570         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Set 3 libdirstem
12571         variables: Consider 'lib' always, also on Solaris. Look for lib32 in
12572         addition to lib64. Don't invoke /usr/bin/gcc (reverting the second
12573         patch from 2017-02-19).
12574         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Consider up to 3 additional
12575         libdirs, even when the first one exists as a directory.
12577 2019-11-17  Bruno Haible  <bruno@clisp.org>
12579         havelib: Match the bitness when searching for libraries.
12580         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Define a function
12581         acl_is_expected_elfclass.
12582         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): When testing whether a library
12583         file exists, in ELF, also test whether it has the ELF class that
12584         corresponds to the host's bitness.
12586 2019-11-17  Bruno Haible  <bruno@clisp.org>
12588         host-cpu-c-abi: Add support for unknown CPUs.
12589         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI_32BIT): Set
12590         gl_cv_host_cpu_c_abi_32bit to 'unknown' if we don't know whether it's
12591         32-bit or 64-bit.
12593 2019-11-17  Bruno Haible  <bruno@clisp.org>
12595         havelib: Remove redundant code.
12596         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Remove Solaris specific
12597         test for 64-bit host. Use gl_HOST_CPU_C_ABI_32BIT result instead.
12599 2019-11-17  Bruno Haible  <bruno@clisp.org>
12601         havelib: Fix a bug in dependency processing.
12602         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): During dependency processing
12603         of .la files, don't overwrite the value of additional_libdir for the
12604         next rounds.
12606 2019-11-16  Bruno Haible  <bruno@clisp.org>
12608         wctype-h: When overriding wint_t, override also the related functions.
12609         Reported by Christian Biesinger <cbiesinger@google.com> in
12610         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00027.html>.
12611         * m4/wctype_h.m4 (gl_WCTYPE_H): When GNULIB_OVERRIDES_WINT_T is 1, set
12612         REPLACE_ISWCNTRL to 1.
12613         * lib/wctype.in.h (rpl_iswalnum, rpl_iswalpha, rpl_iswblank,
12614         rpl_iswcntrl, rpl_iswdigit, rpl_iswgraph, rpl_iswlower, rpl_iswprint,
12615         rpl_iswpunct, rpl_iswspace, rpl_iswupper, rpl_iswxdigit, rpl_towlower,
12616         rpl_towupper): New definitions when GNULIB_OVERRIDES_WINT_T is 1.
12617         * doc/posix-headers/wchar.texi: Mention that wint_t is also overridden
12618         on mingw.
12619         * doc/posix-headers/wctype.texi: Likewise.
12621 2019-11-16  Bruno Haible  <bruno@clisp.org>
12623         time_r: Fix for mingw.
12624         Reported by Christian Biesinger <cbiesinger@google.com> in
12625         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00014.html>.
12626         * lib/time.in.h: On mingw, include <unistd.h>.
12627         * m4/time_r.m4 (gl_TIME_R): On mingw, include <unistd.h> before
12628         <time.h>. Test for localtime_r in a way that works when it is defined
12629         as an inline function.
12631 2019-11-13  Bruno Haible  <bruno@clisp.org>
12633         havelib: Revert last change.
12634         * build-aux/config.rpath: Revert last change. We can add msys2 support
12635         when it has been added to libtool.m4 upstream.
12637 2019-11-09  Paul Eggert  <eggert@cs.ucla.edu>
12639         config: add msys support
12640         Requested by Arnold Robbins in:
12641         https://lists.gnu.org/r/bug-gnulib/2019-11/msg00008.html
12642         He also requested a change to config.guess, which I’ll forward
12643         upstream.
12644         * build-aux/ar-lib (func_file_conv):
12645         * build-aux/compile (func_file_conv):
12646         * build-aux/config.rpath (wl, with_gnu_ld)
12647         (hardcode_libdir_flag_spec, libext, shrext, library_names_spec):
12648         Treat msys like cygwin.
12650 2019-11-06  Paul Eggert  <eggert@cs.ucla.edu>
12652         regex: now back in sync with glibc
12653         * config/srclist.txt: regcomp.c, regex_internal.c, regex_internal.h,
12654         regexec.c got merged into glibc and are now copies again.
12656 2019-10-27  Bruno Haible  <bruno@clisp.org>
12658         host-cpu-c-abi: Recognize i386 and a couple of other CPUs as 32-bit.
12659         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Include i386 in the case
12660         statement.
12661         (gl_HOST_CPU_C_ABI_32BIT): Likewise. Also recognize a couple of other
12662         32-bit CPUs.
12664 2019-10-24  Paul Eggert  <eggert@cs.ucla.edu>
12666         timespec-add, timespec-sub: simplify
12667         * lib/timespec-add.c (timespec_add):
12668         * lib/timespec-sub.c (timespec_sub):
12669         Simplify, now that INT_ADD_WRAPV and INT_SUBTRACT_WRAPV
12670         work on unsigned integers.
12672 2019-10-23  Paul Eggert  <eggert@cs.ucla.edu>
12674         nstrftime: speed up integer overflow checking
12675         * lib/nstrftime.c: Include intprops.h.
12676         (INT_STRLEN_BOUND): Remove, as we can use intprops.h’s defn.
12677         (__strftime_internal): Use INT_MULTIPLY_WRAPV and INT_ADD_WRAPV
12678         instead of doing it by hand.
12679         * modules/nstrftime (Depends-on): Add intprops.
12681         Port better to GCC under macOS
12682         Work around macOS header that has ‘#define __has_builtin(x) 0’
12683         when compiled by GCC.  Apple really, really doesn’t want you to
12684         use GCC, apparently.  Rroblem reported by Akim Demaille in:
12685         https://lists.gnu.org/r/bug-bison/2019-10/msg00071.html
12686         The fix is to not trust __has_builtin when being compiled by
12687         recent-enough GCC.
12688         * lib/intprops.h (__has_builtin)
12689         (_GL_HAS___builtin_add_overflow, _GL_TEMPDEF___has_builtin):
12690         * lib/verify.h (__has_builtin, _GL_HAS___builtin_unreachable)
12691         (_GL_HAS___builtin_trap, _GL_TEMPDEF___has_builtin):
12692         Remove.  All uses removed.
12693         * lib/intprops.h (_GL_HAS_BUILTIN_ADD_OVERFLOW): Use __has_builtin
12694         directly, if defined and if not newer GCC.
12695         * lib/verify.h (_GL_HAS_BUILTIN_TRAP, _GL_HAS_BUILTIN_UNREACHABLE):
12696         New macro, that use __has_builtin directly, if defined and if
12697         not newer GCC.
12698         (assume): Use them.
12700 2019-10-22  Akim Demaille  <akim@lrde.epita.fr>
12702         maintainer-makefile: update rule for argmatch.
12703         * top/maint.mk (sc_prohibit_argmatch_without_use): Add ARGMATCH_DEFINE_GROUP.
12705 2019-10-21  Akim Demaille  <akim@lrde.epita.fr>
12707         bitset: let freeing functions accept NULL.
12708         * lib/bitset.c (bitset_free, bitset_obstack_free): Do nothing if
12709         given NULL.
12710         * lib/bitset.h: Document that.
12711         * doc/bitset.texi: Fix the example, and demonstrate bitset_free.
12713 2019-10-15  Paul Eggert  <eggert@cs.ucla.edu>
12715         inttypes: use more-robust test for int range
12716         This fixes Bison 3.4.2 when built with Oracle Solaris Studio 12.3.
12717         Problem reported by Dagobert Michelsen in:
12718         https://lists.gnu.org/r/bug-gnulib/2019-10/msg00042.html
12719         * lib/inttypes.in.h: Rely only on limits.h when checking
12720         int range.
12722 2019-10-15  Bruno Haible  <bruno@clisp.org>
12724         libtextstyle-optional: Sync with current not-yet-released libtextstyle.
12725         * libtextstyle-optional (styled_ostream_get_hyperlink_ref,
12726         styled_ostream_get_hyperlink_id, styled_ostream_set_hyperlink,
12727         term_ostream_get_hyperlink_ref, term_ostream_get_hyperlink_id,
12728         term_ostream_set_hyperlink): New functions.
12729         (term_styled_ostream_get_hyperlink_ref,
12730         term_styled_ostream_get_hyperlink_id,
12731         term_styled_ostream_set_hyperlink): New function aliases.
12733 2019-10-14  Paul Eggert  <eggert@cs.ucla.edu>
12735         update-copyright: use en dashes in .texi ranges
12736         * build-aux/update-copyright: Match year ranges like "1998--2019",
12737         which are used in the Autoconf manual.  Also, update ranges in
12738         .tex, .texi, and .texinfo files to use en dashes instead of
12739         hyphens.
12741 2019-10-13  Paul Eggert  <eggert@cs.ucla.edu>
12743         * config/srclist.txt: Remove posix/regex_internal.c for now.
12745 2019-10-13  Bruno Haible  <bruno@clisp.org>
12747         git-version-gen: Allow 'snapshot' as .tarball-version contents.
12748         * build-aux/git-version-gen: Don't map non-numeric .tarball-version
12749         contents to the empty string.
12751 2019-10-12  Bruno Haible  <bruno@clisp.org>
12753         intprops tests: Fix compilation errors on HP-UX/ia64 with cc.
12754         * tests/test-intprops.c (main): Disable two more tests when using
12755         HP-UX cc.
12757 2019-10-11  Paul Eggert  <eggert@cs.ucla.edu>
12759         Simplify and regularize regex use of ‘assert’
12760         Also, tell GCC about the asserts even when compiling without
12761         debugging, to give it further optimization opportunities.
12762         * lib/regex_internal.h (DEBUG_ASSERT): New macro.
12763         * lib/regcomp.c (link_nfa_nodes, calc_eclosure)
12764         (parse_expression, parse_bracket_exp):
12765         * lib/regex_internal.c (build_wcs_buffer)
12766         (build_wcs_upper_buffer, re_string_reconstruct)
12767         (re_string_context_at):
12768         * lib/regexec.c (re_search_stub, re_copy_regs)
12769         (re_search_internal, prune_impossible_nodes, check_matching)
12770         (check_halt_state_context, set_regs, sift_states_backward)
12771         (build_sifted_states, transit_state_mb, transit_state_bkref)
12772         (check_arrival_add_next_nodes, check_arrival_expand_ecl)
12773         (match_ctx_add_subtop):
12774         Use it instead of plain ‘assert’.
12776 2019-10-09  Paul Eggert  <eggert@cs.ucla.edu>
12778         regex: omit debug assignment when not debugging
12779         * lib/regexec.c (re_search_internal) [!DEBUG]:
12780         Remove unnecessary assignment.
12782         regex: tell compiler there’s at most 256 arcs out
12783         Partly this is to help the reader (and maybe help GCC);
12784         partly this is to pacify Coverity.
12785         * lib/regex_internal.h: Include verify.h.
12786         * lib/regexec.c (group_nodes_into_DFAstates):
12787         Tell the compiler that ndests cannot exceed SBC_MAX.
12788         * modules/regex (Depends-on): Add ‘verify’.
12790         regex: simplify by assuming C99
12791         * config/srclist.txt: Comment out regex_internal.h and regexec.c
12792         temporarily.
12793         * lib/regex_internal.h (lock_define, re_match_context_t):
12794         Simplify by assuming C99 macros and const.
12795         * lib/regexec.c (re_search_internal): Simplify by assuming C99
12796         initializers.  Remove unnecessary assignment, as mctx is now
12797         safely initialized earlier.
12799         regex: avoid copying of uninitialized storage
12800         * config/srclist.txt: Comment out regcomp.c temporarily.
12801         * lib/regcomp.c (build_charclass_op, create_tree) [! (GCC_LINT||lint)]:
12802         Initialize even when not checking for lint, as the behavior is
12803         arguably undefined otherwise and Coverity warns about it.
12805 2019-10-06  Bruno Haible  <bruno@clisp.org>
12807         access tests: Fix test failure when run as root.
12808         * tests/test-access.c: Include root-uid.h.
12809         (geteuid): Define fallback.
12810         (main): Don't expect that writing to a read-only file would fail when
12811         running as root. Also, remove the created files at the end.
12812         * modules/access-tests (Depends-on): Add root-uid.
12813         (configure.ac): Test whether geteuid exists.
12815 2019-10-06  Benno Schulenberg  <bensberg@telfort.nl>  (tiny change)
12817         users.txt: add GNU nano
12818         Nano has been making use of gnulib since March 2017, version 2.8.0.
12820 2019-10-05  Paul Eggert  <eggert@cs.ucla.edu>
12822         bootstrap: simplify debugging of wget failures
12823         Problem reported by Tim Rühsen in:
12824         https://lists.gnu.org/r/bug-gnulib/2019-10/msg00000.html
12825         * build-aux/bootstrap (po_download_command_format):
12826         Invoke wget with -nv instead of -q, to make debugging easier.
12828 2019-09-29  Bruno Haible  <bruno@clisp.org>
12830         avltree-list: Fix compilation warning (introduced on 2014-09-16).
12831         * lib/gl_avltree_list.c (gl_avltree_list_check_invariants): Remove
12832         'const' attribute.
12834 2019-09-29  Bruno Haible  <bruno@clisp.org>
12836         fbufmode: Fix compilation error on glibc >= 2.28 systems.
12837         * lib/stdio-impl.h (_IO_UNBUFFERED): Define fallback on glibc >= 2.28.
12839 2019-09-28  Bruno Haible  <bruno@clisp.org>
12841         Update comments that refer to POSIX.
12842         * lib/creat.c, lib/fopen.c, lib/open.c, lib/openat.c: Cite the relevant
12843         sentence about trailing slashes.
12844         * lib/fflush.c: Clarify the reasoning.
12845         * tests/test-fflush2.c: Cite the relevant sentence.
12847 2019-09-28  Bruno Haible  <bruno@clisp.org>
12849         access: Document limitations on Windows.
12850         Suggested by Zaretskii <eliz@gnu.org>.
12851         * doc/posix-functions/access.texi: Mention two limitations on Windows.
12853 2019-09-28  Bruno Haible  <bruno@clisp.org>
12855         findprog-in: Fix comment.
12856         Reported by Eli Zaretskii <eliz@gnu.org>.
12857         * lib/findprog.h (find_in_given_path): Extend description of EACCES
12858         condition.
12859         * lib/stat.c (rpl_stat): Fix typo in comment.
12860         * lib/utime.c (_gl_utimens_windows): Likewise.
12862 2019-09-23  Paul Eggert  <eggert@cs.ucla.edu>
12864         Update URLs and associated text
12865         (Thanks to Bruno Haible for proofreading this patch.)
12866         Prefer https: to http: in URLs where either will do, for the usual
12867         security reasons.  I also updated broken and/or moved URLs
12868         discovered during the process. In a few places I had to resort to
12869         archive.org, since I didn't find the originals elsewhere.
12871 2019-09-15  Paul Smith  <psmith@gnu.org>
12872             Bruno Haible  <bruno@clisp.org>
12874         findprog-in: Set errno when the search fails.
12875         * lib/findprog-in.c: Include <errno.h>.
12876         (find_in_given_path): Set errno before returning NULL.
12877         * lib/findprog.h (find_in_given_path): Update comment accordingly.
12878         Define the term "slash".
12880 2019-09-15  Bruno Haible  <bruno@clisp.org>
12882         findprog, findprog-lgpl, findprog-in: Fix crash on MSVC.
12883         * modules/findprog (Depends-on): Add access.
12884         * modules/findprog-lgpl (Depends-on): Likewise.
12885         * modules/findprog-in (Depends-on): Likewise.
12887 2019-09-15  Bruno Haible  <bruno@clisp.org>
12889         access: Add tests.
12890         * tests/test-access.c: New file.
12891         * modules/access-tests: New file.
12893         access: New module.
12894         * lib/unistd.in.h (access): New declaration.
12895         * lib/access.c: New file.
12896         * m4/access.m4: New file.
12897         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether access is declared.
12898         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ACCESS, REPLACE_ACCESS.
12899         * modules/unistd (Makefile.am): Substitute GNULIB_ACCESS,
12900         REPLACE_ACCESS.
12901         * modules/access: New file.
12902         * tests/test-unistd-c++.cc (access): Check signature.
12903         * doc/posix-functions/access.texi: Mention the new module.
12905 2019-09-15  Bruno Haible  <bruno@clisp.org>
12907         fcntl-h: Fix compilation error of creat.c on MSVC.
12908         * lib/fcntl.in.h: Include <io.h> also when __need_system_fcntl_h is
12909         defined.
12911 2019-09-15  Bruno Haible  <bruno@clisp.org>
12913         creat: Add tests.
12914         * tests/test-creat.c: New file, based on tests/test-open.h.
12915         * modules/creat-tests: New file.
12917         creat: New module.
12918         * lib/fcntl.in.h (creat): New declaration.
12919         * lib/creat.c: New file, based on lib/open.c.
12920         * m4/creat.m4: New file.
12921         * m4/open-slash.m4: New file, extracted from m4/open.m4.
12922         * m4/open.m4 (gl_FUNC_OPEN): Move trailing-slash test to open-slash.m4.
12923         Invoke gl_OPEN_TRAILING_SLASH_BUG.
12924         * modules/open (Files): Add m4/open-slash.m4.
12925         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_CREAT,
12926         REPLACE_CREAT.
12927         * modules/fcntl-h (Makefile.am): Substitute GNULIB_CREAT, REPLACE_CREAT.
12928         * modules/creat: New file.
12929         * tests/test-fcntl-h-c++.cc (creat): Check signature.
12930         * doc/posix-functions/creat.texi: Mention the new module.
12932 2019-09-15  Bruno Haible  <bruno@clisp.org>
12934         open tests: Enhance test.
12935         * tests/test-open.h (test_open): Test the creation of an executable
12936         regular file. Also improve initial cleanup.
12938 2019-09-15  Bruno Haible  <bruno@clisp.org>
12940         intprops tests: Avoid build failure with HP-UX cc.
12941         * tests/test-intprops.c: Disable a check that makes HP cc choke with
12942         "error 4018: Macro param too large after substitution - use -H option.".
12944 2019-09-14  Bruno Haible  <bruno@clisp.org>
12946         Make autoconf tests work with -Werror=implicit-function-declaration.
12947         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Include <wctype.h>, for
12948         towupper() declaration.
12949         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Include <stdlib.h>, for ptsname()
12950         declaration.
12952 2019-09-14  Bruno Haible  <bruno@clisp.org>
12954         findprog-in: Better mimic the system on native Windows.
12955         Reported by Paul Smith <psmith@gnu.org>.
12956         * lib/findprog-in.c (find_in_given_path): On native Windows, don't try
12957         non-empty suffixes when the file name already contains a '.'.
12959 2019-09-10  Bruno Haible  <bruno@clisp.org>
12961         wctob: Fix autoconf test.
12962         Based on patch by Florian Weimer <fweimer@redhat.com>.
12963         * m4/wctob.m4 (gl_FUNC_WCTOB): Include <stdlib.h> before using mbtowc.
12965 2019-09-09  Akim Demaille  <akim@lrde.epita.fr>
12967         xhash: provide hash_xinitialize.
12968         Suggested by Egor Pugin <egor.pugin@gmail.com>
12969         https://lists.gnu.org/archive/html/bison-patches/2019-09/msg00026.html
12970         * modules/xhash, lib/xhash.c: New.
12971         * lib/hash.h (hash_xinitialize): New.
12973 2019-09-09  Bruno Haible  <bruno@clisp.org>
12975         findprog-in: Make exec optimization optional.
12976         * lib/findprog.h: Add double-inclusion guard. Include <stdbool.h>.
12977         (find_in_given_path): Add optimize_for_exec parameter.
12978         * lib/findprog-in.c (find_in_given_path): Likewise.
12980 2019-09-08  Bruno Haible  <bruno@clisp.org>
12982         Add option to assume the best, not the worst, when cross-compiling.
12983         Suggested by Jonas Termansen <sortie@maxsi.org>.
12984         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add --enable-cross-guesses=...
12985         option. Set gl_cross_guess_normal and gl_cross_guess_inverted.
12986         * m4/argz.m4 (gl_FUNC_ARGZ): Obey --enable-cross-guesses for
12987         lt_cv_sys_argz_works.
12988         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Obey --enable-cross-guesses for
12989         ac_cv_func_calloc_0_nonnull.
12990         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Obey
12991         --enable-cross-guesses for gl_cv_func_realpath_works.
12992         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Obey --enable-cross-guesses for
12993         gl_cv_func_cbrtl_ieee.
12994         * m4/ceil.m4 (gl_FUNC_CEIL): Obey --enable-cross-guesses for
12995         gl_cv_func_ceil_ieee.
12996         * m4/ceilf.m4 (gl_FUNC_CEILF): Obey --enable-cross-guesses for
12997         gl_cv_func_ceilf_ieee.
12998         * m4/ceill.m4 (gl_FUNC_CEILL): Obey --enable-cross-guesses for
12999         gl_cv_func_ceill_ieee.
13000         * m4/chown.m4 (AC_FUNC_CHOWN): Obey --enable-cross-guesses for
13001         ac_cv_func_chown_works.
13002         (gl_FUNC_CHOWN): Obey --enable-cross-guesses for
13003         gl_cv_func_chown_slash_works, gl_cv_func_chown_ctime_works.
13004         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Obey
13005         --enable-cross-guesses for gl_cv_struct_dirent_d_ino.
13006         * m4/exp2l.m4 (gl_FUNC_EXP2L): Obey --enable-cross-guesses for
13007         gl_cv_func_exp2l_works, gl_cv_func_exp2l_ieee.
13008         * m4/expl.m4 (gl_FUNC_EXPL): Obey --enable-cross-guesses for
13009         gl_cv_func_expl_works.
13010         * m4/expm1.m4 (gl_FUNC_EXPM1): Obey --enable-cross-guesses for
13011         gl_cv_func_expm1_ieee.
13012         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Obey --enable-cross-guesses for
13013         gl_cv_func_expm1l_works.
13014         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Obey --enable-cross-guesses for
13015         gl_cv_func_open_directory_works.
13016         * m4/fchownat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Obey
13017         --enable-cross-guesses for gl_cv_func_fchownat_nofollow_works.
13018         (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): Obey --enable-cross-guesses for
13019         gl_cv_func_fchownat_empty_filename_works.
13020         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Obey --enable-cross-guesses for
13021         gl_cv_func_fdopendir_works.
13022         * m4/floor.m4 (gl_FUNC_FLOOR): Obey --enable-cross-guesses for
13023         gl_cv_func_floor_ieee.
13024         * m4/floorf.m4 (gl_FUNC_FLOORF): Obey --enable-cross-guesses for
13025         gl_cv_func_floorf_ieee.
13026         * m4/fma.m4 (gl_FUNC_FMA_WORKS): Obey --enable-cross-guesses for
13027         gl_cv_func_fma_works.
13028         * m4/fmaf.m4 (gl_FUNC_FMAF_WORKS): Obey --enable-cross-guesses for
13029         gl_cv_func_fmaf_works.
13030         * m4/fmal.m4 (gl_FUNC_FMAL_WORKS): Obey --enable-cross-guesses for
13031         gl_cv_func_fmal_works.
13032         * m4/fmod.m4 (gl_FUNC_FMOD): Obey --enable-cross-guesses for
13033         gl_cv_func_fmod_ieee.
13034         * m4/fmodf.m4 (gl_FUNC_FMODF): Obey --enable-cross-guesses for
13035         gl_cv_func_fmodf_ieee.
13036         * m4/fmodl.m4 (gl_FUNC_FMODL): Obey --enable-cross-guesses for
13037         gl_cv_func_fmodl_ieee.
13038         * m4/fpurge.m4 (gl_FUNC_FPURGE): Obey --enable-cross-guesses for
13039         gl_cv_func_fpurge_works.
13040         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Obey
13041         --enable-cross-guesses for gl_cv_func_getcwd_path_max.
13042         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Obey --enable-cross-guesses for
13043         gl_cv_func_getcwd_null.
13044         (gl_FUNC_GETCWD): Update for getcwd-path-max.m4 change.
13045         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Obey --enable-cross-guesses for
13046         gl_cv_func_working_getdelim.
13047         * m4/getgroups.m4 (AC_FUNC_GETGROUPS): Obey --enable-cross-guesses for
13048         ac_cv_func_getgroups_works. Keep this macro also in Autoconf >= 2.70.
13049         (gl_FUNC_GETGROUPS): Obey --enable-cross-guesses for
13050         gl_cv_func_getgroups_works.
13051         * m4/getline.m4 (gl_FUNC_GETLINE): Obey --enable-cross-guesses for
13052         am_cv_func_working_getline.
13053         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Obey --enable-cross-guesses
13054         for gl_cv_func_getopt_gnu.
13055         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Obey
13056         --enable-cross-guesses for gl_cv_func_gettimeofday_clobber.
13057         * m4/hypot.m4 (gl_FUNC_HYPOT): Obey --enable-cross-guesses for
13058         gl_cv_func_hypot_ieee.
13059         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Obey --enable-cross-guesses for
13060         gl_cv_func_hypotf_ieee.
13061         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Obey --enable-cross-guesses for
13062         gl_cv_func_hypotl_ieee.
13063         * m4/iconv_open-utf.m4 (gl_FUNC_ICONV_OPEN_UTF_SUPPORT): Obey
13064         --enable-cross-guesses for gl_cv_func_iconv_supports_utf.
13065         * m4/link.m4 (gl_FUNC_LINK): Obey --enable-cross-guesses for
13066         gl_cv_func_link_works.
13067         * m4/linkat.m4 (gl_FUNC_LINKAT): Obey --enable-cross-guesses for
13068         gl_cv_func_linkat_slash.
13069         * m4/log.m4 (gl_FUNC_LOG): Obey --enable-cross-guesses for
13070         gl_cv_func_log_ieee.
13071         * m4/logf.m4 (gl_FUNC_LOGF): Obey --enable-cross-guesses for
13072         gl_cv_func_logf_ieee.
13073         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): Obey --enable-cross-guesses for
13074         gl_cv_func_logl_works.
13075         * m4/log10.m4 (gl_FUNC_LOG10): Obey --enable-cross-guesses for
13076         gl_cv_func_log10_ieee.
13077         * m4/log10f.m4 (gl_FUNC_LOG10F): Obey --enable-cross-guesses for
13078         gl_cv_func_log10f_ieee.
13079         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): Obey --enable-cross-guesses for
13080         gl_cv_func_log10l_works.
13081         * m4/log1p.m4 (gl_FUNC_LOG1P): Obey --enable-cross-guesses for
13082         gl_cv_func_log1p_ieee.
13083         * m4/log1pf.m4 (gl_FUNC_LOG1PF): Obey --enable-cross-guesses for
13084         gl_cv_func_log1pf_ieee.
13085         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Obey --enable-cross-guesses for
13086         gl_cv_func_log1pl_ieee.
13087         * m4/log2.m4 (gl_FUNC_LOG2): Obey --enable-cross-guesses for
13088         gl_cv_func_log2_ieee.
13089         * m4/log2f.m4 (gl_FUNC_LOG2F): Obey --enable-cross-guesses for
13090         gl_cv_func_log2f_ieee.
13091         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Obey
13092         --enable-cross-guesses for
13093         gl_cv_func_lstat_dereferences_slashed_symlink.
13094         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Obey --enable-cross-guesses for
13095         ac_cv_func_malloc_0_nonnull. Keep this macro also in Autoconf >= 2.70.
13096         * m4/mbrtowc.m4 (gl_MBRTOWC_C_LOCALE): Obey --enable-cross-guesses for
13097         gl_cv_C_locale_sans_EILSEQ.
13098         * m4/memchr.m4 (gl_FUNC_MEMCHR): Obey --enable-cross-guesses for
13099         gl_cv_func_memchr_works.
13100         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Obey --enable-cross-guesses for
13101         gl_cv_func_memmem_works_always.
13102         (gl_FUNC_MEMMEM): Obey --enable-cross-guesses for
13103         gl_cv_func_memmem_works_fast.
13104         * m4/mkdir.m4 (gl_FUNC_MKDIR): Obey --enable-cross-guesses for
13105         gl_cv_func_mkdir_trailing_slash_works,
13106         gl_cv_func_mkdir_trailing_dot_works.
13107         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Obey --enable-cross-guesses for
13108         gl_cv_func_mkfifo_works.
13109         * m4/mknod.m4 (gl_FUNC_MKNOD): Obey --enable-cross-guesses for
13110         gl_cv_func_mknod_works.
13111         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Obey --enable-cross-guesses for
13112         gl_cv_func_working_mkstemp.
13113         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): Obey --enable-cross-guesses for
13114         gl_cv_func_working_mktime.
13115         * m4/modf.m4 (gl_FUNC_MODF): Obey --enable-cross-guesses for
13116         gl_cv_func_modf_ieee.
13117         * m4/modff.m4 (gl_FUNC_MODFF): Obey --enable-cross-guesses for
13118         gl_cv_func_modff_ieee.
13119         * m4/modfl.m4 (gl_FUNC_MODFL): Obey --enable-cross-guesses for
13120         gl_cv_func_modfl_ieee.
13121         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Obey --enable-cross-guesses for
13122         gl_cv_func_nanosleep.
13123         * m4/perror.m4 (gl_FUNC_PERROR): Obey --enable-cross-guesses for
13124         gl_cv_func_perror_works.
13125         * m4/printf.m4 (gl_PRINTF_SIZES_C99): Obey --enable-cross-guesses for
13126         gl_cv_func_printf_sizes_c99.
13127         (gl_PRINTF_INFINITE): Obey --enable-cross-guesses for
13128         gl_cv_func_printf_infinite.
13129         (gl_PRINTF_INFINITE_LONG_DOUBLE): Obey --enable-cross-guesses for
13130         gl_cv_func_printf_infinite_long_double.
13131         (gl_PRINTF_DIRECTIVE_A): Obey --enable-cross-guesses for
13132         gl_cv_func_printf_directive_a.
13133         (gl_PRINTF_DIRECTIVE_F): Obey --enable-cross-guesses for
13134         gl_cv_func_printf_directive_f.
13135         (gl_PRINTF_FLAG_ZERO): Obey --enable-cross-guesses for
13136         gl_cv_func_printf_flag_zero.
13137         (gl_PRINTF_ENOMEM): Obey --enable-cross-guesses for
13138         gl_cv_func_printf_enomem.
13139         (gl_SNPRINTF_TRUNCATION_C99): Obey --enable-cross-guesses for
13140         gl_cv_func_snprintf_truncation_c99.
13141         (gl_SNPRINTF_RETVAL_C99): Obey --enable-cross-guesses for
13142         gl_cv_func_snprintf_retval_c99.
13143         (gl_SNPRINTF_DIRECTIVE_N): Obey --enable-cross-guesses for
13144         gl_cv_func_snprintf_directive_n.
13145         (gl_VSNPRINTF_ZEROSIZE_C99): Obey --enable-cross-guesses for
13146         gl_cv_func_vsnprintf_zerosize_c99.
13147         * m4/pselect.m4 (gl_FUNC_PSELECT): Obey --enable-cross-guesses for
13148         gl_cv_func_pselect_detects_ebadf.
13149         * m4/pthread_rwlock_rdlock.m4 (gl_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER):
13150         Obey --enable-cross-guesses for
13151         gl_cv_pthread_rwlock_rdlock_prefer_writer.
13152         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Obey --enable-cross-guesses for
13153         gl_cv_func_ptsname_sets_errno.
13154         * m4/putenv.m4 (gl_FUNC_PUTENV): Obey --enable-cross-guesses for
13155         gl_cv_func_svid_putenv.
13156         * m4/readlink.m4 (gl_FUNC_READLINK): Obey --enable-cross-guesses for
13157         gl_cv_func_readlink_works.
13158         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Obey --enable-cross-guesses for
13159         ac_cv_func_realloc_0_nonnull. Keep this macro also in Autoconf >= 2.70.
13160         * m4/regex.m4 (gl_REGEX): Obey --enable-cross-guesses for
13161         gl_cv_func_re_compile_pattern_working.
13162         * m4/remainder.m4 (gl_FUNC_REMAINDER): Obey --enable-cross-guesses for
13163         gl_cv_func_remainder_ieee.
13164         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Obey --enable-cross-guesses for
13165         gl_cv_func_remainderf_ieee.
13166         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Obey --enable-cross-guesses for
13167         gl_cv_func_remainderl_ieee.
13168         * m4/rintl.m4 (gl_FUNC_RINTL): Obey --enable-cross-guesses for
13169         gl_cv_func_rintl_works.
13170         * m4/rmdir.m4 (gl_FUNC_RMDIR): Obey --enable-cross-guesses for
13171         gl_cv_func_rmdir_works.
13172         * m4/round.m4 (gl_FUNC_ROUND): Obey --enable-cross-guesses for
13173         gl_cv_func_round_ieee.
13174         * m4/roundf.m4 (gl_FUNC_ROUNDF): Obey --enable-cross-guesses for
13175         gl_cv_func_roundf_ieee.
13176         * m4/roundl.m4 (gl_FUNC_ROUNDL): Obey --enable-cross-guesses for
13177         gl_cv_func_roundl_ieee.
13178         * m4/select.m4 (gl_FUNC_SELECT): Obey --enable-cross-guesses for
13179         gl_cv_func_select_detects_ebadf.
13180         * m4/setenv.m4 (gl_FUNC_SETENV): Obey --enable-cross-guesses for
13181         gl_cv_func_setenv_works.
13182         (gl_FUNC_UNSETENV): Obey --enable-cross-guesses for
13183         gl_cv_func_unsetenv_works.
13184         * m4/signbit.m4 (gl_SIGNBIT): Obey --enable-cross-guesses for
13185         gl_cv_func_signbit, gl_cv_func_signbit_gcc.
13186         * m4/sleep.m4 (gl_FUNC_SLEEP): Obey --enable-cross-guesses for
13187         gl_cv_func_sleep_works.
13188         * m4/stat.m4 (gl_FUNC_STAT): Obey --enable-cross-guesses for
13189         gl_cv_func_stat_file_slash.
13190         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Obey --enable-cross-guesses for
13191         gl_cv_func_stpncpy.
13192         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Obey
13193         --enable-cross-guesses for gl_cv_func_strcasestr_works_always.
13194         (gl_FUNC_STRCASESTR): Obey --enable-cross-guesses for
13195         gl_cv_func_strcasestr_linear.
13196         * m4/strerror.m4 (gl_FUNC_STRERROR): Obey --enable-cross-guesses for
13197         gl_cv_func_working_strerror.
13198         (gl_FUNC_STRERROR_0): Obey --enable-cross-guesses for
13199         gl_cv_func_strerror_0_works.
13200         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Obey
13201         --enable-cross-guesses for gl_cv_func_strerror_r_works.
13202         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Obey --enable-cross-guesses for
13203         gl_cv_func_strstr_works_always.
13204         (gl_FUNC_STRSTR): Obey --enable-cross-guesses for
13205         gl_cv_func_strstr_linear.
13206         * m4/strtod.m4 (gl_FUNC_STRTOD): Obey --enable-cross-guesses for
13207         gl_cv_func_strtod_works.
13208         * m4/strtold.m4 (gl_FUNC_STRTOLD): Obey --enable-cross-guesses for
13209         gl_cv_func_strtold_works.
13210         * m4/symlink.m4 (gl_FUNC_SYMLINK): Obey --enable-cross-guesses for
13211         gl_cv_func_symlink_works.
13212         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Obey --enable-cross-guesses for
13213         gl_cv_func_symlinkat_works.
13214         * m4/trunc.m4 (gl_FUNC_TRUNC): Obey --enable-cross-guesses for
13215         gl_cv_func_trunc_ieee.
13216         * m4/truncf.m4 (gl_FUNC_TRUNCF): Obey --enable-cross-guesses for
13217         gl_cv_func_truncf_ieee.
13218         * m4/truncl.m4 (gl_FUNC_TRUNCL): Obey --enable-cross-guesses for
13219         gl_cv_func_truncl_ieee.
13220         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Obey --enable-cross-guesses for
13221         gl_cv_func_tzset_clobber.
13222         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Obey --enable-cross-guesses for
13223         gl_cv_func_ungetc_works.
13224         * m4/unlink.m4 (gl_FUNC_UNLINK): Obey --enable-cross-guesses for
13225         gl_cv_func_unlink_honors_slashes, gl_cv_func_unlink_parent_fails.
13226         * m4/usleep.m4 (gl_FUNC_USLEEP): Obey --enable-cross-guesses for
13227         gl_cv_func_usleep_works.
13228         * m4/utimens.m4 (gl_UTIMENS): Obey --enable-cross-guesses for
13229         gl_cv_func_futimesat_works.
13230         * m4/utimes.m4 (gl_FUNC_UTIMES): Obey --enable-cross-guesses for
13231         gl_cv_func_working_utimes.
13232         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Obey --enable-cross-guesses for
13233         gl_cv_func_wcwidth_works.
13234         * m4/glob.m4 (gl_GLOB): When cross-compiling, don't create symlinks for
13235         testing. Obey --enable-cross-guesses for gl_cv_glob_lists_symlinks.
13236         * m4/rename.m4 (gl_FUNC_RENAME): When cross-compiling, don't create
13237         links for testing. Obey --enable-cross-guesses for
13238         gl_cv_func_rename_slash_dst_works, gl_cv_func_rename_slash_src_works,
13239         gl_cv_func_rename_link_works, gl_cv_func_rename_dest_works.
13241 2019-09-08  Bruno Haible  <bruno@clisp.org>
13243         Clarify that cross-compilation guesses are guesses.
13244         * m4/threads.m4 (gl_THREADS_H): Say "guessing yes" or "guessing no" when
13245         cross-compiling.
13247 2019-09-08  Bruno Haible  <bruno@clisp.org>
13249         chown: Fix configure output (regression from 2019-03-23).
13250         * m4/chown.m4 (gl_FUNC_CHOWN): Fix reference to
13251         gl_cv_func_chown_follows_symlink variable.
13253 2019-09-08  Bruno Haible  <bruno@clisp.org>
13255         findprog-in: New module.
13256         Suggested by Paul Smith <psmith@gnu.org>.
13257         * lib/findprog.h (find_in_given_path): New declaration.
13258         * lib/findprog-in.c: New file, based on lib/findprog.c.
13259         * m4/findprog-in.m4: New file, based on m4/findprog.m4.
13260         * modules/findprog-in: New file.
13262 2019-09-08  Bruno Haible  <bruno@clisp.org>
13264         findprog: Remove unused dependency.
13265         * modules/findprog (Depends-on): Remove strdup.
13267 2019-09-08  Bruno Haible  <bruno@clisp.org>
13269         findprog: Remove test that is obsolete since 2006-04-24.
13270         * m4/findprog.m4 (gl_FINDPROG): Don't test for unistd.h.
13272 2019-09-06  Akim Demaille  <akim@lrde.epita.fr>
13274         bitset: style changes
13275         * lib/bitset/vector.c (vbitset_resize): Factor computation.
13276         * lib/bitset.c, lib/bitset/stats.c, lib/bitsetv.c: Prefer
13277         xzalloc to xcalloc.
13278         Suggested by Paul Eggert.
13280 2019-09-06  Akim Demaille  <akim@lrde.epita.fr>
13282         bitset: check memory allocation
13283         Reported by 江 祖铭 (Zu-Ming Jiang).
13284         With help from Paul Eggert.
13285         https://lists.gnu.org/archive/html/bug-bison/2019-08/msg00016.html
13286         * lib/bitset/table.c (tbitset_resize): When growing, use xrealloc
13287         instead of realloc.
13288         When shrinking, accept failures.
13289         * lib/bitset/vector.c (vbitset_resize): Likewise.
13291 2019-09-07  Paul Eggert  <eggert@cs.ucla.edu>
13293         scratch_buffer: sync from glibc
13294         * config/srclist.txt: Add the scratch_buffer source
13295         code from glibc, since these should be in sync.
13296         Autoupdate.
13298 2019-09-07  Bruno Haible  <bruno@clisp.org>
13300         doc: Update for glibc 2.30.
13301         * doc/glibc-functions/gettid.texi: New file.
13302         * doc/glibc-functions/pthread_cond_clockwait.texi: New file.
13303         * doc/glibc-functions/pthread_mutex_clocklock.texi: New file.
13304         * doc/glibc-functions/pthread_rwlock_clockrdlock.texi: New file.
13305         * doc/glibc-functions/pthread_rwlock_clockwrlock.texi: New file.
13306         * doc/glibc-functions/sem_clockwait.texi: New file.
13307         * doc/glibc-functions/tgkill.texi: New file.
13308         * doc/glibc-functions/twalk_r.texi: New file.
13309         * doc/gnulib.texi: Include them.
13310         (Glibc semaphore.h): New section.
13311         * doc/pastposix-functions/h_errno.texi: Update.
13312         * doc/posix-functions/*.texi: Likewise.
13314 2019-09-06  Bruno Haible  <bruno@clisp.org>
13316         symlink tests: Avoid test failure on Linux with Lustre file system.
13317         Reported by Thomas C Oppe <Thomas.C.Oppe@erdc.dren.mil>
13318         at <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=37312>.
13319         * tests/test-symlink.h (test_symlink): Accept errno value ENOENT.
13321 2019-09-01  Bruno Haible  <bruno@clisp.org>
13323         gitsub.sh: Add support for shallow-cloning of subdirectories.
13324         * top/gitsub.sh (func_usage): Document allowed git options with
13325         'git pull'.
13326         (func_pull): Accept GIT_OPTIONS argument.
13327         (pull): Parse git options before complaining about too many arguments.
13328         Pass the git options to func_pull.
13330 2019-08-29  Bruno Haible  <bruno@clisp.org>
13332         lock: Fix cross-compilation guesses.
13333         * m4/pthread_rwlock_rdlock.m4 (gl_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER):
13334         Require AC_CANONICAL_HOST. When cross-compiling, guess no on most
13335         platforms.
13337 2019-08-28  Bruno Haible  <bruno@clisp.org>
13339         isfinite, isinf, isnan, signbit: Fix error in C++ mode on mingw.
13340         Reported by Martin Storsjö <martin@martin.st> in
13341         <https://lists.gnu.org/archive/html/bug-gnulib/2019-08/msg00075.html>.
13342         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_2): Add more arguments.
13343         (isfinite, isinf, isnan, signbit): On platforms that use C++ include
13344         files from GCC 6 or newer, use an override through '#define', because
13345         the inline definitions in the platform's <cmath> cannot be overridden
13346         in another way.
13348 2019-08-27  Paul Eggert  <eggert@cs.ucla.edu>
13350         Revert macOS INT_MULTIPLY_WRAPV patch
13351         Problem reported by Bruno Haible in:
13352         https://lists.gnu.org/r/bug-gnulib/2019-08/msg00076.html
13353         * lib/intprops.h (_GL_HAS___builtin_mul_overflow): Remove.
13354         (_GL_HAS_BUILTIN_MUL_OVERFLOW):
13355         Go back to working around the Clang bug on macOS.
13357 2019-08-27  Bruno Haible  <bruno@clisp.org>
13359         libtool-next-version: Fix error output.
13360         * build-aux/libtool-next-version (func_fatal_error): Fix the program
13361         name.
13363 2019-08-27  Paul Eggert  <eggert@cs.ucla.edu>
13365         Speed up INT_MULTIPLY_WRAPV on macOS
13366         Assume that __builtin_mul_overflow works OK with Clang on macOS.
13367         Mattias Engdegård says it’s safe to assume the relevant library
13368         is always available there.
13369         * lib/intprops.h (_GL_HAS___builtin_mul_overflow):
13370         New temporary internal macro.
13371         (_GL_HAS_BUILTIN_MUL_OVERFLOW):
13372         No need to work around the Clang bug on macOS.
13374 2019-08-25  Paul Eggert  <eggert@cs.ucla.edu>
13376         intprops.h, verify.h: port better to clang
13377         Improve code generated by INT_ADD_WRAPV and INT_SUBTRACT_WRAPV
13378         with Clang.  Problem reported privately by Mattias Engdegård.
13379         Also, insulate intprops.h and verify.h better against each other’s
13380         definitions of __has_builtin on non-Clang hosts.
13381         * lib/intprops.h (__has_builtin): Define a temporary substitute
13382         if __has_builtin is not already defined.
13383         (_GL_HAS___builtin_add_overflow, _GL_TEMPDEF___has_builtin):
13384         New temporary internal macros.
13385         (_GL_HAS_BUILTIN_ADD_OVERFLOW, _GL_HAS_BUILTIN_MUL_OVERFLOW):
13386         Now two separate macros, replacing the old
13387         _GL_HAS_BUILTIN_OVERFLOW, since we no longer assume that
13388         __builtin_mul_overflow is like the rest.  All uses changed.
13389         (INT_ADD_WRAPV, INT_SUBTRACT_WRAPV, INT_MULTIPLY_WRAPV):
13390         Adjust to above changes.
13391         (_GL_INT_OP_WRAPV): Remove ‘builtin’ arg, since it’s no
13392         longer relevant.  All uses changed.
13393         * lib/verify.h (__has_builtin): Treat like intprops.h,
13394         so that the two .h files do not collide with each other.
13395         (_GL_HAS___builtin_unreachable, _GL_HAS___builtin_trap)
13396         (_GL_TEMPDEF___has_builtin): New temporary internal macros.
13398 2019-08-24  Paul Eggert  <eggert@cs.ucla.edu>
13400         intprops: say why not Clang __builtin_add_overflow
13401         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW):
13402         Mention Clang in comment, responding to a query from
13403         Mattias Engdegård.
13405 2019-08-24  Bruno Haible  <bruno@clisp.org>
13407         doc: Document most of the files outside of modules.
13408         * doc/gnulib.texi (Build Infrastructure Files,
13409         Release Management Files): New chapters.
13411 2019-08-24  Bruno Haible  <bruno@clisp.org>
13413         bootstrap: Keep in sync with the 'gettext' module.
13414         Reported by Assaf Gordon in
13415         <https://lists.gnu.org/archive/html/bug-gnulib/2019-08/msg00045.html>.
13416         * build-aux/po/Makefile.in.in: Update to gettext 0.20.
13417         * build-aux/po/remove-potcdate.sin: Likewise.
13419 2019-08-24  Bruno Haible  <bruno@clisp.org>
13421         crypto/gc-sha512: Add tests.
13422         * tests/test-gc-sha512.c: New file, based on tests/test-gc-sha1.c.
13423         * modules/crypto/gc-sha512-tests: New file.
13425         crypto/gc-sha256: Add tests.
13426         * tests/test-gc-sha256.c: New file, based on tests/test-gc-sha1.c.
13427         * modules/crypto/gc-sha256-tests: New file.
13429         crypto/gc-sha256, crypto/gc-sha512: New modules.
13430         * lib/gc.h (gc_sha256, gc_sha512): New declarations.
13431         * lib/gc-gnulib.c: Include sha256.h, sha512.h.
13432         (MAX_DIGEST_SIZE): Set to 64.
13433         (_gc_hash_ctx, gc_hash_open, gc_hash_digest_length, gc_hash_write,
13434         gc_hash_read, gc_hash_buffer): Add support for sha256 and sha512.
13435         (gc_sha256, gc_sha512): New functions.
13436         * lib/gc-libgcrypt.c (gc_sha256, gc_sha512): New functions.
13437         * modules/crypto/gc-sha256: New file, based on modules/crypto/gc-sha1.
13438         * modules/crypto/gc-sha512: New file, based on modules/crypto/gc-sha1.
13440 2019-08-24  Bruno Haible  <bruno@clisp.org>
13442         crypto/gc-sha1 tests: Improve output when the test fails.
13443         * tests/test-gc-sha1.c (main): In case of mismatch, print the entire
13444         output.
13446 2019-08-24  Bruno Haible  <bruno@clisp.org>
13448         crypto/gc-sm3: Fix compilation error with --with-libgcrypt.
13449         * m4/gc-sm3.m4 (gl_GC_SM3): Test whether libgcrypt supports SM3. Define
13450         LIBGCRYPT_HAS_MD_SM3.
13451         * lib/gc-libgcrypt.c: Include sm3.h.
13452         (_gc_hash_ctx, gc_hash_open, gc_hash_hmac_setkey, gc_hash_write,
13453         gc_hash_read, gc_hash_close, gc_hash_buffer, gc_sm3): Use the gnulib
13454         implementation if libgcrypt does not support SM3.
13456 2019-08-24  Bruno Haible  <bruno@clisp.org>
13458         crypto/gc-md2: Optimize and clarify code.
13459         * lib/gc-gnulib.c (gc_hash_open): Comment out md2_init_ctx invocation.
13460         * lib/gc-libgcrypt.c (gc_hash_open): Clarify why md2_init_ctx invocation
13461         is not needed.
13463 2019-08-24  Bruno Haible  <bruno@clisp.org>
13465         crypto/gc-md2: Add comment.
13466         * lib/gc-libgcrypt.c: Add comment.
13468 2019-08-24  Bruno Haible  <bruno@clisp.org>
13470         crypto/gc-{md[24],rijndael} tests: Fix link error with --with-libgcrypt.
13471         * modules/crypto/gc-md2-tests (test_gc_md2_LDADD): New variable.
13472         * modules/crypto/gc-md4-tests (test_gc_md4_LDADD): New variable.
13473         * modules/crypto/gc-rijndael-tests (test_gc_rijndael_LDADD): New
13474         variable.
13476 2019-08-24  Bruno Haible  <bruno@clisp.org>
13478         crypto/gc: Fix link error with --with-libgcrypt.
13479         * m4/gc.m4 (gl_GC): Set LIB_CRYPTO to the value found by the
13480         AC_LIB_HAVE_LINKFLAGS invocation.
13482 2019-08-24  Bruno Haible  <bruno@clisp.org>
13484         crypto/gc: Access the module indicators correctly.
13485         * lib/gc-gnulib.c: Use '#if GNULIB_GC_*', not '#ifdef GNULIB_GC_*'.
13486         * lib/gc-libgcrypt.c: Likewise.
13488 2019-08-24  Bruno Haible  <bruno@clisp.org>
13490         crypto/gc: Fix configuration with --with-libgcrypt.
13491         * m4/libgcrypt.m4: New file, copied from libgcrypt/src/libgcrypt.m4.
13492         * modules/crypto/gc (Files): Add it.
13493         * m4/gc.m4 (gl_GC): Assume AM_PATH_LIBGCRYPT is defined.
13495 2019-08-24  Bruno Haible  <bruno@clisp.org>
13497         Remove unused file.
13498         * m4/stat-macros.m4: Remove file.
13500 2019-08-21  Paul Eggert  <eggert@cs.ucla.edu>
13502         New strip-trailing-space option for srclist-update
13503         * config/srclist-update (fixfile): Support new option.
13504         * config/srclist.txt (texinfo.tex, maintain.texi, standards.texi):
13505         Use it.
13507 2019-08-20  Eric Blake  <eblake@redhat.com>
13509         accept4: Support SOCK_NONBLOCK, if defined
13510         * lib/accept4.c (accept4): If SOCK_NONBLOCK is defined, honor it.
13512         accept4: Fix compilation when native accept4() exists.
13513         Reported by Richard W.M. Jones <rjones@redhat.com> in
13514         https://lists.gnu.org/archive/html/bug-gnulib/2019-08/msg00029.html
13515         * lib/accept4.c (accept4): Match witness symbol to m4 file update.
13517 2019-08-18  Bruno Haible  <bruno@clisp.org>
13519         Defeat -flto GCC optimization in math autoconf tests.
13520         Reported by Tomasz Kłoczko <kloczko.tomasz@gmail.com>
13521         at <https://savannah.gnu.org/bugs/?56109>.
13522         * m4/mathfunc.m4 (gl_MATHFUNC): Mark function pointer as 'volatile'.
13523         * m4/acosl.m4 (gl_FUNC_ACOSL): Likewise.
13524         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
13525         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
13526         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
13527         * m4/exp2.m4 (gl_FUNC_EXP2): Likewise.
13528         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
13529         * m4/expm1.m4 (gl_FUNC_EXPM1): Likewise.
13530         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Likewise.
13531         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
13532         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
13533         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
13535 2019-08-17  Bruno Haible  <bruno@clisp.org>
13537         windows-spin: Implement declared functions.
13538         Reported by Gisle Vanem <gisle.vanem@gmail.com> in
13539         <https://lists.gnu.org/archive/html/bug-gnulib/2019-08/msg00024.html>.
13540         * lib/windows-spin.c (glwthread_spin_trylock): Fix typo in function
13541         name.
13543 2019-08-17  Paul Eggert  <eggert@cs.ucla.edu>
13545         intprops: port to Oracle Developer Studio 12.6
13546         * lib/intprops.h (_GL_INT_OP_WRAPV): Fix recently-introduced
13547         typos that were in a section not compiled by GCC.
13549 2019-08-14  Paul Eggert  <eggert@cs.ucla.edu>
13551         intprops: support uchar, ushort _WRAPV dests
13552         * lib/intprops.h (_GL_INT_OP_WRAPV_SMALLISH): New macro, defined
13553         when __builtin_add_overflow etc. and _Generic are not used.
13554         (_GL_INT_OP_WRAPV): Use it to support destinations that
13555         are unsigned char or unsigned short, even in compilers
13556         that lack __typeof__ and are not C11-compatible.
13558         intprops: pacify picky GCC
13559         * lib/intprops.h (_GL_BUILTIN_MUL_OVERFLOW):
13560         Pacify GCC’s complaints about ignoring __builtin_mul_overflow’s
13561         possibly-incorrect result.
13562         (_GL_INT_MULTIPLY_RANGE_OVERFLOW): Pacify GCC’s complaints
13563         about (A) used as a boolean, when A is an expression like 3 * 4.
13565         intprops: support unsigned *_WRAPV results
13566         Add support for unsigned, unsigned long, and unsigned long long
13567         results to INT_ADD_WRAPV, INT_SUBTRACT_WRAPV, and
13568         INT_MULTIPLY_WRAPV.  Also, work around GCC bug 91450, and fix a
13569         bug with unsigned inputs reported by Eli Zaretskii in:
13570         https://lists.gnu.org/r/bug-gnulib/2019-08/msg00012.html
13571         * config/srclist.txt: Break the glibc connection for intprops.h
13572         temporarily, while more testing is done in Gnulib-using apps.
13573         * lib/intprops.h (INT_ADD_WRAPV, INT_SUBTRACT_WRAPV)
13574         (INT_MULTIPLY_WRAPV, _GL_INT_OP_WRAPV, _GL_INT_OP_WRAPV_LONGISH):
13575         Support unsigned results no narrower than unsigned int.  Report
13576         overflow correctly if some arguments are unsigned.
13577         (_GL_BUILTIN_MUL_OVERFLOW): New macro, to work around GCC bug 91450.
13578         (_GL_INT_OP_CALC): Simplify now that the OVERFLOW argument does
13579         the right thing with narrow args.
13580         (_GL_INT_OP_CALC1): Remove.  All callers removed.
13581         (_GL_INT_ADD_RANGE_OVERFLOW, _GL_INT_SUBTRACT_RANGE_OVERFLOW)
13582         (_GL_INT_MULTIPLY_RANGE_OVERFLOW): New macros.
13583         * tests/test-intprops.c: Check for bugs and test new behavior.
13585 2019-08-14  Bruno Haible  <bruno@clisp.org>
13587         get_progname_of: New module.
13588         * lib/get_progname_of.h: New file.
13589         * lib/get_progname_of.c: New file, based on lib/getprogname.c.
13590         * lib/getprogname.c (getprogname): Tweak coding style.
13591         * lib/vma-iter.c (vma_iterate_bsd): Update comment.
13592         * modules/get_progname_of: New file.
13594 2019-08-14  Bruno Haible  <bruno@clisp.org>
13596         get_ppid_of: New module.
13597         * lib/get_ppid_of.h: New file.
13598         * lib/get_ppid_of.c: New file.
13599         * modules/get_ppid_of: New file.
13601 2019-08-13  Bruno Haible  <bruno@clisp.org>
13603         libtextstyle-optional tests: Support the NO_COLOR environment variable.
13604         * tests/test-libtextstyle.c (main): Do not emit styling when the
13605         environment variable NO_COLOR is set.
13607 2019-08-12  Paul Eggert  <eggert@cs.ucla.edu>
13609         verify: improve diagnostic quality in recent GCC
13610         If ‘verify’ fails in a deeply-nested macro, GCC does not output a
13611         useful line number containing the top-level caller of the macro.
13612         So, bring back the older way of issuing a diagnostic containing
13613         the top-level call’s arg, so that it is easier to diagnose
13614         ‘verify’ failures with recent GCC.
13615         * lib/verify.h (_GL_VERIFY_TRUE, _GL_VERIFY_TYPE):
13616         Bring back DIAGNOSTIC arg.  All callers changed.
13617         (verify): Just use _GL_VERIFY.
13619 2019-08-11  Bruno Haible  <bruno@clisp.org>
13621         localcharset: Add more aliases for OS/2.
13622         Based on patch by KO Myung-Hun <komh78@gmail.com> in
13623         <https://lists.gnu.org/archive/html/bug-gnu-libiconv/2019-08/msg00004.html>.
13624         * lib/localcharset.c (alias_table) [OS2]: Add more aliases.
13626 2019-08-10  Eric Blake  <eblake@redhat.com>
13628         configmake: Update advice on usage.
13629         * modules/configmake (Include): No longer necessary to include
13630         last, since configmake.h itself worries about collision avoidance.
13632 2019-08-10  Assaf Gordon <assafgordon@gmail.com>
13634         parse-datetime: fix 'T' military timezone handling
13635         * lib/parse-datetime.y (zone):
13636         follow-up to the previous commit: the 'T' case is handled outside the
13637         conversion table (used as either military timezone UTC-7 or ISO8601
13638         separator). Change it from "HOUR(7)" to "-HOUR(7)" to match other
13639         timezone letters.
13641 2019-08-09  Paul Eggert  <eggert@cs.ucla.edu>
13643         parse-datetime: fix military timezone letters
13644         Problem and trivial fix reported by Neil Hoggarth in:
13645         https://lists.gnu.org/r/bug-gnulib/2019-08/msg00005.html
13646         * lib/parse-datetime.y (military_table):
13647         Do it the right way, not the RFC 822 way.
13649 2019-08-08  Eric Blake  <eblake@redhat.com>
13651         configmake: Avoid namespace pollution issue on mingw.
13652         * modules/configmake (Makefile.am): If the project uses
13653         <winsock2.h>, include that header before defining DATADIR.
13655 2019-07-28  Bruno Haible  <bruno@clisp.org>
13657         mbrtowc tests: Fix regression on mingw (regression from 2018-02-24).
13658         * tests/test-mbrtowc.c (main): Fix expected value of wc.
13660 2019-07-24  Bruno Haible  <bruno@clisp.org>
13662         pthread-h: Fix definitions of types and macros on mingw.
13663         * lib/pthread.in.h (pthread_t, pthread_attr_t, PTHREAD_CREATE_JOINABLE,
13664         PTHREAD_CREATE_DETACHED): Define also when module 'pthread-thread' is
13665         not in use.
13666         (pthread_once_t, PTHREAD_ONCE_INIT): Define also when module
13667         'pthread-once' is not in use.
13668         (pthread_mutex_t, pthread_mutexattr_t, PTHREAD_MUTEX_INITIALIZER,
13669         PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL, PTHREAD_MUTEX_ERRORCHECK,
13670         PTHREAD_MUTEX_RECURSIVE): Define also when module 'pthread-mutex' is not
13671         in use.
13672         (pthread_rwlock_t, pthread_rwlockattr_t, PTHREAD_RWLOCK_INITIALIZER):
13673         Define also when module 'pthread-rwlock' is not in use.
13674         (pthread_cond_t, pthread_condattr_t, PTHREAD_COND_INITIALIZER): Define
13675         also when module 'pthread-cond' is not in use.
13676         (pthread_key_t, PTHREAD_DESTRUCTOR_ITERATIONS): Define also when module
13677         'pthread-tss' is not in use.
13678         (pthread_spinlock_t): Define also when module 'pthread-spin' is not in
13679         use.
13681 2019-07-24  Simon Josefsson  <simon@josefsson.org>
13683         crypto/gc: Cope with libgcrypt without SM3.
13684         * lib/gc-libgcrypt.c (gc_hash_open): Guard SM3 usage.
13686 2019-07-23  Paul Eggert  <eggert@cs.ucla.edu>
13688         backupfile: fix resource leak on memory failure
13689         Problem found by Coverity (CID 1484214).
13690         * lib/backupfile.c (backupfile_internal): Don’t leak dirp.
13692 2019-07-22  Bruno Haible  <bruno@clisp.org>
13694         Avoid missing-declarations warning in various tests.
13695         * tests/test-argp.c (fail, test1, test2, test_file, test3, test4, test5,
13696         test6, test_optional, test7, test8, test9, test10, test11, test12,
13697         test13, test14, test15, test_fun): Declare static.
13698         * tests/test-cnd.c (test_cnd_wait): Likewise.
13699         * tests/test-cond.c (test_cond): Likewise.
13701 2019-07-22  Bernhard Voelker  <mail@bernhard-voelker.de>
13703         pthread tests: Avoid missing-declarations warning.
13704         * tests/test-pthread-cond.c (test_pthread_cond_wait): Declare static.
13706 2019-07-19  Bruno Haible  <bruno@clisp.org>
13708         parse-datetime: Avoid warnings from bison versions >= 3.3.
13709         Reported by Bernhard Voelker <mail@bernhard-voelker.de>.
13710         * modules/parse-datetime (Makefile.am): Don't pass option '-y' to bison.
13712 2019-07-19  Bruno Haible  <bruno@clisp.org>
13714         parse-datetime: Require Bison 2.4 or newer.
13715         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Set PARSE_DATETIME_BISON.
13716         Code taken from gettext's intl.m4.
13717         * modules/parse-datetime (Makefile.am): Use PARSE_DATETIME_BISON instead
13718         of YACC.
13720 2019-07-19  Bruno Haible  <bruno@clisp.org>
13722         areadlink-with-size, xgethostname, xgetdomainname: Fix GCC warning.
13723         * lib/areadlink-with-size.c: Include <string.h>.
13724         * lib/areadlinkat-with-size.c: Likewise.
13725         * lib/xgethostname.c: Likewise.
13726         * lib/xgetdomainname.c: Likewise.
13728 2019-07-19  Bernhard Voelker  <mail@bernhard-voelker.de>
13730         parse-datetime: avoid "%pure-parser" deprecation warning from Bison 3.4
13731         * lib/parse-datetime.y: Use "%define api.pure" rather than obsolescent
13732         "%pure-parser".  The former is available since Bison 2.3b (2008),
13733         while the latter is marked as obsolete since version 3.4 (May 2019).
13735 2019-07-16  Bruno Haible  <bruno@clisp.org>
13737         update-copyright: Make it work again (regression from 2019-06-15).
13738         Reported by Brian C. Lane <bcl@redhat.com>.
13739         * build-aux/update-copyright: Add back the -0777, -p, -i options.
13741 2019-07-14  Bruno Haible  <bruno@clisp.org>
13743         doc: Update info about <pthread.h>.
13744         * doc/posix-headers/pthread.texi: Mention the module 'pthread-h' instead
13745         of 'pthread'.
13747 2019-07-14  Bruno Haible  <bruno@clisp.org>
13749         pthread_sigmask tests: Use new multithread modules.
13750         * tests/test-pthread_sigmask2.c: Include <pthread.h> instead of
13751         glthread/thread.h.
13752         (main_thread, killer_thread): Change type to pthread_t.
13753         (main): Update accordingly.
13754         * modules/pthread_sigmask-tests (Depends-on): Add pthread-thread. Remove
13755         thread.
13757 2019-07-14  Bruno Haible  <bruno@clisp.org>
13759         pthread-tss: Add tests.
13760         * tests/test-pthread-tss.c: New file, based on tests/test-tls.c and
13761         tests/test-tss.c.
13762         * modules/pthread-tss-tests: New file.
13764 2019-07-14  Bruno Haible  <bruno@clisp.org>
13766         pthread-cond: Add tests.
13767         * tests/test-pthread-cond.c: New file, based on tests/test-cond.c and
13768         tests/test-cnd.c.
13769         * modules/pthread-cond-tests: New file.
13771 2019-07-14  Bruno Haible  <bruno@clisp.org>
13773         pthread-rwlock: Add tests.
13774         * tests/test-pthread-rwlock.c: New file, based on tests/test-lock.c.
13775         * modules/pthread-rwlock-tests: New file.
13777 2019-07-14  Bruno Haible  <bruno@clisp.org>
13779         pthread-mutex: Add tests.
13780         * tests/test-pthread-mutex.c: New file, based on tests/test-lock.c and
13781         tests/test-mtx.c.
13782         * modules/pthread-mutex-tests: New file.
13784 2019-07-14  Bruno Haible  <bruno@clisp.org>
13786         pthread-once: Add tests.
13787         * tests/test-pthread-once1.c: New file, based on tests/test-once.c and
13788         tests/test-call_once.c.
13789         * tests/test-pthread-once2.c: New file, based on tests/test-lock.c and
13790         tests/test-mtx.c.
13791         * modules/pthread-once-tests: New file.
13793 2019-07-14  Bruno Haible  <bruno@clisp.org>
13795         pthread-thread: Add tests.
13796         * tests/test-pthread-thread.c: New file, based on
13797         tests/test-thread_create.c and tests/test-thrd_create.c.
13798         * modules/pthread-thread-tests: New file.
13800 2019-07-14  Bruno Haible  <bruno@clisp.org>
13802         pthread: Turn into a convenience module.
13803         * lib/pthread.in.h: Remove declarations for extern inline functions.
13804         * lib/pthread.c: Remove file.
13805         * modules/pthread (Files): Remove it.
13806         (Depends-on): Add pthread-thread, pthread-once, pthread-mutex,
13807         pthread-rwlock, pthread-cond, pthread-tss, pthread-spin.
13808         (configure.ac): Don't compile lib/pthread.c. Don't set GNULIB_PTHREAD.
13809         * m4/pthread_h.m4 (gl_PTHREAD_H_DEFAULTS): Don't initialize
13810         GNULIB_PTHREAD.
13811         * modules/pthread-h (Makefile.am): Don't substitute GNULIB_PTHREAD.
13813 2019-07-14  Bruno Haible  <bruno@clisp.org>
13815         pthread-spin: New module.
13816         * lib/pthread.in.h (pthread_spin_init, pthread_spin_destroy,
13817         pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock): Remove
13818         inline definitions.
13819         * lib/pthread-spin.c: New file.
13820         * m4/pthread-spin.m4: New file.
13821         * modules/pthread-spin: New file.
13822         * doc/posix-functions/pthread_spin_init.texi: Mention the new module.
13823         * doc/posix-functions/pthread_spin_lock.texi: Likewise.
13824         * doc/posix-functions/pthread_spin_trylock.texi: Likewise.
13825         * doc/posix-functions/pthread_spin_unlock.texi: Likewise.
13826         * doc/posix-functions/pthread_spin_destroy.texi: Likewise.
13828 2019-07-14  Bruno Haible  <bruno@clisp.org>
13830         pthread-tss: New module.
13831         * lib/pthread-tss.c: New file.
13832         * m4/pthread-tss.m4: New file.
13833         * modules/pthread-tss: New file.
13834         * doc/posix-functions/pthread_key_create.texi: Mention the new module.
13835         * doc/posix-functions/pthread_setspecific.texi: Likewise.
13836         * doc/posix-functions/pthread_getspecific.texi: Likewise.
13837         * doc/posix-functions/pthread_key_delete.texi: Likewise.
13839 2019-07-14  Bruno Haible  <bruno@clisp.org>
13841         pthread-cond: New module.
13842         * lib/pthread.in.h (pthread_cond_destroy, pthread_cond_init,
13843         pthread_cond_signal, pthread_cond_wait): Remove inline definitions.
13844         * lib/pthread-cond.c: New file.
13845         * m4/pthread-cond.m4: New file.
13846         * modules/pthread-cond: New file.
13847         * doc/posix-functions/pthread_cond_init.texi: Mention the new module.
13848         * doc/posix-functions/pthread_condattr_init.texi: Likewise.
13849         * doc/posix-functions/pthread_condattr_destroy.texi: Likewise.
13850         * doc/posix-functions/pthread_cond_wait.texi: Likewise.
13851         * doc/posix-functions/pthread_cond_timedwait.texi: Likewise.
13852         * doc/posix-functions/pthread_cond_signal.texi: Likewise.
13853         * doc/posix-functions/pthread_cond_broadcast.texi: Likewise.
13854         * doc/posix-functions/pthread_cond_destroy.texi: Likewise.
13856 2019-07-14  Bruno Haible  <bruno@clisp.org>
13858         pthread-rwlock: New module.
13859         * lib/pthread-rwlock.c: New file, based on lib/glthread/lock.c.
13860         * m4/pthread-rwlock.m4: New file.
13861         * modules/pthread-rwlock: New file.
13862         * doc/posix-functions/pthread_rwlock_init.texi: Mention the new module
13863         and the Android problem.
13864         * doc/posix-functions/pthread_rwlockattr_init.texi: Likewise.
13865         * doc/posix-functions/pthread_rwlockattr_destroy.texi: Likewise.
13866         * doc/posix-functions/pthread_rwlock_rdlock.texi: Likewise.
13867         * doc/posix-functions/pthread_rwlock_wrlock.texi: Likewise.
13868         * doc/posix-functions/pthread_rwlock_tryrdlock.texi: Likewise.
13869         * doc/posix-functions/pthread_rwlock_trywrlock.texi: Likewise.
13870         * doc/posix-functions/pthread_rwlock_timedrdlock.texi: Likewise.
13871         * doc/posix-functions/pthread_rwlock_timedwrlock.texi: Likewise.
13872         * doc/posix-functions/pthread_rwlock_unlock.texi: Likewise.
13873         * doc/posix-functions/pthread_rwlock_destroy.texi: Likewise.
13875 2019-07-14  Bruno Haible  <bruno@clisp.org>
13877         pthread-mutex: New module.
13878         * lib/pthread.in.h (pthread_mutexattr_destroy, pthread_mutexattr_init,
13879         pthread_mutexattr_settype, pthread_mutex_destroy, pthread_mutex_init,
13880         pthread_mutex_lock, pthread_mutex_trylock, pthread_mutex_timedlock,
13881         pthread_mutex_unlock): Remove inline definitions.
13882         * lib/pthread-mutex.c: New file.
13883         * m4/pthread-mutex.m4: New file.
13884         * modules/pthread-mutex: New file.
13885         * doc/posix-functions/pthread_mutex_init.texi: Mention the new module.
13886         * doc/posix-functions/pthread_mutexattr_init.texi: Likewise.
13887         * doc/posix-functions/pthread_mutexattr_gettype.texi: Likewise.
13888         * doc/posix-functions/pthread_mutexattr_settype.texi: Likewise.
13889         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
13890         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
13891         * doc/posix-functions/pthread_mutexattr_destroy.texi: Likewise.
13892         * doc/posix-functions/pthread_mutex_lock.texi: Likewise.
13893         * doc/posix-functions/pthread_mutex_trylock.texi: Likewise.
13894         * doc/posix-functions/pthread_mutex_timedlock.texi: Likewise.
13895         * doc/posix-functions/pthread_mutex_unlock.texi: Likewise.
13896         * doc/posix-functions/pthread_mutex_destroy.texi: Likewise.
13898 2019-07-14  Bruno Haible  <bruno@clisp.org>
13900         pthread-once: New module.
13901         * lib/pthread-once.c: New file.
13902         * m4/pthread-once.m4: New file.
13903         * modules/pthread-once: New file.
13904         * doc/posix-functions/pthread_once.texi: Mention the new module.
13906 2019-07-14  Bruno Haible  <bruno@clisp.org>
13908         pthread-thread: New module.
13909         * lib/pthread.in.h (pthread_create, pthread_exit, pthread_join): Remove
13910         inline definitions.
13911         * lib/pthread-thread.c: New file.
13912         * m4/pthread-thread.m4: New file.
13913         * modules/pthread-thread: New file.
13914         * doc/posix-functions/pthread_create.texi: Mention the new module.
13915         * doc/posix-functions/pthread_attr_init.texi: Likewise.
13916         * doc/posix-functions/pthread_attr_getdetachstate.texi: Likewise.
13917         * doc/posix-functions/pthread_attr_setdetachstate.texi: Likewise.
13918         * doc/posix-functions/pthread_attr_destroy.texi: Likewise.
13919         * doc/posix-functions/pthread_self.texi: Likewise.
13920         * doc/posix-functions/pthread_equal.texi: Likewise.
13921         * doc/posix-functions/pthread_detach.texi: Likewise.
13922         * doc/posix-functions/pthread_join.texi: Likewise.
13923         * doc/posix-functions/pthread_exit.texi: Likewise.
13925 2019-07-14  Bruno Haible  <bruno@clisp.org>
13927         pthread-h: Prepare for adding new modules.
13928         * lib/pthread.in.h: Define the types and macros for each of the
13929         facilities separately.
13930         * m4/pthread_h.m4 (gl_PTHREAD_H): Set HAVE_PTHREAD_CREATE_DETACHED,
13931         HAVE_PTHREAD_MUTEX_RECURSIVE, HAVE_PTHREAD_MUTEX_ROBUST,
13932         HAVE_PTHREAD_PROCESS_SHARED.
13933         (gl_PTHREAD_H_DEFAULTS): Initialize HAVE_PTHREAD_CREATE_DETACHED,
13934         HAVE_PTHREAD_MUTEX_RECURSIVE, HAVE_PTHREAD_MUTEX_ROBUST,
13935         HAVE_PTHREAD_PROCESS_SHARED.
13936         * modules/pthread-h (Makefile.am): Substitute
13937         HAVE_PTHREAD_CREATE_DETACHED, HAVE_PTHREAD_MUTEX_RECURSIVE,
13938         HAVE_PTHREAD_MUTEX_ROBUST, HAVE_PTHREAD_PROCESS_SHARED.
13940 2019-07-14  Bruno Haible  <bruno@clisp.org>
13942         pthread-h: Add declarations of essential pthread functions.
13943         * lib/pthread.in.h: Include snippets.
13944         (pthread_create, pthread_attr_init, pthread_attr_getdetachstate,
13945         pthread_attr_setdetachstate, pthread_attr_destroy, pthread_self,
13946         pthread_equal, pthread_detach, pthread_join, pthread_exit, pthread_once,
13947         pthread_mutex_init, pthread_mutexattr_init, pthread_mutexattr_gettype,
13948         pthread_mutexattr_settype, pthread_mutexattr_getrobust,
13949         pthread_mutexattr_setrobust, pthread_mutexattr_destroy,
13950         pthread_mutex_lock, pthread_mutex_trylock, pthread_mutex_unlock,
13951         pthread_mutex_destroy, pthread_rwlock_init, pthread_rwlockattr_init,
13952         pthread_rwlockattr_destroy, pthread_rwlock_rdlock,
13953         pthread_rwlock_wrlock, pthread_rwlock_tryrdlock,
13954         pthread_rwlock_trywrlock, pthread_rwlock_timedrdlock,
13955         pthread_rwlock_timedwrlock, pthread_rwlock_unlock,
13956         pthread_rwlock_destroy, pthread_cond_init, pthread_condattr_init,
13957         pthread_condattr_destroy, pthread_cond_wait, pthread_cond_timedwait,
13958         pthread_cond_signal, pthread_cond_broadcast, pthread_cond_destroy,
13959         pthread_key_create, pthread_setspecific, pthread_getspecific,
13960         pthread_key_delete, pthread_spin_init, pthread_spin_lock,
13961         pthread_spin_trylock, pthread_spin_unlock, pthread_spin_destroy): New
13962         declarations.
13963         (pthread_mutex_timedlock): Move declaration.
13964         * m4/pthread_h.m4 (gl_PTHREAD_H): Check whether the new functions are
13965         declared.
13966         (gl_PTHREAD_H_DEFAULTS): Initialize GNULIB_PTHREAD_THREAD,
13967         GNULIB_PTHREAD_ONCE, GNULIB_PTHREAD_MUTEX, GNULIB_PTHREAD_RWLOCK,
13968         GNULIB_PTHREAD_COND, GNULIB_PTHREAD_TSS, GNULIB_PTHREAD_SPIN and the
13969         HAVE_* and REPLACE_* variables for the new functions.
13970         * modules/pthread-h (Depends-on): Add snippet/c++defs,
13971         snippet/_Noreturn, snippet/arg-nonnull, snippet/warn-on-use.
13972         (Makefile.am): Substitute GNULIB_PTHREAD_THREAD, GNULIB_PTHREAD_ONCE,
13973         GNULIB_PTHREAD_MUTEX, GNULIB_PTHREAD_RWLOCK, GNULIB_PTHREAD_COND,
13974         GNULIB_PTHREAD_TSS, GNULIB_PTHREAD_SPIN and the HAVE_* and REPLACE_*
13975         variables for the new functions. Split the sed script, to avoid the
13976         limit of 99 commands of HP-UX sed.
13977         * tests/test-pthread-c++.cc: Check the signature of the new functions.
13979 2019-07-14  Bruno Haible  <bruno@clisp.org>
13981         pthread-h: Respect --enable-threads={posix|windows} option on mingw.
13982         * m4/pthread_h.m4 (gl_PTHREAD_H): Require gl_THREADLIB. Set
13983         HAVE_PTHREAD_H if gl_threads_api is 'windows'.
13984         (LIB_PTHREAD): Rely on $LIBMULTITHREAD from threadlib.m4.
13985         * modules/pthread (Link): Change to $(LIBMULTITHREAD).
13986         * modules/pthread-h (Depends-on): Add threadlib.
13987         (Link): Change to $(LIBTHREAD).
13988         * modules/pthread-h-c++-tests (test_pthread_c___LDADD): Use
13989         $(LIBMULTITHREAD) instead of $(LIB_PTHREAD).
13991 2019-07-14  Bruno Haible  <bruno@clisp.org>
13993         pthread-h: Add C++ tests.
13994         * tests/test-pthread-c++.cc: New file.
13995         * modules/pthread-h-c++-tests: New file.
13997 2019-07-14  Bruno Haible  <bruno@clisp.org>
13999         pthread-h: Add tests.
14000         * tests/test-pthread.c: New file.
14001         * modules/pthread-h-tests: New file.
14003 2019-07-14  Bruno Haible  <bruno@clisp.org>
14005         pthread-h: New module.
14006         * lib/pthread.in.h: Define replacement functions only if GNULIB_PTHREAD
14007         is 1.
14008         * m4/pthread_h.m4: Renamed from m4/pthread.m4.
14009         (gl_PTHREAD_H): Renamed from gl_PTHREAD_CHECK. Don't test whether
14010         <pthread.h> pollutes the namespace; instead, prepare for generating a
14011         pthread.h always. Substitute HAVE_PTHREAD_H here.
14012         (gl_PTHREAD_H_DEFAULTS): Renamed from gl_PTHREAD_DEFAULTS. Initialize
14013         GNULIB_PTHREAD. Don't initialize HAVE_PTHREAD_H here.
14014         * modules/pthread-h: New file, based on modules/pthread.
14015         * modules/pthread: Rely on 'pthread-h'.
14016         * m4/pthread_mutex_timedlock.m4 (gl_FUNC_PTHREAD_MUTEX_TIMEDLOCK):
14017         Update.
14018         * modules/pthread_mutex_timedlock (Depends-on): Add pthread-h. Remove
14019         pthread.
14021 2019-07-14  Bruno Haible  <bruno@clisp.org>
14023         sched_yield: New module.
14024         * lib/sched.in.h: Add _GL_FUNCDECL_RPL, _GL_WARN_ON_USE placeholders.
14025         (sched_yield): New declaration.
14026         * lib/sched_yield.c: New file.
14027         * m4/sched_yield.m4: New file.
14028         * m4/sched_h.m4 (gl_SCHED_H): Require gl_SCHED_H_DEFAULTS. Arrange to
14029         provide a replacement sched.h always. Test whether sched_yield is
14030         declared.
14031         (gl_SCHED_MODULE_INDICATOR, gl_SCHED_H_DEFAULTS): New macros.
14032         * modules/sched (Depends-on): Add snippet/c++defs, snippet/warn-on-use.
14033         (Makefile.am): Provide a replacement sched.h always. Substitute
14034         GNULIB_SCHED_YIELD, HAVE_SCHED_YIELD, REPLACE_SCHED_YIELD,
14035         _GL_FUNCDECL_RPL, _GL_WARN_ON_USE.
14036         * modules/sched_yield: New file.
14037         * doc/posix-functions/sched_yield.texi: Mention the new module.
14039 2019-07-14  Bruno Haible  <bruno@clisp.org>
14041         windows-spin: New module.
14042         * lib/windows-spin.h: New file.
14043         * lib/windows-spin.c: New file.
14044         * modules/windows-spin: New file.
14046 2019-07-14  Bruno Haible  <bruno@clisp.org>
14048         windows-timedrwlock: New module.
14049         * lib/windows-timedrwlock.h: New file, based on windows-rwlock.h.
14050         * lib/windows-timedrwlock.c: New file, based on windows-rwlock.c and
14051         windows-cond.c.
14052         * lib/windows-cond.h (struct glwthread_waitqueue_link): Protect against
14053         redefinition conflict with windows-timedrwlock.h.
14054         * modules/windows-timedrwlock: New file.
14056 2019-07-14  Bruno Haible  <bruno@clisp.org>
14058         windows-rwlock: New module.
14059         * lib/windows-rwlock.h: New file, extracted from lib/glthread/lock.h.
14060         * lib/windows-rwlock.c: New file, extracted from lib/glthread/lock.c.
14061         * lib/glthread/lock.h: Include windows-rwlock.h. Don't include
14062         windows-initguard.h.
14063         (gl_rwlock_t): Define using glwthread_rwlock_t.
14064         (gl_rwlock_initializer): Define using GLWTHREAD_RWLOCK_INIT.
14065         (glthread_rwlock_init): Define using glwthread_rwlock_init.
14066         (glthread_rwlock_rdlock): Define using glwthread_rwlock_rdlock.
14067         (glthread_rwlock_wrlock): Define using glwthread_rwlock_wrlock.
14068         (glthread_rwlock_unlock): Define using glwthread_rwlock_unlock.
14069         (glthread_rwlock_destroy): Define using glwthread_rwlock_destroy.
14070         (glthread_rwlock_init_func, glthread_rwlock_rdlock_func,
14071         glthread_rwlock_wrlock_func, glthread_rwlock_unlock_func,
14072         glthread_rwlock_destroy_func): Remove declarations.
14073         * lib/glthread/lock.c (gl_waitqueue_t): Remove type.
14074         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_notify_first,
14075         gl_waitqueue_notify_all, glthread_rwlock_init_func,
14076         glthread_rwlock_rdlock_func, glthread_rwlock_wrlock_func,
14077         glthread_rwlock_unlock_func, glthread_rwlock_destroy_func): Remove
14078         functions.
14079         * modules/windows-rwlock: New file.
14080         * modules/lock (Depends-on): Add windows-rwlock.
14082 2019-07-14  Bruno Haible  <bruno@clisp.org>
14084         windows-thread: Add support for creating a thread in detached state.
14085         * lib/windows-thread.h (GLWTHREAD_ATTR_DETACHED): New macro.
14086         (glwthread_thread_create): Add attr argument.
14087         * lib/windows-thread.c (glwthread_thread_create): Likewise.
14088         * lib/glthread/thread.h (glthread_create): Update.
14089         * lib/thrd.c (thrd_create): Update.
14091 2019-07-14  Bruno Haible  <bruno@clisp.org>
14093         windows-*: Rename glwthread_spinlock_t to glwthread_initguard_t.
14094         * lib/windows-initguard.h: Renamed from lib/windows-spinlock.h.
14095         (glwthread_initguard_t): Renamed from glwthread_spinlock_t.
14096         (GLWTHREAD_INITGUARD_INIT): Renamed from GLWTHREAD_SPINLOCK_INIT.
14097         * lib/windows-mutex.h: Update.
14098         * lib/windows-recmutex.h: Likewise.
14099         * lib/windows-timedmutex.h: Likewise.
14100         * lib/windows-timedrecmutex.h: Likewise.
14101         * lib/windows-cond.h: Likewise.
14102         * lib/glthread/lock.h: Likewise.
14103         * modules/windows-mutex (Files): Add lib/windows-initguard.h. Remove
14104         lib/windows-spinlock.h.
14105         * modules/windows-recmutex (Files): Likewise.
14106         * modules/windows-timedmutex (Files): Likewise.
14107         * modules/windows-timedrecmutex (Files): Likewise.
14108         * modules/windows-cond (Files): Likewise.
14109         * modules/threads-h (Files): Likewise.
14111 2019-07-14  Bruno Haible  <bruno@clisp.org>
14113         doc: Fix info about pthread API in HP-UX.
14114         * doc/posix-functions/pthread_*.texi: Fix info about HP-UX 11.
14116 2019-07-14  Bruno Haible  <bruno@clisp.org>
14118         threads-h: Fix generation of threads.h.
14119         * modules/threads-h (Makefile.am): Insert the required header file
14120         snippets.
14122 2019-07-09  Bruno Haible  <bruno@clisp.org>
14124         striconveh test: Fix a compilation failure when iconv is not available.
14125         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
14126         * tests/test-striconveh.c (main): Move iconv_close invocations inside
14127         HAVE_ICONV.
14129 2019-07-07  Akim Demaille  <akim@lrde.epita.fr>
14131         argmatch: adjust columns for help2man.
14132         * lib/argmatch.h (argmatch_##Name##_doc_col): If some argument
14133         requires column 20 or more, return 20.
14135 2019-07-06  Paul Eggert  <eggert@cs.ucla.edu>
14137         areadlink-with-size: avoid realloc when size==0
14138         * lib/areadlink-with-size.c (areadlink_with_size):
14139         * lib/areadlinkat-with-size.c (areadlinkat_with_size):
14140         Reallocate at the end to the actual size, to avoid memory waste,
14141         as suggested by Bruno Haible.  But when the guessed size is zero -
14142         useful when the size is unknown - do the initial small readlink
14143         into the stack, to avoid that realloc in the usual case.
14145 2019-07-06  Pádraig Brady  <P@draigBrady.com>
14147         areadlink-with-size: guess a buffer size with 0 size
14148         The size is usually taken from st_size, which can be zero,
14149         resulting in inefficient operation.
14150         Instead let zero select an initial memory allocation
14151         of 128 bytes, which most symlinks fit within.
14152         * lib/areadlink-with-size.c (areadlink_with_size):
14153         Start with a 128 byte buffer, for SIZE == 0.
14154         * lib/areadlinkat-with-size.c (areadlinkat_with_size): Likewise.
14156 2019-07-06  Konstantin Kharlamov  <Hi-Angel@yandex.ru>
14158         Replace manually crafted hex regexes with [:xdigit:]
14159         * build-aux/gitlog-to-changelog (parse_amend_file)
14160         (git_dir_option):
14161         Replace various combinations of [0-9a-fA-F] with [[:xdigit:]].
14162         This patch is backported from Emacs (Bug#36167).
14164 2019-07-06  Bruno Haible  <bruno@clisp.org>
14166         error: Fix documentation.
14167         * doc/glibc-functions/error_at_line.texi: Document what the 'error'
14168         module provides.
14169         * doc/glibc-functions/error_message_count.texi: Likewise.
14170         * doc/glibc-functions/error_one_per_line.texi: Likewise.
14171         * doc/glibc-functions/error_print_progname.texi: Likewise.
14173 2019-07-06  Bruno Haible  <bruno@clisp.org>
14175         doc: Remove documentation of glibc <= 2.1.x as a supported platform.
14176         * doc/gnulib-intro.texi (Target Platforms): Mention that glibc 2.1.x
14177         and older is unsupported.
14178         * doc/**/*.texi: Update.
14180 2019-07-06  Bruno Haible  <bruno@clisp.org>
14182         doc: Remove documentation of Linux libc5 as a supported platform.
14183         * doc/posix-functions/iswalnum.texi: Don't mention workarounds specific
14184         to Linux libc5.
14185         * doc/posix-functions/iswalpha.texi: Likewise.
14186         * doc/posix-functions/iswblank.texi: Likewise.
14187         * doc/posix-functions/iswcntrl.texi: Likewise.
14188         * doc/posix-functions/iswdigit.texi: Likewise.
14189         * doc/posix-functions/iswgraph.texi: Likewise.
14190         * doc/posix-functions/iswlower.texi: Likewise.
14191         * doc/posix-functions/iswprint.texi: Likewise.
14192         * doc/posix-functions/iswpunct.texi: Likewise.
14193         * doc/posix-functions/iswspace.texi: Likewise.
14194         * doc/posix-functions/iswupper.texi: Likewise.
14195         * doc/posix-functions/iswxdigit.texi: Likewise.
14196         * doc/posix-functions/snprintf.texi: Likewise.
14197         * doc/posix-functions/vsnprintf.texi: Likewise.
14199 2019-07-06  Bruno Haible  <bruno@clisp.org>
14201         doc: Remove documentation of Tandem/NSK as a supported platform.
14202         * doc/posix-headers/stdlib.texi: Don't mention workarounds specific to
14203         Tandem/NSK.
14204         * doc/**/*.texi: Update.
14206 2019-07-06  Bruno Haible  <bruno@clisp.org>
14208         doc: Remove documentation of Mac OS X <= 10.4 as a supported platform.
14209         * doc/gnulib-intro.texi (Target Platforms): Mention that Mac OS X 10.4
14210         and older is unsupported.
14211         * doc/posix-functions/acosl.texi: Don't mention workarounds specific to
14212         Mac OS X 10.4 and older.
14213         * doc/posix-functions/asinl.texi: Likewise.
14214         * doc/posix-functions/atanl.texi: Likewise.
14215         * doc/posix-functions/cosl.texi: Likewise.
14216         * doc/posix-functions/expl.texi: Likewise.
14217         * doc/posix-functions/frexpl.texi: Likewise.
14218         * doc/posix-functions/gettimeofday.texi: Likewise.
14219         * doc/posix-functions/logl.texi: Likewise.
14220         * doc/posix-functions/mkstemp.texi: Likewise.
14221         * doc/posix-functions/sinl.texi: Likewise.
14222         * doc/posix-functions/sqrtl.texi: Likewise.
14223         * doc/posix-functions/tanl.texi: Likewise.
14224         * doc/posix-functions/wcswidth.texi: Likewise.
14225         * doc/**/*.texi: Update.
14227 2019-07-06  Bruno Haible  <bruno@clisp.org>
14229         doc: Remove documentation of AIX 4 as a supported platform.
14230         * doc/gnulib-intro.texi (Target Platforms): Mention that AIX 4 is
14231         unsupported.
14232         * doc/posix-functions/nanosleep.texi: Don't mention AIX 4 specific
14233         workarounds.
14234         * doc/posix-functions/strnlen.texi: Likewise.
14235         * doc/posix-headers/inttypes.texi: Likewise.
14236         * doc/**/*.texi: Update.
14238 2019-07-06  Bruno Haible  <bruno@clisp.org>
14240         doc: Remove documentation of HP-UX 10 as a supported platform.
14241         * doc/gnulib-intro.texi (Target Platforms): Mention that HP-UX 10 is
14242         unsupported.
14243         * doc/*-functions/*printf.texi: Don't mention HP-UX 10 specific
14244         workarounds.
14245         * doc/posix-functions/gmtime_r.texi: Likewise.
14246         * doc/posix-functions/localtime_r.texi: Likewise.
14247         * doc/posix-functions/mkstemp.texi: Likewise.
14248         * doc/**/*.texi: Update.
14250 2019-07-06  Bruno Haible  <bruno@clisp.org>
14252         doc: Remove documentation of Interix 3.5 as a supported platform.
14253         * doc/gnulib-intro.texi (Target Platforms): Mention that Interix is
14254         unsupported.
14255         * doc/posix-functions/select.texi: Don't mention Interix specific
14256         workarounds.
14257         * doc/posix-headers/signal.texi: Likewise.
14258         * doc/**/*.texi: Update.
14260 2019-07-06  Bruno Haible  <bruno@clisp.org>
14262         doc: Remove documentation of IRIX 6.4 and older as supported platforms.
14263         * doc/gnulib-intro.texi (Target Platforms): Mention that IRIX <= 6.4 is
14264         unsupported.
14265         * doc/pastposix-functions/usleep.texi: Don't mention IRIX specific
14266         workarounds.
14267         * doc/posix-functions/nl_langinfo.texi: Likewise.
14268         * doc/posix-functions/remainder.texi: Likewise.
14269         * doc/posix-functions/towlower.texi: Likewise.
14270         * doc/posix-functions/towupper.texi: Likewise.
14271         * doc/posix-functions/vsnprintf.texi: Likewise.
14272         * doc/posix-functions/wcscat.texi: Likewise.
14273         * doc/posix-functions/wcschr.texi: Likewise.
14274         * doc/posix-functions/wcscmp.texi: Likewise.
14275         * doc/posix-functions/wcscpy.texi: Likewise.
14276         * doc/posix-functions/wcscspn.texi: Likewise.
14277         * doc/posix-functions/wcslen.texi: Likewise.
14278         * doc/posix-functions/wcsncat.texi: Likewise.
14279         * doc/posix-functions/wcsncmp.texi: Likewise.
14280         * doc/posix-functions/wcsncpy.texi: Likewise.
14281         * doc/posix-functions/wcspbrk.texi: Likewise.
14282         * doc/posix-functions/wcsrchr.texi: Likewise.
14283         * doc/posix-functions/wcsspn.texi: Likewise.
14284         * doc/posix-headers/langinfo.texi: Likewise.
14285         * doc/posix-headers/signal.texi: Likewise.
14286         * doc/posix-headers/wchar.texi: Likewise.
14287         * doc/posix-headers/wctype.texi: Likewise.
14288         * doc/**/*.texi: Update.
14290 2019-07-05  Bruno Haible  <bruno@clisp.org>
14292         doc: Remove documentation of OSF/1 as supported platform.
14293         * doc/gnulib-intro.texi (Target Platforms): Mention that OSF/1 is
14294         unsupported.
14295         * doc/glibc-functions/getdomainname.texi: Don't mention OSF/1 specific
14296         workarounds.
14297         * doc/glibc-functions/pthread_setname_np.texi: Likewise.
14298         * doc/glibc-functions/ptsname_r.texi: Likewise.
14299         * doc/posix-functions/ceil.texi: Likewise.
14300         * doc/posix-functions/ceilf.texi: Likewise.
14301         * doc/posix-functions/ceill.texi: Likewise.
14302         * doc/posix-functions/fchdir.texi: Likewise.
14303         * doc/posix-functions/floor.texi: Likewise.
14304         * doc/posix-functions/floorf.texi: Likewise.
14305         * doc/posix-functions/fmod.texi: Likewise.
14306         * doc/posix-functions/fmodf.texi: Likewise.
14307         * doc/posix-functions/fmodl.texi: Likewise.
14308         * doc/posix-functions/log.texi: Likewise.
14309         * doc/posix-functions/logf.texi: Likewise.
14310         * doc/posix-functions/logl.texi: Likewise.
14311         * doc/posix-functions/log10.texi: Likewise.
14312         * doc/posix-functions/log10f.texi: Likewise.
14313         * doc/posix-functions/log10l.texi: Likewise.
14314         * doc/posix-functions/log2.texi: Likewise.
14315         * doc/posix-functions/log2f.texi: Likewise.
14316         * doc/posix-functions/log2l.texi: Likewise.
14317         * doc/posix-functions/mbrtowc.texi: Likewise.
14318         * doc/posix-functions/recv.texi: Likewise.
14319         * doc/posix-functions/recvfrom.texi: Likewise.
14320         * doc/posix-functions/remainder.texi: Likewise.
14321         * doc/posix-functions/remainderf.texi: Likewise.
14322         * doc/posix-functions/remainderl.texi: Likewise.
14323         * doc/posix-functions/round.texi: Likewise.
14324         * doc/posix-functions/roundf.texi: Likewise.
14325         * doc/posix-functions/roundl.texi: Likewise.
14326         * doc/posix-functions/send.texi: Likewise.
14327         * doc/posix-functions/sendto.texi: Likewise.
14328         * doc/posix-functions/setenv.texi: Likewise.
14329         * doc/posix-functions/snprintf.texi: Likewise.
14330         * doc/posix-functions/tcgetsid.texi: Likewise.
14331         * doc/posix-functions/trunc.texi: Likewise.
14332         * doc/posix-functions/truncf.texi: Likewise.
14333         * doc/posix-functions/truncl.texi: Likewise.
14334         * doc/posix-functions/ttyname_r.texi: Likewise.
14335         * doc/posix-functions/unsetenv.texi: Likewise.
14336         * doc/posix-functions/wcsrtombs.texi: Likewise.
14337         * doc/posix-headers/sys_select.texi: Likewise.
14338         * doc/posix-headers/wchar.texi: Likewise.
14339         * doc/posix-headers/wctype.texi: Likewise.
14340         * doc/**/*.texi: Update.
14342 2019-07-05  Bruno Haible  <bruno@clisp.org>
14344         doc: Remove documentation of BSDI and BSD/OS as supported platforms.
14345         * doc/**/*.texi: Update.
14347 2019-07-05  Bruno Haible  <bruno@clisp.org>
14349         doc: Remove documentation of Solaris 8 and older as supported platforms.
14350         * doc/gnulib-intro.texi (Target Platforms): Mention that Solaris <= 8 is
14351         unsupported.
14352         * doc/posix-functions/mbrtowc.texi: Don't mention Solaris specific
14353         workarounds.
14354         * doc/posix-functions/memcmp.texi: Likewise.
14355         * doc/posix-functions/rename.texi: Likewise.
14356         * doc/posix-functions/tzset.texi: Likewise.
14357         * doc/posix-headers/wctype.texi: Likewise.
14358         * doc/**/*.texi: Update.
14360 2019-07-05  Bruno Haible  <bruno@clisp.org>
14362         doc: Remove documentation of Interix 3.5 as a supported platform.
14363         * doc/**/*.texi: Update.
14365 2019-07-05  Bruno Haible  <bruno@clisp.org>
14367         doc: Remove documentation of BeOS as a supported platform.
14368         * doc/gnulib-intro.texi (Target Platforms): Mention that BeOS is
14369         unsupported.
14370         * doc/*-functions/*printf.texi: Don't mention BeOS specific workarounds.
14371         * doc/posix-functions/getdelim.texi: Likewise.
14372         * doc/**/*.texi: Update.
14374 2019-07-05  Bruno Haible  <bruno@clisp.org>
14376         thread, lock, cond, tls: Remove support for Pth threads.
14377         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Don't document
14378         --enable-threads=pth any more.
14379         (gl_THREADLIB_BODY): Don't set USE_PTH_THREADS any more.
14380         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Update comment.
14381         * m4/threads.m4 (gl_THREADS_H): Remove test for conflict between Pth
14382         threads and ISO C11 threads.
14383         * lib/glthread/thread.h: Remove code for USE_PTH_THREADS.
14384         * lib/glthread/lock.h: Likewise.
14385         * lib/glthread/lock.c: Likewise.
14386         * lib/glthread/cond.h: Likewise.
14387         * lib/glthread/cond.c: Likewise.
14388         * lib/glthread/tls.h: Likewise.
14389         * lib/glthread/tls.c: Likewise.
14390         * lib/glthread/yield.h: Likewise.
14391         * lib/regex_internal.h: Likewise.
14392         * tests/test-thread_create.c: Likewise.
14393         * tests/test-lock.c: Likewise.
14394         * tests/test-cond.c: Likewise.
14395         * tests/test-tls.c: Likewise.
14396         * tests/test-rwlock1.c: Don't include glthread/yield.h.
14397         (main): Sleep without calling gl_thread_yield.
14399 2019-07-05  Bruno Haible  <bruno@clisp.org>
14401         thread, lock, cond, tls: Remove support for old Solaris threads.
14402         Solaris >= 2.5.1 has POSIX threads.
14403         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Don't document
14404         --enable-threads=solaris any more.
14405         (gl_THREADLIB_BODY): Don't set USE_SOLARIS_THREADS any more.
14406         * lib/glthread/thread.c: Update comment.
14407         * lib/glthread/thread.h: Remove code for USE_SOLARIS_THREADS.
14408         * lib/glthread/lock.h: Likewise.
14409         * lib/glthread/lock.c: Likewise.
14410         * lib/glthread/cond.h: Likewise.
14411         * lib/glthread/cond.c: Likewise.
14412         * lib/glthread/tls.h: Likewise.
14413         * lib/glthread/tls.c: Likewise.
14414         * lib/glthread/yield.h: Likewise.
14415         * lib/regex_internal.h: Likewise.
14416         * tests/test-thread_create.c: Likewise.
14417         * tests/test-lock.c: Likewise.
14418         * tests/test-cond.c: Likewise.
14419         * tests/test-tls.c: Likewise.
14421 2019-07-05  Bruno Haible  <bruno@clisp.org>
14423         getcwd-lgpl, getcwd: Don't call realloc when it is pointless.
14424         * lib/getcwd-lgpl.c (rpl_getcwd): Don't call realloc if the result's
14425         needed size is equal to the allocated size.
14426         * lib/getcwd.c (__getcwd): Likewise.
14428 2019-07-05  Bruno Haible  <bruno@clisp.org>
14430         xgetdomainname: Don't return an excessive memory allocation.
14431         * lib/xgetdomainname.c (xgetdomainname): Shrink the domainname buffer
14432         before returning it.
14434 2019-07-05  Bruno Haible  <bruno@clisp.org>
14436         xgethostname: Don't return an excessive memory allocation.
14437         * lib/xgethostname.c (xgethostname): Shrink the hostname buffer before
14438         returning it.
14440 2019-07-05  Bruno Haible  <bruno@clisp.org>
14442         areadlinkat-with-size: Don't return an excessive memory allocation.
14443         * lib/areadlinkat-with-size.c (areadlinkat_with_size): Shrink the buffer
14444         before returning it.
14446 2019-07-05  Bruno Haible  <bruno@clisp.org>
14448         areadlink-with-size: Don't return an excessive memory allocation.
14449         Reported by Andreas Dilger <adilger@whamcloud.com>.
14450         * lib/areadlink-with-size.c (areadlink_with_size): Shrink the buffer
14451         before returning it.
14453 2019-07-03  Bruno Haible  <bruno@clisp.org>
14455         renameatu: Fix test failure on MSVC.
14456         * lib/at-func2.c (at_func2): Fail with ENOENT if file1 or file2 is the
14457         empty string.
14459 2019-07-03  Bruno Haible  <bruno@clisp.org>
14461         mbrtowc: Fix invalid use of mbtowc() on MSVC.
14462         * lib/mbrtowc.c: Include glthread/lock.h.
14463         (mbtowc_lock): New variable.
14464         (mbrtowc): Treat UTF-8 encoding without locking. For the other
14465         encodings, explicitly reset the internal state of mbtowc, and protect
14466         this through a lock.
14467         * modules/mbrtowc (Depends-on): Add lock.
14469 2019-07-03  Akim Demaille  <akim@lrde.epita.fr>
14471         argmatch: don't define _ in the header.
14472         Reported by Jim Meyering.
14473         * lib/argmatch.h (N_, _): Don't define.
14474         Use gettext instead.
14475         * lib/argmatch.h (_): Define.
14476         * tests/test-argmatch.c (N_): Define.
14478 2019-07-02  Paul Eggert  <eggert@cs.ucla.edu>
14480         verify: document ‘assume’ better
14481         * lib/verify.h: Reword doc (Bug#36370).
14483 2019-07-02  Bruno Haible  <bruno@clisp.org>
14485         localcharset, nl_langinfo: Fix return value for UTF-8 locales on MSVC.
14486         * lib/localcharset.c (locale_charset): Return "UTF-8" instead of
14487         "CPutf8".
14488         * lib/nl_langinfo.c (ctype_codeset): Likewise.
14490 2019-07-02  Bruno Haible  <bruno@clisp.org>
14492         getcwd: Fix crash when invoked with size = 0 on MSVC.
14493         * lib/getcwd.c: Include msvc-inval.h.
14494         (getcwd_nothrow): New function/macro.
14495         (getcwd_system): New macro.
14496         (__getcwd): Use it instead of getcwd.
14497         * modules/getcwd (Depends-on): Add msvc-inval.
14498         * doc/posix-functions/getcwd.texi: Mention the MSVC issue.
14500 2019-07-02  Bruno Haible  <bruno@clisp.org>
14502         nonblocking-pipe tests: Fix test failure on MSVC.
14503         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE): Set to 10000 on
14504         native Windows.
14506 2019-07-02  Bruno Haible  <bruno@clisp.org>
14508         usleep: Implement with millisecond resolution on native Windows.
14509         * lib/usleep.c (usleep): On native Windows, implement using Sleep().
14510         * doc/pastposix-functions/usleep.texi: Update accordingly.
14512 2019-07-02  Bruno Haible  <bruno@clisp.org>
14514         lstat tests: Fix test failure on MSVC.
14515         * tests/test-lstat.h (test_lstat_func): Don't test SAME_INODE values on
14516         native Windows, unless _GL_WINDOWS_STAT_INODES is defined.
14518 2019-07-02  Bruno Haible  <bruno@clisp.org>
14520         stat tests: Fix test failure on MSVC.
14521         * tests/test-stat.h (test_stat_func): Don't test SAME_INODE values on
14522         native Windows, unless _GL_WINDOWS_STAT_INODES is defined.
14524 2019-07-02  Bruno Haible  <bruno@clisp.org>
14526         getaddrinfo tests: Fix test failure on MSVC.
14527         * tests/test-getaddrinfo.c: Include sockets.h.
14528         (main): Invoke gl_sockets_startup.
14529         * modules/getaddrinfo-tests (Depends-on): Add sockets.
14531 2019-07-01  Hannes Müller  <h.c.f.mueller@gmx.de>
14533         poll: Fix type of timeout pointer passed to select() on mingw x86_64.
14534         * lib/poll.c: Call Windows native select() with Windows native timeval.
14536 2019-06-30  Bruno Haible  <bruno@clisp.org>
14538         argmatch: Fix compilation errors.
14539         * lib/argmatch.h: Include <limits.h>, for INT_MAX.
14540         * tests/test-argmatch.c (main): Update after last-minute function names
14541         change.
14543 2019-06-30  Bruno Haible  <bruno@clisp.org>
14545         Include <stdlib.h> when needed.
14546         * lib/cnd.c: Include <stdlib.h>, needed for abort().
14547         * lib/fcntl.c: Likewise.
14548         * lib/mbscasestr.c: Likewise.
14549         * lib/mbssep.c: Likewise.
14550         * lib/mbsstr.c: Likewise.
14551         * lib/openat.c: Include <stdlib.h>, needed for free().
14552         * lib/windows-tls.c: Include <stdlib.h>, needed for malloc(), free(),
14553         abort().
14555 2019-06-30  Bruno Haible  <bruno@clisp.org>
14557         Include <stdlib.h> when needed.
14558         * lib/areadlinkat.c: Include <stdlib.h>, needed for free() in at-func.c.
14559         * lib/faccessat.c: Likewise.
14560         * lib/fchmodat.c: Likewise.
14561         * lib/fchownat.c: Likewise.
14562         * lib/fstatat.c: Likewise.
14563         * lib/mkfifoat.c: Likewise.
14564         * lib/mknodat.c: Likewise.
14565         * lib/readlinkat.c: Likewise.
14566         * lib/symlinkat.c: Likewise.
14567         * lib/utimensat.c: Likewise.
14568         * lib/mkdirat.c: Likewise. Include also the specification header.
14570 2019-06-30  Bruno Haible  <bruno@clisp.org>
14572         inet_ntop, inet_pton: Avoid conflict with native Windows functions.
14573         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WS2TCPIP): New macro, extracted
14574         from gl_PREREQ_SYS_H_SOCKET.
14575         (gl_PREREQ_SYS_H_SOCKET): Invoke it.
14576         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Invoke
14577         gl_PREREQ_SYS_H_WS2TCPIP.
14578         * modules/arpa_inet (Files): Add m4/sys_socket_h.m4, m4/socklen.m4.
14579         (Makefile.am): Substitute HAVE_WS2TCPIP_H.
14580         * lib/arpa_inet.in.h: Include <ws2tcpip.h>.
14582 2019-06-30  Bruno Haible  <bruno@clisp.org>
14584         inet_ntop, inet_pton: Forward-compatibility with newer Windows versions.
14585         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): On native Windows, set
14586         REPLACE_INET_NTOP to 1 always.
14587         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): On native Windows, set
14588         REPLACE_INET_PTON to 1 always.
14590 2019-06-30  Bruno Haible  <bruno@clisp.org>
14592         inet_pton: Fix link error on mingw with _WIN32_WINNT >= 0x0600.
14593         * modules/inet_pton (Depends-on, configure.ac): Test REPLACE_INET_PTON,
14594         not REPLACE_INET_NTOP.
14596 2019-06-30  Bruno Haible  <bruno@clisp.org>
14598         poll: Add comment.
14599         * lib/poll.c: Add comment about WSAPoll.
14601 2019-06-30  Bruno Haible  <bruno@clisp.org>
14603         poll-h: Fix compilation error on mingw with _WIN32_WINNT >= 0x0600.
14604         Reported by Hannes Müller <h.c.f.mueller@gmx.de>.
14605         * lib/poll.in.h: Include <winsock2.h>.
14606         (POLL*, pollfd): Override on native Windows.
14607         * m4/poll_h.m4 (gl_POLL_H): Invoke gl_PREREQ_SYS_H_WINSOCK2.
14608         * modules/poll-h (Files): Add m4/sys_socket_h.m4.
14609         (Makefile.am): Substitute HAVE_WINSOCK2_H.
14611 2019-06-28  Bruno Haible  <bruno@clisp.org>
14613         accept4: Fix compilation error on OpenIndiana.
14614         Reported by Michal Nowak <mnowak@startmail.com>
14615         via Mark H Weaver <mhw@netris.org>.
14616         * m4/accept.m4 (gl_FUNC_ACCEPT4): Test whether accept4 is declared, not
14617         whether it exists as a function.
14619 2019-06-26  Paul Eggert  <eggert@cs.ucla.edu>
14621         strverscmp: sync from glibc
14622         * lib/strverscmp.c: Sync from glibc, except use UTF-8 encoding in
14623         comments, include libc-config.h, define __strverscmp to be
14624         strverscmp, and don’t assume types line uint8_t and int8_t that
14625         that C99 doesn’t guarantee.
14626         [!_LIBC]: Include libc-config.h; define __strverscmp.
14627         Include stdint.h.
14628         (__strverscmp): Assume C99.  Use uint_least8_t
14629         and int_least8_t instead of unsigned char and signed char.
14630         * modules/strverscmp (Depends-on): Add libc-config, stdint.
14632 2019-06-25  Bruno Haible  <bruno@clisp.org>
14634         tss tests: Add tests for destructors and races.
14635         * tests/test-tss.c (worker_thread): Fix typo in debug message.
14636         (test_tss_dtorcheck1, test_tss_dtorcheck2, test_tss_racecheck): New
14637         functions.
14638         (main): Invoke them.
14639         * modules/tls-tests (Depends-on): Add mtx.
14641 2019-06-25  Bruno Haible  <bruno@clisp.org>
14643         tls tests: Add tests for destructors and races.
14644         * tests/test-tls.c: Include glthread/lock.h.
14645         (test_tls_dtorcheck1, test_tls_dtorcheck2, test_tls_racecheck): New
14646         functions.
14647         (main): Invoke them.
14648         * modules/tls-tests (Depends-on): Add lock.
14650 2019-06-25  Bruno Haible  <bruno@clisp.org>
14652         windows-tls: Implement TLS key destructors for native Windows.
14653         * lib/windows-tls.h (glwthread_tls_process_destructors): New
14654         declaration.
14655         (GLWTHREAD_DESTRUCTOR_ITERATIONS): New macro.
14656         * lib/windows-tls.c: Include <limits.h>, windows-once.h.
14657         (dtor_table_init_once, dtor_table_lock: New variables.
14658         (struct dtor): New type.
14659         (dtor_table, dtors_count, dtors_used, dtors_allocated,
14660         dtor_processing_threads): New variables.
14661         (dtor_table_initialize, dtor_table_ensure_initialized,
14662         dtor_table_shrink_used, glwthread_tls_process_destructors): New
14663         functions.
14664         (glwthread_tls_key_create, glwthread_tls_key_delete): Rewritten to
14665         handle non-NULL destructors.
14666         * modules/windows-tls (Depends-on): Add windows-once.
14667         * lib/glthread/tls.h (glthread_tls_key_init, glthread_tls_key_destroy):
14668         Use the functions declared in windows-tls.h.
14669         * lib/threads.in.h (TSS_DTOR_ITERATIONS): Define using
14670         GLWTHREAD_DESTRUCTOR_ITERATIONS.
14671         * lib/windows-thread.c: Include windows-tls.h.
14672         (wrapper_func, glwthread_thread_exit): Invoke
14673         glwthread_tls_process_destructors.
14674         * modules/windows-thread (Depends-on): Add windows-tls.
14676 2019-06-25  Bruno Haible  <bruno@clisp.org>
14678         threadlib: Avoid autoconf warning "was expanded before it was required".
14679         * modules/threadlib (configure.ac): Require gl_THREADLIB.
14681 2019-06-25  Akim Demaille  <akim@lrde.epita.fr>
14683         argmatch: remove duplicate const qualifier
14684         * lib/argmatch.h (ARGMATCH_DEFINE_GROUP): Here.
14686 2019-06-24  Paul Eggert  <eggert@cs.ucla.edu>
14688         unistd: stddef.h and sys/types.h namespace cleanup
14689         * lib/unistd.in.h [__GLIBC__]:
14690         Do not include stddef.h or sys/types.h.
14691         [!__GLIBC__]: Always include sys/types.h, since unistd.h is
14692         supposed to declare off_t and ssize_t.  Problem found when looking
14693         at why @GNULIB_PWRITE@ was different from the newly-added
14694         @GNULIB_COPY_FILE_RANGE@ with respect to ssize_t.
14696 2019-06-22  Akim Demaille  <akim@lrde.epita.fr>
14698         maintainer-makefile: restore portability to non-GNU awks
14699         Reported by Tim Rühsen.
14700         * top/maint.mk (AWK): New variable.  Use it.
14701         (sc_prohibit_gnu_make_extensions): Skip if $(AWK) is not gawk.
14703 2019-06-23  Paul Eggert  <eggert@cs.ucla.edu>
14705         Document setvbuf _IOLBF problem
14706         * doc/posix-functions/setvbuf.texi (setvbuf):
14707         Document MS-Windows portability problem with _IOLBF.
14709         Document lseek SEEK_DATA/SEEK_HOLE
14710         * doc/posix-functions/lseek.texi (lseek):
14711         Document some systems that do not support SEEK_DATA and SEEK_HOLE.
14713 2019-06-22  Akim Demaille  <akim@lrde.epita.fr>
14715         argmatch: put all the docs member last.
14716         Reported by Bruno Haible.
14717         * lib/argmatch.h (argmatch_##Name##_group_type): Put the args
14718         member before the docs done.
14719         * doc/argmatch.texi, tests/test-argmatch.c: Adjust.
14721 2019-06-21  Akim Demaille  <akim@lrde.epita.fr>
14723         argmatch: add support to generate the usage message.
14724         * lib/argmatch.c: Move some #includes and gettext support to...
14725         * lib/argmatch.h: here.
14726         (ARGMATCH_DEFINE_GROUP): New macro.
14727         * tests/test-argmatch.c (argmatch_backup_docs, argmatch_backup_args)
14728         (argmatch_backup_group): New.
14729         (CHECK): New.
14730         (main): Check argmatch_backup_value, argmatch_backup_xvalue,
14731         argmatch_backup_argument and argmatch_backup_usage.
14732         * modules/argmatch: We depend on c99.
14733         * doc/argmatch.texi (Recognizing Option Arguments): New.
14734         * doc/gnulib.texi: Use it.
14736 2019-06-21  Bruno Haible  <bruno@clisp.org>
14738         thrd: Add comment.
14739         * lib/thrd.c (pthread_main_func): Add comment.
14741 2019-06-21  Bruno Haible  <bruno@clisp.org>
14743         threads-h: Define 'thread_local' if and only if it actually works.
14744         * m4/threads.m4 (gl_THREAD_LOCAL_DEFINITION): New macro.
14745         (gl_THREADS_H): Define _Thread_local to __thread also for ARM C, IBM C,
14746         Oracle Solaris Studio C. Compile a simple program, to see whether
14747         _Thread_local basically works. Set HAVE_THREAD_LOCAL and LIBTHREADLOCAL.
14748         (gl_THREADS_H_DEFAULTS): Initialize HAVE_THREAD_LOCAL.
14749         * lib/threads.in.h (thread_local): Undefine if it does not work.
14750         * modules/threads-h (Makefile.am): Substitute HAVE_THREAD_LOCAL.
14751         (Link): Mention LIBTHREADLOCAL.
14752         * tests/test-threads.c: Don't check that thread_local is defined.
14753         * tests/test-thread_local.c: New file.
14754         * modules/threads-h-tests (Files): Add it and macros.h.
14755         (Depends-on): Add thrd and stdint.
14756         (configure.ac): Test whether 'alarm' is declared.
14757         (Makefile.am): Arrange to build and link test-thread_local.
14758         * doc/posix-headers/threads.texi: Mention the platforms that don't
14759         support 'thread_local'.
14761 2019-06-20  Bruno Haible  <bruno@clisp.org>
14763         threads-h: Simplify link dependencies.
14764         * m4/threads.m4 (gl_THREADS_H): Bail out if Pth threading is requested.
14765         Don't set LTLIBSTDTHREAD.
14766         * modules/thrd (Link): Simplify accordingly.
14767         * modules/mtx (Link): Likewise.
14768         * modules/cnd (Link): Likewise.
14769         * modules/tss (Link): Likewise.
14770         * modules/threads (Link): Likewise.
14772 2019-06-20  Bruno Haible  <bruno@clisp.org>
14774         threads-h: Fix link error on FreeBSD 11.
14775         * m4/threads.m4 (gl_THREADS_H): When linking with -lstdthreads, link
14776         also with -lpthread.
14778 2019-06-20  Bruno Haible  <bruno@clisp.org>
14780         threadlib: Fix typo (regression from today).
14781         * m4/threadlib.m4 (gl_THREADLIB_BODY): Fix typo in comment marker.
14783 2019-06-20  Bruno Haible  <bruno@clisp.org>
14785         windows-thread, windows-tls: Fix compilation error on 32-bit mingw.
14786         * lib/windows-thread.c: Include <errno.h>.
14787         * lib/windows-tls.c: Likewise.
14789 2019-06-20  Bruno Haible  <bruno@clisp.org>
14791         tss tests: Small improvement.
14792         * tests/test-tss.c (test_tss): Pass a different id to each thread.
14794 2019-06-20  Bruno Haible  <bruno@clisp.org>
14796         threads: New module.
14797         * modules/threads: New file.
14799 2019-06-20  Bruno Haible  <bruno@clisp.org>
14801         tss: Add tests.
14802         * tests/test-tss.c: New file, based on tests/test-tls.c.
14803         * modules/tss-tests: New file.
14805 2019-06-20  Bruno Haible  <bruno@clisp.org>
14807         cnd: Add tests.
14808         * tests/test-cnd.c: New file, based on tests/test-cond.c.
14809         * modules/cnd-tests: New file.
14811 2019-06-20  Bruno Haible  <bruno@clisp.org>
14813         mtx: Add tests.
14814         * tests/test-mtx.c: New file, based on tests/test-lock.c.
14815         * tests/test-call_once.c: New file, based on tests/test-once.c.
14816         * modules/mtx-tests: New file.
14818 2019-06-20  Bruno Haible  <bruno@clisp.org>
14820         thrd: Add tests.
14821         * tests/test-thrd_create.c: New file, based on
14822         tests/test-thread_create.c.
14823         * tests/test-thrd_current.c: New file, based on
14824         tests/test-thread_self.c.
14825         * modules/thrd-tests: New file.
14827 2019-06-20  Bruno Haible  <bruno@clisp.org>
14829         tss: New module.
14830         * lib/tss.c: New file.
14831         * modules/tss: New file.
14832         * doc/posix-functions/tss_create.texi: Mention the new module.
14833         * doc/posix-functions/tss_set.texi: Likewise.
14834         * doc/posix-functions/tss_get.texi: Likewise.
14835         * doc/posix-functions/tss_delete.texi: Likewise.
14837 2019-06-20  Bruno Haible  <bruno@clisp.org>
14839         cnd: New module.
14840         * lib/cnd.c: New file.
14841         * modules/cnd: New file.
14842         * doc/posix-functions/cnd_init.texi: Mention the new module.
14843         * doc/posix-functions/cnd_wait.texi: Likewise.
14844         * doc/posix-functions/cnd_timedwait.texi: Likewise.
14845         * doc/posix-functions/cnd_signal.texi: Likewise.
14846         * doc/posix-functions/cnd_broadcast.texi: Likewise.
14847         * doc/posix-functions/cnd_destroy.texi: Likewise.
14849 2019-06-20  Bruno Haible  <bruno@clisp.org>
14851         mtx: New module.
14852         * lib/mtx.c: New file.
14853         * modules/mtx: New file.
14854         * doc/posix-functions/call_once.texi: Mention the new module.
14855         * doc/posix-functions/mtx_init.texi: Likewise.
14856         * doc/posix-functions/mtx_lock.texi: Likewise.
14857         * doc/posix-functions/mtx_trylock.texi: Likewise.
14858         * doc/posix-functions/mtx_timedlock.texi: Likewise.
14859         * doc/posix-functions/mtx_unlock.texi: Likewise.
14860         * doc/posix-functions/mtx_destroy.texi: Likewise.
14862 2019-06-20  Bruno Haible  <bruno@clisp.org>
14864         thrd: New module.
14865         * lib/thrd.c: New file.
14866         * m4/thrd.m4: New file.
14867         * modules/thrd: New file.
14868         * doc/posix-functions/thrd_current.texi: Mention the new module.
14869         * doc/posix-functions/thrd_detach.texi: Likewise.
14870         * doc/posix-functions/thrd_equal.texi: Likewise.
14871         * doc/posix-functions/thrd_exit.texi: Likewise.
14872         * doc/posix-functions/thrd_sleep.texi: Likewise.
14873         * doc/posix-functions/thrd_yield.texi: Likewise.
14874         * doc/posix-functions/thrd_create.texi: Mention the new module and the
14875         AIX bug.
14876         * doc/posix-functions/thrd_join.texi: Mention the new module and the
14877         AIX and Solaris bugs.
14879 2019-06-20  Bruno Haible  <bruno@clisp.org>
14881         threads-h: Add tests.
14882         * tests/test-threads.c: New file.
14883         * modules/threads-h-tests: New file.
14884         * tests/test-threads-c++.cc: New file.
14885         * modules/threads-h-c++-tests: New file.
14887 2019-06-20  Bruno Haible  <bruno@clisp.org>
14889         threads-h: New module.
14890         * lib/threads.in.h: New file.
14891         * m4/threads.m4: New file.
14892         * m4/yield.m4 (gl_YIELD): Update comment.
14893         * modules/threads-h: New file.
14894         * modules/yields (configure.ac): Use AC_REQUIRE.
14895         * doc/posix-headers/threads.texi: Mention the new module and the AIX
14896         bugs.
14898 2019-06-20  Bruno Haible  <bruno@clisp.org>
14900         windows-thread: New module.
14901         * lib/windows-thread.h: New file, based on lib/glthread/thread.h.
14902         * lib/windows-thread.c: New file, based on lib/glthread/thread.c.
14903         * lib/glthread/thread.h: Include windows-thread.h.
14904         (gl_thread_t): Define using glwthread_thread_t.
14905         (glthread_create): Define using glwthread_thread_create.
14906         (glthread_join): Define using glwthread_thread_join.
14907         (gl_thread_self): Define using glwthread_thread_self.
14908         (gl_thread_exit): Define using glwthread_thread_exit.
14909         (glthread_create_func, glthread_join_func, gl_thread_self_func,
14910         gl_thread_exit_func): Remove declarations.
14911         * lib/glthread/thread.c (self_key): Remove variable.
14912         (do_init_self_key, init_self_key): Remove functions.
14913         (struct gl_thread_struct): Remove type.
14914         (get_current_thread_handle, gl_thread_self_func, wrapper_func,
14915         glthread_create_func, glthread_join_func, gl_thread_exit_func): Remove
14916         functions.
14917         * modules/windows-thread: New file.
14918         * modules/thread (Depends-on): Add windows-thread.
14920 2019-06-20  Bruno Haible  <bruno@clisp.org>
14922         windows-tls: New module.
14923         * lib/windows-tls.h: New file, based on lib/glthread/tls.h.
14924         * lib/windows-tls.c: New file, based on lib/glthread/tls.h.
14925         * lib/glthread/tls.h: Include windows-tls.h.
14926         (gl_tls_key_t): Define using glwthread_tls_key_t.
14927         * modules/windows-tls: New file.
14928         * modules/tls (Depends-on): Add windows-tls.
14930 2019-06-20  Bruno Haible  <bruno@clisp.org>
14932         windows-cond: New module.
14933         * lib/windows-cond.h: New file, based on lib/glthread/cond.h.
14934         * lib/windows-cond.c: New file, based on lib/glthread/cond.c.
14935         * lib/glthread/cond.h: Include windows-cond.h.
14936         (struct gl_waitqueue_link, gl_linked_waitqueue_t): Remove types.
14937         (gl_cond_t): Define using glwthread_cond_t.
14938         (gl_cond_initializer): Define using GLWTHREAD_COND_INIT.
14939         (glthread_cond_init): Define using glwthread_cond_init.
14940         (glthread_cond_wait): Define using glwthread_cond_wait.
14941         (glthread_cond_timedwait): Define using glwthread_cond_timedwait.
14942         (glthread_cond_signal): Define using glwthread_cond_signal.
14943         (glthread_cond_broadcast): Define using glwthread_cond_broadcast.
14944         (glthread_cond_destroy): Define using glwthread_cond_destroy.
14945         (glthread_cond_init_func, glthread_cond_wait_func,
14946         glthread_cond_timedwait_func, glthread_cond_signal_func,
14947         glthread_cond_broadcast_func, glthread_cond_destroy_func): Remove
14948         declarations.
14949         * lib/glthread/cond.c (gl_waitqueue_t, gl_waitqueue_element): Remove
14950         types.
14951         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
14952         gl_waitqueue_notify_first, gl_waitqueue_notify_all,
14953         glthread_cond_init_func, glthread_cond_wait_func,
14954         glthread_cond_timedwait_func, glthread_cond_signal_func,
14955         glthread_cond_broadcast_func, glthread_cond_destroy_func): Remove
14956         functions.
14957         * modules/windows-cond: New file.
14958         * modules/cond (Depends-on): Add windows-cond. Remove gettimeofday.
14960 2019-06-20  Bruno Haible  <bruno@clisp.org>
14962         windows-timedrecmutex: New module.
14963         * lib/windows-timedrecmutex.h: New file, based on windows-recmutex.h.
14964         * lib/windows-timedrecmutex.c: New file, based on windows-recmutex.c.
14965         * modules/windows-timedrecmutex: New file.
14967 2019-06-20  Bruno Haible  <bruno@clisp.org>
14969         windows-timedmutex: New module.
14970         * lib/windows-timedmutex.h: New file, based on windows-mutex.h.
14971         * lib/windows-timedmutex.c: New file, based on windows-mutex.c.
14972         * modules/windows-timedmutex: New file.
14974 2019-06-20  Bruno Haible  <bruno@clisp.org>
14976         windows-recmutex: New module.
14977         * lib/windows-recmutex.h: New file, extracted from lib/glthread/lock.h.
14978         * lib/windows-recmutex.c: New file, extracted from lib/glthread/lock.c.
14979         * lib/glthread/lock.h: Include windows-recmutex.h.
14980         (gl_recursive_lock_t): Define using glwthread_recmutex_t.
14981         (gl_recursive_lock_initializer): Define using GLWTHREAD_RECMUTEX_INIT.
14982         (glthread_recursive_lock_init): Define using glwthread_recmutex_init.
14983         (glthread_recursive_lock_lock): Define using glwthread_recmutex_lock.
14984         (glthread_recursive_lock_unlock): Define using
14985         glwthread_recmutex_unlock.
14986         (glthread_recursive_lock_destroy): Define using
14987         glwthread_recmutex_destroy.
14988         (glthread_recursive_lock_init_func, glthread_recursive_lock_lock_func,
14989         glthread_recursive_lock_unlock_func,
14990         glthread_recursive_lock_destroy_func): Remove declarations.
14991         * lib/glthread/lock.c (glthread_recursive_lock_init_func,
14992         glthread_recursive_lock_lock_func, glthread_recursive_lock_unlock_func,
14993         glthread_recursive_lock_destroy_func): Remove functions.
14994         * modules/windows-recmutex: New file.
14995         * modules/lock (Depends-on): Add windows-recmutex.
14997 2019-06-20  Bruno Haible  <bruno@clisp.org>
14999         windows-mutex: New module.
15000         * lib/windows-mutex.h: New file, extracted from lib/glthread/lock.h.
15001         * lib/windows-mutex.c: New file, extracted from lib/glthread/lock.c.
15002         * lib/windows-spinlock.h: New file, extracted from lib/glthread/lock.h.
15003         * lib/glthread/lock.h: Include windows-spinlock.h, windows-mutex.h.
15004         (gl_spinlock_t): Remove type.
15005         (gl_lock_t): Define using glwthread_mutex_t.
15006         (gl_lock_initializer): Define using GLWTHREAD_MUTEX_INIT.
15007         (glthread_lock_init): Define using glwthread_mutex_init.
15008         (glthread_lock_lock): Define using glwthread_mutex_lock.
15009         (glthread_lock_unlock): Define using glwthread_mutex_unlock.
15010         (glthread_lock_destroy): Define using glwthread_mutex_destroy.
15011         (glthread_lock_init_func, glthread_lock_lock_func,
15012         glthread_lock_unlock_func, glthread_lock_destroy_func): Remove
15013         declarations.
15014         Use glwthread_spinlock_t instead of gl_spinlock_t.
15015         (gl_rwlock_initializer, gl_recursive_lock_initializer): Define using
15016         GLWTHREAD_SPINLOCK_INIT.
15017         * lib/glthread/lock.c (glthread_lock_init_func, glthread_lock_lock_func,
15018         glthread_lock_unlock_func, glthread_lock_destroy_func): Remove
15019         functions.
15020         * lib/glthread/cond.h: Use glwthread_spinlock_t instead of
15021         gl_spinlock_t.
15022         * modules/windows-mutex: New file.
15023         * modules/lock (Depends-on): Add windows-mutex.
15025 2019-06-20  Bruno Haible  <bruno@clisp.org>
15027         windows-once: New module.
15028         * lib/windows-once.h: New file, extracted from lib/glthread/lock.h.
15029         * lib/windows-once.c: New file, extracted from lib/glthread/lock.c.
15030         * lib/glthread/lock.h: Include windows-once.h.
15031         (gl_once_t): Define using glwthread_once_t.
15032         (gl_once_define): Define using GLWTHREAD_ONCE_INIT.
15033         (glthread_once): Define using glwthread_once.
15034         (glthread_once_func): Remove declaration.
15035         * lib/glthread/lock.c (glthread_once_func): Remove function.
15036         * modules/windows-once: New file.
15037         * modules/lock (Depends-on): Add windows-once.
15039 2019-06-20  Bruno Haible  <bruno@clisp.org>
15041         lock, cond: Avoid possible counter wraparound on Windows.
15042         * lib/glthread/lock.c (glthread_lock_lock_func): Leave the 'started'
15043         field of the guard unchanged if it was already positive.
15044         (glthread_rwlock_rdlock_func): Likewise.
15045         (glthread_rwlock_wrlock_func): Likewise.
15046         (glthread_recursive_lock_lock_func): Likewise.
15047         * lib/glthread/cond.c (glthread_cond_wait_func): Likewise.
15048         (glthread_cond_timedwait_func): Likewise.
15050 2019-06-20  Bruno Haible  <bruno@clisp.org>
15052         cond: Make glthread_cond_timedwait more reliable on Windows.
15053         * lib/glthread/cond.c (glthread_cond_timedwait_func): Initialize the
15054         condition variable before looking at the current time.
15056 2019-06-20  Bruno Haible  <bruno@clisp.org>
15058         pthread_mutex_timedlock: New module.
15059         * lib/pthread.in.h (pthread_mutex_timedlock): New dummy function and
15060         new declaration.
15061         * lib/pthread_mutex_timedlock.c: New file.
15062         * m4/pthread_mutex_timedlock.m4: New file.
15063         * m4/pthread.m4 (gl_PTHREAD_CHECK): Don't call AC_LIBOBJ here. Test
15064         whether pthread_mutex_timedlock is declared.
15065         (gl_PTHREAD_MODULE_INDICATOR): New macro.
15066         (gl_PTHREAD_DEFAULTS): Initialize GNULIB_PTHREAD_MUTEX_TIMEDLOCK,
15067         HAVE_PTHREAD_MUTEX_TIMEDLOCK.
15068         * modules/pthread (configure.ac): Call AC_LIBOBJ here.
15069         (Makefile.am): Substitute GNULIB_PTHREAD_MUTEX_TIMEDLOCK,
15070         HAVE_PTHREAD_MUTEX_TIMEDLOCK.
15071         * modules/pthread_mutex_timedlock: New file.
15072         * doc/posix-functions/pthread_mutex_timedlock.texi: Mention the new
15073         module.
15075 2019-06-20  Bruno Haible  <bruno@clisp.org>
15077         thread, lock, cond, tls: Recognize C11 multithreaded applications.
15078         * m4/threadlib.m4 (gl_THREADLIB_BODY): Test for <threads.h>.
15079         * lib/glthread/thread.h (c11_threads_in_use): New macro.
15080         (pthread_in_use, pth_in_use, thread_in_use): Use it.
15081         * lib/glthread/lock.h (c11_threads_in_use): New macro.
15082         (pthread_in_use, pth_in_use, thread_in_use): Use it.
15083         * lib/glthread/cond.h (c11_threads_in_use): New macro.
15084         (pthread_in_use, pth_in_use, thread_in_use): Use it.
15085         * lib/glthread/tls.h (c11_threads_in_use): New macro.
15086         (pthread_in_use, pth_in_use, thread_in_use): Use it.
15088 2019-06-20  Bruno Haible  <bruno@clisp.org>
15090         tls tests: Small improvements.
15091         * tests/test-tls.c: Include <stdint.h>.
15092         (worker_thread): Avoid gcc warning on 64-bit mingw.
15093         (test_tls): Pass a different id to each thread.
15094         * modules/tls-tests (Depends-on): Add stdint.
15096 2019-06-20  Bruno Haible  <bruno@clisp.org>
15098         cond tests: Simplify.
15099         * tests/test-cond.c (test_timedcond): Remove redundant assignment.
15101 2019-06-20  Bruno Haible  <bruno@clisp.org>
15103         lock tests: Avoid reference to undefined variable if !ENABLE_LOCKING.
15104         * tests/test-lock.c (test_once): Don't reference fire_signal if
15105         !ENABLE_LOCKING.
15107 2019-06-19  Bruno Haible  <bruno@clisp.org>
15109         nanosleep: Relicense under LGPLv2+.
15110         Approved by Jim Meyering, Paul Eggert, Eric Blake, Pádraig Brady.
15111         * modules/nanosleep (License): Change to LGPLv2+.
15113 2019-06-19  Bruno Haible  <bruno@clisp.org>
15115         Reorder pieces of header in perl scripts.
15116         The desired order is
15117         - Prologue part 1 (2 lines with #!)
15118         - Program short description
15119         - Copyright and license notice
15120         - Written-by notice
15121         - Program short description (optional)
15122         - Program long description (optional)
15123         - Prologue part 2
15124         - Time stamp
15125         - Code
15126         Reported by Paul Eggert.
15127         * build-aux/announce-gen: Reorder header.
15128         * build-aux/gitlog-to-changelog: Likewise.
15129         * build-aux/useless-if-before-free: Likewise.
15130         * build-aux/prefix-gnulib-mk: Add copyright notice and short
15131         description.
15132         * build-aux/update-copyright: Likewise. Add short description. Bump
15133         time-stamp-line-limit to 200.
15135 2019-06-18  Paul Eggert  <eggert@cs.ucla.edu>
15137         verify-tests: work around xlc bug
15138         Problem reported by Bruno Haible in:
15139         https://lists.gnu.org/r/bug-gnulib/2019-06/msg00049.html
15140         * tests/test-verify.c (item): Move the arithmetic inside the
15141         verify_expr, to avoid tickling a bug in IBM AIX xlc V12.1.
15143 2019-06-16  Bruno Haible  <bruno@clisp.org>
15145         Restore Emacs time-stamp hook applicability.
15146         Reported by Darshit Shah <darnir@gnu.org>.
15147         * build-aux/useless-if-before-free: Bump time-stamp-line-limit to 50.
15148         * build-aux/announce-gen: Likewise.
15149         * build-aux/gitlog-to-changelog: Likewise.
15150         * build-aux/prefix-gnulib-mk: Likewise.
15151         * build-aux/update-copyright: Likewise.
15153 2019-06-15  Bruno Haible  <bruno@clisp.org>
15155         Fix scripts to have valid executable format on Alpine Linux.
15156         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
15157         Idea by Paul Eggert.
15158         * build-aux/useless-if-before-free: Use a prologue that starts with
15159         '#!/bin/sh'.
15160         * build-aux/announce-gen: Likewise.
15161         * build-aux/gitlog-to-changelog: Likewise.
15162         * build-aux/prefix-gnulib-mk: Likewise.
15163         * build-aux/update-copyright: Likewise.
15164         * tests/test-update-copyright.sh: Update test program accordingly.
15166 2019-06-10  Bruno Haible  <bruno@clisp.org>
15168         nproc: Ensure nproc(NPROC_ALL) ≥ nproc(NPROC_CURRENT) with glibc ≥ 2.26.
15169         Reported by Nikita Ermakov <arei@altlinux.org> in
15170         <https://lists.gnu.org/archive/html/bug-gnulib/2019-06/msg00003.html>.
15171         * lib/nproc.c (num_processors_ignoring_omp): Treat a return value of
15172         sysconf (_SC_NPROCESSORS_CONF) == 2 like a return value == 1.
15174 2019-06-10  Bruno Haible  <bruno@clisp.org>
15176         posix_spawn_file_actions_addchdir: Fix possible use-after-free bug.
15177         * lib/spawn_int.h (struct __spawn_action): Remove 'const' from path.
15178         * lib/spawn_faction_addchdir.c (posix_spawn_file_actions_addchdir): Make
15179         a copy of the path argument.
15180         * lib/spawn_faction_destroy.c (posix_spawn_file_actions_destroy): Free
15181         it.
15183 2019-06-10  Bruno Haible  <bruno@clisp.org>
15185         posix_spawn_file_actions_addopen: Fix possible use-after-free bug.
15186         Reported at <https://sourceware.org/bugzilla/show_bug.cgi?id=17048>.
15187         * lib/spawn_int.h (struct __spawn_action): Remove 'const' from path.
15188         * lib/spawn_faction_addopen.c (posix_spawn_file_actions_addopen): Make
15189         a copy of the path argument.
15190         * lib/spawn_faction_destroy.c (posix_spawn_file_actions_destroy): Free
15191         it.
15193 2019-06-10  Bruno Haible  <bruno@clisp.org>
15195         posix_spawn_file_actions_addfchdir: Add tests.
15196         * tests/test-posix_spawn_file_actions_addfchdir.c: New file.
15197         * tests/test-posix_spawn5.c: New file.
15198         * modules/posix_spawn_file_actions_addfchdir-tests: New file.
15200 2019-06-10  Bruno Haible  <bruno@clisp.org>
15202         posix_spawn_file_actions_addfchdir: New module.
15203         * lib/spawn.in.h (posix_spawn_file_actions_addfchdir): New declaration.
15204         * lib/spawn_int.h (struct __spawn_action): Add tag 'spawn_do_fchdir' and
15205         union member 'fchdir_action'.
15206         * lib/spawn_faction_addfchdir.c: New file.
15207         * lib/spawni.c (__spawni): Implement the spawn_do_fchdir action.
15208         * m4/posix_spawn_faction_addfchdir.m4: New file.
15209         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether module
15210         'posix_spawn_file_actions_addfchdir' is present and whether
15211         posix_spawn_file_actions_addfchdir_np exists. Set REPLACE_POSIX_SPAWN.
15212         * m4/spawn_h.m4 (gl_SPAWN_H): Test whether
15213         posix_spawn_file_actions_addfchdir is declared.
15214         (gl_SPAWN_H_DEFAULTS): Initialize
15215         GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDFCHDIR,
15216         HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDFCHDIR,
15217         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDFCHDIR.
15218         * modules/spawn (Makefile.am): Substitute
15219         GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDFCHDIR,
15220         HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDFCHDIR,
15221         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDFCHDIR.
15222         * modules/posix_spawn_file_actions_addfchdir: New file.
15223         * tests/test-spawn-c++.cc (posix_spawn_file_actions_addfchdir): Check
15224         signature.
15225         * doc/posix-functions/posix_spawn.texi: Mention the new module.
15226         * doc/posix-functions/posix_spawnp.texi: Likewise.
15227         * doc/glibc-functions/posix_spawn_file_actions_addfchdir_np.texi:
15228         Likewise.
15230 2019-06-10  Bruno Haible  <bruno@clisp.org>
15232         doc: Document existence of posix_spawn_file_actions_addchdir module.
15233         * doc/glibc-functions/posix_spawn_file_actions_addchdir_np.texi: Mention
15234         the posix_spawn_file_actions_addchdir module.
15236 2019-06-10  Bruno Haible  <bruno@clisp.org>
15238         posix_spawn-internal: Fix module description.
15239         * modules/posix_spawn (configure.ac): Move request to compile spawni.c
15240         from here...
15241         * modules/posix_spawnp (configure.ac): ... and here...
15242         * modules/posix_spawn-internal (configure.ac): ... to here.
15244 2019-06-10  Bruno Haible  <bruno@clisp.org>
15246         doc: Update and improve documentation of glibc functions.
15247         This is a series of commits that
15248         - updates the documentation to the state of glibc 2.29,
15249         - adds references to Linux man pages and glibc documentation,
15250         - marks Linux specific functions as such.
15251         These are the commits:
15252         doc: Update after removal of crypt functions from glibc 2.28.
15253         doc: Remove mention of function vm86 (does not exist on x86_64).
15254         doc: Remove mention of functions that are gone from glibc.
15255         doc: Mention that glibc no longer provides h_errno.
15256         doc: Mention the availability of specific functions in glibc versions.
15257         doc: Mention eaccess.
15258         doc: Add references to Linux man pages.
15259         doc: Add references to glibc documentation.
15260         doc: Mention inotify_* functions.
15261         doc: Mention ppoll.
15262         doc: Mention sched_getcpu.
15263         doc: Mention sync_file_range.
15264         doc: Mention epoll_pwait.
15265         doc: Mention eventfd, eventfd_read, eventfd_write.
15266         doc: Mention signalfd.
15267         doc: Mention timerfd_create, timerfd_gettime, timerfd_settime.
15268         doc: Mention epoll_create1.
15269         doc: Mention getauxval.
15270         doc: Mention pthread_getattr_default_np, pthread_setattr_default_np.
15271         doc: Mention nextdown, nextup.
15272         doc: Mention more ISO TS 18661-1 <math.h> functions.
15273         doc: Mention ISO TS 18661-1 <fenv.h> functions.
15274         doc: Mention getrandom, getentropy.
15275         doc: Mention strfromf, strfromd, strfroml.
15276         doc: Mention preadv2, pwritev2.
15277         doc: Mention copy_file_range.
15278         doc: Mention memfd_create.
15279         doc: Mention mlock2.
15280         doc: Mention pkey_alloc, pkey_set, pkey_get, pkey_free, pkey_mprotect.
15281         doc: Mention more ISO TS 18661-1 <math.h> functions.
15282         doc: Mention renameat2.
15283         doc: Mention statx.
15284         doc: Mention the ISO C11 multithreading header and functions.
15285         doc: Mention getcpu.
15286         doc: Mention posix_spawn_file_actions_add[f]chdir_np.
15287         doc: Some glibc functions also exist on IRIX 6.5 in 32-bit mode.
15288         doc: Some glibc functions also exist on FreeBSD, AIX, HP-UX, Solaris 11.
15289         doc: Some glibc functions also exist on FreeBSD, Solaris 11.
15290         doc: Some glibc functions also exist on Solaris 11.
15291         doc: Some glibc functions also exist on Solaris 11.4.
15292         doc: Some glibc functions also exist on FreeBSD.
15293         doc: Some glibc functions also exist on BeOS.
15294         doc: Some glibc functions also exist on Haiku.
15295         doc: Mark functions which exist only on Linux.
15296         doc: Mark functions which exist only on Linux and illumos.
15298 2019-06-06  Paul Eggert  <eggert@cs.ucla.edu>
15300         copy-file: fix typo
15301         * lib/copy-file.c (qcopy_file_preserving): Remove unused label.
15303         copy-file-range: simplify into a stub
15304         Based on a comment by Florian Weimer in:
15305         https://lists.gnu.org/r/bug-gnulib/2019-06/msg00007.html
15306         It turns out that Emacs (which will use this module) won’t need an
15307         emulation and I suspect other programs won’t either, because these
15308         programs will need to fall back on read+write anyway.  Perhaps I
15309         am wrong and other programs will be able to use an emulation; if
15310         so, this patch can be reverted.
15311         * lib/copy-file-range.c (COPY_FILE_RANGE): Replace with a stub.
15312         Just call it copy_file_range.
15313         * m4/copy-file-range.m4 (gl_FUNC_COPY_FILE_RANGE):
15314         Check via AC_LINK_IFELSE.
15315         * modules/copy-file-range (Depends-on): Remove modules no longer used.
15317 2019-06-04  Paul Eggert  <eggert@cs.ucla.edu>
15319         copy-file: prefer copy_file_range
15320         * lib/copy-file.c: Do not include xalloc.h.
15321         (qcopy_file_preserving): Allocate a buffer only if
15322         copy_file_range does not suffice.  If the allocation fails
15323         don't give up; just use a small stack-based buffer.
15324         Prefer copy_file_range if it works.
15325         * modules/copy-file (Depends-on): Add copy-file-range.
15326         Remove xalloc.
15328         copy-file-range: new module
15329         * MODULES.html.sh: Add copy-file-range.
15330         * lib/copy-file-range.c, m4/copy-file-range.m4:
15331         * modules/copy-file-range: New files.
15332         * lib/unistd.in.h (copy_file_range): Declare.
15333         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS):
15334         Set up GNULIB_COPY_FILE_RANGE and HAVE_COPY_FILE_RANGE.
15335         * modules/unistd (unistd.h): Substitute them.
15337 2019-05-28  Bruno Haible  <bruno@clisp.org>
15339         binary-io: Attempted use of O_BINARY on consoles no longer fails.
15340         Reported by KO Myung-Hun <komh78@gmail.com> in
15341         <https://lists.gnu.org/archive/html/bug-gnulib/2019-05/msg00124.html>.
15342         * lib/binary-io.h (__gl_setmode_check): Remove function.
15343         (set_binary_mode): Declare as notinline on DJGPP and EMX.
15344         * lib/binary-io.c (__gl_setmode_check): Remove function.
15345         (set_binary_mode): Define here on DJGPP and EMX. Inline
15346         __gl_setmode_check. In case of a tty, don't return an error code.
15348 2019-05-28  James Youngman  <jay@gnu.org>
15350         dirent-safer: Make opendir_safer usable from C++.
15351         * lib/dirent-safer.h: use extern "C".
15353 2019-05-28  James Youngman  <jay@gnu.org>
15355         canonicalize: Make canonicalize_filename_mode usable from C++.
15356         * lib/canonicalize.h: use extern "C".
15358 2019-05-26  Akim Demaille  <akim@lrde.epita.fr>
15360         prefix-gnulib-mk: Fix CPPFLAGS migration.
15361         * build-aux/prefix-gnulib-mk (prefix_assignment): Don't forget the
15362         _a part of the library name.
15364 2019-05-24  Paul Eggert  <eggert@cs.ucla.edu>
15366         flexmember: update comments again
15367         * lib/flexmember.h, m4/flexmember.m4: Improve comments further.
15369         flexmember: update comment
15370         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER): Improve comment.
15372 2019-05-20  Bruno Haible  <bruno@clisp.org>
15374         setlocale: Improve fallback on macOS.
15375         * lib/setlocale.c (search): Optimize away a redundant strcmp()
15376         invocation.
15377         (locales_with_principal_territory): New array.
15378         (langcmp, get_main_locale_with_same_language): New functions.
15379         (locales_with_principal_language): New array.
15380         (terrcmp, get_main_locale_with_same_territory): New functions.
15381         (rpl_setlocale): When setlocale_single failed, try again with a locale
15382         that is more likely to exist. Don't warn if the environment variable
15383         SETLOCALE_VERBOSE is not set.
15385 2019-05-19  Bruno Haible  <bruno@clisp.org>
15387         localename: Fix default on macOS.
15388         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Don't test for CFLocaleCopyCurrent.
15389         * lib/localename.c: Remove includes for HAVE_CFLOCALECOPYCURRENT.
15390         (gl_locale_name_environ, gl_locale_name_default): Remove code for
15391         HAVE_CFLOCALECOPYCURRENT.
15392         * lib/localename.h (gl_locale_name_default): Update.
15394 2019-05-19  Karl Berry  <karl@freefriends.org>
15396         * config/srclistvars.sh (TEXINFOTEX): make ftp.gnu.org be the
15397         source for texinfo.tex, replacing TEXINFOSRC, per Texinfo maintainer.
15398         * config/srclist.txt (texinfo.tex): use it. (Also doc changes.)
15400 2019-05-18  Akim Demaille  <akim@lrde.epita.fr>
15402         maintainer-makefile: catch uses of $< in non-implicit rules
15403         * top/maint.mk (sc_prohibit_magic_number_exit): New.
15405 2019-05-18  Bruno Haible  <bruno@clisp.org>
15407         threadlib: Provide an easy way to avoid mingw's winpthreads library.
15408         * m4/threadlib.m4 (gl_AVOID_WINPTHREAD): New macro.
15409         (gl_THREADLIB_EARLY_BODY): Recognize when it was invoked, and set
15410         gl_use_threads accordingly.
15412 2019-05-18  Bruno Haible  <bruno@clisp.org>
15414         pthread_sigmask: Fix compilation error with --enable-threads=windows.
15415         Reported by Tim Rühsen in
15416         <https://lists.gnu.org/archive/html/bug-gnulib/2018-01/msg00018.html>
15417         and Michele Locati in
15418         <https://lists.gnu.org/archive/html/bug-gettext/2019-04/msg00057.html>.
15419         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Revert change from
15420         2015-06-01. Test whether pthread_sigmask is a macro, regardless of
15421         $LIBMULTITHREAD. Consider it regardless whether module 'threadlib' is
15422         in use and regardless which threads API is chosen.
15424 2019-05-14  Paul Eggert  <eggert@cs.ucla.edu>
15426         close-stream, closein, closeout: simplify
15427         I noticed this opportunity for simplification while drafting a
15428         new, related module that I haven’t had time to finish yet.
15429         * m4/close-stream.m4, m4/closein.m4, m4/closeout.m4: Remove.
15430         * modules/close-stream (Files): Remove m4/close-stream.m4.
15431         (configure.ac): Omit gl_CLOSE_STREAM.
15432         * modules/closein (Files): Remove m4/closein.m4
15433         (configure.ac): Omit gl_CLOSEIN.
15434         * modules/closeout (Files): Remove m4/closeout.m4.
15435         (configure.ac): Omit gl_CLOSEOUT.
15437 2019-05-12  Bruno Haible  <bruno@clisp.org>
15439         libtool-next-version: New program.
15440         * build-aux/libtool-next-version: New file.
15442 2019-05-11  John Darrington  <john@darrington.wattle.id.au>
15443             Bruno Haible  <bruno@clisp.org>
15445         version-etc: Ease translation.
15446         * lib/version-etc.c (version_etc_arn, emit_bug_reporting_address): Move
15447         URLs and formatting newlines out of translatable string.
15449 2019-05-11  Bruno Haible  <bruno@clisp.org>
15451         gnupload: Explain how to create symlinks.
15452         * build-aux/gnupload (usage): Add an example that creates symlinks.
15454 2019-05-11  Paul Eggert  <eggert@cs.ucla.edu>
15456         fpucw: port to gcc -pedantic
15457         * lib/fpucw.h (GET_FPUCW, SET_FPUCW):
15458         Use __extension__ if using ({ ... }).
15460         crypto/af_alg: port to strict C compilers
15461         * lib/af_alg.c: Include af_alg.h regardless, so that the
15462         compilation unit is nonempty.
15464 2019-05-10  Bruno Haible  <bruno@clisp.org>
15466         base64: Avoid false positive warning from Coverity.
15467         Reported by Kamil Dudka <kdudka@redhat.com>.
15468         Idea by Paul Eggert.
15469         * lib/base64.c (base64_encode_fast, base64_encode): Add a no-op
15470         '& 0x3f' to the array index expressions. This convinces Coverity that
15471         there is no out-of-bounds array reference, regardless of the input.
15473 2019-05-09  Bruno Haible  <bruno@clisp.org>
15475         gettext: Update to gettext 0.20.
15476         * modules/gettext (Files): Remove m4/codeset.m4, m4/fcntl-o.m4,
15477         m4/glibc2.m4, m4/glibc21.m4, m4/intdiv0.m4, m4/intl.m4, m4/intldir.m4,
15478         m4/intmax.m4, m4/inttypes_h.m4, m4/inttypes-pri.m4, m4/lcmessage.m4,
15479         m4/lock.m4, m4/longlong.m4, m4/printf-posix.m4, m4/size_max.m4,
15480         m4/stdint_h.m4, m4/threadlib.m4, m4/uintmax_t.m4, m4/visibility.m4,
15481         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4. Add m4/host-cpu-c-abi.m4.
15482         (configure.ac): Request infrastructure compatible with gettext 0.20.
15483         * m4/glibc2.m4: Remove file.
15484         * m4/intdiv0.m4: Remove file.
15485         * m4/intl.m4: Remove file.
15486         * m4/intldir.m4: Remove file.
15487         * m4/intmax.m4: Remove file.
15488         * m4/printf-posix.m4: Remove file.
15489         * m4/uintmax_t.m4: Remove file.
15490         * m4/gettext.m4: Update from gettext 0.20.
15491         * m4/po.m4: Likewise.
15493 2019-05-09  Paul Eggert  <eggert@cs.ucla.edu>
15495         verify: remove verify_true
15496         * NEWS: Mention this.
15497         * lib/verify.h (verify_true): Remove.
15498         * tests/test-verify.c (item): Test verify_expr, not verify_true.
15500         Support C2X and C++17 static_assert
15501         C2X and C++17 finally added support for a simple, single-argument
15502         ‘static_assert’ that implements what the Gnulib ‘verify’ macro was
15503         doing back in 2005.  Implement static_assert on older platforms.
15504         The only remaining advantage of ‘verify’ is a shorter name.
15505         * doc/posix-headers/assert.texi (assert.h):
15506         * doc/verify.texi (Compile-time Assertions):
15507         Modernize for C2X and C++17.
15508         * lib/verify.h (_GL_HAVE__STATIC_ASSERT1, _GL_HAVE_STATIC_ASSERT1):
15509         New macros.
15510         (_GL_HAVE__STATIC_ASSERT): Remove.
15511         (_GL_HAVE__STATIC_ASSERT): Rely more heavily on __STDC_VERSION__.
15512         (_GL_VERIFY_TRUE, _GL_VERIFY_TYPE): Remove 2nd arg, the diagnostic
15513         string.  All callers changed.
15514         (_GL_VERIFY): Require 3 or more args, of which only the first 2
15515         are used.  All callers changed.
15516         (_Static_assert): Allow either 1 or 2 args, and define if
15517         !_GL_HAVE__STATIC_ASSERT1 instead of defining if
15518         !_GL_HAVE__STATIC_ASSERT.
15519         (static_assert): Define if !_GL_HAVE_STATIC_ASSERT1 instead
15520         of defining if !_GL_HAVE_STATIC_ASSERT.
15521         (verify_expr, verify): Don’t bother trying to copy the expression
15522         into the diagnostic, since 1-argument static_assert doesn’t.
15523         (verify): Prefer 1-argument _Static_assert if it works.
15524         * m4/assert_h.m4 (gl_ASSERT_H): Check for 1-argument static_assert.
15526 2019-05-08  Paul Eggert  <eggert@cs.ucla.edu>
15528         Fix _GL_HAVE__STATIC_ASSERT typo
15529         * lib/verify.h (_Static_assert): For the FreeBSD workaround,
15530         use _GL_HAVE__STATIC_ASSERT, not _GL_HAVE_STATIC_ASSERT.
15532 2019-05-05  Bruno Haible  <bruno@clisp.org>
15534         wcwidth: Ensure width 1, not 2, for ambiguous characters.
15535         Reported by Kiyoshi KANAZAWA <yoi_no_myoujou@yahoo.co.jp>
15536         via Akim Demaille <akim.demaille@gmail.com>.
15537         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check the width of U+2202. Use an
15538         en_US.UTF-8 locale, since that is more likely to be present than an
15539         fr_FR.UTF-8 locale.
15540         * tests/test-wcwidth.c (main): Check the width of U+2202.
15541         * doc/posix-functions/wcwidth.texi: Mention the issue.
15543 2019-05-03  Paul Eggert  <eggert@cs.ucla.edu>
15545         Port manywarnings to GCC 9
15546         * build-aux/gcc-warning.spec: Sort.  Add -Wattribute-alias,
15547         -Wc11-c2x-compat, -Wcast-result (for the D programming language),
15548         -Wclass-conversion, -Wdeprecated-copy, -Wdeprecated-copy-dtor,
15549         -Winit-list-lifetime, -Wpessimizing-move, -Wprio-ctor-dtor,
15550         -Wredundant-move.  Adjust to minor wording changes in GCC 9’s
15551         --help=warnings output.
15552         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -Wabsolute-value,
15553         -Waddress-of-packed-member, -Wattribute-warning, -Wcannot-profile,
15554         -Wmissing-profile.  Change -Wattribute-alias to -Wattribute-alias=2.
15556 2019-04-30  Paul Eggert  <eggert@cs.ucla.edu>
15558         Sync lib/mktime-internal.h from glibc
15559         * config/srclist.txt: Add entry for lib/mktime-internal.h.
15560         * lib/mktime-internal.h: Autoupdate.
15562 2019-04-28  Bruno Haible  <bruno@clisp.org>
15564         tls tests: Prevent that the test takes too long.
15565         * tests/test-tls.c: Include <signal.h>, <unistd.h>.
15566         (main): Let the test fail if it takes more than 10 minutes.
15567         * modules/tls-tests (configure.ac): Test whether 'alarm' is declared.
15569 2019-04-27  Bruno Haible  <bruno@clisp.org>
15571         lock tests: Prevent that the test takes too long.
15572         * tests/test-lock.c: Include <signal.h>, <unistd.h>.
15573         (main): Let the test fail if it takes more than 10 minutes.
15574         * modules/lock-tests (configure.ac): Test whether 'alarm' is declared.
15576 2019-04-27  Bruno Haible  <bruno@clisp.org>
15578         localename: Fix crash on mingw (regression from 2018-11-23).
15579         * lib/localename.c (gl_locale_name_posix): Don't attempt to convert a
15580         locale name that is null.
15582 2019-04-27  Bruno Haible  <bruno@clisp.org>
15584         Fix gcc warnings on 64-bit mode mingw.
15585         * lib/clean-temp.c: Include <stdint.h> instead of defining uintptr_t.
15586         * lib/gl_array_list.c: Likewise.
15587         * lib/gl_array_map.c: Likewise.
15588         * lib/gl_array_set.c: Likewise.
15589         * lib/gl_carray_list.c: Likewise.
15590         * lib/gl_sublist.c: Likewise.
15591         * lib/gl_avltreehash_list.c (uintptr_t): Remove definition.
15592         * lib/gl_rbtreehash_list.c (uintptr_t): Likewise.
15593         * lib/gl_hash_map.c (uintptr_t): Likewise.
15594         * lib/gl_hash_set.c (uintptr_t): Likewise.
15595         * lib/gl_linkedhash_list.c (uintptr_t): Likewise.
15596         * lib/gl_linkedhash_map.c (uintptr_t): Likewise.
15597         * lib/gl_linkedhash_set.c (uintptr_t): Likewise.
15598         * lib/iconv.c (uintptr_t): Likewise.
15599         * lib/iconv_close.c (uintptr_t): Likewise.
15600         * tests/test-lock.c: Include <stdint.h>.
15601         (once_contender_thread, test_once): Cast through 'intptr_t' instead of
15602         'long'.
15603         * modules/clean-temp (Depends-on): Add stdint.
15604         * modules/array-list (Depends-on): Likewise.
15605         * modules/array-map (Depends-on): Likewise.
15606         * modules/array-set (Depends-on): Likewise.
15607         * modules/carray-list (Depends-on): Likewise.
15608         * modules/sublist (Depends-on): Likewise.
15609         * modules/lock-tests (Depends-on): Likewise.
15611 2019-04-27  Bruno Haible  <bruno@clisp.org>
15613         error: Tweak indentation.
15614         * lib/error.c: Correct indentation.
15616 2019-04-27  Bruno Haible  <bruno@clisp.org>
15618         term-style-control: Fix gcc warning on mingw.
15619         * lib/term-style-control.c (ensure_other_signal_handlers): Reduce scope
15620         of i.
15622 2019-04-26  Bruno Haible  <bruno@clisp.org>
15624         pipe-filter-gi, pipe-filter-ii: Fix gcc warning.
15625         * lib/pipe-filter-aux.h (read): Undefine before redefinition.
15627 2019-04-26  Bruno Haible  <bruno@clisp.org>
15629         relocatable-prog: Fix gcc warning on mingw.
15630         * lib/progreloc.c (maybe_executable): Don't define on native Windows and
15631         on EMX.
15633 2019-04-02  Bruno Haible  <bruno@clisp.org>
15635         gitsub.sh: New file.
15636         * top/gitsub.sh: New file.
15638 2019-04-18  Akim Demaille  <akim@lrde.epita.fr>
15640         argmatch: use void* for raw memory pointers
15641         * lib/argmatch.h, lib/argmatch.c (argmatch, argmatch_valid)
15642         (__xargmatch_internal, argmatch_to_argument): Use void* for pointers
15643         to "values", keep char* for strings.
15645 2019-04-21  Akim Demaille  <akim@lrde.epita.fr>
15647         prefix-gnulib-mk: fix the support for gnulib-po
15648         * build-aux/prefix-gnulib-mk (prefix_assignment): Remove useless $res.
15649         Don't touch HAVE_* variables.
15650         Map AM_CPPFLAGS and AM_CPPFLAGS to the library's corresponding variables.
15652 2019-04-18  Bernhard Voelker  <mail@bernhard-voelker.de>
15654         di-set: allow free with 'ino_map' being NULL.
15655         * lib/di-set.c (di_set_free): Avoid ino_map_free() when dis->ino_map
15656         is NULL.  Bug introduced in commit 3703dbbe88dd.
15657         * tests/test-di-set.c: Add di_set_free() right after di_set_alloc()
15658         as a test.
15660 2019-04-14  Paul Eggert  <eggert@cs.ucla.edu>
15662         * lib/str-two-way.h: Fix comment typo.
15664 2019-04-13  Bruno Haible  <bruno@clisp.org>
15666         x-to-1: Restore ability to use original calling convention.
15667         * build-aux/x-to-1.in: Add comments. Accept the original form of
15668         HELP2MAN argument as well as the form expected since 2012-12-12.
15670 2019-04-13  Bruno Haible  <bruno@clisp.org>
15672         x-to-1: Avoid failure due to missing perl modules.
15673         * build-aux/x-to-1.in: Test whether all the perl modules that help2man
15674         needs are installed.
15676 2019-04-13  Bruno Haible  <bruno@clisp.org>
15678         openmp-init: New module.
15679         * modules/openmp-init: New file.
15680         * modules/openmp: (Files, Depends-on, configure.ac, Makefile.am): Revert
15681         the changes from 2019-04-09.
15683 2019-04-12  Bruno Haible  <bruno@clisp.org>
15685         signbit: Fix compilation error when gnulib's math.h exists twice.
15686         * lib/math.in.h (GNULIB_defined_signbit): New macro.
15688 2019-04-12  Bruno Haible  <bruno@clisp.org>
15690         openmp: Fix compilation error on platforms without OpenMP.
15691         * lib/omp-init.c: Include <omp.h> only if _OPENMP.
15693 2019-04-09  Bernhard Voelker  <mail@bernhard-voelker.de>
15695         mountlist: make parsing /proc/self/mountinfo more robust
15696         Cater for the following issues with mountinfo parsing (the first
15697         one was reported by Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
15698         in <https://bugs.gnu.org/35137>).
15699         1. The fields source, target, mntroot and fstype may contain characters
15700         like '\r'; sscanf(3) fails to read such values with the %s format
15701         specifier because it would stop at such characters.
15702         Example: "mount -t tmpfs tmpfs /foo^Mbar".
15703         The only true separator in that file is the ' ' character.
15704         2. The source field may be an empty string, which happens e.g. with
15705         "mount -t tmpfs '' /target".
15706         3. The fstype field may contain mangled characters as well which need
15707         unescaping.
15708         * lib/mountlist.c (terminate_at_blank): Add utility function.
15709         (read_file_system_list): In the block trying to read the mountinfo file,
15710         avoid using sscanf(3) with %s format; instead, parse the above fields
15711         separated by spaces one by one.
15712         This also handles the case when the source field is an empty string.
15713         Unescape the fstype field.
15715 2019-04-09  Bruno Haible  <bruno@clisp.org>
15717         openmp: Add workaround for 32-bit programs on AIX.
15718         * lib/omp.in.h: New file.
15719         * lib/omp-init.c: New file, based on lib/nproc.c.
15720         * m4/omp_h.m4: New file.
15721         * modules/openmp (Files): Add them.
15722         (Depends-on): Add include_next, c-ctype, setenv.
15723         (configure.ac): Invoke gl_OMP_H.
15724         (Makefile.am): Add rules to create omp.h and compile omp-init.c.
15725         (Include): Mention <omp.h>.
15727 2019-04-09  Bruno Haible  <bruno@clisp.org>
15729         nproc: Fix return value for privileged processes.
15730         * lib/nproc.c (num_processors_ignoring_omp): Test getuid(), not
15731         getpid().
15733 2019-04-07  Bruno Haible  <bruno@clisp.org>
15735         Add copyright notices in several files.
15736         Reported by <ineiev@gnu.org> in <https://savannah.gnu.org/bugs/?54809>.
15737         * lib/_Noreturn.h: Add LGPLv2+ copyright notice.
15738         * lib/libunistring.valgrind: Likewise.
15739         * lib/iconv_open-*.gperf: Add GPLv2+ copyright notice.
15740         * lib/uniname/gen-uninames.lisp: Add GPLv3+ copyright notice.
15741         * lib/memchr.valgrind: Likewise.
15742         * lib/memchr2.valgrind: Likewise.
15743         * lib/rawmemchr.valgrind: Likewise.
15744         * lib/relocatable.valgrind: Likewise.
15745         * lib/strchrnul.valgrind: Likewise.
15747 2019-03-25  Bruno Haible  <bruno@clisp.org>
15749         term-style-control tests: Fix link error.
15750         Reported by Tom G. Christensen in
15751         <https://lists.gnu.org/archive/html/bug-gnulib/2019-03/msg00108.html>.
15752         * modules/term-style-control-tests (Makefile.am): Link
15753         test-term-style-control-hello and test-term-style-control-yes against
15754         LIBINTL.
15756 2019-03-24  Bruno Haible  <bruno@clisp.org>
15758         term-style-control: Add tests.
15759         * tests/test-term-style-control-hello.c: New file.
15760         * tests/test-term-style-control-yes.c: New file.
15761         * modules/term-style-control-tests: New file.
15763         term-style-control: New module.
15764         * lib/term-style-control.h: New file, based on libtextstyle's
15765         term-ostream.oo.h and term-ostream.oo.c.
15766         * lib/term-style-control.c: New file, based on libtextstyle's
15767         term-ostream.oo.c.
15768         * modules/term-style-control: New file.
15770 2019-03-22  Akim Demaille  <akim@lrde.epita.fr>
15772         _Noreturn: beware of C's _Noreturn in C++ pre C++11.
15773         * lib/_Noreturn.h, m4/gnulib-common.m4: Using C's _Noreturn in
15774         C++98 appears to be supported by Clang, but not by GCC nor ICC.
15776 2019-03-23  Bruno Haible  <bruno@clisp.org>
15778         Support cross-compilation to musl libc.
15779         Reported by Necktwi Ozfguah <necktwi@ferryfair.com>.
15780         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Add cross-compilation guesses for
15781         musl libc.
15782         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
15783         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Likewise.
15784         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
15785         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
15786         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
15787         * m4/chown.m4 (gl_FUNC_CHOWN): Likewise.
15788         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
15789         * m4/exp2l.m4 (gl_FUNC_EXP2L): Likewise.
15790         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
15791         * m4/expm1.m4 (gl_FUNC_EXPM1): Likewise.
15792         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Likewise.
15793         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Likewise.
15794         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
15795         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
15796         * m4/fmod.m4 (gl_FUNC_FMOD): Likewise.
15797         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
15798         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
15799         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
15800         * m4/fpurge.m4 (gl_FUNC_FPURGE): Likewise.
15801         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
15802         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
15803         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
15804         * m4/getgroups.m4 (AC_FUNC_GETGROUPS, gl_FUNC_GETGROUPS): Likewise.
15805         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
15806         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Likewise.
15807         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
15808         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
15809         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
15810         * m4/iconv_open-utf.m4 (gl_FUNC_ICONV_OPEN_UTF_SUPPORT): Likewise.
15811         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
15812         * m4/log.m4 (gl_FUNC_LOG): Likewise.
15813         * m4/logf.m4 (gl_FUNC_LOGF): Likewise.
15814         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): Likewise.
15815         * m4/log10.m4 (gl_FUNC_LOG10): Likewise.
15816         * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
15817         * m4/log10l.m4 (gl_FUNC_LOG10L): Likewise.
15818         * m4/log1p.m4 (gl_FUNC_LOG1P): Likewise.
15819         * m4/log1pf.m4 (gl_FUNC_LOG1PF): Likewise.
15820         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Likewise.
15821         * m4/log2.m4 (gl_FUNC_LOG2): Likewise.
15822         * m4/log2f.m4 (gl_FUNC_LOG2F): Likewise.
15823         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Likewise.
15824         * m4/mkdir.m4 (gl_FUNC_MKDIR): Likewise.
15825         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
15826         * m4/modf.m4 (gl_FUNC_MODF): Likewise.
15827         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
15828         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
15829         * m4/perror.m4 (gl_FUNC_PERROR): Likewise.
15830         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_INFINITE,
15831         gl_PRINTF_INFINITE_LONG_DOUBLE, gl_PRINTF_DIRECTIVE_A,
15832         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO, gl_SNPRINTF_TRUNCATION_C99,
15833         gl_SNPRINTF_RETVAL_C99, gl_SNPRINTF_DIRECTIVE_N,
15834         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
15835         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Likewise.
15836         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
15837         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Likewise.
15838         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
15839         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
15840         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
15841         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
15842         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
15843         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
15844         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
15845         * m4/setenv.m4 (gl_FUNC_SETENV): Likewise.
15846         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
15847         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
15848         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
15849         * m4/strerror.m4 (gl_FUNC_STRERROR, gl_FUNC_STRERROR_0): Likewise.
15850         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
15851         * m4/strtold.m4 (gl_FUNC_STRTOLD): Likewise.
15852         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
15853         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
15854         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
15855         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
15856         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Likewise.
15857         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
15858         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
15859         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
15861 2019-03-23  Bruno Haible  <bruno@clisp.org>
15863         posix_spawn_file_actions_*: Document musl libc bugs.
15864         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
15865         the bug.
15866         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Likewise.
15867         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Likewise.
15868         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): When
15869         cross-compiling to a musl system, guess no.
15870         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2): Likewise.
15871         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): Likewise.
15873 2019-03-23  Bruno Haible  <bruno@clisp.org>
15875         futimens: Document musl libc bug.
15876         * doc/posix-functions/futimens.texi: Mention the bug.
15877         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Require AC_CANONICAL_HOST. When
15878         cross-compiling, guess no on glibc and musl systems.
15880 2019-03-23  Bruno Haible  <bruno@clisp.org>
15882         Clarify that cross-compilation guesses are guesses.
15883         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): When cross-compiling, add
15884         prefix 'guessing ' to gl_cv_func_chown_follows_symlink.
15885         * m4/fchownat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): When cross-compiling, add
15886         prefix 'guessing ' to gl_cv_func_fchownat_nofollow_works.
15887         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): When
15888         cross-compiling, add prefix 'guessing ' to gl_cv_func_getcwd_abort_bug.
15889         * m4/glob.m4 (gl_GLOB): When cross-compiling, add prefix 'guessing ' to
15890         gl_cv_glob_lists_symlinks.
15891         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): When cross-compiling, add prefix
15892         'guessing ' to ac_cv_func_malloc_0_nonnull.
15893         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): When cross-compiling, add prefix
15894         'guessing ' to ac_cv_func_realloc_0_nonnull.
15895         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, add prefix
15896         'guessing ' to gl_cv_func_poll.
15897         * m4/iconv_open-utf.m4 (gl_FUNC_ICONV_OPEN_UTF_SUPPORT): When cross-
15898         compiling, add prefix 'guessing ' to gl_cv_func_iconv_supports_utf.
15899         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Update accordingly.
15901 2019-03-23  Bruno Haible  <bruno@clisp.org>
15903         strtold: Fix typo.
15904         * m4/strtold.m4 (gl_FUNC_STRTOLD): Fix typo in variable name.
15906 2019-03-23  Bruno Haible  <bruno@clisp.org>
15908         noreturn: In C++ mode with clang, use _Noreturn as fallback.
15909         Reported by Akim Demaille.
15910         * lib/noreturn.h (_GL_NORETURN_FUNC): In C++ mode with clang, when
15911         [[noreturn]] would not work, use _Noreturn instead.
15913 2019-03-22  Akim Demaille  <akim@lrde.epita.fr>
15915         libtextstyle-optional: Fix compiler warnings.
15916         * lib/textstyle.in.h (html_styled_ostream_create): Flag arguments
15917         as unused.
15919 2019-03-19  Akim Demaille  <akim@lrde.epita.fr>
15921         bitset: fix memory leaks
15922         Reported by Bruno Haible.
15923         https://lists.gnu.org/archive/html/bug-gnulib/2019-03/msg00027.html
15924         * lib/bitset/vector.c (vbitset_free): New.
15925         (vbitset_vtable): Use it.
15927 2019-03-19  Akim Demaille  <akim@lrde.epita.fr>
15929         bitset: minor changes
15930         * lib/bitset/base.h (bitset_alloc_type): Remove, unused.
15931         * lib/bitset/table.c: Formatting changes.
15932         Remove useless braces.
15933         Prefer using else in cascades of if/else-if with returns.
15934         * lib/bitset/vector.c: Reduce scopes.
15936 2019-03-19  Akim Demaille  <akim@lrde.epita.fr>
15938         bitset: expose bitset_resize
15939         * lib/bitset.h (bitset_resize): Bounce on the polymorphic implementation.
15940         * tests/test-bitset.c (check_attributes): Check bitset_resize.
15941         (main): Use a variable bitset as reference, since fixed does not support resize.
15943 2019-03-19  Bruno Haible  <bruno@clisp.org>
15945         doc: Document the 'stdnoreturn' and 'noreturn' modules.
15946         Reported by Akim Demaille.
15947         * doc/noreturn.texi: New file.
15948         * doc/gnulib.texi: Include it.
15950 2019-03-19  Bruno Haible  <bruno@clisp.org>
15952         doc: Document how to use 'static inline'.
15953         * doc/static-inline.texi: New file.
15954         * doc/gnulib.texi: Include it.
15956 2019-03-19  Bruno Haible  <bruno@clisp.org>
15958         libtextstyle-optional: Add tests.
15959         * tests/test-libtextstyle.c: New file, based on libtextstyle's
15960         adhoc-tests/hello.c.
15961         * tests/test-libtextstyle-default.css: New file, copied from
15962         libtextstyle's adhoc-tests/hello-default.css.
15963         * modules/libtextstyle-optional-tests: New file.
15965         libtextstyle-optional: New module.
15966         * lib/textstyle.in.h: New file, based on libtextstyle's textstyle.h.
15967         * m4/libtextstyle-optional.m4: New file, based on m4/libtextstyle.m4.
15968         * modules/libtextstyle-optional: New file.
15970 2019-03-19  Bruno Haible  <bruno@clisp.org>
15972         c-stack: Make signal handlers more reliable.
15973         * lib/c-stack.c (progname): New variable.
15974         (die): Use it.
15975         (c_stack_action): Initialize it.
15976         (segv_handler): Save and restore errno.
15978 2019-03-19  Bruno Haible  <bruno@clisp.org>
15980         Help making signal handlers more reliable.
15981         * m4/gnulib-common.m4 (gl_COMMON_BODY): Emit definition of
15982         _GL_ASYNC_SAFE into config.h.
15983         * lib/nanosleep.c (sighandler): Mark as _GL_ASYNC_SAFE.
15984         * lib/fatal-signal.h (at_fatal_signal): Add _GL_ASYNC_SAFE marker to
15985         argument.
15986         * lib/fatal-signal.c (action_t, uninstall_handlers,
15987         fatal_signal_handler): Mark as _GL_ASYNC_SAFE.
15988         * lib/clean-temp.c (cleanup_action): Mark as _GL_ASYNC_SAFE.
15989         * lib/wait-process.c (cleanup_slaves, cleanup_slaves_action): Mark as
15990         _GL_ASYNC_SAFE.
15991         * lib/c-stack.h (c_stack_action): Add _GL_ASYNC_SAFE marker to argument.
15992         * lib/c-stack.c: Add _GL_ASYNC_SAFE markers.
15994 2019-03-18  Bruno Haible  <bruno@clisp.org>
15996         _Noreturn: clang and MSVC do support [[noreturn]] in C++11 mode.
15997         * lib/_Noreturn.h: Use [[noreturn]] if __GNUC__ and __GNUC_MINOR__
15998         indicate clang, or if _MSC_VER indicates MSVC++ 14.0 or newer.
16000 2019-03-17  Akim Demaille  <akim@lrde.epita.fr>
16002         _Noreturn: GCC 4.7 does not support [[noreturn]] in C++11 mode
16003         * lib/_Noreturn.h, m4/gnulib-common.m4: Don't use [[noreturn]] before
16004         GCC 4.8.
16006 2019-03-17  Paul Eggert  <eggert@cs.ucla.edu>
16008         fts: minor simplification
16009         * lib/fts.c (fts_safe_changedir): Remove redundant assignment.
16011 2019-03-17  Akim Demaille  <akim@lrde.epita.fr>
16013         bitset, timevar: Depend on c99.
16014         Reported by Bruno Haible.
16015         * modules/bitset, modules/timevar (Depends-on): Add c99.
16017 2019-03-16  Akim Demaille  <akim@lrde.epita.fr>
16019         bitset: a bit (...) more tests
16020         * tests/test-bitset.c (check_attributes): Check zero and ones.
16022 2019-03-16  Akim Demaille  <akim@lrde.epita.fr>
16024         bitset: fix overflows.
16025         Reported by Bruno Haible.
16026         https://lists.gnu.org/archive/html/bug-gnulib/2019-03/msg00017.html
16027         * lib/bitset/table.c (tbitset_test): last_bit is the position of
16028         the bit in the array of bitset_word, so be sure to take its modulo
16029         number-of-bits-in-bitset-word (i.e., EBITSET_ELT_WORDS).
16030         * lib/bitset/list.c (lbitset_unused_clear): Likewise.
16032 2019-03-14  Akim Demaille  <akim@lrde.epita.fr>
16034         bitset: style changes.
16035         * lib/bitset/table.c: Use NULL, not 0, for pointers.
16036         Formatting changes.
16037         (tbitset_list): Reduce scopes.
16039 2019-03-16  Bruno Haible  <bruno@clisp.org>
16041         fatal-signal: Pass the signal number to the action.
16042         * lib/fatal-signal.h (at_fatal_signal): Change the signature.
16043         * lib/fatal-signal.c (action_t): Take the signal number as parameter.
16044         (fatal_signal_handler): Pass the signal number to the action.
16045         * lib/clean-temp.c (cleanup_action): Renamed from cleanup. Take the
16046         signal number as parameter.
16047         (create_temp_dir): Update.
16048         * lib/wait-process.c (cleanup_slaves_action): New function.
16049         (register_slave_subprocess): Update at_fatal_signal invocation.
16050         * NEWS: Mention the change.
16052 2019-03-16  Bruno Haible  <bruno@clisp.org>
16054         fatal-signal: Add function that lists the fatal signals.
16055         * lib/fatal-signal.h (get_fatal_signals): New declaration.
16056         * lib/fatal-signal.c (get_fatal_signals): New function.
16058 2019-03-14  Bruno Haible  <bruno@clisp.org>
16060         isatty: Make it return true in Cygwin consoles on native Windows.
16061         * lib/isatty.c: Include <string.h>.
16062         (GetProcAddress): New macro.
16063         (GetNamedPipeClientProcessIdFuncType): New type.
16064         (GetNamedPipeClientProcessIdFunc): New variable.
16065         (QueryFullProcessImageNameFuncType): New type.
16066         (QueryFullProcessImageNameFunc): New variable.
16067         (initialized): New variable.
16068         (initialize): New function.
16069         (IsCygwinConsoleHandle): New function.
16070         (isatty): Invoke it.
16071         * doc/posix-functions/isatty.texi: Mention the issue.
16073 2019-03-14  Bruno Haible  <bruno@clisp.org>
16075         all: Update URLs to msdn.microsoft.com.
16076         * lib/stat-w32.c et al.: Update URLs after most of msdn.microsoft.com
16077         was moved to docs.microsoft.com.
16079 2019-03-13  Bruno Haible  <bruno@clisp.org>
16081         gnulib-tool: Clarify the coding style.
16082         Suggested by Pavel Raiskup <praiskup@redhat.com>.
16083         * gnulib-tool: Add comment about coding style.
16085 2019-03-11  Paul Eggert  <eggert@cs.ucla.edu>
16087         strtod: fix clash with strtold
16088         Problem reported for RHEL 5 by Jesse Caldwell (Bug#34817).
16089         * lib/strtod.c (compute_minus_zero, minus_zero):
16090         Simplify by remving the macro / external variable,
16091         and having just a function.  User changed.  This avoids
16092         the need for an external variable that might clash.
16094 2019-03-10  Bruno Haible  <bruno@clisp.org>
16096         alloca-opt: Fix conflict mingw's new <alloca.h> file.
16097         Reported by Eli Zaretskii <eliz@gnu.org>.
16098         * lib/alloca.in.h: On mingw systems that have <alloca.h>, include that.
16099         * m4/alloca.m4 (gl_FUNC_ALLOCA): Set HAVE_ALLOCA_H.
16100         * modules/alloca-opt (Makefile.am): Substitute HAVE_ALLOCA_H.
16102 2019-03-10  Bruno Haible  <bruno@clisp.org>
16104         tests: Avoid havoc with "gcc -fcheck-pointer-bounds".
16105         * tests/test-fprintf-posix2.c: Skip the test when -fcheck-pointer-bounds
16106         is in use.
16107         * tests/test-printf-posix2.c: Likewise.
16109 2019-03-10  Bruno Haible  <bruno@clisp.org>
16111         uninorm tests: Free allocated memory.
16112         * tests/uninorm/test-u32-normalize-big.h
16113         (struct normalization_test_file): Remove 'const' from allocated member.
16114         (free_normalization_test_file): New declaration.
16115         * tests/uninorm/test-u32-normalize-big.c (test_other): Free allocated
16116         memory.
16117         (free_normalization_test_file): New function.
16118         * tests/uninorm/test-u32-nfc-big.c (main): Free allocated
16119         'struct normalization_test_file' contents.
16120         * tests/uninorm/test-u32-nfd-big.c (main): Likewise.
16121         * tests/uninorm/test-u32-nfkc-big.c (main): Likewise.
16122         * tests/uninorm/test-u32-nfkd-big.c (main): Likewise.
16124 2019-03-10  Bruno Haible  <bruno@clisp.org>
16126         di-set: Fix memory leak.
16127         * lib/di-set.c (di_set_free): Free the ino_map through ino_map_free(),
16128         not free().
16130 2019-03-10  Bruno Haible  <bruno@clisp.org>
16132         tests: Free allocated memory.
16133         Reported by <deltatau@protonmail.com> via Assaf Gordon.
16134         * tests/test-astrxfrm.c (main): Free allocated memory.
16135         * tests/test-bitset.c (compare, check_attributes): Free allocated
16136         bitsets.
16137         * tests/test-filenamecat.c (main): Free allocated memory.
16138         * tests/test-freadahead.c (main): Free allocated memory and close stdin.
16139         * tests/test-freadptr.c (main): Likewise.
16140         * tests/test-freadptr2.c (main): Free allocated memory.
16141         * tests/test-freadseek.c (main): Likewise.
16142         * tests/test-gc-arcfour.c (main): Close allocated context.
16143         * tests/test-gc-arctwo.c (main): Likewise.
16144         * tests/test-gc-des.c (main): Close all allocated contexts.
16145         * tests/test-pipe-filter-gi1.c (main): Free allocated memory.
16146         * tests/test-pipe-filter-ii1.c (main): Likewise.
16147         * tests/test-posix_spawn_file_actions_addchdir.c (main): Destroy the
16148         allocated file actions.
16149         * tests/test-posix_spawn_file_actions_addclose.c (main): Likewise.
16150         * tests/test-posix_spawn_file_actions_adddup2.c (main): Likewise.
16151         * tests/test-posix_spawn_file_actions_addopen.c (main): Likewise.
16152         * tests/test-sameacls.c (main): Free allocated memory and ACLs.
16153         * tests/test-strfmon_l.c (main): Free allocated locales.
16154         * tests/test-striconveh.c (main): Free allocated iconv_t objects.
16155         * tests/uniconv/test-u8-conv-to-enc.c (main): Free allocated memory.
16156         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
16157         * tests/uniconv/test-u32-conv-to-enc.c (main): Likewise.
16158         * tests/unistr/test-chr.h (main): Free input32.
16159         * tests/unistr/test-strchr.h (test_strchr): Likewise.
16161 2019-03-10  Bruno Haible  <bruno@clisp.org>
16163         tests: Prepare for using valgrind.
16164         * tests/*.sh: Invoke all test programs through ${CHECKER}.
16165         * tests/*/*.sh: Likewise.
16166         * tests/test-freadptr.c (main): Update accordingly.
16167         * tests/test-freadseek.c (main): Likewise.
16169 2019-03-09  Bruno Haible  <bruno@clisp.org>
16171         get-rusage-as, pthread_sigmask tests: Fix -fsanitize=thread findings.
16172         * lib/get-rusage-as.c (get_rusage_as): When compiled by
16173         "gcc -fsanitize=thread", don't try get_rusage_as_via_setrlimit.
16174         * tests/test-pthread_sigmask2.c (main): Clean up the killer_thread
16175         before exiting.
16177 2019-03-09  Jim Meyering  <meyering@fb.com>
16179         test-userspec.c: don't print NULL
16180         * tests/test-userspec.c (main): A test release of gcc,
16181         9.0.1 20190310, warned that this test would attempt to
16182         print a NULL pointer via a %s printf format.  Fix that
16183         and remove the unnecessary preceding "!diag" conjunct.
16184         Also add a comment.
16186 2019-03-03  Bruno Haible  <bruno@clisp.org>
16188         getloadavg: Write NULL for the null pointer.
16189         Reported by Michal Privoznik <mprivozn@redhat.com>.
16190         * lib/getloadavg.c (getloadavg): Write NULL instead of 0.
16192 2019-02-28  Michal Privoznik  <mprivozn@redhat.com>
16194         alloca, tsearch-tests: Write NULL for the null pointer.
16195         * lib/alloca.c (i00afunc): Write NULL instead of 0.
16196         * tests/test-tsearch.c (mangle_tree): Likewise.
16198 2019-03-09  Bruno Haible  <bruno@clisp.org>
16200         strfmon_l: Fix -fsanitize=address finding.
16201         * lib/strfmon_l.c: Include <errno.h>, <stdbool.h>, <stdlib.h>,
16202         <string.h>.
16203         (MAX_ARGS): Renamed from MAX_ARG_WORDS.
16204         (directive_t, directives_t): New types.
16205         (fmon_parse): New function.
16206         (rpl_strfmon_l): Don't call va_arg more often than needed for the
16207         format string. Consume 'long double' arguments in places where the
16208         format string indicates so.
16209         * modules/strfmon_l (Depends-on): Add 'stdbool'.
16211 2019-03-09  Bruno Haible  <bruno@clisp.org>
16213         crypto/des: Fix undefined behaviour.
16214         * lib/des.c (READ_64BIT_DATA): Cast bytes to 'unsigned int', to avoid
16215         shift operations on 'int'.
16217 2019-03-09  Bruno Haible  <bruno@clisp.org>
16219         Fix undefined behaviour.
16220         * lib/bitrotate.h (rotl16, rotr16, rotl8, rotr8): Cast x to
16221         'unsigned int', to avoid shift operations on 'int'.
16222         * lib/xmemdup0.c (xmemdup0): Don't invoke memcpy with a zero size.
16223         * tests/test-count-leading-zeros.c (main): Use a random number that has
16224         as many bits as TYPE, not only 2*15 or 2*31 bits.
16225         * tests/test-count-trailing-zeros.c (main): Likewise.
16226         * tests/test-count-one-bits.c (main): Likewise.
16227         * tests/test-memmem.c: Don't include "null-ptr.h".
16228         (main): Use zerosize_ptr() instead of null_ptr().
16229         * modules/memmem-tests (Files): Remove tests/null-ptr.h.
16231 2019-03-08  Bruno Haible  <bruno@clisp.org>
16233         unilbrk/u*-possible-linebreaks: Fix undefined behaviour.
16234         Reported by Jeffrey Walton <noloader@gmail.com>.
16235         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks): Don't
16236         invoke memset with a zero size.
16237         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
16238         Likewise.
16239         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
16240         Adjust accordingly.
16242 2019-03-08  Bruno Haible  <bruno@clisp.org>
16244         unistr/*, uniconv/*: Fix undefined behaviour.
16245         Reported by Jeffrey Walton <noloader@gmail.com>.
16246         * lib/unistr/u-cpy.h (FUNC): Don't invoke memcpy with a zero size.
16247         * lib/unistr/u-cpy-alloc.h (FUNC): Likewise.
16248         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
16249         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
16251 2019-03-08  Bruno Haible  <bruno@clisp.org>
16253         unistr/u8-cmp: Fix undefined behaviour.
16254         Reported by Jeffrey Walton <noloader@gmail.com>.
16255         * lib/unistr/u8-cmp.c (u8_cmp): Don't invoke memcmp if n is zero.
16257 2019-03-08  Bruno Haible  <bruno@clisp.org>
16259         unictype/numeric: Fix undefined behaviour.
16260         Reported by Jeffrey Walton <noloader@gmail.com>.
16261         * lib/unictype/numeric.c (uc_numeric_value): Avoid undefined behaviour
16262         on shift overflow, caught by "gcc -fsanitize=undefined".
16263         * lib/unictype/bidi_of.c (uc_bidi_class): Add cast, for clarity.
16264         * lib/unictype/categ_of.c (lookup_withtable): Likewise.
16265         * lib/unictype/joininggroup_of.c (uc_joining_group): Likewise.
16267 2019-03-05  Paul Eggert  <eggert@cs.ucla.edu>
16269         git-version-gen: fix --version copyright year
16270         * build-aux/git-version-gen, build-aux/move-if-change (version):
16271         --version output copyright year is now taken from script year,
16272         so that it no longer needs to be updated by hand.
16274 2019-03-04  Bruno Haible  <bruno@clisp.org>
16276         relocatable-prog: Use wrapper-free installation on Mac OS X, take 2.
16277         This approach supports relocatable installation of shared libraries
16278         which depend on other shared libraries from the same package.
16279         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Determine use_macos_tools.
16280         If use_macos_tools is true, use reloc-ldflags and set LIBTOOL to be a
16281         wrapper around the original LIBTOOL.
16282         * build-aux/reloc-ldflags: Add support for Mac OS X, which uses the
16283         token '@loader_path' instead of '$ORIGIN'.
16284         * build-aux/libtool-reloc: New file.
16285         * modules/relocatable-prog (Files): Add it.
16286         * doc/relocatable-maint.texi (Supporting Relocation): Update to match
16287         the recent changes. Document the need to set the *_LDFLAGS of libraries.
16288         RELOCATABLE_LIBRARY_PATH and RELOCATABLE_CONFIG_H_DIR should be set in
16289         Makefile.am, not in configure.ac.
16291 2019-03-04  Bruno Haible  <bruno@clisp.org>
16293         relocatable-prog: Revert "Use wrapper-free installation on Mac OS X."
16294         * build-aux/install-reloc: Revert change.
16295         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Likewise.
16297 2019-02-24  Paul Eggert  <eggert@cs.ucla.edu>
16299         nstrftime: support the ‘+’ flag
16300         * lib/nstrftime.c (add, __strftime_internal):
16301         Add support for the ‘+’ flag introduced in POSIX.1-2017.
16302         (__strftime_internal): New arg ‘width’.  All uses changed.
16303         (DO_YEARISH, DO_MAYBE_SIGNED_NUMBER): New macros.
16305 2019-02-24  Bruno Haible  <bruno@clisp.org>
16307         relocatable-prog: Improve verbose output.
16308         * build-aux/install-reloc (func_verbose): Escape characters that would
16309         be interpreted by the shell.
16311 2019-02-24  Bruno Haible  <bruno@clisp.org>
16313         stat, lstat: Fix conflict with relocatable-prog-wrapper module.
16314         * lib/stat.c: On platforms other than OSF/1, include <sys/stat.h>, not
16315         "sys/stat.h".
16316         * lib/lstat.c: Likewise.
16317         * lib/fstat.c: Likewise.
16318         * lib/fstatat.c: Likewise.
16320 2019-02-23  Bernhard Voelker  <mail@bernhard-voelker.de>
16322         long-options: add parse_gnu_standard_options_only
16323         Discussed in https://bugs.gnu.org/33468 .
16325         * lib/long-options.c (parse_long_options): Use EXIT_SUCCESS instead of 0
16326         (parse_gnu_standard_options_only): Add function to process
16327         the GNU default options --help and --version and fail for
16328         any other unknown long or short option. See
16329         https://gnu.org/prep/standards/html_node/Command_002dLine-Interfaces.html
16330         * lib/long-options.h (parse_gnu_standard_options_only): Declare it.
16331         * modules/long-options (depends-on): Add stdbool, exitfail.
16332         * top/maint.mk (sc_prohibit_long_options_without_use): Update
16333         syntax-check rule, add new function name.
16335 2019-02-23  Bruno Haible  <bruno@clisp.org>
16337         relocatable-prog: Update documentation.
16338         * doc/relocatable-maint.texi (Supporting Relocation): Update to match
16339         the recent changes.
16341 2019-02-23  Paul Eggert  <eggert@cs.ucla.edu>
16343         nstrftime: tweak arg order
16344         * lib/nstrftime.c (__strftime_internal): Interchange arg order.
16345         All callers changed.  Suggested by TAMUKI Shoichi in:
16346         https://lists.gnu.org/r/bug-gnulib/2019-02/msg00052.html
16348 2019-02-23  Bruno Haible  <bruno@clisp.org>
16350         relocatable-prog: Use wrapper-free installation also on Mac OS X.
16351         Reported by Paul Smith <psmith@gnu.org>.
16352         * build-aux/install-reloc: Accept a 'mode' argument as first argument.
16353         (func_relativize): New function, from gnulib-tool.
16354         Handle mode 'macosx' through invocations of 'otool' and
16355         'install_name_tool'.
16356         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Determine use_macos_tools.
16357         If use_macos_tools is true, set INSTALL_PROGRAM_ENV to an
16358         'install-reloc' invocation with mode 'macosx'.
16360 2019-02-23  Bruno Haible  <bruno@clisp.org>
16362         relocatable-prog: Use $ORIGIN trick also on GNU/Hurd.
16363         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Use $ORIGIN trick also on
16364         Hurd with glibc >= 2.27.
16366 2019-02-21  Paul Eggert  <eggert@cs.ucla.edu>
16368         nstrftime: merge glibc strftime changes
16369         This incorporates:
16370         2019-02-11 Fix a few whitespace arrangement inconsistencies
16371         2019-01-24 strftime: Pass flags from "%EY" to "%Ey" [BZ #24096]
16372         2019-01-24 Set the default width of "%Ey" to 2 [BZ #23758]
16373         2019-01-11 strftime: use the "L_" macro with character literals
16374         * lib/nstrftime.c (__strftime_internal): New arg yr_spec.  All
16375         callers changed.  Default width of %Ey is now 2.  This is needed
16376         for proper handling of Japanese dates starting on 2019-05-01.
16378 2019-02-19  Bruno Haible  <bruno@clisp.org>
16380         relocatable-prog: Use $ORIGIN trick on more platforms.
16381         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Use $ORIGIN trick also on
16382         FreeBSD >= 7.3, DragonFly >= 3.0, NetBSD >= 8.0, OpenBSD >= 5.4,
16383         Solaris >= 10, Haiku. But don't use it on Android.
16384         * build-aux/reloc-ldflags: Allow the use of the $ORIGIN trick also on
16385         Hurd, FreeBSD, DragonFly, NetBSD, OpenBSD, Solaris, Haiku.
16387 2019-02-19  Bruno Haible  <bruno@clisp.org>
16389         progreloc: Speed up executable lookup on various platforms.
16390         * lib/progreloc.c: Include <errno.h>.
16391         (safe_read, full_read): New functions.
16392         (find_executable): On GNU/kFreeBSD, FreeBSD, DragonFly, NetBSD, Solaris,
16393         prefer the information from the /proc file system to a PATH search.
16395 2019-02-19  Bruno Haible  <bruno@clisp.org>
16397         progreloc: Simplify code for Android.
16398         * lib/progreloc.c (executable_fd): Don't define on Android.
16399         (maybe_executable, find_executable): Don't use executable_fd on Android.
16401 2019-02-15  Bruno Haible  <bruno@clisp.org>
16403         gnulib-tool: Support --import with just a few tests, not --with-tests.
16404         * gnulib-tool (func_import): New variable 'gentests'. Use it instead of
16405         'inctests' when generating files; use 'inctests' only for computing the
16406         transitive closure.
16408 2019-02-14  Bruno Haible  <bruno@clisp.org>
16410         gnulib-tool: Improve handling of multiple --local-dir options.
16411         * doc/gnulib.texi (Extending Gnulib): Explain how multiple --local-dir
16412         options work.
16413         * gnulib-tool (func_path_prepend): Remove function.
16414         (func_path_foreach): Make IFS handling more robust.
16415         (local_gnulib_path): Collect --local-dir values using func_path_append,
16416         not func_path_prepend.
16417         (func_determine_path_separator): Make IFS handling more robust.
16418         (func_lookup_file_cb): New function.
16419         (func_lookup_file): Rewritten to use func_lookup_file_cb instead of
16420         func_lookup_local_file. Apply the patches in the reverse order of their
16421         origin in $local_gnulib_path.
16422         (func_count_relative_local_gnulib_path): Make IFS handling more robust.
16423         * NEWS: Mention that the first --local-dir option is the one with
16424         highest priority.
16426 2019-02-10  Bruno Haible  <bruno@clisp.org>
16428         libtextstyle: New module.
16429         * m4/libtextstyle.m4: New file.
16430         * modules/libtextstyle: New file.
16432 2019-02-05  Bruno Haible  <bruno@clisp.org>
16434         declared.sh: Fix bug with variables of pointer type.
16435         * build-aux/declared.sh (sed_extract_extern_declared): Allow the space
16436         before the symbol to be omitted if the preceding character is a '*'.
16438 2019-02-04  Bruno Haible  <bruno@clisp.org>
16440         Add script for running tests under valgrind.
16441         * build-aux/run-test: New file, from GNU libunistring.
16442         * doc/valgrind-tests.texi: Rewritten to mention alternative approaches
16443         as well.
16445 2019-02-04  Bruno Haible  <bruno@clisp.org>
16447         declared.sh: Fix --version output.
16448         * build-aux/declared.sh (func_version): Update package name.
16450 2019-02-03  Bruno Haible  <bruno@clisp.org>
16452         Add script for determining the set of symbols to export from a library.
16453         * build-aux/declared.sh: New file, from GNU libunistring.
16454         * doc/lib-symbol-visibility.texi (Exported Symbols of Shared Libraries):
16455         Mention it.
16457 2019-02-02  Paul Eggert  <eggert@cs.ucla.edu>
16459         vla: add commentary about VLA_ELEMS
16460         * lib/vla.h (VLA_ELEMS): Add commentary,
16461         some inspired by Bruno Haible’s proposal in:
16462         https://lists.gnu.org/r/bug-gnulib/2019-01/msg00109.html
16464         dtoastr,ftoastr,ldtoastr: port to c-strtod changes
16465         Decouple these modules from c-strtod.  Nowadays it’s reasonable to
16466         assume the C99 signatures for strtod and strtold.  Programs that
16467         require stricter adherence to C99 should also use the strtod and
16468         strtold modules as needed, and we no longer need the
16469         HAVE_C99_STRTOLD macro.
16470         * NEWS: Mention this.
16471         * lib/ftoastr.c (STRTOF) [LENGTH == 3]: Assume strtold.
16472         * m4/c-strtod.m4 (gl_C_STRTOLD): Do not define HAVE_C99_STRTOLD.
16473         * modules/dtoastr, modules/ftoastr, modules/ldtoastr:
16474         (Files): Remove m4/c-strtod.m4.
16475         (configure.ac): Do not require gl_C99_STRTOLD, which no longer
16476         exists.
16478 2019-02-02  Bruno Haible  <bruno@clisp.org>
16480         fma: Improve code style.
16481         * lib/fma.c: Include <limits.h>, for CHAR_BIT.
16483 2019-02-02  Colin Watson  <cjwatson@debian.org>
16485         *-map tests: Fix compilation error.
16486         * tests/test-array_map.c: Include <limits.h>, for CHAR_BIT.
16487         * tests/test-hash_map.c: Likewise.
16488         * tests/test-linkedhash_map.c: Likewise.
16490 2019-01-31  Bruno Haible  <bruno@clisp.org>
16492         c-strtod, c-strtold: Use the bug fixes for strtod, strtold.
16493         * lib/stdlib.in.h (GNULIB_defined_strtod_function,
16494         GNULIB_defined_strtold_function): New macros.
16495         * lib/c-strtod.c (HAVE_GOOD_STRTOD_L): New macro.
16496         (STRTOD): Ignore HAVE_C99_STRTOLD.
16497         (c_locale): Don't define it on platforms where strtod_l/strtold_l is
16498         deemed buggy. But do use it on platforms where uselocale exists and is
16499         usable.
16500         (C_STRTOD): Don't use STRTOD_L on platforms where strtod_l/strtold_l is
16501         deemed buggy. On platforms where uselocale exists and is usable, use
16502         uselocale and strtod/strtold.
16503         * m4/c-strtod.m4 (gl_C99_STRTOLD): Remove macro.
16504         (gl_C_STRTOD): Require gt_FUNC_USELOCALE.
16505         (gl_C_STRTOLD): Likewise. Define HAVE_C99_STRTOLD unconditionally.
16506         * modules/c-strtod (Files): Add m4/intl-thread-locale.m4.
16507         (Depends-on): Add strtod.
16508         * modules/c-strtold (Files): Add m4/intl-thread-locale.m4.
16509         (Depends-on): Add strtold.
16511 2019-01-31  Bruno Haible  <bruno@clisp.org>
16513         strtod, strtold: Use the locale's decimal point.
16514         * lib/strtod.c: Include <locale.h>, <stdio.h>, <langinfo.h>.
16515         (decimal_point_char): New function, copied from lib/vasnprintf.c.
16516         (parse_number): Add a radixchar argument. Use it instead of '.'.
16517         (STRTOD): Invoke decimal_point_char and pass the result to parse_number.
16518         * m4/strtod.m4 (gl_PREREQ_STRTOD): Test whether nl_langinfo exists.
16519         * m4/strtold.m4 (gl_PREREQ_STRTOLD): Likewise.
16520         * tests/test-strtod1.c: New file.
16521         * tests/test-strtod1.sh: New file.
16522         * modules/strtod-tests (Files): Add test-strtod1.{sh,c}. Add
16523         locale-fr.m4 and its dependencies.
16524         (configure.ac): Invoke gt_LOCALE_FR, gt_LOCALE_FR_UTF8.
16525         (Makefile.am): Arrange to compile test-strtod1.c and run
16526         test-strtod1.sh.
16527         * tests/test-strtold1.c: New file.
16528         * tests/test-strtold1.sh: New file.
16529         * modules/strtold-tests (Files): Add test-strtold1.{sh,c}. Add
16530         locale-fr.m4 and its dependencies.
16531         (configure.ac): Invoke gt_LOCALE_FR, gt_LOCALE_FR_UTF8.
16532         (Makefile.am): Arrange to compile test-strtold1.c and run
16533         test-strtold1.sh.
16535 2019-01-31  Bruno Haible  <bruno@clisp.org>
16537         strtod, strtold tests: Simplify tests.
16538         * tests/test-strtod.c (main): Assume no rounding errors for 0.5.
16539         * tests/test-strtold.c (main): Likewise.
16541 2019-01-31  Bruno Haible  <bruno@clisp.org>
16543         strtod, strtold: Avoid unnecessary rounding errors.
16544         * lib/strtod.c (parse_number): Drop trailing zeroes before doing the
16545         decimal to DOUBLE conversion.
16547 2019-01-31  Bruno Haible  <bruno@clisp.org>
16549         strtod, strtold: Work around HP-UX 11.31/ia64 bug.
16550         * lib/strtod.c (STRTOD): When there is an extra character after the
16551         exponent marker 'p', reparse the number.
16552         * doc/posix-functions/strtod.texi: Document the HP-UX 11.31 bug.
16553         * doc/posix-functions/strtold.texi: Likewise.
16555 2019-01-29  Bruno Haible  <bruno@clisp.org>
16557         strtold: Add tests.
16558         * tests/test-strtold.c: New file, based on tests/test-strtod.c.
16559         * modules/strtold-tests: New file.
16561 2019-01-29  Bruno Haible  <bruno@clisp.org>
16563         strtold: New module.
16564         * lib/stdlib.in.h (strtold): New declaration.
16565         * lib/strtold.c: New file.
16566         * lib/strtod.c: Consider USE_LONG_DOUBLE.
16567         (STRTOD, LDEXP, HAVE_UNDERLYING_STRTOD, DOUBLE, MIN, MAX, L_,
16568         USE_LDEXP): New macros.
16569         (LDEXP, scale_radix_exp, parse_number, STRTOD): Adapt for
16570         USE_LONG_DOUBLE.
16571         (underlying_strtod): Remove function. Replace with some macros.
16572         Re-add the code for a missing underlying function that was removed on
16573         2013-02-19.
16574         * m4/strtold.m4: New file.
16575         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether strtold is declared.
16576         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLD, HAVE_STRTOLD,
16577         REPLACE_STRTOLD.
16578         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLD, HAVE_STRTOLD,
16579         REPLACE_STRTOLD.
16580         * modules/strtold: New file.
16581         * doc/posix-functions/strtold.texi: Document the new module.
16583 2019-01-29  Bruno Haible  <bruno@clisp.org>
16585         strtod: Fix compilation error on IRIX 6.5.
16586         * modules/strtod (Depends-on): Add 'math'.
16588 2019-01-28  Bruno Haible  <bruno@clisp.org>
16590         Fix build error when building a shared libunistring on Android.
16591         * tests/uninorm/test-nfc.c (n): Don't define on Android.
16592         (main): Add 'volatile', to defeat a GCC optimization that would
16593         eliminate the reference.
16594         * tests/uninorm/test-nfd.c (n): Don't define on Android.
16595         (main): Add 'volatile', to defeat a GCC optimization that would
16596         eliminate the reference.
16597         * tests/uninorm/test-nfkc.c (n): Don't define on Android.
16598         (main): Add 'volatile', to defeat a GCC optimization that would
16599         eliminate the reference.
16600         * tests/uninorm/test-nfkd.c (n): Don't define on Android.
16601         (main): Add 'volatile', to defeat a GCC optimization that would
16602         eliminate the reference.
16604 2019-01-27  Bruno Haible  <bruno@clisp.org>
16606         Avoid build errors due to wrong references between modules.
16607         * lib/uninorm/canonical-decomposition.c: Include
16608         "uninorm/decomposition-table.h", not "decomposition-table.h".
16609         * lib/uninorm/decomposition.c: Likewise.
16610         * lib/uninorm/u8-normalize.c: Include "uninorm/decompose-internal.h",
16611         not "decompose-internal.h".
16612         * lib/uninorm/u16-normalize.c: Likewise.
16613         * lib/uninorm/u32-normalize.c: Likewise.
16614         * lib/uninorm/uninorm-filter.c: Likewise.
16615         * lib/uninorm/nfkc.c: Likewise.
16616         * lib/uninorm/nfkd.c: Likewise.
16617         * lib/unicase/u8-casemap.c: Include "unicase/caseprop.h", not
16618         "caseprop.h".
16619         * lib/unicase/u8-ct-totitle.c: Likewise.
16620         * lib/unicase/u8-prefix-context.c: Likewise.
16621         * lib/unicase/u8-suffix-context.c: Likewise.
16622         * lib/unicase/u16-casemap.c: Likewise.
16623         * lib/unicase/u16-ct-totitle.c: Likewise.
16624         * lib/unicase/u16-prefix-context.c: Likewise.
16625         * lib/unicase/u16-suffix-context.c: Likewise.
16626         * lib/unicase/u32-casemap.c: Likewise.
16627         * lib/unicase/u32-ct-totitle.c: Likewise.
16628         * lib/unicase/u32-prefix-context.c: Likewise.
16629         * lib/unicase/u32-suffix-context.c: Likewise.
16630         * lib/unicase/u8-tolower.c: Include "unicase/unicasemap.h", not
16631         "unicasemap.h".
16632         * lib/unicase/u8-toupper.c: Likewise.
16633         * lib/unicase/u8-ct-tolower.c: Likewise.
16634         * lib/unicase/u8-ct-toupper.c: Likewise.
16635         * lib/unicase/u16-tolower.c: Likewise.
16636         * lib/unicase/u16-toupper.c: Likewise.
16637         * lib/unicase/u16-ct-tolower.c: Likewise.
16638         * lib/unicase/u16-ct-toupper.c: Likewise.
16639         * lib/unicase/u32-tolower.c: Likewise.
16640         * lib/unicase/u32-toupper.c: Likewise.
16641         * lib/unicase/u32-ct-tolower.c: Likewise.
16642         * lib/unicase/u32-ct-toupper.c: Likewise.
16643         * lib/unicase/u8-ct-casefold.c: Include "unicase/unicasemap.h", not
16644         "unicasemap.h", and "unicase/casefold.h", not "casefold.h".
16645         * lib/unicase/u16-ct-casefold.c: Likewise.
16646         * lib/unicase/u32-ct-casefold.c: Likewise.
16648 2019-01-27  Bruno Haible  <bruno@clisp.org>
16650         gperf: Fix error when this module is required by some test module.
16651         * modules/gperf (Applicability): Set to 'all'.
16653 2019-01-27  Bruno Haible  <bruno@clisp.org>
16655         tmpfile: Add support for Android.
16656         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Add a runtime test whether tmpfile()
16657         works.
16658         * lib/tmpfile.c (tmpfile): Add an alternative implementation for
16659         Android.
16660         * modules/tmpfile (Depends-on): Add 'stdbool'.
16661         * doc/posix-functions/tmpfile.texi: Mention the Android bug.
16662         * modules/argv-iter-tests (Depends-on): Add 'tmpfile'.
16664 2019-01-27  Akim Demaille  <akim@lrde.epita.fr>
16666         bitsetv: allow free on NULL.
16667         * lib/bitsetv.c (bitsetv_free): Do nothing when the bitsetv is NULL.
16669 2019-01-27  Bruno Haible  <bruno@clisp.org>
16671         test-framework-sh: Improve maintainability.
16672         * tests/init.sh: Clarify what belongs together. Reorder definitions.
16674 2019-01-27  Bruno Haible  <bruno@clisp.org>
16676         tests: Don't assume that /tmp exists.
16677         * tests/test-set-mode-acl-1.sh: Skip the test if /tmp does not exist.
16678         * tests/test-copy-acl-1.sh: Likewise.
16679         * tests/test-file-has-acl-1.sh: Likewise.
16680         * tests/test-copy-file-1.sh: Likewise.
16682 2019-01-27  Bruno Haible  <bruno@clisp.org>
16684         tests: Accommodate a shell that is not in /bin/sh.
16685         * tests/init.sh (setup_): Set srcdir and builddir.
16686         (BOURNE_SHELL): New variable.
16687         * modules/acl-tests (Depends-on): Add 'test-framework-sh'.
16688         * modules/file-has-acl-tests (Depends-on): Likewise.
16689         * modules/copy-file-tests (Depends-on): Likewise.
16690         * tests/test-set-mode-acl-1.sh: Use the test framework. Invoke shell
16691         scripts through $BOURNE_SHELL.
16692         * tests/test-set-mode-acl-2.sh: Likewise.
16693         * tests/test-copy-acl-1.sh: Likewise.
16694         * tests/test-copy-acl-2.sh: Likewise.
16695         * tests/test-file-has-acl-1.sh: Likewise.
16696         * tests/test-file-has-acl-2.sh: Likewise.
16697         * tests/test-copy-file-1.sh: Likewise.
16698         * tests/test-copy-file-2.sh: Likewise.
16699         * tests/test-set-mode-acl.sh (builddir): Consider value set by the
16700         invoker.
16701         * tests/test-copy-acl.sh (builddir): Likewise.
16702         * tests/test-file-has-acl.sh (builddir): Likewise.
16703         * tests/test-copy-file.sh (builddir): Likewise.
16704         * tests/test-vc-list-files-cvs.sh: Don't create shims for executables in
16705         build-aux/. Instead, invoke shell scripts through $BOURNE_SHELL.
16706         * tests/test-vc-list-files-git.sh: Likewise.
16708 2019-01-27  Bruno Haible  <bruno@clisp.org>
16710         tests: Fix some "unused variable" warnings.
16711         * tests/test-fts.c (fts_dealloc): Remove unused variable.
16712         * tests/unigbrk/test-uc-grapheme-breaks.c (main): Likewise.
16713         * tests/test-striconveh.c (main): Move some variable into the
16714         '#if HAVE_ICONV'.
16715         * tests/test-striconveha.c (main): Likewise.
16716         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
16717         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
16718         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
16719         * tests/uniconv/test-u8-conv-to-enc.c (main): Likewise.
16720         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
16721         * tests/uniconv/test-u32-conv-to-enc.c (main): Likewise.
16722         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
16723         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
16724         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
16725         * tests/uniconv/test-u8-strconv-to-enc.c (main): Likewise.
16726         * tests/uniconv/test-u16-strconv-to-enc.c (main): Likewise.
16727         * tests/uniconv/test-u32-strconv-to-enc.c (main): Likewise.
16728         * tests/test-tsearch.c (main): Move some variable into the
16729         '#if HAVE_INITSTATE'.
16731 2019-01-27  Bruno Haible  <bruno@clisp.org>
16733         unigbrk/uc-grapheme-breaks: Fix build failure.
16734         * lib/unigbrk/uc-grapheme-breaks.c: Don't include unistr.h.
16735         * modules/unigbrk/uc-grapheme-breaks (Makefile.am): Fix typo.
16737 2019-01-27  Bruno Haible  <bruno@clisp.org>
16739         mountlist: Merge two .m4 files.
16740         * m4/mountlist.m4 (gl_MOUNTLIST): Inline gl_LIST_MOUNTED_FILE_SYSTEMS.
16741         (AC_FUNC_GETMNTENT): Move to here, from m4/ls-mntd-fs.m4.
16742         * m4/ls-mntd-fs.m4: Remove file.
16743         * modules/mountlist (Files): Remove m4/ls-mntd-fs.m4.
16745 2019-01-27  Bruno Haible  <bruno@clisp.org>
16747         tests: Enable Linux specific tests on Android.
16748         * tests/test-flock.c (main): Treat Android like Linux.
16749         * tests/test-openat-safer.c (main): Likewise.
16751 2019-01-27  Bruno Haible  <bruno@clisp.org>
16753         relocatable-prog: Use Linux code on Android.
16754         * lib/progreloc.c: Treat Android like Linux.
16756 2019-01-26  Bruno Haible  <bruno@clisp.org>
16758         getloadavg: Add support for Android.
16759         * lib/getloadavg.c: Treat Android like Linux.
16761 2019-01-26  Bruno Haible  <bruno@clisp.org>
16763         vma-iter: Add support for Android.
16764         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Android as well.
16765         * lib/vma-iter.c: Treat Android like Linux.
16766         * lib/get-rusage-data.c (get_rusage_data): Likewise.
16768 2019-01-26  Bruno Haible  <bruno@clisp.org>
16770         fts: Optimize on Android.
16771         * lib/fts.c: Treat Android like Linux.
16773 2019-01-26  Bruno Haible  <bruno@clisp.org>
16775         fts: Add support for Android.
16776         * m4/fts.m4 (gl_FUNC_FTS_CORE): Avoid conflicts between the symbols
16777         defined by this module and the ones in libc.
16778         * tests/test-fts.c (main): Treat mkdir error EMLINK like EMFILE.
16780 2019-01-26  Bruno Haible  <bruno@clisp.org>
16782         mountlist: Use Linux code on Android.
16783         * lib/mountlist.c (setmntent, endmntent): Define fallbacks.
16784         (unescape_tab, read_file_system_list): Enable Linux code on Android
16785         as well.
16786         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Test for setmntent
16787         and endmntent.
16788         * modules/mountlist (Depends-on): Add 'getline'.
16790 2019-01-26  Bruno Haible  <bruno@clisp.org>
16792         localename tests: Fix test failure on Android.
16793         * modules/localename-tests (Depends-on): Add 'setlocale'.
16795 2019-01-26  Bruno Haible  <bruno@clisp.org>
16797         mountlist: Port better to Android.
16798         * lib/mountlist.c (MOUNTED): Redefine on Android.
16799         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Redefine MOUNTED on
16800         Android.
16802 2019-01-26  Bruno Haible  <bruno@clisp.org>
16804         striconveh: Fix use of uninitialized iconv_t.
16805         Reported by Tim Rühsen <tim.ruehsen@gmx.de> in
16806         <https://lists.gnu.org/archive/html/bug-libunistring/2019-01/msg00000.html>.
16807         * lib/striconveh.c (iconveh_open): Correct the iconv_close argument.
16809 2019-01-26  Bruno Haible  <bruno@clisp.org>
16811         nonblocking-socket-tests: Fix test failure on Android 4.3.
16812         * tests/test-nonblocking-socket.h (SOCKET_HAS_LARGE_BUFFER): Define to 1
16813         also on Android.
16815 2019-01-26  Bruno Haible  <bruno@clisp.org>
16817         sh-filename: Add support for Android 4.3.
16818         * m4/sh-filename.m4 (gl_SH_FILENAME): Set to "sh" on Android.
16820 2019-01-26  Bruno Haible  <bruno@clisp.org>
16822         ptsname_r: Work around bug on Android 4.3.
16823         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Define
16824         HAVE_ESSENTIALLY_WORKING_PTSNAME_R. Test whether the return value is
16825         correct.
16826         * lib/ptsname_r.c (__ptsname_r): If HAVE_ESSENTIALLY_WORKING_PTSNAME_R
16827         is defined, just fix the return value.
16828         * doc/glibc-functions/ptsname_r.texi: Mention the Android bug. Reword:
16829         The behaviour of musl libc is nothing to be "fixed", since it is
16830         compliant with the next POSIX standard.
16832 2019-01-26  Bruno Haible  <bruno@clisp.org>
16834         ttyname_r: Work around bug on Android 4.3.
16835         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is a stub.
16836         * lib/ttyname_r.c (ttyname_r): Implement for Android.
16837         * doc/posix-functions/ttyname_r.texi: Mention the Android bug.
16838         * doc/posix-functions/ttyname.texi: Likewise.
16840 2019-01-25  Bruno Haible  <bruno@clisp.org>
16842         getprogname: Port to Android 4.3.
16843         * lib/getprogname.c (getprogname): On Android, take only the last
16844         component of __progname.
16846 2019-01-25  Bruno Haible  <bruno@clisp.org>
16848         wcrtomb: Work around bug on Android 4.3.
16849         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test also whether wcrtomb works in
16850         the C locale.
16851         * lib/wcrtomb.c (wcrtomb): Provide alternate implementation for Android,
16852         which does not have the 'wctomb' function.
16853         * doc/posix-functions/wcrtomb.texi: Mention the Android bug.
16854         * tests/test-wcrtomb.c (main): Accept argument '5'.
16855         * tests/test-wcrtomb.sh: Add tests in the POSIX locale.
16857 2019-01-25  Bruno Haible  <bruno@clisp.org>
16859         setlocale: Work around bug on Android 4.3.
16860         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Test whether setlocale supports
16861         the "C" locale.
16862         * lib/setlocale.c (setlocale_unixlike): New wrapper for Android.
16863         * doc/posix-functions/setlocale.texi: Mention the Android bug.
16865 2019-01-24  Bruno Haible  <bruno@clisp.org>
16867         memchr: Work around bug on Android <= 5.0.
16868         * m4/memchr.m4 (gl_FUNC_MEMCHR): Add test against the Android bug.
16869         * doc/posix-functions/memchr.texi: Mention the Android bug.
16871 2019-01-24  Bruno Haible  <bruno@clisp.org>
16873         random: Fix compilation error on Android 4.3.
16874         * lib/stdlib.in.h (random, srandom): Test also REPLACE_RANDOM.
16875         (initstate): Test REPLACE_INITSTATE and HAVE_INITSTATE, not HAVE_RANDOM.
16876         (setstate): Test REPLACE_SETSTATE and HAVE_SETSTATE, not HAVE_RANDOM.
16877         * m4/random.m4 (gl_FUNC_RANDOM): Set HAVE_INITSTATE, HAVE_SETSTATE,
16878         REPLACE_RANDOM, REPLACE_INITSTATE, REPLACE_SETSTATE.
16879         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_INITSTATE,
16880         HAVE_SETSTATE, REPLACE_RANDOM, REPLACE_INITSTATE, REPLACE_SETSTATE.
16881         * modules/stdlib (Makefile.am): Substitute HAVE_INITSTATE, HAVE_SETSTATE,
16882         REPLACE_RANDOM, REPLACE_INITSTATE, REPLACE_SETSTATE.
16883         * modules/random (Depends-on, configure.ac): Test also REPLACE_RANDOM,
16884         REPLACE_INITSTATE, REPLACE_SETSTATE.
16885         * doc/posix-functions/random.texi: Correct the description of the
16886         situation on Android.
16887         * doc/posix-functions/srandom.texi: Likewise.
16888         * doc/posix-functions/rand.texi: Likewise.
16889         * doc/posix-functions/srand.texi: Likewise.
16891 2019-01-24  Bruno Haible  <bruno@clisp.org>
16893         mbtowc: Fix compilation error on Android 4.3.
16894         * lib/stdlib.in.h (mbtowc): Test also HAVE_MBTOWC.
16895         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Test whether mbtowc exists. Set
16896         HAVE_MBTOWC.
16897         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether mbtowc is declared.
16898         (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MBTOWC.
16899         * modules/stdlib (Makefile.am): Substitute HAVE_MBTOWC.
16900         * modules/mbtowc (Depends-on, configure.ac): Test also HAVE_MBTOWC.
16901         * doc/posix-functions/mbtowc.texi: Mention the change.
16903 2019-01-24  Bruno Haible  <bruno@clisp.org>
16905         fdatasync: Fix compilation error on Android 4.3.
16906         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): On platforms other than Solaris,
16907         test whether fdatasync() exists.
16909 2019-01-24  Bruno Haible  <bruno@clisp.org>
16911         unlinkat: Fix compilation error on Android 4.3.
16912         * lib/unistd.in.h: Include <fcntl.h> when module 'unlinkat' is in use
16913         also on Android.
16914         * doc/posix-functions/unlinkat.texi: Mention the issue.
16916 2019-01-24  Bruno Haible  <bruno@clisp.org>
16918         renameat: Fix compilation error on Android 4.3.
16919         * lib/stdio.in.h: Include <sys/stat.h> when module 'renameat' is in use.
16920         * doc/posix-functions/renameat.texi: Mention the issue.
16922 2019-01-24  Bruno Haible  <bruno@clisp.org>
16924         fchownat: Fix compilation error on Android 4.3.
16925         * lib/unistd.in.h: Include <sys/stat.h> when module 'fchownat' is in
16926         use.
16927         * m4/fchownat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG,
16928         gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): Include also <sys/stat.h>.
16929         * doc/posix-functions/fchownat.texi: Mention the issue.
16931 2019-01-23  Bruno Haible  <bruno@clisp.org>
16933         gnulib-tool: Support running testdirs on Android.
16934         * build-aux/test-driver.diff: New file.
16935         * gnulib-tool (func_create_testdir, func_create_megatestdir): Patch
16936         build-aux/test-driver after running automake.
16938 2019-01-23  Akim Demaille  <akim@lrde.epita.fr>
16940         relocatable-prog: avoid warnings from Automake
16941         * modules/relocatable-prog: Don't declare PHONY dependencies in
16942         Automake conditionals.
16944 2019-01-23  Akim Demaille  <akim@lrde.epita.fr>
16946         array-list: Pacify warnings about unused arguments (-Wunused-parameter).
16947         * lib/gl_array_list.c (gl_array_iterator_free): "Use" the argument.
16949 2019-01-23  Bruno Haible  <bruno@clisp.org>
16951         threadlib: Revert commit from 2018-06-25. We now have a better fix.
16952         * m4/threadlib.m4 (gl_THREADLIB_BODY): Don't attempt to defeat a
16953         preceding -Wl,--as-needed option. Don't check whether the linker
16954         supports --as-needed/--no-as-needed and --push-state/--pop-state.
16956 2019-01-23  Bruno Haible  <bruno@clisp.org>
16958         thread: Force linking with -lpthread, even when --as-needed is in use.
16959         Reported by Richard W.M. Jones <rjones@redhat.com> in
16960         <https://lists.gnu.org/archive/html/bug-gnulib/2019-01/msg00123.html>.
16961         * lib/glthread/thread.h (pthread_create): Don't declare weak.
16963 2019-01-23  Akim Demaille  <akim.demaille@gmail.com>
16964             Bruno Haible  <bruno@clisp.org>
16966         relocatable: avoid compiler warnings (-Wshadow)
16967         * lib/relocatable.c (compute_curr_prefix): Rename local variables
16968         to avoid name collisions with global variables.
16970 2019-01-22  Bruno Haible  <bruno@clisp.org>
16972         vasnprintf: Don't use %n on Android.
16973         Reported and fix suggested by Hugo Beauzée-Luyssen <hugo@beauzee.fr> in
16974         <https://lists.gnu.org/archive/html/bug-gnulib/2018-12/msg00123.html>.
16975         * lib/vasnprintf.c (VASNPRINTF): Don’t use %n on Android.
16977 2019-01-22  Bruno Haible  <bruno@clisp.org>
16979         *printf: Support cross-compilation to Android.
16980         * m4/printf.m4: Add cross-compilation guesses for Android.
16982 2019-01-21  Bruno Haible  <bruno@clisp.org>
16984         diacrit: Mark deprecated.
16985         * modules/diacrit (Status, Notice): Mark as deprecated.
16986         * NEWS: Mention it.
16988 2019-01-20  Bruno Haible  <bruno@clisp.org>
16990         rintl: Override broken implementation on NetBSD.
16991         * lib/math.in.h (rintl): Test also REPLACE_RINTL.
16992         * m4/rintl.m4 (gl_FUNC_RINTL): Add test for negative arguments. Set
16993         REPLACE_RINTL.
16994         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_RINTL.
16995         * modules/math (Makefile.in): Substitute REPLACE_RINTL.
16996         * modules/rintl (Depends-on, configure.ac): Test REPLACE_RINTL.
16997         * doc/posix-functions/rintl.texi: Mention the NetBSD bug.
16999 2019-01-20  Bruno Haible  <bruno@clisp.org>
17001         log10l: Work around inaccurate implementation on NetBSD.
17002         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): Add test for a certain accuracy.
17003         * lib/log10l.c: Comment out too simplistic override.
17004         * doc/posix-functions/log10l.texi: Mention the NetBSD bug.
17006 2019-01-20  Bruno Haible  <bruno@clisp.org>
17008         logl: Work around inaccurate implementation on NetBSD.
17009         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): Add test for a certain accuracy.
17010         * lib/logl.c: Comment out unused code.
17011         * doc/posix-functions/logl.texi: Mention the NetBSD bug.
17013 2019-01-20  Bruno Haible  <bruno@clisp.org>
17015         expm1l: Work around inaccurate implementation on NetBSD.
17016         * lib/math.in.h (expm1l): Test also REPLACE_EXPM1L.
17017         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Add test for a certain accuracy. Set
17018         REPLACE_EXPM1L.
17019         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1L.
17020         * modules/math (Makefile.in): Substitute REPLACE_EXPM1L.
17021         * modules/expm1l (Depends-on, configure.ac): Test REPLACE_EXPM1L.
17022         * doc/posix-functions/expm1l.texi: Mention the NetBSD bug.
17024 2019-01-20  Bruno Haible  <bruno@clisp.org>
17026         expl: Work around inaccurate implementation on NetBSD.
17027         * lib/math.in.h (expl): Test also REPLACE_EXPL.
17028         * m4/expl.m4 (gl_FUNC_EXPL): Add test for a certain accuracy. Set
17029         REPLACE_EXPL.
17030         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPL.
17031         * modules/math (Makefile.in): Substitute REPLACE_EXPL.
17032         * modules/expl (Depends-on, configure.ac): Test REPLACE_EXPL.
17033         * doc/posix-functions/expl.texi: Mention the NetBSD bug.
17035 2019-01-20  Bruno Haible  <bruno@clisp.org>
17037         exp2l: Work around inaccurate implementation on NetBSD.
17038         * m4/exp2l.m4 (gl_FUNC_EXP2L): Add test for a certain accuracy.
17039         * doc/posix-functions/exp2l.texi: Mention the NetBSD bug.
17041 2019-01-20  Bruno Haible  <bruno@clisp.org>
17043         floor, floorl: Avoid autoconf warnings.
17044         * modules/floor (configure.ac): Use AC_REQUIRE.
17045         * modules/floorl (configure.ac): Likewise.
17047 2019-01-20  Bruno Haible  <bruno@clisp.org>
17049         Defeat current GCC optimizations in math autoconf tests.
17050         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Mark function pointer as 'volatile'.
17051         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
17052         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
17053         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
17054         * m4/exp2l.m4 (gl_FUNC_EXP2L): Likewise.
17055         * m4/expm1.m4 (gl_FUNC_EXPM1): Likewise.
17056         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
17057         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
17058         * m4/fmod.m4 (gl_FUNC_FMOD): Likewise.
17059         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
17060         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
17061         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
17062         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
17063         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
17064         * m4/ilogb.m4 (gl_FUNC_ILOGB_WORKS): Likewise.
17065         * m4/ilogbf.m4 (gl_FUNC_ILOGBF_WORKS): Likewise.
17066         * m4/ilogbl.m4 (gl_FUNC_ILOGBL_WORKS): Likewise.
17067         * m4/log.m4 (gl_FUNC_LOG): Likewise.
17068         * m4/logf.m4 (gl_FUNC_LOGF): Likewise.
17069         * m4/log10.m4 (gl_FUNC_LOG10): Likewise.
17070         * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
17071         * m4/log1p.m4 (gl_FUNC_LOG1P): Likewise.
17072         * m4/log1pf.m4 (gl_FUNC_LOG1PF): Likewise.
17073         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Likewise.
17074         * m4/log2.m4 (gl_FUNC_LOG2): Likewise.
17075         * m4/log2f.m4 (gl_FUNC_LOG2F): Likewise.
17076         * m4/modf.m4 (gl_FUNC_MODF): Likewise.
17077         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
17078         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
17079         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
17080         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
17081         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
17082         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
17083         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
17084         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
17085         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
17086         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
17087         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
17089 2019-01-19  Pádraig Brady  <P@draigBrady.com>
17091         gettext: support disabling use of VLAs
17092         * lib/gettext.h: Disable use of VLAs if GNULIB_NO_VLA is defined
17094 2019-01-17  KO Myung-Hun  <komh78@gmail.com>
17096         sys_stat: Fix 'implicit declaration of function' warning on OS/2 kLIBC.
17097         * lib/sys_stat.in.h [kLIBC]: Include <unistd.h>.
17099 2019-01-17  KO Myung-Hun  <komh78@gmail.com>
17101         fcntl: Fix syntax error (regression from 2018-10-05).
17102         * lib/fcntl.c (klibc_fcntl): Remove mis-placed ';'.
17104 2019-01-13  Akim Demaille  <akim@lrde.epita.fr>
17106         relocatable: improve documentation.
17107         * doc/relocatable-maint.texi (Supporting Relocation): For
17108         substitutions performed by config.status, we need more variables
17109         (for instance datarootdir defaults to '${prefix}/share' so we need
17110         prefix).
17112 2019-01-13  Akim Demaille  <akim@lrde.epita.fr>
17114         backup: update dependencies
17115         * modules/backup-rename (Depends-on): It now depends on opendirat
17116         instead of opendir.  It also uses stdint, and xalloc-oversized.
17117         But no longer dirfd.
17118         * modules/backupfile (Depends-on): Add xalloc-oversized.
17120 2019-01-13  Bruno Haible  <bruno@clisp.org>
17122         getcwd: Fix test failure when building on a Linux 9p file system.
17123         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): On Linux, treat error
17124         EINVAL from mkdir like ENAMETOOLONG.
17125         * tests/test-getcwd.c (test_long_name): Likewise.
17127 2019-01-12  Tim Rühsen  <tim.ruehsen@gmx.de>
17129         Fix typos found by codespell.
17130         * lib/*.[hc]: Fix typos in comments.
17131         * pygnulib/*.py: Fix typos in error messages and comments.
17133 2019-01-12  Bruno Haible  <bruno@clisp.org>
17135         doc: Fix documentation about container data types.
17136         Reported by Werner Lemberg <wl@gnu.org>.
17137         * doc/containers.texi (Container data types): Fix typo.
17139 2019-01-10  Bruno Haible  <bruno@clisp.org>
17141         verify: Enable _GL_HAVE_STATIC_ASSERT for recent G++ versions.
17142         Reported by Reuben Thomas <rrt@sc3d.org>.
17143         * lib/verify.h (_GL_HAVE_STATIC_ASSERT): Define for g++ versions >= 6.
17145 2019-01-06  Bruno Haible  <bruno@clisp.org>
17147         maintainer-makefile: Make the configure.ac section optional.
17148         * top/maint.mk (GREP, SED): Define if not defined.
17150 2019-01-06  Bruno Haible  <bruno@clisp.org>
17152         localename: Assume setlocale function.
17153         * lib/localename.c (gl_locale_name_posix): Assume setlocale exists.
17154         * m4/localename.m4 (gl_LOCALENAME): Don't test whether setlocale exists.
17156 2019-01-06  Bruno Haible  <bruno@clisp.org>
17158         doc: Add documentation about container data types.
17159         * doc/containers.texi: New file.
17160         * doc/gnulib.texi (Particular Modules): Include it.
17162 2019-01-06  Bruno Haible  <bruno@clisp.org>
17164         doc: Update documentation about 'progname' module.
17165         * doc/progname.texi: Rename from doc/error.texi. Change node name and
17166         title. Rewrite.
17167         * doc/gnulib.texi (Particular Modules): Update.
17169 2019-01-06  Bruno Haible  <bruno@clisp.org>
17171         doc: Document the xstdopen and *-safer modules.
17172         * doc/xstdopen.texi: New file.
17173         * doc/gnulib.texi (Particular Modules): Include it.
17175 2019-01-06  Bruno Haible  <bruno@clisp.org>
17177         xstdopen: Add tests.
17178         * tests/test-xstdopen.c: New file.
17179         * tests/test-xstdopen.sh: New file.
17180         * modules/xstdopen-tests: New file.
17182         xstdopen: New module.
17183         * lib/xstdopen.h: New file.
17184         * lib/xstdopen.c: New file.
17185         * modules/xstdopen: New file.
17187 2019-01-06  Bruno Haible  <bruno@clisp.org>
17189         stdopen: Fix compilation error with IRIX cc.
17190         * lib/stdopen.c (stdopen): Do not use C99-style decl in loop.
17192 2019-01-05  Paul Eggert  <eggert@cs.ucla.edu>
17194         xfreopen need not include stdio--.h
17195         * lib/xfreopen.c: Do not include stdio--.h.
17197         xfreopen need not depend on freopen-safer
17198         * modules/xfreopen (Depends-on):
17199         Depend on freopen, not freopen-safer.
17201         stdopen: modernize and simplify
17202         * lib/stdopen.c: Update copyright date
17203         Do not include sys/types.h; no longer needed these days.
17204         (stdopen): Use C99-style decl in loop.  Return int errno
17205         value, rather than just a bool.  Do not worry about fd mismatches,
17206         since the caller cares only if 0, 1, 2 are occupied.
17207         * lib/stdopen.h: No need to include <stdbool.h>.
17208         * m4/stdopen.m4: Remove.
17209         * modules/stdopen: New file.
17211         stdopen: copy from last use in coreutils
17212         * lib/stdopen.c, lib/stdopen.h, m4/stdopen.m4:
17213         New files, taken from their last commit in coreutils
17214         2007-07-23T12:35:58Z!jim@meyering.net
17215         71aa3ea88084d17bcb4fc1031ad7b66f8647115e.
17217 2019-01-05  Bruno Haible  <bruno@clisp.org>
17219         argp: Don't pass an invalid argument to dgettext().
17220         Reported by He X <xw897002528@gmail.com>.
17221         * lib/argp-help.c (print_header, argp_doc): Don't pass a NULL doc to
17222         dgettext().
17224 2019-01-05  Bruno Haible  <bruno@clisp.org>
17226         argp: Don't pass an invalid argument to dgettext().
17227         Reported by He X <xw897002528@gmail.com>.
17228         * lib/argp.h (struct argp): Clarify that the args_doc field may be NULL.
17229         * lib/argp-help.c (argp_args_usage): Don't pass a NULL args_doc to
17230         dgettext().
17232 2018-12-22  Paul Eggert  <eggert@cs.ucla.edu>
17234         stdioext: port to newer 32-bit Android
17235         Problem reported by Tom Yan in:
17236         https://lists.gnu.org/archive/html/bug-gnulib/2018-07/msg00014.html
17237         * lib/stdio-impl.h (_gl_FILE_flags_t) [__ANDROID__]: New macro.
17238         (fp_) [__ANDROID__]: Use it.
17240 2019-01-04  Bruno Haible  <bruno@clisp.org>
17242         lock: Fix link error with --enable-threads=pth.
17243         * lib/glthread/lock.h (pth_cond_init, pth_cond_await, pth_cond_notify):
17244         Mark as weak.
17246 2019-01-04  Bruno Haible  <bruno@clisp.org>
17248         Fix link errors in unit tests.
17249         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
17250         * modules/bitset-tests (Makefile.am): Link test-bitset against libintl.
17251         * modules/array-map-tests (Makefile.am): Link test-array_map against
17252         libintl.
17253         * modules/array-set-tests (Makefile.am): Link test-array_set against
17254         libintl.
17255         * modules/hash-map-tests (Makefile.am): Link test-hash_map against
17256         libintl.
17257         * modules/hash-set-tests (Makefile.am): Link test-hash_set against
17258         libintl.
17259         * modules/linkedhash-map-tests (Makefile.am): Link test-linkedhash_map
17260         against libintl.
17261         * modules/linkedhash-set-tests (Makefile.am): Link test-linkedhash_set
17262         against libintl.
17264 2019-01-04  Bruno Haible  <bruno@clisp.org>
17266         Fix incorrect 'Link' sections.
17267         * modules/regex (Link): Mention the link requirement of module 'lock'.
17268         * modules/regex-tests (Makefile.am): Don't use LIB_PTHREAD.
17270 2019-01-04  Bruno Haible  <bruno@clisp.org>
17272         Fix some 'Link' sections.
17273         * modules/c-stack (Link): Add link directive from the 'gettext-h'
17274         dependency.
17275         * modules/getaddrinfo (Link): Likewise.
17277 2019-01-04  Bruno Haible  <bruno@clisp.org>
17279         Remove redundant 'Link' sections.
17280         * modules/canon-host (Link): Remove section.
17281         * modules/timevar (Link): Likewise.
17283 2019-01-04  Bruno Haible  <bruno@clisp.org>
17285         Remove incorrect 'Link' sections.
17286         * modules/acl (Link): Remove section. Use combined 'Link' sections from
17287         the dependencies instead.
17288         * modules/crypto/md5 (Link): Likewise.
17289         * modules/crypto/sha1 (Link): Likewise.
17290         * modules/crypto/sha256 (Link): Likewise.
17291         * modules/crypto/sha512 (Link): Likewise.
17292         * modules/faccessat (Link): Likewise.
17293         * modules/fdutimensat (Link): Likewise.
17294         * modules/iconv_open-utf (Link): Likewise.
17295         * modules/propername (Link): Likewise.
17296         * modules/qacl (Link): Likewise.
17297         * modules/unicodeio (Link): Likewise.
17298         * modules/utimecmp (Link): Likewise.
17299         * modules/utimensat (Link): Likewise.
17300         * modules/xstriconv (Link): Likewise.
17301         * modules/xstriconveh (Link): Likewise.
17303 2019-01-04  Bruno Haible  <bruno@clisp.org>
17305         gnulib-tool: New option --extract-recursive-link-directive.
17306         * gnulib-tool (func_usage): Document the new options
17307         --extract-recursive-dependencies, --extract-recursive-link-directive.
17308         (func_verify_module): Document output variables.
17309         (func_get_dependencies_recursively): New function.
17310         (func_get_link_directive_recursively): New function.
17311         Use them to implement the new options
17312         --extract-recursive-dependencies, --extract-recursive-link-directive.
17313         * doc/gnulib-tool.texi (Link-time requirements): New section.
17315 2019-01-04  Bruno Haible  <bruno@clisp.org>
17317         Clarify meaning of 'Link' section in module description.
17318         * doc/gnulib.texi (Module description): Clarify the meaning of the
17319         'Link' section versus the one of the dependencies.
17320         * NEWS: Mention the change.
17322 2019-01-04  Bruno Haible  <bruno@clisp.org>
17324         pselect: Fix module description.
17325         * modules/pselect (Link): Put one link option per line.
17327 2019-01-04  Bruno Haible  <bruno@clisp.org>
17329         cosl: Fix module description.
17330         * modules/cosl (Link): Fix typo.
17331         * modules/mathl (configure.ac): Likewise.
17333 2019-01-04  Bruno Haible  <bruno@clisp.org>
17335         c-xvasprintf: Fix module dependencies.
17336         * modules/c-xvasprintf (Depends-on): Add 'xalloc-die'.
17338 2019-01-04  Akim Demaille  <akim@lrde.epita.fr>
17340         bootstrap: die when some submodules are not initialized
17341         * build-aux/bootstrap: Make sure all submodules are initialized.
17343 2019-01-04  Bruno Haible  <bruno@clisp.org>
17345         bitsetv: Fix module dependencies.
17346         * lib/bitsetv.c: Include xalloc.h.
17347         * modules/bitsetv (Depends-on): Add 'xalloc'.
17349 2019-01-04  Bruno Haible  <bruno@clisp.org>
17351         xmemdup0: Remove redundant code.
17352         * lib/xmemdup0.h (xalloc_die): Remove declaration.
17354 2019-01-04  Bruno Haible  <bruno@clisp.org>
17356         backupfile: Fix module dependencies.
17357         * modules/backupfile (Depends-on): Add 'xalloc'.
17359 2019-01-03  Paul Eggert  <eggert@cs.ucla.edu>
17361         bitset, crypto/gc: fix conflicts with Solaris 11
17362         * lib/bitset.h (_GL_BITSET_H): Rename from _BITSET_H, to
17363         avoid clash with Solaris 11 <sys/bitset.h>.
17364         * lib/gc.h (_GL_GC_H): Rename from GC_H, to avoid clash
17365         with Solaris 11 <xorg/gc.h>.
17367 2019-01-04  Bruno Haible  <bruno@clisp.org>
17369         safe-read, safe-write: Fix conflict with Illumos-Joyent <sys/limits.h>.
17370         Reported by Andy Fiddaman <andy@omniosce.org>.
17371         * lib/sys-limits.h: Add a '_GL' prefix to the guard symbol.
17373 2019-01-03  Eric Blake  <eblake@redhat.com>
17375         maintainer-makefile: fix typo in previous patch
17376         * top/maint.mk (_sc_search_regexp): Fix my accidental corruption
17377         of Roman's work.
17379 2019-01-02  Roman Bolshakov <r.bolshakov@yadro.com>  (tiny change)
17381         maintainer-makefile: prefer $(GREP) over grep
17382         * modules/maintainer-makefile (configure.ac): Ensure $(GREP) is
17383         defined.
17384         * top/maint.mk: Use it everywhere.
17386         maintainer-makefile: split long argument lines
17387         * top/maint.mk: Use xargs to split $(VC_LIST_EXCEPT) usage where
17388         it would be too long for exec limits on BSD.
17390 2018-12-27  Paul Eggert  <eggert@cs.ucla.edu>
17392         mkfifo: bring back HAVE_MKFIFO macro
17393         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): #define HAVE_MKFIFO as needed.
17394         Problem reported by Andrew Janke in:
17395         https://lists.gnu.org/r/bug-gnulib/2018-12/msg00147.html
17397 2018-12-21  Bruno Haible  <bruno@clisp.org>
17399         Assume Autoconf >= 2.63.
17400         * modules/stdarg (configure.ac-early): Remove comment about Autoconf
17401         versions < 2.60.
17403 2018-12-21  Bruno Haible  <bruno@clisp.org>
17405         memcmp: Mention the clang bug.
17406         * tests/test-memcmp.c: Add comment about a known test failure.
17407         * doc/posix-functions/memcmp.texi: Mention the clang bug.
17409 2018-12-20  Jim Meyering  <meyering@fb.com>
17411         revert v0.1-2213-gae4b73e28 and part of v0.1-2281-g95cd86dd7
17412         v0.1-2213-gae4b73e28 caused a regression in grep-3.2 (no match):
17413           echo '123-x'|LC_ALL=C grep -E '.\bx'
17414         The goal is to revert the first, but reverting it requires to restore
17415         the function deleted in the second. I ran this to restore the deleted
17416         function:
17417           git show v0.1-2281-g95cd86dd7 lib/dfa.c \
17418             | perl -0777 -pe 's/^@@[^\n]*dfaan.*//ms' \
17419             | patch -R -p1
17420         * lib/dfa.c (charclass_context): Restore deleted function.
17421         Reverting the primary commit removes this change:
17422         dfa: Simplify a building state
17423         * lib/dfa.c (build_state): Simplify a building state.
17425 2018-12-20  Paul Eggert  <eggert@cs.ucla.edu>
17427         version-etc: allow zero authors
17428         * lib/version-etc.c (version_etc_arn): If no authors are given,
17429         omit authorship info instead of dumping core.
17431 2018-12-19  Bruno Haible  <bruno@clisp.org>
17433         lchown tests: Be more permissive regarding errno values.
17434         Reported by Ivan Zakharyaschev <imz@altlinux.org>.
17435         * tests/test-lchown.h (test_lchown): Recognize EOPNOTSUPP as an
17436         alternative to ENOSYS.
17437         * modules/lchown-tests (Depends-on): Add 'errno'.
17438         * modules/fchownat-tests (Depends-on): Likewise.
17440 2018-12-18  Bruno Haible  <bruno@clisp.org>
17442         duplocale: Avoid test failure on AIX 7.
17443         * modules/duplocale-tests (Files): Add m4/intl-thread-locale.m4.
17444         (configure.ac): Invoke gt_FUNC_USELOCALE.
17445         * tests/test-duplocale.c: Test HAVE_WORKING_USELOCALE instead of
17446         HAVE_USELOCALE. Assume that nl_langinfo_l only works when uselocale
17447         works.
17449 2018-12-18  Bruno Haible  <bruno@clisp.org>
17451         localename: Fix test failure on AIX 7.
17452         Reported by Assaf Gordon in
17453         <https://lists.gnu.org/archive/html/sed-devel/2018-12/msg00019.html>.
17454         * m4/intl-thread-locale.m4 (gt_FUNC_USELOCALE): New macro.
17455         (gt_INTL_THREAD_LOCALE_NAME): Invoke it. Test gt_cv_func_uselocale_works
17456         instead of ac_cv_func_uselocale.
17457         * lib/localename.c: Test HAVE_WORKING_USELOCALE instead of
17458         HAVE_USELOCALE.
17459         * lib/localename-table.h: Likewise.
17460         * lib/localename-table.c: Likewise.
17461         * tests/test-localename.c: Likewise.
17462         * doc/posix-functions/uselocale.texi: Mention the AIX problem.
17464 2018-12-18  Bruno Haible  <bruno@clisp.org>
17466         localename: Update comments regarding Cygwin.
17467         * lib/localename.c: Update comment.
17468         * doc/posix-functions/uselocale.texi: Update platforms list.
17469         * doc/posix-functions/newlocale.texi: Likewise.
17470         * doc/posix-functions/duplocale.texi: Likewise.
17471         * doc/posix-functions/freelocale.texi: Likewise.
17473 2018-12-16  Bruno Haible  <bruno@clisp.org>
17475         c-stack: Fix for Linux/sparc.
17476         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Set
17477         ac_cv_sys_xsi_stack_overflow_heuristic to 'no' on Linux/sparc.
17479 2018-12-16  Bruno Haible  <bruno@clisp.org>
17481         localename: Avoid test failure on some glibc systems.
17482         * tests/test-localename.c (test_locale_name, test_locale_name_posix):
17483         Unset environment variables that might disturb the first setlocale call,
17484         and verify that this setlocale call succeeds.
17486 2018-12-16  Assaf Gordon  <assafgordon@gmail.com>
17488         random: Fix build error on native Windows (regression from 2018-06-21).
17489         * lib/random.c (__srandom, __initstate, __setstate, __random,
17490         __srandom_r, __initstate_r, __setstate_r, __random_r) [!_LIBC]: Redirect
17491         to the symbols without '__' prefix.
17493 2018-12-16  Bruno Haible  <bruno@clisp.org>
17495         obstack, libc-config: Support HP-UX cc in C99 mode.
17496         * lib/obstack.h (__FLEXIBLE_ARRAY_MEMBER): Treat HP-UX cc as a pre-C99
17497         compiler, even when in C99 mode.
17498         * lib/cdefs.h (__flexarr): Likewise.
17499         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Update comment.
17501 2018-12-16  Bruno Haible  <bruno@clisp.org>
17503         localename: Fix test failure on OpenBSD >= 6.2.
17504         * m4/intl-thread-locale.m4 (gt_INTL_THREAD_LOCALE_NAME): Test for fake
17505         locale system. Define HAVE_FAKE_LOCALES in this case.
17506         * lib/localename.c (HAVE_GOOD_USELOCALE): New macro. Use it instead of
17507         HAVE_USELOCALE.
17508         * tests/test-localename.c (HAVE_GOOD_USELOCALE): New macro. Use it
17509         instead of HAVE_NEWLOCALE && HAVE_USELOCALE.
17510         * doc/posix-functions/uselocale.texi: Mention OpenBSD problem. Update
17511         platforms list.
17512         * doc/posix-functions/newlocale.texi: Likewise.
17513         * doc/posix-functions/duplocale.texi: Update platforms list.
17514         * doc/posix-functions/freelocale.texi: Likewise.
17516 2018-12-16  Bruno Haible  <bruno@clisp.org>
17518         duplocale tests: Re-enable the test on platforms without <monetary.h>.
17519         * tests/test-duplocale.c: Use more fine-grained #ifs to re-enable most
17520         of the test, on platforms without <monetary.h>.
17522 2018-12-16  Bruno Haible  <bruno@clisp.org>
17524         localename: Update comments.
17525         * lib/localename.c (HAVE_USELOCALE): Update list of platforms.
17527 2018-12-15  Jim Meyering  <meyering@fb.com>
17529         regex: fix indentation
17530         * m4/regex.m4 (gl_REGEX): Indent with spaces, not TABs.
17532 2018-12-15  Bruno Haible  <bruno@clisp.org>
17534         openat-safer tests: Avoid test failure on NetBSD 8.
17535         * tests/test-openat-safer.c (main): Execute a Linux specific test only
17536         on Linux.
17538 2018-12-15  Jim Meyering  <meyering@fb.com>
17540         regex: work around a bug in glibc-2.27 and prior
17541         * m4/regex.m4 (gl_REGEX): Reject any system regexp that gets a failed
17542         assertion for /0|()0|\1|0/.
17543         * tests/test-regex.c (main): Add the same test here.
17545 2018-12-15  Bruno Haible  <bruno@clisp.org>
17547         localename: Fix use of uninitialized shell variable.
17548         * m4/intl-thread-locale.m4 (gt_INTL_THREAD_LOCALE_NAME): Initialize
17549         gt_cv_locale_solaris114 always before use. Remove assignment without
17550         effect.
17552 2018-12-15  Bruno Haible  <bruno@clisp.org>
17554         dfa tests: Avoid test failure on Alpine Linux.
17555         * tests/dfa-match.sh (timeout_10): Accommodate the BusyBox 'timeout'
17556         command found on Alpine Linux.
17558 2018-12-15  Jim Meyering  <meyering@fb.com>
17560         dfa: avoid new warnings from gcc
17561         These would prevent building with -Werror and a Dec snapshot of gcc.
17562         * lib/dfa.c (dfaanalyze): Avoid shadowing warnings for "pos".
17563         Rename each inner instance to "p".
17564         (charclass_context): Remove unused static function.
17566 2018-12-14  Paul Eggert  <eggert@cs.ucla.edu>
17568         mkdir-p: improve diagnostic for FUSE mounts
17569         Problem reported by Niklas Hambüchen in:
17570         https://lists.gnu.org/r/bug-gnulib/2018-12/msg00074.html
17571         * lib/mkdir-p.c (make_dir_parents): In diagnostic, prefer stat
17572         errno to mkdir errno if the stat errno is likely more interesting.
17574 2018-12-14  Bruno Haible  <bruno@clisp.org>
17576         hash-map: Add tests.
17577         * tests/test-hash_map.c: New file.
17578         * modules/hash-map-tests: New file.
17580         linkedhash-map: Add tests.
17581         * tests/test-linkedhash_map.c: New file.
17582         * modules/linkedhash-map-tests: New file.
17584         array-map: Add tests.
17585         * tests/test-array_map.c: New file.
17586         * modules/array-map-tests: New file.
17588         xmap: New module.
17589         * lib/gl_xmap.h: New file.
17590         * lib/gl_xmap.c: New file.
17591         * modules/xmap: New file.
17593         hash-map: New module.
17594         * lib/gl_hash_map.h: New file.
17595         * lib/gl_hash_map.c: New file.
17596         * modules/hash-map: New file.
17598         linkedhash-map: New module.
17599         * lib/gl_linkedhash_map.h: New file.
17600         * lib/gl_linkedhash_map.c: New file.
17601         * lib/gl_anyhash1.h: Update comments.
17602         * lib/gl_anyhash2.h: Likewise.
17603         * modules/linkedhash-map: New file.
17605         array-map: New module.
17606         * lib/gl_array_map.h: New file.
17607         * lib/gl_array_map.c: New file.
17608         * modules/array-map: New file.
17610         map: New module.
17611         * lib/gl_map.h: New file.
17612         * lib/gl_map.c: New file.
17613         * lib/gl_omap.h (gl_mapkey_dispose_fn, gl_mapvalue_dispose_fn): Avoid
17614         conflict with gl_map.h.
17615         * modules/map: New file.
17617 2018-12-13  Bruno Haible  <bruno@clisp.org>
17619         select tests: Avoid test failure on Cygwin.
17620         * tests/test-select.h (test_bad_fd): Use an fd < FD_SETSIZE.
17622 2018-12-13  Bruno Haible  <bruno@clisp.org>
17624         localtime-buffer: Avoid endless recursion in localtime and gmtime.
17625         * lib/localtime-buffer.c: Undefine localtime and gmtime before use.
17627 2018-12-13  Bruno Haible  <bruno@clisp.org>
17629         localeconv tests: Avoid test failure on Cygwin.
17630         * tests/test-localeconv.c (main): On Cygwin, skip the 'grouping' and
17631         'mon_grouping' tests.
17633 2018-12-11  Bruno Haible  <bruno@clisp.org>
17635         omap: Don't dispose the old value when the function returns it.
17636         * lib/gl_array_omap.c (gl_array_remove_at): Don't invoke the vdispose_fn
17637         here.
17638         * lib/gl_avltree_omap.c (NODE_PAYLOAD_DISPOSE): Likewise.
17639         * lib/gl_rbtree_omap.c (NODE_PAYLOAD_DISPOSE): Likewise.
17640         * lib/gl_omap.h (gl_omap_nx_put, gl_omap_remove): Invoke the vdispose_fn
17641         here.
17643         array-omap, avltree-omap, rbtree-omap: Tweak style.
17644         * lib/gl_anytree_omap.h (gl_tree_nx_getput): Return 1 or 0, not true or
17645         false.
17646         * lib/gl_array_omap.c (gl_array_nx_getput): Likewise.
17648         rbtree-omap: Add tests.
17649         * tests/test-rbtree_omap.c: New file.
17650         * modules/rbtree-omap-tests: New file.
17652         avltree-omap: Add tests.
17653         * tests/test-avltree_omap.c: New file.
17654         * modules/avltree-omap-tests: New file.
17656         array-omap: Add tests.
17657         * tests/test-array_omap.c: New file.
17658         * modules/array-omap-tests: New file.
17660         xomap: New module.
17661         * lib/gl_xomap.h: New file.
17662         * lib/gl_xomap.c: New file.
17663         * modules/xomap: New file.
17665         rbtree-omap: New module.
17666         * lib/gl_rbtree_omap.h: New file.
17667         * lib/gl_rbtree_omap.c: New file.
17668         * lib/gl_rbtree_ordered.h: Code moved to here from lib/gl_rbtree_oset.c.
17669         Parameterize.
17670         * lib/gl_rbtree_oset.c: Include gl_rbtree_ordered.h.
17671         * modules/rbtree-omap: New file.
17672         * modules/rbtree-oset (Files): Add lib/gl_rbtree_ordered.h.
17673         (Makefile.am): Add gl_rbtree_ordered.h to lib_SOURCES.
17675         avltree-omap: New module.
17676         * lib/gl_avltree_omap.h: New file.
17677         * lib/gl_avltree_omap.c: New file.
17678         * lib/gl_avltree_ordered.h: Code moved to here from
17679         lib/gl_avltree_oset.c. Parameterize.
17680         * lib/gl_avltree_oset.c: Include gl_avltree_ordered.h.
17681         * lib/gl_anytree_omap.h: New file.
17682         * modules/avltree-omap: New file.
17683         * modules/avltree-oset (Files): Add lib/gl_avltree_ordered.h.
17684         (Makefile.am): Add gl_avltree_ordered.h to lib_SOURCES.
17686         array-omap: New module.
17687         * lib/gl_array_omap.h: New file.
17688         * lib/gl_array_omap.c: New file.
17689         * modules/array-omap: New file.
17691         omap: New module.
17692         * lib/gl_omap.h: New file.
17693         * lib/gl_omap.c: New file.
17694         * modules/omap: New file.
17696 2018-12-11  Bruno Haible  <bruno@clisp.org>
17698         hash-set, linkedhash-set: Reduce code duplication.
17699         * lib/gl_anyhash1.h: Rename from lib/gl_anyhash_list1.h and
17700         lib/gl_anyhash_set1.h.
17701         * lib/gl_anyhash2.h: Rename from lib/gl_anyhash_list2.h and
17702         lib/gl_anyhash_set2.h. Parameterize.
17703         (hash_resize_after_add): New function, from lib/gl_anyhash_set2.h.
17704         * lib/gl_anytreehash_list1.h (hash_resize_after_add): Remove function.
17705         * lib/gl_avltreehash_list.c: Include gl_anyhash1.h instead of
17706         gl_anyhash_list1.h. Include gl_anyhash2.h instead of gl_anyhash_list2.h.
17707         * lib/gl_rbtreehash_list.c: Likewise.
17708         * lib/gl_linkedhash_list.c: Likewise.
17709         (hash_resize_after_add): Remove function.
17710         * lib/gl_linkedhash_set.c: Include gl_anyhash1.h instead of
17711         gl_anyhash_set1.h. Include gl_anyhash2.h instead of gl_anyhash_set2.h.
17712         * gl_hash_set.c: Likewise.
17713         * modules/avltreehash-list (Files, Makefile.am): Update file list.
17714         * modules/rbtreehash-list (Files, Makefile.am): Likewise.
17715         * modules/linkedhash-list (Files, Makefile.am): Likewise.
17716         * modules/linkedhash-set (Files, Makefile.am): Likewise.
17717         * modules/hash-set (Files, Makefile.am): Likewise.
17719 2018-12-11  Bruno Haible  <bruno@clisp.org>
17721         array-set: Optimize.
17722         * lib/gl_array_set.c (gl_array_search, gl_array_remove): Test equals_fn
17723         outside the loop, not inside the loop.
17725 2018-12-11  Bruno Haible  <bruno@clisp.org>
17727         times: Fix tests.
17728         * tests/test-times.c (doublecmp): Implement a total order.
17730 2018-12-11  Bruno Haible  <bruno@clisp.org>
17732         array-set, linkedhash-set, hash-set: Fix tests.
17733         * tests/test-array_set.c (cmp_objects_in_array): New function.
17734         (check_equals): Use it.
17735         * tests/test-hash_set.c: Likewise.
17736         * tests/test-linkedhash_set.c: Likewise.
17738 2018-12-08  Bruno Haible  <bruno@clisp.org>
17740         Fix comments.
17741         * lib/gl_list.h (gl_list_free): Clarify what it does.
17742         * lib/gl_oset.h (gl_oset_free): Likewise.
17743         * lib/gl_set.h (gl_set_free): Likewise.
17744         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Fix typo in comment.
17745         * lib/gl_array_oset.c (gl_array_search_atleast): Likewise.
17746         * lib/gl_anyavltree_list1.h (MAXHEIGHT): Likewise.
17747         * lib/gl_avltree_oset.c (MAXHEIGHT): Likewise.
17749 2018-12-03  Bruno Haible  <bruno@clisp.org>
17751         hash-set: Add tests.
17752         * tests/test-hash_set.c: New file.
17753         * modules/hash-set-tests: New file.
17755         linkedhash-set: Add tests.
17756         * tests/test-linkedhash_set.c: New file.
17757         * modules/linkedhash-set-tests: New file.
17759         array-set: Add tests.
17760         * tests/test-array_set.c: New file.
17761         * modules/array-set-tests: New file.
17763         xset: New module.
17764         * lib/gl_xset.h: New file.
17765         * lib/gl_xset.c: New file.
17766         * modules/xset: New file.
17768         hash-set: New module.
17769         * lib/gl_hash_set.h: New file.
17770         * lib/gl_hash_set.c: New file.
17771         * modules/hash-set: New file.
17773         linkedhash-set: New module.
17774         * lib/gl_linkedhash_set.h: New file.
17775         * lib/gl_linkedhash_set.c: New file.
17776         * lib/gl_anyhash_set1.h: New file, based on lib/gl_anyhash_list1.h.
17777         * lib/gl_anyhash_set2.h: New file, based on lib/gl_anyhash_list2.h.
17778         * lib/gl_anyhash_primes.h: New file, extracted from
17779         lib/gl_anyhash_list2.h.
17780         * lib/gl_anyhash_list2.h: Include it.
17781         (primes, next_prime): Remove definitions.
17782         * modules/linkedhash-set: New file.
17783         * modules/avltreehash-list (Files): Add lib/gl_anyhash_primes.h.
17784         (Makefile.am): Add gl_anyhash_primes.h to lib_SOURCES.
17785         * modules/linkedhash-list (Files): Add lib/gl_anyhash_primes.h.
17786         (Makefile.am): Add gl_anyhash_primes.h to lib_SOURCES.
17787         * modules/rbtreehash-list (Files): Add lib/gl_anyhash_primes.h.
17788         (Makefile.am): Add gl_anyhash_primes.h to lib_SOURCES.
17790         array-set: New module.
17791         * lib/gl_array_set.h: New file.
17792         * lib/gl_array_set.c: New file.
17793         * modules/array-set: New file.
17795         set: New module.
17796         * lib/gl_set.h: New file.
17797         * lib/gl_set.c: New file.
17798         * lib/gl_oset.h (gl_setelement_dispose_fn): Avoid conflict with
17799         gl_set.h.
17800         * modules/set: New file.
17802 2018-12-07  Akim Demaille  <akim@lrde.epita.fr>
17804         bison: don't force the Yacc mode
17805         Passing -y forces Bison into POSIX YACC mode.  This includes reporting
17806         errors when Bison features are used in the grammar file.  Some of
17807         these features (such as %expect) were flagged non-yacc recently.  Most
17808         of the time, -y is actually used to please Automake's ylwrap which
17809         expects the output to be y.tab.c.
17810         * m4/bison.m4 (gl_BISON): Use `-o y.tab.c` rather than `-y`.
17812 2018-12-01  Bruno Haible  <bruno@clisp.org>
17814         gnupload: Document short options.
17815         * build-aux/gnupload (usage): Document the short options.
17817 2018-11-28  Ben Elliston  <bje@gnu.org>
17819         gnupload: Support option -h as alias of --help.
17820         * build-aux/gnupload: Support -h.
17822 2018-11-30  Paul Eggert  <eggert@cs.ucla.edu>
17824         memrchr: port better to clang
17825         * lib/memrchr.c (__memrchr): Cast to void * instead of to
17826         longword *, to pacify clang -Wcast-align (Bug#33544).
17828 2018-11-29  Eric Blake  <eblake@redhat.com>
17830         docs: mention printf %m considerations
17831         * doc/glibc-functions/asprintf.texi (asprintf): Document that %m
17832         is not portable, and is easy enough to work around.
17833         * doc/glibc-functions/obstack_printf.texi (obstack_printf): Likewise.
17834         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf): Likewise.
17835         * doc/glibc-functions/vasprintf.texi (vasprintf): Likewise.
17836         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
17837         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
17838         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
17839         * doc/posix-functions/printf.texi (printf): Likewise.
17840         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
17841         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
17842         * doc/posix-functions/swprintf.texi (swprintf): Likewise.
17843         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
17844         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
17845         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
17846         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
17847         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
17848         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
17849         * doc/posix-functions/vswprintf.texi (vswprintf): Likewise.
17850         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
17851         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
17853 2018-11-29  Akim Demaille  <akim@lrde.epita.fr>
17855         bitset: rename ebitset/expandable.* as tbitset/table.*
17856         See
17857         https://lists.gnu.org/archive/html/bug-gnulib/2018-11/msg00096.html.
17858         * lib/bitset/expandable.h, lib/bitset/expandable.c: Rename as...
17859         * lib/bitset/table.h, lib/bitset/table.c: these.
17860         Rename all the ebitset* symbols as tbitset*.
17861         Adjust dependencies.
17863 2018-11-28  Akim Demaille  <akim@lrde.epita.fr>
17865         bitset: check the operations
17866         * tests/test-bitset.c (bitset_random): New.
17867         Use it.
17868         * lib/bitset/expandable.c (ebitset_not): Fix typo.
17870 2018-11-28  Akim Demaille  <akim@lrde.epita.fr>
17872         bitset: properly use false/true instead of 0/1 for Booleans
17873         * lib/bitset/expandable.c, lib/bitset/vector.c: Use false/true, not
17874         0/1, as Booleans.
17876 2018-11-28  Akim Demaille  <akim@lrde.epita.fr>
17878         bitset: rename BITSET_VARRAY as BITSET_VECTOR
17879         For consistency with the name of the file.
17880         * doc/bitset.texi, lib/bitset.c, lib/bitset/base.h,
17881         * lib/bitset/stats.c, lib/bitset/vector.c
17882         (BITSET_VARRAY): Rename as...
17883         (BITSET_VECTOR): this.
17885 2018-11-28  Paul Eggert  <eggert@cs.ucla.edu>
17887         strerror_r-posix: memmove, not memcpy
17888         * lib/strerror_r.c (safe_copy): Use memmove, not memcpy,
17889         since the source and destination might overlap in the call
17890         ‘safe_copy (buf, buflen, strerror_r (errnum, buf, buflen))’.
17891         Simplify.
17893 2018-11-25  Akim Demaille  <akim@lrde.epita.fr>
17895         bitsetv: new module
17896         * lib/bitsetv.c, lib/bitsetv.h, modules/bitsetv: New.
17898 2018-11-25  Akim Demaille  <akim@lrde.epita.fr>
17900         bitset: add tests and doc
17901         First stabs at providing a documentation and test for the bitset
17902         module.
17903         * doc/bitset.texi, modules/test-bitset, tests/bitset-tests.c: New.
17905 2018-11-25  Akim Demaille  <akim@lrde.epita.fr>
17907         bitset: new module
17908         * lib/bitset.c, lib/bitset.h, lib/bitset/array.c,
17909         * lib/bitset/array.h, lib/bitset/base.h, lib/bitset/expandable.c,
17910         * lib/bitset/expandable.h, lib/bitset/list.c, lib/bitset/list.h,
17911         * lib/bitset/stats.c, lib/bitset/stats.h, lib/bitset/vector.c,
17912         * lib/bitset/vector.h, modules/bitset:
17913         New.
17915 2018-11-23  Bruno Haible  <bruno@clisp.org>
17917         localename: Fix gettext test failures on mingw.
17918         * lib/localename.c (gl_locale_name_posix): Convert the result of
17919         gl_locale_name_environ to XPG syntax.
17921 2018-11-23  Karl Berry  <karl@freefriends.org>
17923         * config/srclistvars.txt,
17924         * config/srclist.txt: remove all gettext references;
17925         the gettext maintainers will sync as needed.
17927 2018-11-21  Paul Eggert  <eggert@cs.ucla.edu>
17929         mktime: add libc-config dependency
17930         I missed this when we synced from glibc.
17931         * modules/mktime (Depends-on): Add libc-config.
17933 2018-11-13  Paul Eggert  <eggert@cs.ucla.edu>
17935         longlong: fix comment typo
17936         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Fix typo.
17938 2018-11-11  Bruno Haible  <bruno@clisp.org>
17940         havelib: Remove the need to include asm-underscore.m4.
17941         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI_32BIT): New macro.
17942         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Use it instead of
17943         gl_HOST_CPU_C_ABI.
17944         * modules/havelib (Files): Add host-cpu-c-abi.m4.
17945         (Depends-on): Remove host-cpu-c-abi.
17947 2018-11-03  Paul Eggert  <eggert@cs.ucla.edu>
17949         parse-datetime: simplify test for mktime failure
17950         * lib/parse-datetime.y (mktime_ok): Simplify.
17951         Remove args TZ and T; no longer needed.  Callers changed.
17953         posixtm: simplify test for mktime failure
17954         * lib/posixtm.c (posixtime): Simplify.
17956         nstrftime: simplify test for mktime failure
17957         * lib/nstrftime.c (__strftime_internal): Simplify.
17959 2018-11-02  Paul Eggert  <eggert@cs.ucla.edu>
17961         gnulib-common.m4: port _Noreturn to C++
17962         Problem reported by Akim Demaille in:
17963         https://lists.gnu.org/r/bug-bison/2018-10/msg00067.html
17964         * m4/gnulib-common.m4 (gl_COMMON_BODY): If C++, use [[noreturn]].
17965         Merge adjustments from _Noreturn.h and from glibc into the non-C++
17966         version.
17967         * lib/_Noreturn.h: Match gnulib-common.
17969 2018-10-30  Bruno Haible  <bruno@clisp.org>
17971         gnu-make: Fix for NetBSD 8 'make'.
17972         Reported by Reuben Thomas in
17973         <https://lists.gnu.org/archive/html/bug-gnulib/2018-10/msg00135.html>.
17974         * m4/gnu-make.m4 (gl_GNU_MAKE): Use a heuristic based on the --version
17975         output, ignoring exit codes.
17977 2018-10-28  Bernhard Voelker  <mail@bernhard-voelker.de>
17979         maintainer-makefile: fix syntax-check rule for "same.h"
17980         * top/maint.mk (sc_prohibit_same_without_use): Adjust regex to check
17981         for 'same_nameat', too.
17983 2018-10-25  Paul Eggert  <eggert@cs.ucla.edu>
17985         havelib: fix nested ‘configure’ chatter
17986         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Don’t nest
17987         AC_CACHE_CHECK calls, which resulted in confusing output like
17988         “checking for the common suffixes of directories in the library
17989         search path... checking for 64-bit host... no lib,lib”.
17991         backupfile: tweak for better code
17992         * lib/backupfile.c: Sort include directives, and remove
17993         unnecessary <limits.h> include.
17994         (FALLTHROUGH): New macro, copied from other modules.
17995         (backupfile_internal): Use it to avoid code duplication.
17996         This lets GCC 8.2.1 generate better code by inlining the
17997         call to check_extension.
17999 2018-10-23  Paul Eggert  <eggert@cs.ucla.edu>
18001         backupfile: new dir_fd args
18002         New module opendirat with code taken from fts.
18003         Use this module to let backupfile use a directory file descriptor.
18004         * NEWS: Document the incompatible change.
18005         * lib/backup-find.c (find_backup_file_name):
18006         * lib/backup-rename.c (backup_file_rename):
18007         New arg DIR_FD.
18008         * lib/backupfile.c: Include stdint.h, for SIZE_MAX.
18009         (SIZE_MAX): Remove.
18010         Include opendirat.h rather than dirent--.h.
18011         (check_extension): New args DIR_FD and BASE_MAX.  All callers changed.
18012         (numbered_backup): New args DIR_FD and PNEW_FD.  All callers changed.
18013         (backupfile_internal): New arg DIR_FD.  All callers changed.
18014         * lib/fts.c: Include opendirat.h.
18015         (opendirat): Move to opendirat.c.
18016         * lib/opendirat.c, lib/opendirat.h, modules/opendirat: New files.
18017         * modules/backupfile (Depends-on): Remove dirfd, opendir.
18018         Add opendirat.
18019         * modules/fts (Depends-on): Remove fdopendir, openat-safer.
18020         Add opendirat.
18022 2018-10-23  Bruno Haible  <bruno@clisp.org>
18024         localename: Simplify support for per-thread locales on Solaris 11.4.
18025         * m4/intl-thread-locale.m4: Renamed from m4/intlsolaris.m4.
18026         (gt_INTL_THREAD_LOCALE_NAME): Renamed from gt_INTL_SOLARIS. Define
18027         HAVE_SOLARIS114_LOCALES instead of HAVE_NAMELESS_LOCALES.
18028         * lib/localename.c: Handle HAVE_SOLARIS114_LOCALES through Solaris
18029         specific code.
18030         * lib/localename-table.h: Update comments.
18031         * lib/localename-table.c: Update comments.
18032         * m4/localename.m4 (gl_LOCALENAME): Require gt_INTL_THREAD_LOCALE_NAME.
18033         Test for 'uselocale'. Don't invoke gt_INTL_SOLARIS.
18034         * m4/intl.m4 (AM_INTL_SUBDIR): Require gt_INTL_THREAD_LOCALE_NAME. Test
18035         for 'uselocale'. Set HAVE_NAMELESS_LOCALES.
18036         (gt_INTL_SUBDIR_CORE): Don't invoke gt_INTL_SOLARIS. Don't set
18037         HAVE_NAMELESS_LOCALES here.
18038         * modules/localename (Files): Add m4/intl-thread-locale.m4. Remove
18039         m4/intlsolaris.m4.
18040         * modules/gettext (Files): Likewise.
18042 2018-10-22  Bruno Haible  <bruno@clisp.org>
18044         std-gnu11: Support Autoconf versions < 2.64.
18045         * m4/std-gnu11.m4 (AC_PROG_CC, AC_PROG_CXX): Use _AC_DO as fallback
18046         when _AC_DO_LIMIT does not exist.
18048 2018-10-22  Bruno Haible  <bruno@clisp.org>
18050         Assume Autoconf >= 2.63.
18051         * DEPENDENCIES: Mention the requirement.
18053         * gnulib-tool (DEFAULT_AUTOCONF_MINVERSION): Bump to 2.63.
18054         (func_get_filelist): Don't list m4/onceonly.m4 any more.
18055         * pygnulib/GLModuleSystem.py (getFiles): Likewise.
18056         * m4/onceonly.m4: Remove file.
18058         * m4/openmp.m4: Remove file.
18059         * modules/openmp (Files): Remove m4/openmp.m4.
18061         * m4/configmake.m4 (gl_CONFIGMAKE_PREP): Don't set datarootdir, docdir,
18062         htmldir, dvidir, pdfdir, psdir, localedir.
18063         * m4/po.m4 (AM_PO_SUBDIRS): Don't set localedir.
18065         * m4/gnulib-common.m4 (m4_foreach_w): Remove fallback for
18066         Autoconf < 2.60.
18067         (AC_PROG_MKDIR_P): Remove definition for Autoconf < 2.62.
18068         (AC_PROG_SED): Remove fallback for Autoconf < 2.60.
18070         * m4/errno_h.m4 (AC_COMPUTE_INT): Remove fallback for Autoconf < 2.61.
18071         * m4/size_max.m4 (AC_COMPUTE_INT): Likewise.
18072         * m4/stdint.m4 (AC_COMPUTE_INT): Likewise.
18074         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Assume AC_USE_SYSTEM_EXTENSIONS
18075         exists.
18076         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Likewise,
18078         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Remove workaround for
18079         Autoconf < 2.61.
18081         * m4/lib-prefix.m4 (AC_LIB_ARG_WITH): Remove macro.
18082         (AC_LIB_PREFIX): Use AC_ARG_WITH, assuming semantics of
18083         Autoconf >= 2.52.
18085         * m4/longlong.m4: Require Autoconf >= 2.62. Update comments.
18086         * m4/ls-mntd-fs.m4: Require Autoconf >= 2.60. Update comments.
18087         * m4/gettext.m4 (AM_GNU_GETTEXT): Update comment.
18089 2018-10-22  Bruno Haible  <bruno@clisp.org>
18091         Assume Automake >= 1.11.
18092         * m4/configmake.m4: Update comments.
18093         * m4/lib-link.m4 (AC_LIB_RPATH): Assume AC_REQUIRE_AUX_FILE exists.
18094         * m4/po.m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Eliminate uses
18095         of 'eval'.
18096         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am,
18097         func_create_testdir, func_create_megatestdir): Emit a Makefile.am that
18098         requires Automake >= 1.11.
18100 2018-10-22  Bruno Haible  <bruno@clisp.org>
18102         localename: Fix typo in comment.
18103         * tests/test-locale-c++.cc (newlocale): Fix typo in comment.
18105 2018-10-22  Bruno Haible  <bruno@clisp.org>
18107         Fix failure of 'gnulib-tool --create-testdir' with all modules.
18108         * gnulib-tool (func_create_testdir): Exclude 'timevar' module.
18110 2018-10-21  Bruno Haible  <bruno@clisp.org>
18112         locale: Ease integration with GNU libintl.
18113         * lib/locale.in.h (GNULIB_defined_newlocale, GNULIB_defined_duplocale,
18114         GNULIB_defined_freelocale): New macros.
18116 2018-10-21  Bruno Haible  <bruno@clisp.org>
18118         localename: Fine-tune support for per-thread locales on Solaris 11.4.
18119         * lib/localename-table.h: New file, extracted from lib/localename.c.
18120         * lib/localename-table.c: Likewise.
18121         * lib/localename.c: Include localename-table.h.
18122         (get_locale_t_name, newlocale, duplocale, freelocale): Invoke
18123         locale_hash_function instead of pointer_hash.
18124         * modules/localename (Files): Add lib/localename-table.h,
18125         lib/localename-table.c.
18126         (lib_SOURCES): Add localename-table.c.
18127         * m4/intlsolaris.m4 (gt_INTL_SOLARIS): Require AC_CANONICAL_HOST. Test
18128         for Solaris 11.4 locale system only on Solaris. Test for it
18129         independently whether getlocalename_l exists.
18130         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Don't test for 'uselocale' and
18131         'getlocalename_l'. Instead, invoke gt_INTL_SOLARIS. Set
18132         HAVE_NAMELESS_LOCALES.
18133         * modules/gettext (Files): Add m4/intlsolaris.m4.
18135 2018-10-21  Bruno Haible  <bruno@clisp.org>
18137         Small update from gettext.
18138         * m4/intl.m4: Update from gettext:
18139         - 2018-01-02: Fix 'ar' invocation when cross-compiling and in 64-bit
18140         mode on AIX.
18141         - 2018-01-02: Don't use -lc explicitly when linking with libtool.
18142         - 2017-05-19: (AM_INTL_SUBDIR): Require AC_C_FLEXIBLE_ARRAY_MEMBER.
18144 2018-10-16  Bruno Haible  <bruno@clisp.org>
18146         mountlist: Remove support for Cray with UNICOS 9.
18147         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't define
18148         MOUNTED_LISTMNTENT.
18149         * lib/mountlist.c: Remove MOUNTED_LISTMNTENT case.
18151 2018-10-16  Bruno Haible  <bruno@clisp.org>
18153         fsusage, mountlist, getloadavg, getgroups: Remove support for Ultrix.
18154         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't define
18155         STAT_STATFS2_FS_DATA.
18156         * lib/fsusage.c: Remove STAT_STATFS2_FS_DATA case.
18157         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't define
18158         MOUNTED_GETMNT.
18159         * lib/mountlist.c: Remove MOUNTED_GETMNT case.
18160         * lib/getloadavg.c (decstation): Remove definition and case.
18161         * m4/getgroups.m4 (AC_FUNC_GETGROUPS): Mention NeXTstep, not Ultrix.
18162         * lib/getgroups.c: Likewise.
18163         * doc/posix-functions/getgroups.texi: Likewise.
18164         * lib/time.in.h: Update comments.
18166 2018-10-16  Bruno Haible  <bruno@clisp.org>
18168         getloadavg: Remove support for ConvexOS.
18169         * lib/getloadavg.c: Remove convex case.
18171 2018-10-16  Bruno Haible  <bruno@clisp.org>
18173         getloadavg: Remove support for Sony NEWS.
18174         * lib/getloadavg.c: Remove sony_news case.
18176 2018-10-16  Bruno Haible  <bruno@clisp.org>
18178         fsusage, mountlist, getloadavg: Remove support for Dynix/ptx.
18179         * lib/fsusage.c: Remove _SEQUENT_ case.
18180         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Update comments.
18181         * lib/mountlist.c: Don't test for MNTTABNAME.
18182         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Don't test for libseq.
18183         (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't test for MNTTABNAME.
18184         * lib/getloadavg.c: Remove _SEQUENT_ and sequent cases.
18185         * lib/stat-size.h: Don't mention the Sequent bug.
18186         * doc/posix-functions/utime.texi: Don't mention the Dynix bug.
18188 2018-10-16  Bruno Haible  <bruno@clisp.org>
18190         fsusage: Remove support for AIX 3.
18191         * lib/fsusage.c: Remove code for AIX 3.
18192         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Update comments.
18194 2018-10-16  Bruno Haible  <bruno@clisp.org>
18196         fsusage, stat-size, getloadavg: Remove support for AIX PS/2.
18197         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for dustat.h.
18198         * lib/fsusage.c: Remove code for AIX PS/2.
18199         * lib/stat-size.h (ST_NBLOCKSIZE): Likewise.
18200         * lib/getloadavg.c: Likewise.
18202 2018-10-16  Bruno Haible  <bruno@clisp.org>
18204         getloadavg: Remove support for HP-UX on m68k.
18205         * lib/getloadavg.c: Remove hp9000s300 case.
18207 2018-10-16  Bruno Haible  <bruno@clisp.org>
18209         fsusage, mountlist: Remove support for DolphinOS (an SVR3 variant).
18210         * lib/fsusage.c: Remove DOLPHIN case.
18211         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Update comments.
18212         * lib/mountlist.c: Remove MOUNTED_GETMNTTBL case.
18214 2018-10-16  Bruno Haible  <bruno@clisp.org>
18216         getloadavg: Remove support for Alliant FX/2800.
18217         * lib/getloadavg.c: Remove alliant case.
18219 2018-10-16  Bruno Haible  <bruno@clisp.org>
18221         getloadavg: Remove support for tek4300.
18222         * lib/getloadavg.c: Remove tek4300 case.
18224 2018-10-16  Bruno Haible  <bruno@clisp.org>
18226         getloadavg: Remove support for Ardent.
18227         * lib/getloadavg.c: Remove ardent case.
18229 2018-10-16  Bruno Haible  <bruno@clisp.org>
18231         mountlist: Remove support for SVR2.
18232         Reported by Andrew Borodin <aborodin@vmail.ru> in
18233         <https://lists.gnu.org/archive/html/bug-gnulib/2018-10/msg00101.html>.
18234         * lib/mountlist.c: Remove MOUNTED_FREAD case.
18235         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't define
18236         MOUNTED_FREAD.
18238 2018-10-15  Paul Eggert  <eggert@cs.ucla.edu>
18240         libc-config: merge from glibc
18241         * lib/cdefs.h (__glibc_has_attribute): New macro.
18243         regex: depend on libc-config
18244         * modules/regex (Depends-on): Add libc-config.
18245         This is needed after the recent autoupdate from glibc.
18247 2018-10-14  Bruno Haible  <bruno@clisp.org>
18249         localename: Add support for per-thread locales on Solaris 11.4.
18250         * lib/locale.in.h (newlocale, freelocale): New declarations.
18251         (duplocale): Declare also when the 'localename' module requests it.
18252         * lib/localename.c (struniq_hash_node): Renamed from hash_node.
18253         (STRUNIQ_HASH_TABLE_SIZE): Renamed from HASH_TABLE_SIZE.
18254         (struniq): Update.
18255         (struct locale_categories_names, struct locale_hash_node): New types.
18256         (LOCALE_HASH_TABLE_SIZE): New constant.
18257         (locale_hash_table, locale_lock): New variables.
18258         (pointer_hash, get_locale_t_name): New functions.
18259         (newlocale, duplocale, freelocale): New overridden functions.
18260         (gl_locale_name_thread_unsafe): Use get_locale_t_name.
18261         * m4/intlsolaris.m4: New file.
18262         * m4/localename.m4 (gl_LOCALENAME): Require gl_LOCALE_H_DEFAULTS. Invoke
18263         gt_INTL_SOLARIS. Set HAVE_NEWLOCALE, HAVE_DUPLOCALE, HAVE_FREELOCALE,
18264         REPLACE_NEWLOCALE, REPLACE_DUPLOCALE, REPLACE_FREELOCALE.
18265         * m4/locale_h.m4 (gl_LOCALE_H): Test whether newlocale, freelocale are
18266         declared.
18267         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_LOCALENAME, HAVE_NEWLOCALE,
18268         HAVE_FREELOCALE, REPLACE_NEWLOCALE, REPLACE_FREELOCALE.
18269         * modules/locale (Makefile.am): Substitute GNULIB_LOCALENAME,
18270         HAVE_NEWLOCALE, HAVE_FREELOCALE, REPLACE_NEWLOCALE, REPLACE_FREELOCALE.
18271         * modules/localename (Files): Add intlsolaris.m4.
18272         (Depends-on): Add 'locale'.
18273         (configure.ac): Invoke gl_LOCALE_MODULE_INDICATOR.
18274         * tests/test-locale-c++.cc (newlocale, freelocale): Prepare for checking
18275         the signatures.
18277 2018-10-14  Akim Demaille  <akim@lrde.epita.fr>
18279         timevar: use gethrxtime to get wall clock time
18280         clock_gettime is not portable.  gethrxtime takes the best available
18281         option to get the wall clock time, including clock_gettime (monotonic
18282         clock), and gettime (non monotonic).
18283         Also, using xtime_t instead of float preserves the precision.
18284         Suggested by Bruno Haible.
18285         * lib/xtime.h (xtime_make): Handle overflows of nanoseconds.
18286         * modules/timevar (Depends-on): We need gethrxtime.
18287         We no longer use times().
18288         (Link): Update.
18289         * lib/timevar.h (timevar_time_def): Use xtime_t.
18290         * lib/timevar.c (set_to_current_time): Use gethrxtime.
18291         (timevar_print): Instead of checking whether the timings themselves
18292         are large enough for the timevar to be printed, check the percentages.
18294 2018-10-14  Bruno Haible  <bruno@clisp.org>
18296         wcsnrtombs: Work around Solaris 11.4 bug.
18297         * m4/wcsnrtombs.m4 (gl_WCSNRTOMBS_WORKS_IN_TRADITIONAL_LOCALE): New
18298         macro.
18299         (gl_FUNC_WCSNRTOMBS): Invoke it.
18300         * doc/posix-functions/wcsnrtombs.texi: Mention the Solaris bug.
18302 2018-10-14  Bruno Haible  <bruno@clisp.org>
18304         mbsnrtowcs: Work around Solaris 11.4 bug.
18305         * m4/mbsnrtowcs.m4 (gl_MBSNRTOWCS_WORKS_IN_TRADITIONAL_LOCALE): New
18306         macro.
18307         (gl_FUNC_MBSNRTOWCS): Invoke it.
18308         * doc/posix-functions/mbsnrtowcs.texi: Mention the Solaris bug.
18310 2018-10-14  Bruno Haible  <bruno@clisp.org>
18312         doc: Update for Solaris 11.4.
18313         * doc/**/*.texi: For bugs that exist in both Solaris 11.3 and 11.4,
18314         mention Solaris 11.4.
18315         * m4/printf.m4: Update comments about Solaris.
18316         * m4/log.m4: Likewise.
18317         * m4/log10.m4: Likewise.
18318         * m4/logb.m4: Likewise.
18319         * m4/logbf.m4: Likewise.
18320         * m4/logbl.m4: Likewise.
18321         * m4/rename.m4: Likewise.
18322         * m4/wcrtomb.m4: Likewise.
18323         * m4/hostent.m4: Likewise.
18324         * m4/servent.m4: Likewise.
18326 2018-10-14  Bruno Haible  <bruno@clisp.org>
18328         floor, ceil, trunc, truncf, truncl: Defeat GCC optimizations.
18329         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Use 'floor' also through a function
18330         pointer.
18331         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use 'ceil' also through a function
18332         pointer.
18333         * m4/trunc.m4 (gl_FUNC_TRUNC): Use 'trunc' also through a function
18334         pointer.
18335         * m4/truncf.m4 (gl_FUNC_TRUNCF): Use 'truncf' also through a function
18336         pointer.
18337         * m4/truncl.m4 (gl_FUNC_TRUNCL): Use 'truncl' also through a function
18338         pointer.
18340 2018-10-13  Akim Demaille  <akim@lrde.epita.fr>
18342         bootstrap: fix wget command for po files.
18343         * build-aux/bootstrap (po_download_command_format): Fix comment,
18344         and adjust callers.
18346 2018-10-13  Akim Demaille  <akim@lrde.epita.fr>
18348         timevar: improve the output format
18349         Suggested by Bruno Haible.
18350         See https://lists.gnu.org/archive/html/bug-gnulib/2018-10/msg00040.html.
18351         * lib/timevar.c (timevar_print): Use %7.3f for usr/sys and %11.6f for
18352         wall, since its resolution is much higher.
18354 2018-10-13  Akim Demaille  <akim@lrde.epita.fr>
18356         timevar: expect that getrusage is available.
18357         Don't keep both times and getrusage as backend: both are guaranteed by
18358         gnulib, a single one suffices.  Using getrusage is open to possibly
18359         tracking other types of resources in the future.
18360         * modules/timevar (Depends-on): Add getrusage.
18361         (configure.ac): Remove gl_TIMEVAR.
18362         (Files): Remove m4/timevar.m4.
18363         * m4/timevar.m4: Remove, rely on gnulib for getrusage.
18364         * lib/timevar.h (timevar_enabled): Clarify documentation.
18365         * lib/timevar.c: Remove all the code about times.
18366         Remove all the CPP guards about getrusage: expect it to be present
18367         (courtesy of gnulib).
18369 2018-10-12  Bruno Haible  <bruno@clisp.org>
18371         mountlist: Improve support for Solaris in 64-bit mode.
18372         Reported by David Wood <David.Wood@deshaw.com> in
18373         <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=6816>.
18374         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): On Solaris 8 or
18375         newer, define MOUNTED_GETEXTMNTENT instead of MOUNTED_GETMNTENT2.
18376         * lib/mountlist.c: Add code for MOUNTED_GETEXTMNTENT case.
18378 2018-10-12  Bruno Haible  <bruno@clisp.org>
18380         mountlist: Add support for Minix.
18381         Reported by Assaf Gordon in
18382         <https://lists.gnu.org/archive/html/bug-gnulib/2014-09/msg00074.html>.
18383         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use
18384         AC_CHECK_FUNCS to check for 'getmntinfo'.
18385         * lib/mountlist.c: Update comments.
18387 2018-10-12  Bruno Haible  <bruno@clisp.org>
18389         Make better use of Autoconf.
18390         * m4/environ.m4: Use AC_CACHE_CHECK where possible.
18391         * m4/manywarnings.m4: Likewise.
18392         * m4/manywarnings-c++.m4: Likewise.
18393         * m4/socklen.m4: Likewise.
18394         * m4/sockpfaf.m4: Likewise.
18395         * m4/stdarg.m4: Likewise.
18396         * m4/visibility.m4: Likewise.
18397         * m4/fsusage.m4: Use AC_CACHE_CHECK where possible. Modernize
18398         indentation.
18399         * m4/ls-mntd-fs.m4: Likewise.
18401 2018-10-11  Bruno Haible  <bruno@clisp.org>
18403         mountlist: Modernize platform lists.
18404         * m4/ls-mntd-fs.m4: Clarify which MOUNTED_* symbol applies to which
18405         platforms, deemphasizing the obsolete ones.
18406         * lib/mountlist.c: Likewise.
18408 2018-10-11  Bruno Haible  <bruno@clisp.org>
18410         getprogname: Add support for 32-bit programs on HP-UX.
18411         * lib/getprogname.c (getprogname) [HP-UX]: If pstat_getproc fails,
18412         try the similar functions 32-bit programs on 64-bit HP-UX.
18414 2018-10-11  Bruno Haible  <bruno@clisp.org>
18416         getprogname: Work around program name truncation when possible.
18417         * lib/getprogname.c (getprogname) [HP-UX]: When pst_ucomm is truncated,
18418         possibly use pst_cmd instead.
18420 2018-10-08  Paul Eggert  <eggert@cs.ucla.edu>
18422         fts: cleanup after FTS_NOATIME removal
18423         * lib/fts_.h (FTS_VERBATIM, FTS_OPTIONMASK, FTS_NAMEONLY)
18424         (FTS_STOP): Shrink to minimal values.  We don’t need to
18425         worry about binary compatibility in Gnulib, and the old way
18426         of doing things had a hole in the user options that caused
18427         FTS_OPTIONMASK to not work as desired.
18429 2018-10-08  Bernhard Voelker  <mail@bernhard-voelker.de>
18431         fts: remove FTS_NOATIME
18432         This reverts commit da4d6974013c822af1498941e32db774b2031765.
18433         We cannot guarantee that O_NOATIME works: e.g. openat fails
18434         with EPERM if the effective user ID of the caller does not match
18435         the owner of the file and the caller is not privileged.
18436         Downstream findutils has never picked up FTS_NOATIME.  Discussed at
18437         <https://lists.gnu.org/r/bug-gnulib/2018-09/msg00122.html>.
18438         * lib/fts_.h (FTS_NOATIME): Remove bit flag.
18439         (FTS_OPTIONMASK): Adjust.
18440         * lib/fts.c (diropen, fts_open, fts_build): Likewise.
18441         (fd_ring_check): Likewise.
18443 2018-10-08  Bruno Haible  <bruno@clisp.org>
18445         csharpcomp*, csharpexec*: Remove support for pnet.
18446         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Don't test for cscc. Don't set
18447         HAVE_CSCC.
18448         * build-aux/csharpcomp.sh.in (options_cscc): Remove variable.
18449         Don't test HAVE_CSCC.
18450         * lib/csharpcomp.c (compile_csharp_using_pnet): Remove function.
18451         (compile_csharp_class): Don't invoke it.
18452         * m4/csharpexec.m4 (gt_CSHARPEXEC): Don't test for ilrun. Don't set
18453         HAVE_ILRUN.
18454         * build-aux/csharpexec.sh.in (options_ilrun): Remove variable.
18455         Don't test HAVE_ILRUN.
18456         * lib/csharpexec.c (execute_csharp_using_pnet): Remove function.
18457         (execute_csharp_program): Don't invoke it.
18458         * m4/csharp.m4 (gt_CSHARP_CHOICE): Don't recognize --enable-csharp=pnet
18459         any more.
18461 2018-10-07  Andreas Henriksson  <andreas@fatal.se>  (tiny change)
18463         renameatu: prefer renameat2 to syscall
18464         * lib/renameatu.c (renameatu) [HAVE_RENAMEAT2]:
18465         Use renameat2 instead of syscall (Bug#32796).
18466         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Check for renameat2.
18468 2018-10-07  Benno Schulenberg  <bensberg@telfort.nl>
18470         bootstrap, gnulib-tool: use https instead of insecure rsync
18471         * build-aux/bootstrap (download_po_files, po_download_command_format):
18472         Don't try using rsync; always use wget over https to fetch PO files.
18473         * gnulib-tool (func_import): Likewise.
18474         * pygnulib/GLImport.py (GLImport.execute): Likewise.
18476 2018-10-07  Benno Schulenberg  <bensberg@telfort.nl>
18478         bootstrap, gnulib-tool: correct the translations wget command
18479         * build-aux/bootstrap (po_download_command_format2): Restrict
18480         recursion to a single level.
18481         * gnulib-tool (func_import): Likewise.
18482         * pygnulib/GLImport.py (GLImport.execute): Likewise.
18484 2018-10-07  Akim Demaille  <akim@lrde.epita.fr>
18486         doc: the gnulib snapshots are not maintained
18487         * doc/gnulib-intro.texi (Steady Development): Don't mention them.
18489 2018-10-07  Akim Demaille  <akim@lrde.epita.fr>
18491         timevar: add to lib_SOURCES
18492         * modules/timevar (lib_SOURCES): Add timevar.c and timevar.def.
18494 2018-10-07  Bruno Haible  <bruno@clisp.org>
18496         dirent: Update documentation.
18497         * doc/posix-headers/dirent.texi: The MSVC issue is fixed by Gnulib.
18499 2018-10-05  Bruno Haible  <bruno@clisp.org>
18501         strpbrk: Make it possible to namespace the defined symbol.
18502         * lib/strpbrk.c (strpbrk): Don't undefine outside of glibc.
18504 2018-10-05  Bruno Haible  <bruno@clisp.org>
18506         strcspn: Make it possible to namespace the defined symbol.
18507         * lib/strcspn.c (strcspn): Don't undefine outside of glibc.
18509 2018-10-05  Bruno Haible  <bruno@clisp.org>
18511         raise: Make it possible to namespace the defined symbol.
18512         * lib/raise.c (raise): Undefine only after the replacement function has
18513         been defined.
18514         (raise): Renamed from rpl_raise.
18515         (raise_nothrow): Move to the end of the compilation unit.
18517 2018-10-05  Bruno Haible  <bruno@clisp.org>
18519         memcmp: Make it possible to namespace the defined symbol.
18520         * lib/memcmp.c (memcmp): Don't undefine outside of glibc.
18522 2018-10-05  Bruno Haible  <bruno@clisp.org>
18524         explicit_bzero: Make it possible to namespace the defined symbol.
18525         * lib/explicit_bzero.c (explicit_bzero): Don't undefine outside of
18526         glibc.
18528 2018-10-05  Bruno Haible  <bruno@clisp.org>
18530         mkdir-p: Depend on 'mkdir'.
18531         * modules/mkdir-p (Depends-on): Add 'mkdir'.
18533 2018-10-05  Bruno Haible  <bruno@clisp.org>
18535         tempname: Depend on 'mkdir'.
18536         Reported by Maarten Bosmans <mkbosmans@gmail.com>
18537         at <https://savannah.gnu.org/bugs/?33379>.
18538         * modules/tempname (Depends-on): Add 'mkdir'.
18540 2018-10-05  Akim Demaille  <akim@lrde.epita.fr>
18542         timevar: rely on gnulib modules for time portability.
18543         * modules/timevar (Depends-on): Add sys_time, sys_times, and times.
18544         * m4/timevar.m4: Don't check for clock_t and struct tms,
18545         guaranteed by gnulib.
18546         * lib/timevar.h: Use extern "C" protection.
18547         Include <stdio.h> for FILE.
18548         * lib/timevar.c: Include sys/time.h, sys/times.h unconditionally,
18549         they are guaranteed by gnulib.
18550         Remove uses of clock as (now useless) fallback.
18552 2018-10-04  Bruno Haible  <bruno@clisp.org>
18554         sh-filename: New module.
18555         * m4/sh-filename.m4: New file.
18556         * modules/sh-filename: New file.
18557         * lib/spawni.c (_PATH_BSHELL): Use BOURNE_SHELL instead of hardcoding
18558         "/bin/sh".
18559         * tests/test-posix_spawn1.c (main): Likewise.
18560         * tests/test-posix_spawn2.c (main): Likewise.
18561         * lib/javacomp.c (compile_using_envjavac, is_envjavac_gcj,
18562         is_envjavac_gcj43): Likewise.
18563         * lib/javaexec.c (execute_java_class): Likewise.
18564         * modules/posix_spawn-internal (Depends-on): Add sh-filename.
18565         * modules/posix_spawnp-tests (Depends-on): Likewise.
18566         * modules/javacomp (Depends-on): Likewise.
18567         * modules/javaexec (Depends-on): Likewise.
18569 2018-10-04  Bruno Haible  <bruno@clisp.org>
18571         spawn-pipe tests: Avoid test failure on native Windows.
18572         * tests/test-spawn-pipe-child.c (main): On native Windows, don't expect
18573         that fd 2 is closed.
18575 2018-10-04  Bruno Haible  <bruno@clisp.org>
18577         fcntl: Make it possible to namespace the defined symbol.
18578         * lib/fcntl.c (fcntl): Undefine only after the replacement function has
18579         been defined.
18580         (fcntl): Renamed from rpl_fcntl.
18581         (rpl_fcntl_DUPFD, rpl_fcntl_DUPFD_CLOEXEC): New functions, extracted
18582         from fcntl.
18583         (klibc_fcntl): Move to the end of the compilation unit.
18585 2018-10-02  Bruno Haible  <bruno@clisp.org>
18587         vasnprintf tests: Avoid test failure on HP-UX/hppa and IRIX.
18588         * tests/test-vasnprintf.c (test_function): Change the test added on
18589         2018-09-23 to check only the 18 most significant digits.
18591         vasnprintf tests: Avoid test failure on Cygwin.
18592         * tests/test-vasnprintf.c (test_function): Change the test added on
18593         2018-09-23 to check only the 42 most significant digits.
18595 2018-10-01  Bruno Haible  <bruno@clisp.org>
18597         mkostemp, mkostemps: Update documentation.
18598         * doc/glibc-functions/mkostemp.texi: Mention the Mac OS X issue.
18599         * doc/glibc-functions/mkostemps.texi: Likewise.
18601 2018-10-01  Tom Tromey  <tom@tromey.com>
18603         mkostemp, mkostemps: Fix compilation error in C++ mode on Mac OS X.
18604         * lib/stdlib.in.h: Include <unistd.h> for mkostemp and mkostemps
18605         on OS X.
18607 2018-09-30  Pádraig Brady  <P@draigBrady.com>
18609         hmac-*: refactor to remove repetitive code
18610         * lib/hmac.c: A new parameterized single implementation.
18611         * lib/hmac-md5.c: Define parameters and include implementation.
18612         * lib/hmac-sha1.c: Likewise.
18613         * lib/hmac-sha256.c: Likewise.
18614         * lib/hmac-sha512.c: Likewise.
18615         * modules/crypto/hmac-md5: Reference the new implementation file.
18616         * modules/crypto/hmac-sha1: Likewise.
18617         * modules/crypto/hmac-sha256: Likewise.
18618         * modules/crypto/hmac-sha512: Likewise.
18619         * tests/test-hmac-md5.c: Refactor common code to a single function.
18620         * tests/test-hmac-sha1.c: Likewise.
18621         * tests/test-hmac-sha256.c: Likewise.
18622         * tests/test-hmac-sha512.c: Likewise.
18624 2018-09-30  Zhang Qing  <zhangqingl@126.com>
18626         hmac-sha512: fix hash for keys > blocksize (128 bytes)
18627         * lib/hmac-sha512.c (hmac_sha512): Set the computed/shortened
18628         key length to that output by sha512, not the blocksize.
18629         Otherwise uninitialized data from the stack
18630         is used when computing the hash.
18631         * tests/test-hmac-sha512.c: Add a shortened key test case.
18632         Reported at https://github.com/coreutils/gnulib/pull/5
18634 2018-09-30  Bruno Haible  <bruno@clisp.org>
18636         vasnprintf: Avoid warnings from GCC's -Wsign-compare.
18637         Reported by Bjarni Ingi Gislason <bjarniig@rhi.hi.is> in
18638         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00105.html>.
18639         * lib/vasnprintf.c (VASNPRINTF): Cast 'count' from 'int' to
18640         'unsigned int' before comparison with an unsigned value.
18642 2018-09-30  Bruno Haible  <bruno@clisp.org>
18644         grantpt: Remove unnecessary dependency.
18645         * modules/grantpt (Depends-on): Remove 'builtin-expect'.
18647 2018-09-30  Bruno Haible  <bruno@clisp.org>
18649         timevar: Small tweaks.
18650         * lib/timevar.h: Fix comments. Add parameter names to function
18651         declarations.
18652         * lib/timevar.c: Include timevar.h immediately after config.h.
18653         * lib/timevar.def: Fix comments.
18654         * modules/timevar (Maintainer): List Akim Demaille.
18656 2018-09-30  Bruno Haible  <bruno@clisp.org>
18658         timevar: Include documentation in gnulib manual.
18659         * doc/timevar.texi: Change node and section name to 'Profiling of
18660         program phases'.
18661         In the code snippets, tweak the #includes and use GNU coding style.
18662         * doc/gnulib.texi: Include timevar.texi.
18664 2018-09-27  Akim Demaille  <akim@lrde.epita.fr>
18666         timevar: import from Bison.
18667         * m4/timevar.m4, modules/timevar, lib/timevar.h, lib/timevar.c:
18668         New files.
18669         * lib/timevar.def: New file.
18670         * doc/timevar.texi: New file.
18672 2018-09-26  Bruno Haible  <bruno@clisp.org>
18674         javacomp-script, javacomp: Add preliminary support for Java 12..17.
18675         * m4/javacomp.m4 (gt_JAVACOMP): Treat Java versions 12..17 like 11.
18676         * lib/javacomp.c (default_target_version): Likewise.
18678 2018-09-26  Bruno Haible  <bruno@clisp.org>
18680         javacomp-script, javacomp: Add support for Java 11.
18681         * m4/javacomp.m4 (gt_JAVACOMP): Accept source-version 11 and
18682         target-version 11.
18683         * lib/javaversion.h: Update comments.
18684         * lib/javacomp.c (default_target_version, SOURCE_VERSION_BOUND,
18685         source_version_index, get_goodcode_snippet, get_failcode_snippet,
18686         TARGET_VERSION_BOUND, target_version_index,
18687         corresponding_classfile_version): Accept source_version 11 and
18688         target_version 11.
18689         * lib/javacomp.h: Update comments accordingly.
18691 2018-09-23  Bruno Haible  <bruno@clisp.org>
18693         vasnprintf: Fix heap memory overrun bug.
18694         Reported by Ben Pfaff <blp@cs.stanford.edu> in
18695         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00107.html>.
18696         * lib/vasnprintf.c (convert_to_decimal): Allocate one more byte of
18697         memory.
18698         * tests/test-vasnprintf.c (test_function): Add another test.
18700 2018-09-19  Paul Eggert  <eggert@cs.ucla.edu>
18702         maint: mktime.c now shared with glibc
18703         * config/srclist.txt: intprops.h, timegm.c and mktime.c
18704         are now the same in Gnulib and glibc.
18706         mktime: fix _LIBC typo
18707         * lib/mktime.c (mktime): Fix typo (misspelled "_LIBC").
18709 2018-09-19  Norihiro Tanaka  <noritnk@kcn.ne.jp>
18711         dfa: optimization for state merge
18712         * lib/dfa.c (merge2): New function.
18713         (merge_nfa_state): Use it.
18715 2018-09-18  Jim Meyering  <meyering@fb.com>
18717         dfa: trivial comment fix: s/is/if/
18718         * lib/dfa.c (maybe_disable_superset_dfa): Fix comment typo.
18720 2018-09-18  Paul Eggert  <eggert@cs.ucla.edu>
18722         dfa: use more-informative function name
18723         * lib/dfa.c (maybe_disable_superset_dfa):
18724         Rename from dfautf8noss.  Use change.
18726         dfa: tweak allocation performance
18727         * lib/dfa.c (merge_nfa_state, dfaoptimize):
18728         Prefer ptrdiff_t for indexes some more.
18729         Use char for flags, as it’s wide enough.
18730         Allocate queue and flags together, with one malloc call.
18731         No need to use xnmalloc since the multiplication and
18732         addition cannot overflow (it’s already been checked by
18733         earlier allocation).  Prefer memset to open-coding.
18735         dfa: prune states as we go
18736         * lib/dfa.c (prune): Remove.
18737         dfa: reorder enum for efficiency
18738         (merge_nfa_state): Prune as we go instead of at the end.
18739         Prefer ptrdiff_t for indexes, as this helps the compiler a bit.
18741         * lib/dfa.c (END): Now -1 again.  Reorder other elements
18742         of the enumeration to make it easier for GCC to generate
18743         efficient code by using fewer comparisons to check for
18744         ranges of values.
18745         (atom): Take advantage of the reordering.
18747 2018-09-18  Norihiro Tanaka  <noritnk@kcn.ne.jp>
18749         dfa: optimize alternation in NFA
18750         Even when similar states exist in alternation, the DFA treats them
18751         as separate items, which may complicate the transition in NFA and
18752         cause slowdown.  This change assembles the states into one.  For
18753         example, ab|ac is changed into a(b|c).  This change speeds-up
18754         matching for many branched patterns.  For example, grep speeds up
18755         more than 30× in:
18757           seq 10000 | sed 's/$/ abcdefghijklmnopqrstuvwxyz/; s/$/./' >in
18758           time -p env LC_ALL=C grep -vf in in
18760         * lib/dfa.c (prune): New function.
18761         (merge_nfa_state): New function.  It merges similar NFA states.
18762         (dfaoptimize): New function.  It seeks merged and removed nodes.
18763         (dfaanalyze): Call new function.
18764         (dfautf8noss): Change name from dfaoptimize because of addition of new
18765         function.
18766         (dfacomp): Update caller.
18768         dfa: simplify initial state
18769         Simplifying the initial state enables easier optimization of the NFA.
18770         * lib/dfa.c (enum token): Add new element BEG.
18771         (prtok): Adjust due to adding element BEG.
18772         (dfaparse): Put BEG at a head of tokens.
18773         (state_index): Adjust due to adding element BEG.
18774         (dfaanalyze): Concatenate BEG to other tokens, and simplify to
18775         build initial state.
18776         (dfamust): Adjust due to adding element BEG.  DFAMUST ignores it.
18778 2018-09-18  Bruno Haible  <bruno@clisp.org>
18780         file-has-acl: Fix test failure on Cygwin 2.9.
18781         * m4/acl.m4 (gl_FUNC_ACL): Update comments regarding Cygwin.
18782         * lib/acl-internal.h: Likewise.
18783         (HAVE_ACL_EXTENDED_FILE): Undefine on Cygwin.
18784         * lib/acl-internal.c: Update comments regarding Cygwin.
18785         * lib/acl_entries.c: Likewise.
18786         * lib/file-has-acl.c: Likewise.
18787         (file_has_acl): For Cygwin, use a different way to determine whether
18788         the "default" ACL of a directory is nontrivial.
18789         * lib/get-permissions.c: Update comments regarding Cygwin.
18790         * lib/set-permissions.c: Likewise.
18792 2018-09-18  Bruno Haible  <bruno@clisp.org>
18794         stat-time tests: Fix test failure on Cygwin.
18795         * tests/nap.h (nap_get_stat): Treat Cygwin like native Windows.
18797 2018-09-18  Paul Eggert  <eggert@cs.ucla.edu>
18799         doc: OS X 10.11 lacked ns time functions
18800         According to <https://github.com/zeromq/libzmq/issues/2175>,
18801         nanosecond-resolution timestamp functions were introduced
18802         in macOS 10.12, so document the last version (OS X 10.11)
18803         where they were absent.
18805         gettime: nanotime never existed
18806         Problem reported by Bruno Haible in:
18807         https://lists.gnu.org/r/bug-gnulib/2018-09/msg00082.html
18808         * lib/gettime.c (gettime) [HAVE_NANOTIME]: Remove unused code.
18809         * m4/gettime.m4 (gl_GETTIME): Don’t check for nanotime.
18811 2018-09-18  Bruno Haible  <bruno@clisp.org>
18813         doc: Update statement about target platforms.
18814         Reported by Simon Sobisch.
18815         * doc/gnulib-intro.texi (Target Platforms): Update. Mention
18816         restrictions on MSVC versions.
18818 2018-09-18  Bruno Haible  <bruno@clisp.org>
18820         posix_spawn tests: Fix link error on 64-bit Cygwin.
18821         * tests/test-posix_spawn1.c (environ): Remove declaration.
18822         * tests/test-posix_spawn2.c (environ): Likewise.
18823         * tests/test-posix_spawn3.c (environ): Likewise.
18824         * tests/test-posix_spawn4.c (environ): Likewise.
18825         * modules/posix_spawn-tests (Depends-on): Add 'environ'.
18826         * modules/posix_spawnp-tests (Depends-on): Likewise.
18828 2018-09-16  Paul Eggert  <eggert@cs.ucla.edu>
18830         timespec: new function current_timespec
18831         * lib/gettime.c (gettime): Prefer clock_gettime to nanotime,
18832         and don’t worry about it failing on a CLOCK_REALTIME arg.
18833         POSIX requires it to succeed and I don’t know of any
18834         counterexamples where the fallbacks would work.
18835         (current_timespec): New function, taken from Emacs.  It is more
18836         convenient than gettime, and can help register allocation.
18837         * lib/timespec.h: Include arg-nonnull.h.
18838         (current_timespec): New declaration.
18839         (gettime, settime): Declare args to be nonnull.
18840         * modules/timespec (Depends-on): Add snippet/arg-nonnull.
18842 2018-09-16  Bruno Haible  <bruno@clisp.org>
18844         setlocale: Improve locale handling on macOS 10.12 or newer.
18845         * lib/setlocale.c: Include header files for CoreFoundation. Declare
18846         gl_locale_name_canonicalize.
18847         (libintl_setlocale): Try harder to set a locale for categories LC_CTYPE
18848         and LC_MESSAGES.
18849         * m4/setlocale.m4 (gl_PREREQ_SETLOCALE): Add comment.
18851 2018-09-16  Bruno Haible  <bruno@clisp.org>
18853         Update list of locale names with scripts on macOS.
18854         * lib/localename.c (gl_locale_name_canonicalize): Update tables to
18855         match Mac OS X 10.13 and recent glibc.
18857 2018-09-16  Bruno Haible  <bruno@clisp.org>
18859         gettext: Use newer macOS APIs when possible.
18860         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Check for
18861         CFLocaleCopyPreferredLanguages.
18863 2018-09-16  Bruno Haible  <bruno@clisp.org>
18865         localename: Revisit macOS specific code.
18866         * lib/localename.c (gl_locale_name_default): Reduce code duplication.
18867         Fix comments about Mac OS X versions.
18869 2018-09-15  Bruno Haible  <bruno@clisp.org>
18871         setlocale: Improve support for locales not supported by libc.
18872         Reported by Dapeng Gao <peter@dpgao.cc> at
18873         <https://savannah.gnu.org/bugs/?54479>.
18874         * gettext-runtime/intl/setlocale.c: Include <stdio.h>.
18875         (libintl_setlocale): Use a more error-tolerant strategy when the locale
18876         to be set is not supported by libc: Emit warnings instead of failing.
18878 2018-09-15  Bruno Haible  <bruno@clisp.org>
18880         strstr, strcasestr: Add workaround against glibc-2.28 bug.
18881         Reported by Michael Brunnbauer via Siddhesh Poyarekar and Eric Blake.
18882         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Set
18883         gl_cv_func_strstr_works_always to 'no' on glibc 2.28.
18884         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Set
18885         gl_cv_func_strcasestr_works_always to 'no' on glibc 2.28.
18886         * doc/posix-functions/strstr.texi: Document the glibc 2.28 bug.
18887         * doc/glibc-functions/strcasestr.texi: Likewise.
18889 2018-09-14  Bruno Haible  <bruno@clisp.org>
18891         doc: Fix bottom of top-level page.
18892         Reported by Akim Demaille <akim.demaille@gmail.com> in
18893         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00072.html>.
18894         * doc/pastposix-functions/index.texi: Rename node to '_index' in HTML
18895         mode.
18896         * doc/gnulib.texi (Legacy Function Substitutes): Update menu
18897         accordingly.
18899 2018-09-12  Bruno Haible  <bruno@clisp.org>
18901         Add test case from a recent glibc bug.
18902         * tests/test-strstr.c (main): Add test of long needle.
18903         * tests/test-strcasestr.c (main): Likewise.
18904         * tests/test-c-strstr.c (main): Likewise.
18905         * tests/test-c-strcasestr.c (main): Likewise.
18906         * tests/test-memmem.c (main): Likewise.
18908 2018-09-12  Bruno Haible  <bruno@clisp.org>
18910         Apply Eric Blake's improvements from 2011-02-25 to more tests.
18911         * tests/test-c-strstr.c (main): Add the same tests here as well.
18913 2018-09-12  Bruno Haible  <bruno@clisp.org>
18915         Apply Jim Meyering's fix from 2015-01-11 to more tests.
18916         * tests/test-memmem.c (main): Free haystack.
18917         * tests/test-strcasestr.c (main): Likewise.
18918         * tests/test-c-strcasestr.c (main): Likewise.
18920 2018-09-11  Paul Eggert  <eggert@cs.ucla.edu>
18922         xstrtol: fix missing-TYPE_SIGNED typo
18923         * lib/xstrtol.c (TYPE_SIGNED): New macro, duplicating intprops.h.
18925 2018-09-10  Paul Eggert  <eggert@cs.ucla.edu>
18927         timespec: fix resolution confusion
18928         In normal usage, clock resolution is given in seconds, but the
18929         code was mistakenly using inverse seconds and calling it
18930         “resolution”.  Fix this, partly by renaming two identifiers.
18931         The old names will be kept for a bit, to ease transition.
18932         * lib/timespec.h (TIMESPEC_HZ, LOG10_TIMESPEC_HZ):
18933         New constants, replacing TIMESPEC_RESOLUTION and
18934         LOG10_TIMESPEC_RESOLUTION, which are now obsolescent.
18935         All uses changed.
18937 2018-09-09  Paul Eggert  <eggert@cs.ucla.edu>
18939         mktime: simplify in prep for glibc merge
18940         * lib/mktime.c, lib/timegm.c [_LIBC]:
18941         Include mktime-internal.h (a small file just for glibc)
18942         instead of using a typedef.
18944 2018-09-07  Paul Eggert  <eggert@cs.ucla.edu>
18946         intprops: minor clarification of code
18947         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW):
18948         Use _GL_INT_CONVERT rather than reinventing it.
18950 2018-09-07  Bruno Haible  <bruno@clisp.org>
18952         Fix a comment.
18953         * tests/test-posix_spawn3.c (parent_main): Fix typo in comment.
18955 2018-09-07  Bruno Haible  <bruno@clisp.org>
18957         posix_spawn_file_actions_addchdir: Add tests.
18958         * tests/test-posix_spawn_file_actions_addchdir.c: New file.
18959         * tests/test-posix_spawn4.c: New file.
18960         * modules/posix_spawn_file_actions_addchdir-tests: New file.
18962 2018-09-07  Bruno Haible  <bruno@clisp.org>
18964         posix_spawn_file_actions_addchdir: New module.
18965         Suggested by Eric Blake in
18966         <https://lists.gnu.org/archive/html/bug-findutils/2018-09/msg00007.html>.
18967         * lib/spawn.in.h (posix_spawn_file_actions_addchdir): New declaration.
18968         * lib/spawn_int.h (struct __spawn_action): Add tag 'spawn_do_chdir' and
18969         union member 'chdir_action'.
18970         * lib/spawn_faction_addchdir.c: New file.
18971         * lib/spawni.c (__spawni): Implement the spawn_do_chdir action.
18972         * lib/spawn_faction_addclose.c: Test REPLACE_POSIX_SPAWN instead of
18973         HAVE_WORKING_POSIX_SPAWN.
18974         * lib/spawn_faction_adddup2.c: Likewise.
18975         * lib/spawn_faction_addopen.c: Likewise.
18976         * m4/posix_spawn_faction_addchdir.m4: New file.
18977         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether module
18978         'posix_spawn_file_actions_addchdir' is present and whether
18979         posix_spawn_file_actions_addchdir_np exists. Define REPLACE_POSIX_SPAWN
18980         instead of HAVE_WORKING_POSIX_SPAWN.
18981         * m4/spawn_h.m4 (gl_SPAWN_H): Test whether
18982         posix_spawn_file_actions_addchdir is declared.
18983         (gl_SPAWN_H_DEFAULTS): Initialize
18984         GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR,
18985         HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR,
18986         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR.
18987         * modules/spawn (Makefile.am): Substitute
18988         GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR,
18989         HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR,
18990         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR.
18991         * modules/posix_spawn_file_actions_addchdir: New file.
18992         * modules/posix_spawn_file_actions_addclose (Depends-on,
18993         configure.ac): Test also REPLACE_POSIX_SPAWN.
18994         * modules/posix_spawn_file_actions_adddup2 (Depends-on,
18995         configure.ac): Likewise.
18996         * modules/posix_spawn_file_actions_addopen (Depends-on,
18997         configure.ac): Likewise.
18998         * tests/test-spawn-c++.cc (posix_spawn_file_actions_addchdir): Check
18999         signature.
19000         * doc/posix-functions/posix_spawn.texi: Mention the new module.
19001         * doc/posix-functions/posix_spawnp.texi: Likewise.
19003 2018-09-06  Bruno Haible  <bruno@clisp.org>
19005         stddef: Override max_align_t on NetBSD 8.0/x86.
19006         * m4/stddef_h.m4 (gl_STDDEF_H): When testing for max_align_t, test also
19007         the value of __alignof__ (max_align_t).
19008         * doc/posix-headers/stddef.texi: Mention the issue.
19010 2018-09-06  Bruno Haible  <bruno@clisp.org>
19012         fcntl: Fix F_DUPFD_CLOEXEC behaviour on Haiku.
19013         * lib/fcntl.c (rpl_fcntl): For F_DUPFD_CLOEXEC, don't even try the
19014         system fcntl.
19015         * doc/posix-functions/fcntl.texi: Document the issue.
19017 2018-09-06  Bruno Haible  <bruno@clisp.org>
19019         count-trailing-zeros tests: Rely on limits-h module.
19020         * tests/test-count-trailing-zeros.c (ULLONG_MAX): Remove fallback
19021         definition.
19022         * modules/count-trailing-zeros-tests (Depends-on): Add 'limits-h'.
19024 2018-09-06  Bruno Haible  <bruno@clisp.org>
19026         count-leading-zeros tests: Rely on limits-h module.
19027         * tests/test-count-leading-zeros.c (ULLONG_MAX): Remove fallback
19028         definition.
19029         * modules/count-leading-zeros-tests (Depends-on): Add 'limits-h'.
19031 2018-09-06  Bruno Haible  <bruno@clisp.org>
19033         count-one-bits tests: Rely on limits-h module.
19034         * tests/test-count-one-bits.c (ULLONG_MAX): Remove fallback definition.
19035         * modules/count-one-bits-tests (Depends-on): Add 'limits-h'.
19037 2018-09-06  Bruno Haible  <bruno@clisp.org>
19039         xstrtoll: Rely on limits-h module.
19040         * lib/xstrtol.c: Don't include intprops.h.
19041         (ULLONG_MAX, LLONG_MAX, LLONG_MIN): Remove fallback definitions.
19042         * modules/xstrtol (Depends-on): Remove 'intprops'.
19043         * modules/xstrtoll (Depends-on): Add 'limits-h'.
19045 2018-09-06  Bruno Haible  <bruno@clisp.org>
19047         strtoll, strtoull: Rely on limits-h module.
19048         * lib/strtol.c (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove macros.
19049         (ULLONG_MAX, LLONG_MAX, LLONG_MIN): Remove fallback definitions.
19050         * modules/strtoll (Depends-on): Add limits-h.
19051         * modules/strtoull (Depends-on): Likewise.
19053 2018-09-06  Bruno Haible  <bruno@clisp.org>
19055         intprops tests: Fix compilation error with pre-C99 compiler.
19056         * tests/test-intprops.c (verify_stmt): New macro.
19057         (VERIFY, main): Use it.
19059 2018-09-06  Bruno Haible  <bruno@clisp.org>
19061         limits-h: Provide numerical limits macros.
19062         * lib/limits.in.h (LLONG_MIN, LLONG_MAX, ULLONG_MAX): Define also for
19063         IRIX and for GCC.
19064         (WORD_BIT, LONG_BIT): Define.
19065         * m4/limits-h.m4 (gl_LIMITS_H): Set LIMITS_H to non-empty also when
19066         <limits.h> does not define LLONG_MAX or WORD_BIT.
19067         * tests/test-limits-h.c (TYPE_SIGNED, TYPE_WIDTH, TYPE_MINIMUM,
19068         TYPE_MAXIMUM): New macros, from intprops.h.
19069         Add tests for CHAR_BIT, WORD_BIT, LONG_BIT, <type>_MIN, and <type>_MAX.
19070         * doc/posix-headers/limits.texi: Document what the 'limits-h' module
19071         provides.
19073 2018-09-05  Bruno Haible  <bruno@clisp.org>
19075         fcntl: Don't access nonexistent optional argument.
19076         Reported by Frank Busse <f.busse@imperial.ac.uk> in
19077         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00018.html>.
19078         * lib/fcntl.c (rpl_fcntl): For actions that don't take an argument,
19079         don't consume an argument. For actions that take an 'int' argument,
19080         consume an 'int' argument.
19082 2018-09-05  Eric Blake  <eblake@redhat.com>
19084         doc: mention environ pitfall
19085         * doc/posix-functions/environ.texi (environ): Assigning NULL to
19086         environ is a glibc extension.
19088 2018-09-03  Bruno Haible  <bruno@clisp.org>
19090         gnulib-tool: Fix build order when $testsbase is a subdir of $sourcebase.
19091         Reported by Antoine Luong <antoine.luong@c-s.fr> in
19092         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00008.html>.
19093         * gnulib-tool (func_import): For the tests, set a dotfirst flag.
19094         (func_emit_lib_Makefile_am): Consider the dotfirst flag.
19095         (func_emit_tests_Makefile_am): Don't consider the dotfirst flag.
19097 2018-09-02  Paul Eggert  <eggert@cs.ucla.edu>
19099         mktime: fix unlikely race+overflow bug
19100         Problem reported by Alexandre Oliva in:
19101         https://sourceware.org/bugzilla/show_bug.cgi?id=16346
19102         * lib/mktime.c (__mktime_internal): Access *OFFSET only once,
19103         to avoid an unlikely race if the compiler delays a load and
19104         if this cascades into a signed integer overflow.
19106 2018-08-31  Paul Eggert  <eggert@cs.ucla.edu>
19108         mktime, timegm: simplify glibc time64_t
19109         * lib/mktime.c, lib/timegm.c (mktime_offset_t) [_LIBC]:
19110         Now long int, not time_t, since long int is the longstanding type
19111         for this in glibc and there is no need to change it even if time_t
19112         becomes 64 bits - even int would do, though this would be a change
19113         to the glibc generated code.  When this change is merged into
19114         glibc, it should simplify the time_t vs time64_t situation.
19116         mktime, timegm: simplify merge to glibc
19117         Move code around to make a merge to glibc easier to audit.
19118         This should not change behavior.
19119         * lib/mktime.c (NEED_MKTIME_INTERNAL, NEED_MKTIME_WINDOWS)
19120         (NEED_MKTIME_WORKING): Give default values to pacify -Wundef,
19121         which glibc uses.  Default NEED_MKTIME_WORKING to DEBUG_MKTIME, to
19122         simplify later conditionals; default the others to zero.  In uses
19123         of these conditionals, explicitly spell out how _LIBC affects
19124         things, so it’s easier to review from a glibc viewpoint.
19125         (my_tzset, __tzset) [!_LIBC]: New function and macro, to better
19126         compartmentalize tzset issues.  Move system-dependent tzsettish
19127         code here from mktime.
19128         (mktime): Move tzsettish code to my_tzset, and move
19129         localtime_offset to within mktime so that it doesn’t
19130         need a separate ifdef.
19132 2018-08-27  Paul Eggert  <eggert@cs.ucla.edu>
19134         intprops: avoid evaluation of some expressions
19135         This makes EXPR_SIGNED (e) easier to use, as it no longer
19136         evaluates the expression E.  Formerly, E was required to be free
19137         of side effects.
19138         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT)
19139         (EXPR_SIGNED, TYPE_WIDTH, _GL_INT_MINIMUM, _GL_INT_MAXIMUM)
19140         (_GL_SIGNED_INT_MAXIMUM): Do not evaluate the expression arg.
19142 2018-08-23  Bruno Haible  <bruno@clisp.org>
19144         getcwd: Add cross-compilation guesses.
19145         Reported by Sergio Durigan Junior <sergiodj@redhat.com> in
19146         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00130.html>.
19147         Based on a patch by Paul Eggert.
19148         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Add cross-compilation
19149         guesses for all GNU systems.
19151 2018-08-19  Bruno Haible  <bruno@clisp.org>
19153         glob-h: Formalize side effects from other modules.
19154         * m4/glob_h.m4 (gl_REPLACE_GLOB_H): New macro.
19155         * m4/glob.m4 (gl_GLOB): Invoke it.
19157         fnmatch-h: Formalize side effects from other modules.
19158         * m4/fnmatch_h.m4 (gl_REPLACE_FNMATCH_H): New macro.
19159         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Invoke it.
19161         limits-h: Formalize side effects from other modules.
19162         * m4/limits-h.m4 (gl_REPLACE_LIMITS_H): New macro.
19163         * m4/stdint.m4 (gl_STDINT_H): Invoke it.
19165 2018-08-19  Bruno Haible  <bruno@clisp.org>
19167         getpass: Move declaration to <unistd.h>.
19168         * lib/unistd.in.h (getpass): New declaration.
19169         * lib/getpass.h: Replace with a stub that just includes <unistd.h>.
19170         * m4/getpass.m4 (gl_FUNC_GETPASS): Declare through AC_DEFUN_ONCE.
19171         Require gl_UNISTD_H_DEFAULTS. Don't test whether getpass is declared.
19172         (gl_FUNC_GETPASS_GNU): Require gl_UNISTD_H_DEFAULTS and gl_FUNC_GETPASS.
19173         On glibc systems, don't set REPLACE_GETPASS to 1.
19174         * modules/getpass (Depends-on): Add 'unistd'.
19175         (configure.ac): Test also REPLACE_GETPASS. Define a module indicator.
19176         (Include): Specify <unistd.h> instead of "getpass.h".
19177         * modules/getpass-gnu (Depends-on): Merely depend on 'getpass'.
19178         (configure.ac): Sync with the configure.ac section of modules/getpass.
19179         (Include): Specify <unistd.h> instead of "getpass.h".
19180         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether getpass is declared.
19181         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPASS, HAVE_GETPASS,
19182         REPLACE_GETPASS.
19183         * modules/unistd (Makefile.am): Substitute GNULIB_GETPASS, HAVE_GETPASS,
19184         REPLACE_GETPASS.
19185         * tests/test-unistd-c++.cc: Test also the declaration of 'getpass'.
19186         * doc/glibc-functions/getpass.texi: A length limit exists also on uClibc
19187         and musl.
19188         * NEWS: Mention the change.
19190 2018-08-19  Bruno Haible  <bruno@clisp.org>
19192         glob: Fix over-optimization due to attribute __nonnull__.
19193         * lib/glob.c (_GL_ARG_NONNULL): Define to empty.
19195 2018-08-19  Bruno Haible  <bruno@clisp.org>
19197         glob: Fix another compilation error when glob.h is not replaced.
19198         Reported by Reuben Thomas <rrt@sc3d.org> in
19199         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00112.html>.
19200         * m4/glob.m4 (gl_GLOB): Set GLOB_H to non-empty when needed.
19201         * m4/glob_h.m4 (gl_GLOB_H): Define through AC_DEFUN_ONCE.
19203 2018-08-18  Bruno Haible  <bruno@clisp.org>
19205         fnmatch: Avoid conflicting macro definitions of 'fnmatch'.
19206         Reported by Reuben Thomas <rrt@sc3d.org> in
19207         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00108.html>.
19208         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Don't define 'fnmatch' as a macro
19209         in config.h.
19211 2018-08-18  Bruno Haible  <bruno@clisp.org>
19213         Avoid -Wcast-function-type warnings from casts after GetProcAddress.
19214         Reported by Andy Moreton <andrewjmoreton@gmail.com> in
19215         <https://lists.gnu.org/archive/html/emacs-devel/2018-08/msg00468.html>.
19216         Solution proposed by Eli Zaretskii.
19217         * lib/getaddrinfo.c (GetProcAddress): Cast result to 'void *' first.
19218         * lib/gettimeofday.c (GetProcAddress): Likewise.
19219         * lib/link.c (GetProcAddress): Likewise.
19220         * lib/physmem.c (GetProcAddress): Likewise.
19221         * lib/poll.c (GetProcAddress): Likewise.
19222         * lib/select.c (GetProcAddress): Likewise.
19223         * lib/stat-w32.c (GetProcAddress): Likewise.
19225 2018-08-18  Bruno Haible  <bruno@clisp.org>
19227         glob: Fix another compilation error when glob.h is not replaced.
19228         Reported and fix proposed by Reuben Thomas <rrt@sc3d.org> again.
19229         * lib/globfree.c: Include <libc-config.h>.
19231 2018-08-18  Bruno Haible  <bruno@clisp.org>
19233         glob: Fix compilation error when glob.h is not replaced.
19234         Reported and fix proposed by Reuben Thomas <rrt@sc3d.org> in
19235         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00096.html>.
19236         * lib/glob_pattern_p.c: Include <libc-config.h>.
19237         * modules/glob (Depends-on): Add libc-config.
19239 2018-08-18  Bruno Haible  <bruno@clisp.org>
19241         scratch_buffer: Add tests.
19242         * tests/test-scratch-buffer.c: New file.
19243         * modules/scratch_buffer-tests: New file.
19245 2018-08-18  Bruno Haible  <bruno@clisp.org>
19247         scratch_buffer: Fix include file.
19248         Reported by Reuben Thomas <rrt@sc3d.org> in
19249         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00082.html>.
19250         * lib/scratch_buffer.h: Include <libc-config.h> first. Add
19251         double-inclusion guard.
19253 2018-08-18  Bruno Haible  <bruno@clisp.org>
19255         glob-h: Revert Paul Eggert's revert.
19256         * m4/glob_h.m4: Revert to previous state.
19257         * modules/glob-h: Likewise.
19259 2018-08-18  Paul Eggert  <eggert@cs.ucla.edu>
19261         glob-h: always build glob.h
19262         This works around a problem reported by Reuben Thomas in:
19263         http://lists.gnu.org/r/bug-gnulib/2018-08/msg00079.html
19264         This workaround always builds glob.h, even on platforms that
19265         do not need it; perhaps this could be improved someday.
19266         * m4/glob_h.m4 (gl_GLOB_H): Do not set or use GLOB_H, since glob.h
19267         is always created now.
19268         * modules/glob-h (BUILT_SOURCES, glob.h): Always build glob.h.
19270 2018-08-13  Bruno Haible  <bruno@clisp.org>
19272         monetary: Simplify m4 code.
19273         * m4/monetary_h.m4 (gl_MONETARY_H): Define through AC_DEFUN_ONCE.
19274         (gl_MONETARY_H_BODY): Inline into gl_MONETARY_H. Remove macro.
19276 2018-08-13  Bruno Haible  <bruno@clisp.org>
19278         fnmatch, fnmatch-gnu: Fix compilation error on Mac OS X.
19279         Reported by Jeroen Meijer <jjgmeijer@gmail.com> in
19280         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00046.html>
19281         and by Paul J. Lucas <paul@lucasmail.org> in
19282         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00069.html>.
19283         * m4/fnmatch_h.m4 (gl_FNMATCH_H): Define through AC_DEFUN_ONCE.
19285 2018-08-11  Bruno Haible  <bruno@clisp.org>
19287         setlocale: Trivial simplification.
19288         * lib/setlocale.c (setlocale_unixlike): Remove redundant #if.
19290 2018-08-11  Paul Eggert  <eggert@cs.ucla.edu>
19292         verify: port 'assume' to traditional tools
19293         * lib/verify.h (assume): Port better to Oracle Studio 12.6
19294         and other tools that use /*NOTREACHED*/ comments.
19296 2018-08-10  Bruno Haible  <bruno@clisp.org>
19298         fnmatch-gnu: Fix compilation error in C++ namespace mode on Mac OS X.
19299         * modules/fnmatch-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
19300         * lib/fnmatch.in.h (fnmatch): Skip _GL_CXXALIASWARN if module
19301         'fnmatch-gnu' is in use.
19303 2018-08-07  Bruno Haible  <bruno@clisp.org>
19305         glob-h: Add tests.
19306         * tests/test-glob-h.c: New file, partially based on tests/test-glob.c.
19307         * tests/test-glob.c: Reorder #includes. Remove tests that are moved to
19308         tests/test-glob-h.c.
19309         * modules/glob-h-tests: New file.
19310         * tests/test-glob-h-c++.cc: Renamed from tests/test-glob-c++.cc. Add
19311         conditions.
19312         * modules/glob-h-c++-tests: Renamed from modules/glob-c++-tests.
19313         * modules/glob-tests (Depends-on): Remove glob-c++-tests.
19315 2018-08-07  Bruno Haible  <bruno@clisp.org>
19317         glob-h: New module.
19318         * lib/glob.in.h: Use nearly the usual gnulib idioms for header file
19319         replacements.
19320         * lib/glob.c: Include <config.h>.
19321         * m4/glob_h.m4: New file.
19322         * m4/glob.m4 (gl_GLOB): Require gl_GLOB_H. Remove code that is moved to
19323         glob_h.m4. Set HAVE_GLOB, REPLACE_GLOB, HAVE_GLOB_PATTERN_P,
19324         REPLACE_GLOB_PATTERN_P as appropriate.
19325         (gl_PREREQ_GLOB): Don't require AC_C_RESTRICT and
19326         AC_USE_SYSTEM_EXTENSIONS, now done through module 'glob-h'.
19327         * modules/glob-h: New file.
19328         * modules/glob (Files): Remove lib/glob.in.h, lib/glob-libc.h.
19329         (Dependencies): Add glob-h. Remove extensions, snippet/*, libc-config,
19330         lstat, sys_stat. Change conditions.
19331         (configure.ac): Test HAVE_GLOB, REPLACE_GLOB, HAVE_GLOB_PATTERN_P,
19332         REPLACE_GLOB_PATTERN_P. Set module indicator.
19333         (Makefile.am): Remove code that is moved to glob-h.
19334         * doc/posix-headers/glob.texi: Mention the 'glob-h' module.
19335         * modules/posixcheck (Depends-on): Add glob-h.
19337 2018-08-06  Bruno Haible  <bruno@clisp.org>
19339         Force generation of substitute .h file when C++ support is enabled.
19340         * m4/ansi-c++.m4 (gl_ANSI_CXX): New macro.
19341         * modules/ansi-c++-opt (configure.ac): Just require gl_ANSI_CXX.
19342         * m4/fnmatch_h.m4 (gl_FNMATCH_H): If C++ support is enabled, set
19343         FNMATCH_H to non-empty.
19344         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): If C++ support is enabled, set
19345         ICONV_H to non-empty.
19346         * m4/monetary_h.m4 (gl_MONETARY_H_BODY): If C++ support is enabled, set
19347         MONETARY_H to non-empty.
19348         * m4/utime_h.m4 (gl_UTIME_H): If C++ support is enabled, set UTIME_H to
19349         non-empty.
19351 2018-08-06  Bruno Haible  <bruno@clisp.org>
19353         fnmatch-h: Fix test compilation error on mingw (regression from today).
19354         * lib/fnmatch.in.h: Fix conditions.
19356 2018-08-06  Bruno Haible  <bruno@clisp.org>
19358         sys_resource: Relicense under LGPLv2+.
19359         John Malmberg's approval is in
19360         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00031.html>.
19361         * modules/sys_resource (License): Change to LGPLv2+.
19363 2018-08-06  Bruno Haible  <bruno@clisp.org>
19365         fnmatch-h: Add tests.
19366         * tests/test-fnmatch-h.c: New file.
19367         * modules/fnmatch-h-tests: New file.
19368         * tests/test-fnmatch-h-c++.cc: New file.
19369         * modules/fnmatch-h-c++-tests: New file.
19371 2018-08-06  Bruno Haible  <bruno@clisp.org>
19373         fnmatch-h: New module.
19374         * lib/fnmatch.in.h: Use the usual gnulib idioms for header file
19375         replacements.
19376         (FNM_*): Don't redefine if fnmatch exists and we are not overriding it.
19377         (fnmatch): Use the usual gnulib idiom for function declarations. Enable
19378         'posixcheck' warning.
19379         * m4/fnmatch_h.m4: New file.
19380         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Require gl_FNMATCH_H. Remove
19381         code that is moved to fnmatch_h.m4. When fnmatch does not exist, don't
19382         bother testing whether it is working. Set HAVE_FNMATCH, REPLACE_FNMATCH
19383         as appropriate.
19384         * modules/fnmatch-h: New file.
19385         * modules/fnmatch (Files): Remove lib/fnmatch.in.h.
19386         (Dependencies): Add fnmatch-h. Remove extensions, snippet/*. Change
19387         conditions.
19388         (configure.ac): Test HAVE_FNMATCH and REPLACE_FNMATCH. Set module
19389         indicator.
19390         (Makefile.am): Remove code that is moved to fnmatch-h.
19391         * modules/fnmatch-gnu (configure.ac): Test HAVE_FNMATCH and
19392         REPLACE_FNMATCH.
19393         * doc/posix-headers/fnmatch.texi: Mention the 'fnmatch-h' module.
19394         * modules/posixcheck (Depends-on): Add fnmatch-h.
19396 2018-08-06  Bruno Haible  <bruno@clisp.org>
19398         Enable more C++ tests.
19399         * modules/inttypes-tests (Depends-on): Add inttypes-c++-tests.
19400         * modules/monetary-tests (Depends-on): Add monetary-c++-tests.
19401         * modules/strings-tests (Depends-on): Add strings-c++-tests.
19402         * modules/sys_resource-tests (Depends-on): Add sys_resource-c++-tests.
19403         * modules/utime-h-tests (Depends-on): Add utime-h-c++-tests.
19405 2018-08-06  Bruno Haible  <bruno@clisp.org>
19407         getopt-posix, utime-h: Ensure the .h file gets regenerated when needed.
19408         * modules/getopt-posix (Makefile.am): Add Makefile dependency for
19409         getopt.h.
19410         * modules/utime-h (Makefile.am): Add Makefile dependency for utime.h.
19412 2018-08-05  Bruno Haible  <bruno@clisp.org>
19414         utime-h: Generate header file when module 'posixcheck' is in use.
19415         * m4/utime_h.m4 (gl_UTIME_H): If module 'posixcheck' is in use, set
19416         UTIME_H to non-empty.
19418 2018-08-05  Bruno Haible  <bruno@clisp.org>
19420         monetary: Generate header file when module 'posixcheck' is in use.
19421         * m4/monetary_h.m4 (gl_MONETARY_H_BODY): If module 'posixcheck' is in
19422         use, set MONETARY_H to non-empty.
19424 2018-08-05  Bruno Haible  <bruno@clisp.org>
19426         iconv-h: Generate header file when module 'posixcheck' is in use.
19427         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): If module 'posixcheck' is in use,
19428         set ICONV_H to non-empty.
19430 2018-08-05  Bruno Haible  <bruno@clisp.org>
19432         Optimize the "checking whether ... is declared without a macro" checks.
19433         Suggested by Paul Eggert in
19434         <https://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00339.html>.
19435         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Expand to nothing if the
19436         Gnulib module 'posixcheck' is not in use.
19438 2018-08-05  Bruno Haible  <bruno@clisp.org>
19440         iconv-h: Enable 'posixcheck' warnings.
19441         * m4/iconv_h.m4 (gl_ICONV_H): Check for declarations of iconv and
19442         iconv_open.
19443         * lib/iconv.in.h (iconv_open, iconv): Use _GL_WARN_ON_USE.
19445 2018-08-05  Bruno Haible  <bruno@clisp.org>
19447         Fix link error regarding 'rpl_environ' (regression from 2012-11-21).
19448         * m4/extern-inline.m4: Add more comments.
19449         * lib/warn-on-use.h (_GL_WARN_ON_USE_ATTRIBUTE): New macro.
19450         * lib/unistd.in.h (rpl_environ): Use it instead of _GL_WARN_ON_USE.
19451         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL): Likewise.
19453 2018-08-04  Bruno Haible  <bruno@clisp.org>
19455         New module 'posixcheck'.
19456         * modules/posixcheck: New file.
19457         * m4/posixcheck.m4: New file.
19458         * doc/gnulib-tool.texi (Finding POSIX substitutes): New section.
19459         (Which modules?): Reference it.
19461 2018-08-01  Assaf Gordon  <assafgordon@gmail.com>
19463         dfa: fix memory leak
19464         * lib/dfa.c (dfafree): Add missing free() on dfa->superset.
19466 2018-08-01  Paul Eggert  <eggert@cs.ucla.edu>
19468         ieee754-h: new module
19469         It looks like Emacs can use this for some NaN processing.
19470         Emacs uses it only on double NaNs so it should be safe.
19471         * MODULES.html.sh (func_all_modules): Add ieee754-h.
19472         * config/srclist.txt: Mention ieee754.h in a comment.
19473         * doc/glibc-headers/ieee754.texi (ieee754.h):
19474         Gnulib now has a substitute that should work
19475         except for long double and for non-IEEE platforms.
19476         * lib/ieee754.in.h, m4/ieee754-h.m4, modules/ieee754-h:
19477         * modules/ieee754-h-tests, tests/test-ieee754-h.c: New files.
19479 2018-07-27  Bruno Haible  <bruno@clisp.org>
19481         iswcntrl: Mention minor problem on macOS.
19482         * doc/posix-functions/iswcntrl.texi: Mention oddity on macOS.
19484 2018-07-26  Colin Watson  <cjwatson@debian.org>
19486         bootstrap, gnulib-tool: fix translations rsync
19487         Previously, we created files such as $pobase/Makefile.in.in and then the
19488         subsequent rsync would immediately delete them.
19489         * build-aux/bootstrap (po_download_command_format): Avoid deleting
19490         non-.po files in target directory when rsyncing translations.
19491         * gnulib-tool (func_import): Likewise.
19492         * pygnulib/GLImport.py (GLImport.execute): Likewise.
19494 2018-07-25  Jim Meyering  <meyering@fb.com>
19496         bootstrap: reinstate definition fo gnulib_mk.
19497         That variable is used at least by cppi.
19498         * build-aux/bootstrap (gnulib_mk): Restore definition.
19499         This reverts the deletion from v0.1-1844-gc66dba9ba.
19501 2018-07-23  Bruno Haible  <bruno@clisp.org>
19503         doc: For module names, use texinfo markup @code{} or @samp{}.
19504         * doc/alloca.texi: Mark gnulib module names with @code.
19505         * doc/alloca-opt.texi: Likewise.
19506         * doc/quote.texi: Likewise.
19507         * doc/posix-functions/freopen.texi: Likewise.
19508         * doc/posix-functions/open.texi: Likewise.
19509         * doc/posix-functions/readlink.texi: Likewise.
19510         * doc/posix-functions/readlinkat.texi: Likewise.
19511         * doc/posix-functions/stdout.texi: Likewise.
19512         * doc/posix-functions/stderr.texi: Likewise.
19513         * doc/posix-functions/unlink.texi: Likewise.
19514         * doc/posix-functions/unlinkat.texi: Likewise.
19515         * doc/posix-functions/utime.texi: Likewise.
19516         * doc/posix-functions/utimensat.texi: Likewise.
19517         * doc/posix-functions/utimes.texi: Likewise.
19518         * doc/posix-headers/stdint.texi: Likewise.
19519         * doc/glibc-functions/futimesat.texi: Likewise.
19520         * doc/glibc-functions/lutimes.texi: Likewise.
19521         * doc/glibc-functions/memmem.texi: Likewise.
19523 2018-07-23  Werner LEMBERG  <wl@gnu.org>
19525         doc: Avoid some overfull lines in the TeX output.
19526         * doc/glibc-functions/futimesat.texi: Replace a long @code with a
19527         @example.
19528         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Insert a
19529         newline before the long URL.
19530         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Likewise.
19531         * doc/relocatable-maint.texi: Use @smallexample instead of @example.
19532         Add line breaks in code snippets.
19534 2018-07-17  Paul Eggert  <eggert@cs.ucla.edu>
19536         hard-locale: simplify by removing hard-locale.m4
19537         * m4/hard-locale.m4: Remove.
19538         * modules/hard-locale (Files): Remove m4/hard-locale.m4.
19539         (configure.ac): Do not call gl_HARD_LOCALE.
19541         gnulib-tool: limit line length for git send-email
19542         * gnulib-tool (func_import): Break actioncmd log line
19543         into multiple lines.
19545 2018-07-16  Bruno Haible  <bruno@clisp.org>
19547         ffs: Ensure declaration on mingw.
19548         Reported by Daniel P. Berrangé <berrange@redhat.com>
19549         in https://lists.gnu.org/archive/html/bug-gnulib/2018-07/msg00061.html.
19550         * m4/ffs.m4 (gl_FUNC_FFS): Check whether ffs() not only exists but is
19551         also declared.
19553 2018-07-13  Paul Eggert  <eggert@cs.ucla.edu>
19555         regex-tests: add dependency
19556         * modules/regex-tests (Depends-on): Add gettext-h.
19557         This is needed given the recent changes to regex,
19558         which no longer depends on gettext-h.
19560 2018-07-06  Paul Eggert  <eggert@cs.ucla.edu>
19562         regex: now in sync with glibc
19563         * config/srclist.txt: Gnulib and glibc regex code
19564         are synchronized again.
19566 2018-07-05  Paul Eggert  <eggert@cs.ucla.edu>
19568         renameatu: rename from renameat2
19569         It's looking like Glibc will add a renameat2 function
19570         that is incompatible with Gnulib renameat2; see:
19571         https://sourceware.org/ml/libc-alpha/2018-07/msg00064.html
19572         To help avoid future confusion, rename renameat2 to something else.
19573         Use the name 'renameatu', as the Gnulib function is close to the
19574         Glibc function.  Perhaps someday there will also be a renameat2
19575         Gnulib module, which mimicks the future glibc renameat2, but that
19576         can wait as nobody seems to need such a module now.
19577         * NEWS: Mention this.
19578         * lib/renameatu.c: Rename from lib/renameat2.c.
19579         * lib/renameatu.h: Rename from lib/renameat2.h.
19580         * modules/renameatu: Rename from modules/renameat2.
19581         * modules/renameatu-tests: Rename from modules/renameat2-tests.
19582         All uses of "renameat2" in identifiers or file name
19583         changed to "renameatu", except for two instances in
19584         lib/renameatu.c that deal with the Linux kernel's
19585         renameat2 syscall.
19587 2018-07-04  Paul Eggert  <eggert@cs.ucla.edu>
19589         gnulib-tool: minor tweaks for --gnu-make
19590         * gnulib-tool: Do not allow --gnu-make in test modes,
19591         since they all require automake.
19592         (func_emit_lib_Makefile_am): Don’t emit automake comment
19593         if --gnu-make.
19595         regex: work around conditional-dependencies glitch
19596         * modules/regex (Depends-on): Add langinfo.
19597         Without this change, I had problems building an experimental
19598         version of GNU Emacs.  The symptom of the bug was a message
19599         ‘./configure: line 12726: test: =: unary operator expected’.
19600         This was due to a line in gl_FUNC_NL_LANGINFO that invokes
19601         ‘test $HAVE_LANGINFO_CODESET = 1’ even though HAVE_LANGINFO_CODESET
19602         was unset.  Although gl_FUNC_NL_LANGINFO has
19603         ‘AC_REQUIRE([gl_LANGINFO_H])’ and gl_LANGINFO_H always sets
19604         HAVE_LANGINFO_CODESET to 0 or 1, gnulib-tool with
19605         --conditional-dependencies sometimes arranges for the
19606         gl_FUNC_NL_LANGINFO code to be executed before the gl_LANGINFO_H
19607         code.  Since the regex code includes <langinfo.h> it should be
19608         depending on the langinfo module anyway, and this happens to work
19609         around the bug, so install that as a workaround for now.  To
19610         reproduce the original problem, run the following shell script on
19611         the version of Gnulib just before this patch was installed.
19612                 rm -fr foo
19613                 mkdir foo
19614                 cat >foo/configure.ac <<'EOF'
19615                 AC_INIT(GNU Emacs, 27.0.50, bug-gnu-emacs@gnu.org, , https://www.gnu.org/software/emacs/)
19616                 gl_EARLY
19617                 gl_INIT
19618                 AC_OUTPUT
19619                 EOF
19620                 ./gnulib-tool --import --conditional-dependencies --gnu-make --dir foo regex
19621                 ./gnulib-tool --copy build-aux/install-sh foo/install-sh
19622                 ./gnulib-tool --copy build-aux/config.sub foo/config.sub
19623                 ./gnulib-tool --copy build-aux/config.guess foo/config.guess
19624                 cd foo
19625                 aclocal -I m4
19626                 autoconf
19627                 ./configure --with-included-regex
19629 2018-07-01  Paul Eggert  <eggert@cs.ucla.edu>
19631         wchar: fix bug when checking for ‘inline’
19632         I discovered this when looking into using the regex module
19633         with Emacs.
19634         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Fix bug introduced in
19635         2016-08-17T23:09:38Z!skunk@iSKUNK.ORG; the code compiled
19636         conftest1.c and conftest2.c but these files were not created.
19637         As far as I can see, this check never worked and nobody reported
19638         it until now, which is a bit worrisome.
19640 2018-06-30  Jim Meyering  <meyering@fb.com>
19642         bootstrap: s/--option val/--option=val/
19643         * build-aux/bootstrap (gnulib_tool_options): Change the
19644         spelling of "--option val" pairs to "--option=val", for
19645         aesthetics, and also so that this file no longer triggers
19646         a common help2man syntax-check warning when copied into
19647         projects like grep, gzip, etc.
19649 2018-07-01  Paul Eggert  <eggert@cs.ucla.edu>
19651         manywarnings: omit -Wswitch-default
19652         This should make things more consistent, as we already ignore
19653         -Wswitch-enum.  Problem reported by Reuben Thomas; see:
19654         https://lists.gnu.org/r/bug-gnulib/2018-05/msg00179.html
19655         * build-aux/g++-warning.spec, build-aux/gcc-warning.spec:
19656         Add -Wswitch-default.
19657         * m4/manywarnings-c++.m4 (gl_MANYWARN_ALL_GCC_CXX_IMPL):
19658         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
19659         Remove -Wswitch-default.
19661         regex: revert most trimming
19662         Problems reported by Bruno Haible in:
19663         https://lists.gnu.org/r/bug-gnulib/2018-07/msg00001.html
19664         * modules/regex (Depends-on): Add lock, memcmp, memmove,
19665         and wctype back in.  lock because regex users shouldn’t
19666         need to know that regex needs locking, and the rest because
19667         gnulib-tool should ordinarily ignore them anyway.
19669 2018-06-30  Paul Eggert  <eggert@cs.ucla.edu>
19671         regex: trim module dependencies
19672         * modules/regex (Depends-on): Remove gettext-h and lock,
19673         since the regex code should work OK without these modules,
19674         and Emacs uses it that way.  Also remove memcmp, memmove,
19675         and wctype, as these modules are obsolete and should not be
19676         needed any more.
19678 2018-06-29  Paul Eggert  <eggert@cs.ucla.edu>
19680         regex: glibc does not use intprops.h
19681         Maybe we can talk glibc into using intprops.h someday, but
19682         now doesn’t seem to be a good time.
19683         * lib/regcomp.c (TYPE_SIGNED): Remove; regex_internal.h now defines.
19684         * lib/regex_internal.h [_LIBC]: Do not include intprops.h.
19685         (TYPE_SIGNED, INT_ADD_WRAPV): New macros.
19687 2018-06-28  Paul Eggert  <eggert@cs.ucla.edu>
19689         regex: port to recently proposed glibc regex merge
19690         This patch is inspired by Adhemerval Zanella's recent proposal
19691         https://www.sourceware.org/ml/libc-alpha/2018-06/msg00905.html
19692         to merge glibc and Gnulib regex.  It aims to simplify the merge on
19693         the glibc side, without keeping Gnulib portable.
19694         * lib/regex.h: Fix a problem with glibc installed-header checking,
19695         as follows:
19696         (_Restrict_): Prefer __restrict if defined or if GCC 2.95 or later.
19697         (_Restrict_arr_): Prefer __restrict_arr if defined,
19698         otherwise prefer _Restrict_ if C99 or GCC 3.1 or later (but not C++).
19699         * lib/regex_internal.c (re_string_realloc_buffers, build_wcs_buffer)
19700         (build_wcs_upper_buffer, build_upper_buffer)
19701         (re_string_translate_buffer, re_string_context_at):
19702         Move decls here from lib/regex_internal.h, for glibc internal tests.
19703         (build_wcs_upper_buffer): Use __wcrtomb, not wcrtomb, fixing
19704         glibc BZ #18496.
19705         * lib/regex_internal.h (lock_fini) [_LIBC]: Cast to 0 to pacify
19706         -Wunused-value.
19707         (bitset_set, bitset_clear, bitset_contain, bitset_empty)
19708         (bitset_set_all, bitset_copy, bitset_not, bitset_merge)
19709         (bitset_mask): Now static inline, and without any __attribute__
19710         ((unused)) decoration, for glibc internal tests.
19712 2018-06-25  Bruno Haible  <bruno@clisp.org>
19714         threadlib: Fix LIBMULTITHREAD on platforms where --as-needed is enabled.
19715         Reported by Erik Auerswald <auerswal@unix-ag.uni-kl.de>
19716         in <https://lists.gnu.org/archive/html/coreutils/2018-06/msg00063.html>.
19717         * m4/threadlib.m4 (gl_THREADLIB_BODY): Check whether the linker supports
19718         --as-needed/--no-as-needed and --push-state/--pop-state. When defining
19719         USE_POSIX_THREADS_WEAK or USE_SOLARIS_THREADS_WEAK or
19720         USE_PTH_THREADS_WEAK, define LIBMULTITHREAD in such a way that -lpthread
19721         / -lthread / -lpth does not get optimized away by a preceding
19722         --as-needed option.
19724 2018-06-25  Bruno Haible  <bruno@clisp.org>
19726         Continue to use spaces for indentation, not tabs.
19727         * MODULES.html.sh: Untabify.
19728         * doc/regex.texi: Likewise.
19729         * lib/acl-internal.c: Likewise.
19730         * lib/dfa.c: Likewise.
19731         * lib/exclude.c: Likewise.
19732         * lib/exclude.h: Likewise.
19733         * lib/get-permissions.c: Likewise.
19734         * lib/gettimeofday.c: Likewise.
19735         * lib/parse-datetime.y: Likewise.
19736         * lib/pselect.c: Likewise.
19737         * lib/set-permissions.c: Likewise.
19738         * lib/time.in.h: Likewise.
19739         * m4/canonicalize.m4: Likewise.
19740         * m4/gc.m4: Likewise.
19741         * m4/gnulib-common.m4: Likewise.
19742         * m4/pthread_sigmask.m4: Likewise.
19743         * m4/vararrays.m4: Likewise.
19744         * tests/test-digest.h: Likewise.
19745         * tests/test-fcntl-h.c: Likewise.
19746         * tests/test-timespec.c: Likewise.
19747         * tests/uniwbrk/test-uc-wordbreaks.c: Likewise.
19749 2018-06-25  Bruno Haible  <bruno@clisp.org>
19751         manywarnings: Don't enable -Wjump-misses-init warnings by default.
19752         * build-aux/gcc-warning.spec: Add -Wjump-misses-init.
19753         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C)): Remove
19754         -Wjump-misses-init.
19756 2018-06-25  Jim Meyering  <meyering@fb.com>
19758         acl-internal.h: remove _GL_ATTRIBUTE_CONST on void function
19759         * lib/acl-internal.h (free_permission_context): Remove that
19760         attribute directive.  Otherwise, it would provoke this from GCC 9:
19761         lib/acl-internal.h:300:3: error: 'const' attribute on function \
19762           returning 'void' [-Werror=attributes]
19764 2018-06-24  Jim Meyering  <meyering@fb.com>
19766         parse-datetime: accommodate gcc-4.8.5
19767         Bruno Haible reported the build failure in
19768         https://lists.gnu.org/r/bug-gnulib/2018-06/msg00066.html
19769         * lib/parse-datetime.y (parse_datetime2): Remove leading "static"
19770         on declaration of new local.
19772 2018-06-24  Bruno Haible  <bruno@clisp.org>
19774         af_alg: Fail in continuable manner on Linux/powerpc64le.
19775         Reported by Assaf Gordon <assafgordon@gmail.com>
19776         in <https://lists.gnu.org/archive/html/coreutils/2018-06/msg00034.html>.
19777         * lib/af_alg.c (afalg_stream): On non-seekable streams, try a single-
19778         byte send() as the first round.
19780 2018-06-24  Bruno Haible  <bruno@clisp.org>
19782         af_alg: Fix state of stream after sendfile() succeeds.
19783         * lib/af_alg.c (afalg_stream): Invoke fflush and lseek, to ensure that
19784         the stream is correctly positioned afterwards.
19785         * modules/crypto/af_alg (Depends-on): Add fflush.
19786         * tests/test-digest.h (test_digest_on_files): Verify that after the
19787         operation the stream is positioned at end of file.
19789 2018-06-24  Jim Meyering  <meyering@fb.com>
19791         canon-host: take GCC9's advice rather than ignoring warning
19792         Pádraig Brady suggested not to ignore this GCC9 advice.
19793         * lib/canon-host.c: Undo preceding change.
19794         * lib/canon-host.h: Instead, declare with _GL_ATTRIBUTE_MALLOC.
19796         parse-datetime.y: avoid spurious GCC 9 warning
19797         * lib/parse-datetime.y (parse_datetime2): Save RELATIVE_TIME_0 into
19798         a function local prior to the first "goto fail".  The prior use would
19799         evoke this:
19800         parse-datetime.y: In function 'parse_datetime2':
19801         parse-datetime.y:1791:19: error: jump skips variable initialization \
19802           [-Werror=jump-misses-init]
19803         parse-datetime.y:2385:2: note: label 'fail' defined here
19804         parse-datetime.y:188:43: note: '({anonymous})' declared here
19805         parse-datetime.y:1841:12: note: in expansion of macro 'RELATIVE_TIME_0'
19807         canon-host.c: avoid spurious GCC 9 warning
19808         * lib/canon-host.c: Suppress GCC9's -Wsuggest-attribute=malloc.
19810         manywarnings: accommodate GCC 9.0-pre: remove -Wchkp and -Wabi
19811         * build-aux/gcc-warning.spec: Add them here, each with an explanation.
19812         * m4/manywarnings.m4: Remove them.
19813         Otherwise, building coreutils, I would see this:
19814         cc1: error: deprecated command line option '-Wchkp' [-Werror]
19815         cc1: error: -Wabi won't warn about anything [-Werror=abi]
19816         cc1: note: -Wabi warns about differences from the most up-to-date ABI,\
19817           which is also used by default
19818         cc1: note: use e.g. -Wabi=11 to warn about changes from GCC 7
19820 2018-06-24  Bruno Haible  <bruno@clisp.org>
19822         af_alg tests: Add another test.
19823         * tests/test-digest.h (test_digest_on_files): Also check a large file
19824         with a skipped header.
19825         * tests/test-md5.c: Include macros.h.
19826         * tests/test-sha1.c: Likewise.
19827         * tests/test-sha256.c: Likewise.
19828         * tests/test-sha512.c: Likewise.
19829         * modules/crypto/md5-tests (Files): Add tests/macros.h.
19830         * modules/crypto/sha1-tests (Files): Likewise.
19831         * modules/crypto/sha256-tests (Files): Likewise.
19832         * modules/crypto/sha512-tests (Files): Likewise.
19834 2018-06-24  Pádraig Brady  <P@draigBrady.com>
19836         maint: clarify comments about sticky EOF
19837         * lib/af_alg.c: Be more direct that we can't
19838         assume stickiness of EOF for portability reasons.
19839         * lib/md5.c: Clarify that this isn't just a glibc issue.
19840         * lib/sha1.c: Likewise.
19841         * lib/sha256.c: Likewise.
19842         * lib/sha512.c: Likewise.
19844 2018-06-24  Bruno Haible  <bruno@clisp.org>
19846         af_alg: Comment and style improvements.
19847         * lib/af_alg.c (alg_socket): Use 'size_t' as index into a string.
19848         (afalg_buffer, afalg_stream): Improve comments.
19850 2018-06-24  Pádraig Brady  <P@draigBrady.com>
19852         af_alg: disable kernel hash functions by default
19853         All the kernel routines were seen to be significantly slower
19854         with these relatively recent components on an i3-2310M system:
19855           kernel-4.10.6-200.fc25.x86_64
19856           openssl-1.0.2m-1.fc25.x86_64
19857         sha1 was nearly twice as slow in the kernel for example.
19858         Further considerations why this should not be the default, at:
19859         https://lists.gnu.org/r/coreutils/2018-06/msg00034.html
19861         * m4/af_alg.m4: Require --with-linux-crypto to enable.
19862         * m4/gl-openssl.m4: Tweak accordingly.
19864 2018-06-24  Pádraig Brady  <P@draigBrady.com>
19866         af_alg: avoid hangs when reading from streams
19867         * lib/af_alg.c (afalg_stream): Don't assume EOF is sticky,
19868         and thus avoid doing a fread() when feof() is set.
19869         * lib/md5.c: Ensure feof() is called before fread().
19870         * lib/sha1.c: Likewise.
19871         * lib/sha256.c: Likewise.
19872         * lib/sha512.c: Likewise.
19874 2018-06-24  Pádraig Brady  <P@draigBrady.com>
19876         af_alg: fix error handling when hash not returned
19877         * lib/af_alg.c (afalg_stream): Handle the case where we've
19878         successfully written data to the kernel in the read/write loop,
19879         but the kernel doesn't respond with the hash.
19881 2018-06-24  Paul Eggert  <eggert@cs.ucla.edu>
19883         libc-config: merge from glibc
19884         * lib/cdefs.h (__inline, __restrict):
19885         Copy from current glibc.  This fixes glibc bug 17721,
19886         which Gnulib had already fixed in a different way.
19887         (__nonnull): Lessen the distance from glibc by using the
19888         glibc definition inside an ‘#ifndef __nonnull’.
19889         (__attribute_nonstring__): New macro, copied from
19890         current glibc.
19891         * lib/libc-config.h (__attribute_nonstring__): New undef.
19892         (__restrict): Remove; workaround no longer needed.
19893         Keep the __inline workaround, though, as it uses HAVE___INLINE to
19894         support more compilers than the glibc __inline can.
19896 2018-06-24  Bruno Haible  <bruno@clisp.org>
19898         mbrtowc, wcwidth: Fix MT-safety bug (regression from 2018-06-23).
19899         * lib/mbrtowc.c (enc_t): New enum type.
19900         (locale_enc, locale_enc_cached): New functions.
19901         (mbrtowc): Eliminate static variables. Use locale_enc_cached instead.
19902         * lib/wcwidth.c (is_locale_utf8, is_locale_utf8_cached): New functions.
19903         (wcwidth): Eliminate static variables. Use is_locale_utf8_cached
19904         instead.
19905         * m4/mbrtowc.m4 (gl_PREREQ_MBRTOWC): Require AC_C_INLINE.
19906         * m4/wcwidth.m4 (gl_PREREQ_WCWIDTH): New macro.
19907         * modules/wcwidth (configure.ac): Invoke it.
19909 2018-06-24  Bruno Haible  <bruno@clisp.org>
19911         wchar-single: Fix test failure in wcwidth tests.
19912         * tests/test-wcwidth.c (main): If the wchar-single module is present,
19913         skip the tests in the C locale.
19915 2018-06-23  Pádraig Brady  <P@draigBrady.com>
19917         crypto: mention --without-linux-crypto in --with-openssl --help
19918         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK): Mention that linux crypto
19919         routines take precedence in --with-openssl help output.
19921 2018-06-23  Pádraig Brady  <P@draigBrady.com>
19923         wchar-single: a new module to enable optimizations in wchar replacements
19924         * lib/mbrtowc.c (mbrtowc): Only check locale_charset() once if
19925         GNULIB_WCHAR_SINGLE is enabled.
19926         * lib/wcwidth.c (wcwidth): Likewise.
19928 2018-06-23  Bruno Haible  <bruno@clisp.org>
19930         libc-config: Fix conflict with FreeBSD include files.
19931         * lib/cdefs.h (__nonnull): Remove definition.
19932         * lib/libc-config.h (__nonnull): Remove undefinition.
19934 2018-06-21  Paul Eggert  <eggert@cs.ucla.edu>
19936         random_r: do not crash if state is unaligned
19937         Problem reported by Bruce Korb in:
19938         https://lists.gnu.org/r/bug-gnulib/2018-06/msg00030.html
19939         I reproduced the crash on 32-bit sparc with Oracle Studio 12.6
19940         with 'cc -O2 -xmemalign=8s'.
19941         * lib/random_r.c: Include string.h, for memcpy.
19942         (get_int32, set_int32): New functions.
19943         (__srandom_r, __initstate_r, __setstate_r, __random_r):
19944         Use them to avoid assumption that state pointer is aligned.
19945         (__random_r): Avoid integer overflow if INT_MAX == UINT32_MAX.
19946         * tests/test-random_r.c (test_failed): New function.
19947         (main): Use it, to test for alignment bugs.
19949         random_r: omit unnecessary include
19950         * lib/random_r.c: Do not include limits.h.
19952         random, random_r: merge from glibc
19953         * lib/random.c, lib/random_r.c:
19954         Include libc-config.h if !_LIBC, not config.h unilaterally.
19955         * lib/random.c:
19956         Do not include stdint.h or time.h; not needed.
19957         Include libc-lock.h if _LIBC, and define substitute macros otherwise.
19958         (unsafe_state): Rename from generator.  All uses changed.
19959         Use C99-style initializers.
19960         (__random, __srandom, __initstate, __setstate): Rename from
19961         non-underscored version, but define it to non-underscored version
19962         on Gnulib.  Add a lock.
19963         * lib/random_r.c (__srandom_r, __initstate_r, __setstate_r, __random_r):
19964         Likewise.
19965         Do not include <stdint.h>; not needed since stdlib.h defines int32_t.
19966         (weak_alias, __set_errno) [!_LIBC]: Remove; now done by libc-config.
19967         (__srandom_r): Use int32_t instead of long int where int32_t will do.
19968         (__random_r): Use uint32 to fix glibc bug 17343.
19969         * modules/random, modules/random_r (Depends-on): Add libc-config.
19970         Depend on stdint only if $HAVE_RANDOM = 0.
19972 2018-06-19  Jim Meyering  <meyering@fb.com>
19974         README-release: also run any check-very-expensive tests
19975         * top/README-release: Adjust instructions so they run the
19976         check-very-expensive tests when there is such a target.
19978 2018-06-18  Bruno Haible  <bruno@clisp.org>
19980         pthread_rwlock_rdlock: Add comments regarding glibc behaviour.
19981         * m4/pthread_rwlock_rdlock.m4: Add comment.
19982         * doc/posix-functions/pthread_rwlock_rdlock.texi: Mention that rwlocks
19983         are reader-preferring in glibc.
19984         * doc/posix-functions/pthread_rwlock_tryrdlock.texi: Likwise.
19985         * doc/posix-functions/pthread_rwlock_timedrdlock.texi: Likewise.
19987 2018-06-17  Paul Eggert  <eggert@cs.ucla.edu>
19989         crypto: use byteswap
19990         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
19991         * lib/sm3.c: Include <byteswap.h>.
19992         (SWAP): Use its macros rather than reinventing the wheel.
19993         * modules/crypto/md4, modules/crypto/md5-buffer:
19994         * modules/crypto/sha1-buffer, modules/crypto/sha256-buffer:
19995         * modules/crypto/sha512-buffer, modules/crypto/sm3:
19996         (Depends-on): Add byteswap.
19998 2018-06-17  Pádraig Brady  <P@draigBrady.com>
20000         gendocs.sh: fix support for legacy --texi2html
20001         * build-aux/gendocs.sh: Restrict use of TOP_NODE_UP_URL
20002         to the default makeinfo invocation.
20003         Reported by Bruce Korb
20005 2018-06-17  Bruno Haible  <bruno@clisp.org>
20007         gettext po infrastructure: Update from current gettext git.
20008         Reported by Akim Demaille <akim@lrde.epita.fr>.
20009         * build-aux/po/Makefile.in.in: Update from current gettext git.
20010         * build-aux/po/remove-potcdate.sin: Likewise.
20011         * config/srclist.txt: Temporarily disable sync for these files.
20013 2018-06-17  Bruno Haible  <bruno@clisp.org>
20015         getloadavg: Return 0 on Windows without Cygwin.
20016         * lib/getloadavg.c: Don't assume that the symbol WINDOWS32 is defined.
20018 2018-06-17  Paul Smith  <psmith@gnu.org>
20020         getloadavg: Allow building on Windows without Cygwin
20021         * lib/getloadavg.c: Reinstate ifdef for HAVE_UNISTD_H.
20022         * m4/getloadavg.m4: Check for unistd.h.
20024 2018-06-03  Paul Eggert  <eggert@cs.ucla.edu>
20026         Port crypto/af_alg to GCC 4.8.4
20027         Problem reported by Peter Simons in:
20028         https://lists.gnu.org/r/bug-gnulib/2018-06/msg00002.html
20029         * modules/crypto/af_alg (Depends-on): Add c99 if USE_AF_ALG.
20031 2018-05-27  Colin Watson  <cjwatson@debian.org>
20033         bootstrap: document source fetching in --help
20034         * build-aux/bootstrap (usage): Document how Gnulib sources are fetched.
20036 2018-04-09  Colin Watson  <cjwatson@debian.org>
20038         bootstrap: allow non-submodule control of gnulib
20039         * build-aux/bootstrap: Honour GNULIB_URL and GNULIB_REVISION in
20040         bootstrap.conf when fetching gnulib using "git clone" or via
20041         GNULIB_SRCDIR.
20043 2018-05-21  Paul Eggert  <eggert@cs.ucla.edu>
20045         crypto: omit stream ops Emacs doesn’t need
20046         * lib/md5.c (md5_stream):
20047         * lib/sha1.c (sha1_stream):
20048         * lib/sha256.c (shaxxx_stream, sha256_stream, sha224_stream):
20049         * lib/sha512.c (shaxxx_stream, sha512_stream, sha384_stream):
20050         Compile stream functions only if GL_COMPILE_CRYPTO_STREAM is
20051         defined.  Emacs needs this, as it does not use the stream
20052         operations and doesn’t need all the af_alg stuff we’ve recently
20053         added.  Perhaps a similar change is needed to the other crypto
20054         modules, but this patch changes only those needed for Emacs.
20055         * modules/crypto/md5-buffer, modules/crypto/sha1-buffer:
20056         * modules/crypto/sha256-buffer, modules/crypto/sha512-buffer:
20057         New modules, used by Emacs.
20058         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
20059         * modules/crypto/sha512: Rewrite to depend on the new modules.
20061 2018-05-20  Pádraig Brady  <P@draigBrady.com>
20063         fts: avoid a memory leak edge case
20064         * lib/fts.c (fts_open): Set an appropriate fts_level
20065         so that an immediate fts_close() will free the allocation.
20066         * tests/test-fts.c (fts_dealloc): Add a test case which
20067         will trigger under valgrind or address sanitizer.
20068         Fixes https://bugs.gnu.org/31439
20070 2018-05-20  Bruno Haible  <bruno@clisp.org>
20072         wcwidth tests: Fix link error.
20073         * modules/wcwidth-tests (Makefile.am): Link test-wcwidth against
20074         $(LIBUNISTRING).
20076 2018-05-20  Bruno Haible  <bruno@clisp.org>
20078         regex: Fix "error: possibly undefined macro: gl_GLIBC21".
20079         * modules/regex (Files): Add m4/glibc21.m4.
20081 2018-05-20  Bruno Haible  <bruno@clisp.org>
20083         localcharset: Optimize.
20084         * lib/localcharset.c (alias_table): Comment out no-op mappings for
20085         platforms where these don't matter. This reduces the table size,
20086         which in turn reduces the lookup time.
20088 2018-05-19  Bruno Haible  <bruno@clisp.org>
20090         localcharset: Map the locale encodings found in newer OSes.
20091         * lib/localcharset.c (alias_table): Add mapping for locale encodings
20092         found in FreeBSD 11, NetBSD 7, Solaris 10, Openindiana, HP-UX 11.31,
20093         IRIX 6.5, Minix 3.3.
20094         * lib/localcharset.h: Update comments accordingly. Also for Cygwin 2.9.
20096 2018-05-19  Bruno Haible  <bruno@clisp.org>
20098         localcharset: Move mapping tables into the code. Use a binary search.
20099         * lib/localcharset.h: Document the GNU canonical names for character
20100         encodings here.
20101         * lib/localcharset.c: Don't include <fcntl.h>, <unistd.h>,
20102         relocatable.h, configmake.h.
20103         (O_NOFOLLOW, ISSLASH, DIRECTORY_SEPARATOR, getc, volatile): Remove
20104         macros.
20105         (charset_aliases): Remove variable.
20106         (get_charset_aliases): Remove function.
20107         (struct table_entry): New type.
20108         (alias_table, locale_table): New constants.
20109         (locale_charset): Use the alias_table or locale_table to get the
20110         canonicalized encoding name.
20111         * lib/config.charset: Remove file.
20112         * lib/ref-add.sin: Remove file.
20113         * lib/ref-del.sin: Remove file.
20114         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't require gl_FCNTL_O_FLAGS,
20115         AC_CANONICAL_HOST, gl_GLIBC21. Don't check for getc_unlocked.
20116         * modules/localcharset (Notice): Remove.
20117         (Files): Remove config.charset, ref-add.sin, ref-del.sin, fcntl-o.m4,
20118         glibc21.m4.
20119         (Depends-on): Remove configmake.
20120         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT to empty.
20121         (Makefile.am): Simplify.
20122         * build-aux/prefix-gnulib-mk: Remove special code for the removed files.
20124 2018-05-19  Bruno Haible  <bruno@clisp.org>
20126         localcharset: Add a manual test.
20127         * tests/test-localcharset.c: New file.
20128         * modules/localcharset-tests: New file.
20130 2018-05-19  Bruno Haible  <bruno@clisp.org>
20132         localcharset: Remove support for obsolete platforms.
20133         * lib/config.charset: Remove support for Linux/libc5, glibc-2.0.x, and
20134         Mac OS X 10.2. Comment out dubious entry for Solaris.
20136 2018-05-19  Jim Meyering  <meyering@fb.com>
20138         gnupload: adjust comment
20139         * build-aux/gnupload: Add FIXME-2020 comment, to make it slightly
20140         more likely we'll remove the just-added code in a year or two.
20142 2018-05-19  Bruno Haible  <bruno@clisp.org>
20144         gnupload: Fix "gpg-agent is not available in this session" error.
20145         * build-aux/gnupload (GPG): Pick the right GNUPG executable to use.
20147 2018-05-16  Paul Eggert  <eggert@cs.ucla.edu>
20149         crypto/af_alg: fix --help
20150         * m4/af_alg.m4: Avoid spurious newline in --help output.
20152 2018-05-13  Bruno Haible  <bruno@clisp.org>
20154         nl_langinfo: Fix compilation error on Android.
20155         * lib/nl_langinfo.c (nl_langinfo): Define values for the items GROUPING,
20156         INT_CURR_SYMBOL, etc. only if these items are defined.
20158 2018-05-13  Bruno Haible  <bruno@clisp.org>
20160         truncate: Fix compilation error on Android.
20161         * m4/truncate.m4 (gl_FUNC_TRUNCATE): Test also whether 'truncate' is
20162         declared. Set HAVE_DECL_TRUNCATE, not HAVE_TRUNCATE.
20163         * lib/unistd.in.h (truncate): Test HAVE_DECL_TRUNCATE, not
20164         HAVE_TRUNCATE.
20165         * modules/truncate: Likewise.
20166         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_TRUNCATE,
20167         not HAVE_TRUNCATE.
20168         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TRUNCATE, not
20169         HAVE_TRUNCATE.
20170         * doc/posix-functions/truncate.texi: Mention the issue.
20172 2018-05-13  Bruno Haible  <bruno@clisp.org>
20174         pthread: Fix compilation error on Android.
20175         * lib/pthread.in.h: Use _GL_ALREADY_INCLUDING_PTHREAD_H to shortcut
20176         recursive inclusion of this file.
20178 2018-05-13  Bruno Haible  <bruno@clisp.org>
20180         posix_spawn: Fix compilation error on Android.
20181         * lib/spawn.in.h (posix_spawnattr_t): Consider also the case
20182         HAVE_POSIX_SPAWNATTR_T = 1 && HAVE_POSIX_SPAWN = 0.
20183         (posix_spawn_file_actions_t): Consider also the case
20184         HAVE_POSIX_SPAWN_FILE_ACTIONS_T = 1 && HAVE_POSIX_SPAWN = 0.
20186 2018-05-13  Bruno Haible  <bruno@clisp.org>
20188         tsearch: Move from K&R C to ANSI C.
20189         * lib/tsearch.c (tfind): Convert definition to ANSI C.
20191 2018-05-13  Bruno Haible  <bruno@clisp.org>
20193         tsearch: Fix compilation error on Android.
20194         * lib/search.in.h (twalk): Declare when HAVE_TWALK, not HAVE_TSEARCH,
20195         is 0.
20196         (GNULIB_defined_tsearch, GNULIB_defined_twalk): New macros.
20197         * lib/tsearch.c (tsearch, tfind, tdelete): Define only if
20198         GNULIB_defined_tsearch is true.
20199         (twalk): Define only if GNULIB_defined_twalk is true.
20200         * modules/tsearch (configure.ac): Compile tsearch.c also if HAVE_TWALK
20201         is 0.
20202         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Set HAVE_TWALK.
20203         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize HAVE_TWALK.
20204         * modules/search (Makefile.am): Substitute HAVE_TWALK.
20206 2018-05-13  Bruno Haible  <bruno@clisp.org>
20208         imaxdiv: Fix compilation error on Android.
20209         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Set HAVE_IMAXDIV_T to 0 if imaxdiv_t
20210         is not defined.
20211         * lib/inttypes.in.h (imaxdiv_t): Define if HAVE_IMAXDIV_T, not
20212         HAVE_DECL_IMAXDIV, is 0.
20213         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize HAVE_IMAXDIV_T.
20214         * modules/inttypes-incomplete (Makefile.am): Substitute HAVE_IMAXDIV_T.
20216 2018-05-13  Bruno Haible  <bruno@clisp.org>
20218         Support selective inclusion mechanism of recent mingw.org header files.
20219         Reported by Eli Zaretskii <eliz@gnu.org>.
20220         * lib/sys_types.in.h: On mingw, when __need_off_t, __need___off64_t,
20221         __need_ssize_t, or __need_time_t is defined, just include the system's
20222         <sys/types.h>.
20223         * lib/locale.in.h: On mingw, when __need_locale_t is defined, just
20224         include the system's <locale.h>.
20226 2018-05-13  Bruno Haible  <bruno@clisp.org>
20228         Avoid compilation error due to 'mmap' on Android.
20229         * lib/vma-iter.c (_FILE_OFFSET_BITS): Undefine on Android.
20230         * lib/get-rusage-as.c (_FILE_OFFSET_BITS): Likewise.
20231         * tests/zerosize-ptr.h (_FILE_OFFSET_BITS, __USE_FILE_OFFSET64):
20232         Undefine on Android.
20234 2018-05-13  Bruno Haible  <bruno@clisp.org>
20236         Add cross-compilation guesses for Linux systems without glibc.
20237         * m4/chown.m4 (AC_FUNC_CHOWN): Add cross-compilation guess for Linux.
20238         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
20239         * m4/link.m4 (gl_FUNC_LINK): Likewise.
20240         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
20241         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Likewise.
20242         * m4/mkdir.m4 (gl_FUNC_MKDIR): Likewise.
20243         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
20244         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
20245         * m4/pselect.m4 (gl_FUNC_PSELECT): Likewise.
20246         * m4/readlink.m4 (gl_FUNC_READLINK): Likewise.
20247         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
20248         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
20249         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
20250         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
20251         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
20252         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
20253         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
20254         * m4/utimens.m4 (gl_UTIMENS): Likewise.
20256 2018-05-13  Bruno Haible  <bruno@clisp.org>
20258         getpagesize: Fix compilation error on Android.
20259         * m4/getpagesize.m4 (gl_CHECK_FUNC_GETPAGESIZE): New macro.
20260         (gl_FUNC_GETPAGESIZE): Invoke it instead of AC_CHECK_FUNC.
20261         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Don't invoke
20262         AC_CHECK_FUNC. Instead, invoke gl_CHECK_FUNC_GETPAGESIZE and define
20263         HAVE_GETPAGESIZE accordingly.
20264         * modules/getcwd (Files): Add m4/getpagesize.m4.
20266 2018-05-13  Bruno Haible  <bruno@clisp.org>
20268         tcgetsid: Fix compilation error on Android.
20269         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use AC_LINK_IFELSE instead of
20270         AC_CHECK_FUNC.
20272 2018-05-13  Bruno Haible  <bruno@clisp.org>
20274         getpass: Fix configure test for Android.
20275         * m4/getpass.m4 (gl_PREREQ_GETPASS): Use AC_LINK_IFELSE instead of
20276         AC_CHECK_FUNC.
20278 2018-05-13  Bruno Haible  <bruno@clisp.org>
20280         ffs: Fix compilation error on Android.
20281         * m4/ffs.m4 (gl_FUNC_FFS): Use AC_LINK_IFELSE instead of AC_CHECK_FUNC.
20283 2018-05-13  Bruno Haible  <bruno@clisp.org>
20285         mkfifo: Fix compilation error on Android.
20286         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Use AC_LINK_IFELSE instead of
20287         AC_CHECK_FUNC.
20289 2018-05-13  Bruno Haible  <bruno@clisp.org>
20291         c-strtod: Fix configure test for Android.
20292         * m4/c-strtod.m4 (gl_C_STRTOD): Use AC_LINK_IFELSE instead of
20293         AC_CHECK_FUNC.
20295 2018-05-13  Bruno Haible  <bruno@clisp.org>
20297         random: Fix compilation error on Android.
20298         * m4/random.m4 (gl_FUNC_RANDOM): Use AC_LINK_IFELSE instead of
20299         AC_CHECK_FUNC.
20301 2018-05-13  Bruno Haible  <bruno@clisp.org>
20303         grantpt: Fix compilation error on Android.
20304         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Use AC_LINK_IFELSE instead of
20305         AC_CHECK_FUNC.
20307 2018-05-13  Bruno Haible  <bruno@clisp.org>
20309         stdioext: Fix compilation errors with newer Android headers.
20310         * lib/stdio-impl.h (fp_, fp_ub): Define differently for Android.
20311         (__SLBF, __SNBF, __SRD, __SWR, __SRW, __SEOF, __SERR, __SOFF): Define
20312         fallbacks for Android.
20313         * lib/fpending.c: Update comments.
20314         * lib/fpurge.c: Likewise.
20315         * lib/freadable.h: Likewise.
20316         * lib/freadable.c: Likewise.
20317         * lib/freadahead.c: Likewise.
20318         * lib/freading.h: Likewise.
20319         * lib/freadptr.c: Likewise.
20320         * lib/fseterr.c: Likewise.
20321         * lib/fwritable.h: Likewise.
20322         * lib/fwritable.c: Likewise.
20323         * lib/fwriting.h: Likewise.
20324         * lib/fwriting.c: Likewise.
20326 2018-05-13  Bruno Haible  <bruno@clisp.org>
20328         doc: Add info about Android versions 2.0 to 8.1.
20329         * doc/**/*.texi: Add info about functions in all released versions of
20330         Bionic.
20332 2018-05-12  Bruno Haible  <bruno@clisp.org>
20334         fseeko: On mingw, don't use the hidden function _fseeki64.
20335         Reported by Eli Zaretskii <eliz@gnu.org>.
20336         * m4/fseeko.m4 (gl_PREREQ_FSEEKO): Test whether _fseeki64 is declared.
20337         * lib/fseeko.c (fseeko): Use _fseeki64 only if it is declared.
20339 2018-05-12  Bruno Haible  <bruno@clisp.org>
20341         glob: Choose 'dirent_type' in a way that works better on mingw.
20342         Reported and suggested by Eli Zaretskii <eliz@gnu.org>.
20343         * lib/glob.c (dirent_type): Define as uint_fast32_t.
20345 2018-05-12  Bruno Haible  <bruno@clisp.org>
20347         execute, spawn-pipe: Avoid warning about redefining 'close'.
20348         Reported by Eli Zaretskii <eliz@gnu.org>.
20349         * lib/execute.c: Undefine 'close' before redefining it.
20350         * lib/spawn-pipe.c: Likewise.
20352 2018-05-12  Bruno Haible  <bruno@clisp.org>
20354         nanosleep: Avoid test failure on mingw when it has nanosleep.
20355         Reported by Eli Zaretskii <eliz@gnu.org>.
20356         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check whether alarm() exists.
20357         If it does not exist, use a simpler test program that does not call
20358         alarm().
20360 2018-05-10  Bruno Haible  <bruno@clisp.org>
20362         lock, cond, thread, tls: Use a different symbol as libpthread witness.
20363         Reported by Devin Hussey <husseydevin@gmail.com>.
20364         Based on a patch by Paul Eggert.
20365         * lib/glthread/lock.h (pthread_in_use): Use 'pthread_mutexattr_gettype'
20366         as witness of libpthread.
20367         * lib/glthread/cond.h (pthread_in_use): Likewise.
20368         * lib/glthread/thread.h (pthread_in_use): Likewise.
20369         * lib/glthread/tls.h (pthread_in_use): Likewise.
20371 2018-05-10  Bruno Haible  <bruno@clisp.org>
20373         cond tests: Fix compilation error on Solaris.
20374         * tests/test-cond.c: Include <unistd.h> before defining 'yield' as a
20375         macro.
20377 2018-05-10  Bruno Haible  <bruno@clisp.org>
20379         doc: Add partial info about Android 4.3.
20380         * doc/*-functions/*.texi: Add info about functions that were added
20381         to Bionic between Android 4.3 and Android 9.0.
20383 2018-05-10  Bruno Haible  <bruno@clisp.org>
20385         doc: Add info about Android 9.0.
20386         * doc/**/*.texi: Add info about functions and headers in Bionic from
20387         Android 9.0.
20389 2018-05-09  Paul Eggert  <eggert@cs.ucla.edu>
20391         af_alg: fix my typo in afalg_buffer
20392         * lib/af_alg.c (afalg_buffer): Fix typo I recently introduced.
20393         (afalg_stream): Simplify and avoid the need for a runtime test
20394         at the end.
20396         af_alg: recover better from crypto failures
20397         * lib/af_alg.c (afalg_stream): Recover from crypto failures if the
20398         input stream is seekable, by repositioning the stream back to
20399         where it was, possibly by just calling sendfile with an offset
20400         arg.  This lets us return -EAFNOSUPPORT instead of -EIO in some
20401         cases, which lets our callers try again with user-mode code.
20402         * modules/crypto/af_alg (Depends-on): Depend on fseeko and ftello
20403         instead of on fflush and lseek.
20405         af_alg: distiguish I/O errors better
20406         * lib/af_alg.c (afalg_buffer, afalg_stream): Return -EAFNOSUPPORT,
20407         not -EIO, if it’s OK for the caller to try again with user-mode code.
20408         (afalg_stream) [!_WIN32 || __CYGWIN__]: Return -EIO (not possibly
20409         some other error number) if fflush fails, as the caller should not
20410         try again that case.
20412         af_alg: avoid gotos
20413         * lib/af_alg.c (afalg_buffer, afalg_stream): Rewrite to avoid
20414         gotos, as they were a source of unreliability and made the code a
20415         bit harder to follow.
20417         af_alg: don’t leak file descriptors into children
20418         * lib/af_alg.c (alg_socket): Use SOCK_CLOEXEC when creating sockets.
20419         This code should be compiled only on recent GNU/Linux platforms
20420         so we shouldn’t have to also depend on the accept4 module.
20422         af_alg: coalesce socket creation
20423         * lib/af_alg.c (alg_socket): New function.
20424         (afalg_buffer, afalg_stream): Use it.  This avoids some
20425         code duplication and gotos.
20427         af_alg: fix file descriptor leak
20428         * lib/af_alg.c (afalg_stream): Close leak.
20430         af_alg: Pacify --enable-gcc-warnings on GCC 8
20431         * lib/af_alg.c (afalg_buffer, afalg_stream): Reorder local decls
20432         and checking to pacify gcc -Wjump-misses-init on GCC 8.
20434 2018-05-07  Paul Eggert  <eggert@cs.ucla.edu>
20436         af_alg: Pacify --enable-gcc-warnings
20437         Problem reported by Assaf Gordon in:
20438         https://lists.gnu.org/r/bug-gnulib/2018-05/msg00041.html
20439         * lib/af_alg.c (afalg_buffer): Move local decls to pacify
20440         gcc -Wjump-misses-init.
20441         * lib/sha512.c (shaxxx_stream): Now static.
20443 2018-05-06  Bruno Haible  <bruno@clisp.org>
20445         af_alg: Add ability to use Linux kernel crypto API on data in memory.
20446         * lib/af_alg.h (afalg_buffer): New declaration.
20447         * lib/af_alg.c (afalg_buffer): New function.
20449 2018-05-06  Bruno Haible  <bruno@clisp.org>
20451         af_alg: Avoid warnings.
20452         * lib/af_alg.h (afalg_stream): Mark fallback declaration as inline.
20453         * m4/af_alg.m4 (gl_AF_ALG): Require AC_C_INLINE.
20455 2018-05-06  Bruno Haible  <bruno@clisp.org>
20457         crypto/{md5,sha1,sha256,sha512} tests: Add benchmarks.
20458         * tests/bench-digest.h: New file.
20459         * tests/bench-md5.c: New file.
20460         * tests/bench-sha1.c: New file.
20461         * tests/bench-sha224.c: New file.
20462         * tests/bench-sha256.c: New file.
20463         * tests/bench-sha384.c: New file.
20464         * tests/bench-sha512.c: New file.
20465         * modules/crypto/md5-tests (Files): Add tests/bench-md5.c,
20466         tests/bench-digest.h.
20467         (Depends-on): Add getrusage, gettimeofday.
20468         (Makefile.am): Add variables to build bench-md5.
20469         * modules/crypto/sha1-tests (Files): Add tests/bench-sha1.c,
20470         tests/bench-digest.h.
20471         (Depends-on): Add getrusage, gettimeofday.
20472         (Makefile.am): Add variables to build bench-sha1.
20473         * modules/crypto/sha256-tests (Files): Add tests/bench-sha224.c,
20474         tests/bench-sha256.c, tests/bench-digest.h.
20475         (Depends-on): Add getrusage, gettimeofday.
20476         (Makefile.am): Add variables to build bench-sha224, bench-sha256.
20477         * modules/crypto/sha512-tests (Files): Add tests/bench-sha384.c,
20478         tests/bench-sha512.c, tests/bench-digest.h.
20479         (Depends-on): Add getrusage, gettimeofday.
20480         (Makefile.am): Add variables to build bench-sha384, bench-sha512.
20482 2018-05-06  Bruno Haible  <bruno@clisp.org>
20484         af_alg: Fix a resource leak.
20485         * lib/af_alg.c (afalg_stream): Close socket before returning -EINVAL.
20486         New local variable 'result'.
20488 2018-05-06  Bruno Haible  <bruno@clisp.org>
20490         af_alg: Fix bug with streams that are not at position 0.
20491         * lib/af_alg.c (afalg_stream): Before sendfile, invoke fflush. Don't
20492         assume that the stream is positioned at position 0.
20493         * lib/af_alg.h (afalg_stream): Mention restriction regarding the state
20494         of the stream.
20495         * lib/md5.h (md5_stream): Likewise.
20496         * lib/sha1.h (sha1_stream): Likewise.
20497         * lib/sha256.h (sha256_stream, sha224_stream): Likewise.
20498         * lib/sha512.h (sha512_stream, sha384_stream): Likewise.
20499         * modules/crypto/af_alg (Depends-on): Add fflush, lseek.
20501         crypto/{md5,sha1,sha256,sha512} tests: Enhance test.
20502         * tests/test-digest.h (test_digest_on_files): Add a test with a FILE
20503         stream that is not positioned at the beginning.
20505 2018-05-06  Bruno Haible  <bruno@clisp.org>
20507         af_alg: Add configure option to enable/disable use of Linux crypto API.
20508         Suggested by Assaf Gordon <assafgordon@gmail.com>.
20509         * m4/af_alg.m4 (gl_AF_ALG): Add AC_ARG_WITH invocation. Define C macro
20510         USE_LINUX_CRYPTO_API.
20511         * lib/af_alg.h: Test USE_LINUX_CRYPTO_API, not HAVE_LINUX_IF_ALG_H.
20512         * lib/af_alg.c: Likewise.
20514 2018-05-06  Bruno Haible  <bruno@clisp.org>
20516         Followup to 'af_alg: New module.'.
20517         * modules/crypto/md5 (Depends-on): Remove sys_socket, sys_stat.
20518         * modules/crypto/sha1 (Depends-on): Likewise.
20519         * modules/crypto/sha256 (Depends-on): Likewise.
20520         * modules/crypto/sha512 (Depends-on): Likewise.
20522 2018-05-05  Paul Eggert  <eggert@cs.ucla.edu>
20524         crypto/{md5,sha1,sha256,sha512}: simplify
20525         * lib/md5.c (md5_stream):
20526         * lib/sha1.c (sha1_stream):
20527         * lib/sha256.c (shaxxx_stream):
20528         Simplify, partly by assuming C99.
20529         * lib/sha256.c (shaxxx_stream):
20530         New function, which implements both sha256 and sha224.
20531         Simplify, partly by assuming C99.
20532         (sha256_stream, sha224_stream):
20533         Use it to avoid code duplication, removing a FIXME.
20534         * lib/sha512.c (shaxxx_stream, sha512_stream, sha384_stream):
20535         Likewise.
20537         af_alg: Improve comments.
20538         * lib/af_alg.h: Use imperatives and tighten up wording.
20540 2018-05-05  Bruno Haible  <bruno@clisp.org>
20542         af_alg: Improve comments.
20543         * lib/af_alg.c (afalg_stream): Improve comment about kernel bug.
20545 2018-05-05  Bruno Haible  <bruno@clisp.org>
20547         af_alg: New module.
20548         * lib/af_alg.h: Test HAVE_* macro through '#if', not '#ifdef'.
20549         * lib/af_alg.c: Include "af_alg.h" before the other header files.
20550         * lib/md5.c: Include "af_alg.h" unconditionally.
20551         (md5_stream): Invoke afalg_stream unconditionally.
20552         * lib/sha1.c: Include "af_alg.h" unconditionally.
20553         (sha1_stream): Invoke afalg_stream unconditionally.
20554         * lib/sha256.c: Include "af_alg.h" unconditionally.
20555         (sha256_stream, sha224_stream): Invoke afalg_stream unconditionally.
20556         * lib/sha512.c: Include "af_alg.h" unconditionally.
20557         (sha512_stream, sha384_stream): Invoke afalg_stream unconditionally.
20558         * m4/af_alg.m4: Renamed from m4/linux-if-alg.m4.
20559         (gl_AF_ALG): Renamed from gl_LINUX_IF_ALG_H.
20560         * modules/crypto/af_alg: New file.
20561         * modules/crypto/md5 (Files): Remove files that are now in the
20562         'crypto/af_alg' module.
20563         (Depends-on): Add crypto/af_alg.
20564         (configure.ac): Remove gl_LINUX_IF_ALG_H invocation.
20565         (Makefile.am): Don't mention af_alg.c here.
20566         * modules/crypto/sha1 (Files): Remove files that are now in the
20567         'crypto/af_alg' module.
20568         (Depends-on): Add crypto/af_alg.
20569         (configure.ac): Remove gl_LINUX_IF_ALG_H invocation.
20570         (Makefile.am): Don't mention af_alg.c here.
20571         * modules/crypto/sha256 (Files): Remove files that are now in the
20572         'crypto/af_alg' module.
20573         (Depends-on): Add crypto/af_alg.
20574         (configure.ac): Remove gl_LINUX_IF_ALG_H invocation.
20575         (Makefile.am): Don't mention af_alg.c here.
20576         * modules/crypto/sha512 (Files): Remove files that are now in the
20577         'crypto/af_alg' module.
20578         (Depends-on): Add crypto/af_alg.
20579         (configure.ac): Remove gl_LINUX_IF_ALG_H invocation.
20580         (Makefile.am): Don't mention af_alg.c here.
20582 2018-05-05  Paul Eggert  <eggert@cs.ucla.edu>
20584         crypto tests: pacify GCC
20585         * tests/test-digest.h (test_digest_on_files):
20586         Don’t assume digest size fits in int (!).
20588         af_alg: minor style improvements
20589         * lib/af_alg.c (afalg_stream): Prefer C99 style
20590         decl-after-statement, since we’re already assuming C99.  Clarify
20591         by strengthening the bind test and omit unnecessary assignment.
20593 2018-05-05  Bruno Haible  <bruno@clisp.org>
20595         af_alg: Fix bug on empty files.
20596         * lib/af_alg.c (afalg_stream): Ignore the kernel's result if the input
20597         stream is empty.
20599 2018-05-05  Paul Eggert  <eggert@cs.ucla.edu>
20601         sys-limits.h: new file for crypto and safe I/O
20602         * lib/af_alg.c: Include sys-limits.h.
20603         (MAX_RW_COUNT): Remove.  Use replaced by SYS_BUFSIZE_MAX.
20604         (afalg_stream): Also reject negative sizes for sendfile; they
20605         should not happen and the code is a bit cleaner and faster this way.
20606         * lib/safe-read.c: Include sys-limits.h.
20607         (BUGGY_READ_MAXIMUM): Remove.  All uses replaced by SYS_BUFSIZE_MAX.
20608         * lib/sys-limits.h: New file, with values and commentary derived
20609         from the old safe-read.c and from GNU Emacs sysdep.c.
20610         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
20611         * modules/crypto/sha512, modules/safe-read, modules/safe-write:
20612         Add lib/sys-limits.h to Files section.
20614 2018-05-05  Bruno Haible  <bruno@clisp.org>
20616         af_alg: Improve function signature.
20617         * lib/af_alg.h (afalg_stream): Swap second and third argument.
20618         * lib/af_alg.c (afalg_stream): Likewise.
20619         * lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c: Callers changed.
20621 2018-05-05  Bruno Haible  <bruno@clisp.org>
20623         crypto/{md5,sha1,sha256,sha512}: Fix compilation error (S_TYPEISTMO).
20624         * modules/crypto/md5 (Depends-on): Add 'sys_stat'.
20625         * modules/crypto/sha1 (Depends-on): Likewise.
20626         * modules/crypto/sha256 (Depends-on): Likewise.
20627         * modules/crypto/sha512 (Depends-on): Likewise.
20629 2018-05-05  Bruno Haible  <bruno@clisp.org>
20631         crypto/{md5,sha1,sha256,sha512}: Fix module description.
20632         * modules/crypto/md5 (Depends-on): Add 'sys_socket'.
20633         * modules/crypto/sha1 (Depends-on): Likewise.
20634         * modules/crypto/sha256 (Depends-on): Likewise.
20635         * modules/crypto/sha512 (Depends-on): Likewise.
20637 2018-05-05  Bruno Haible  <bruno@clisp.org>
20639         af_alg: Add documentation.
20640         * lib/af_alg.h: Add comments.
20642 2018-05-05  Bruno Haible  <bruno@clisp.org>
20644         sha512: Add tests.
20645         * tests/test-sha512.c: New file.
20646         * modules/crypto/sha512-tests: New file.
20648 2018-05-05  Bruno Haible  <bruno@clisp.org>
20650         sha256: Add tests.
20651         * tests/test-sha256.c: New file.
20652         * modules/crypto/sha256-tests: New file.
20654 2018-05-05  Bruno Haible  <bruno@clisp.org>
20656         sha1 tests: Add test for sha1_stream.
20657         * tests/test-sha1.c: Include test-digest.h.
20658         (main): Invoke test_digest_on_files on 'sha1_stream'.
20659         * modules/crypto/sha1-tests (Files): Add tests/test-digest.h.
20661 2018-05-05  Bruno Haible  <bruno@clisp.org>
20663         md5 tests: Add test for md5_stream.
20664         * tests/test-digest.h: New file.
20665         * tests/test-md5.c: Include test-digest.h.
20666         (main): Invoke test_digest_on_files on 'md5_stream'.
20667         * modules/crypto/md5-tests (Files): Add tests/test-digest.h.
20669 2018-04-28  Matteo Croce  <mcroce@redhat.com>
20671         md5sum: Use AF_ALG when available.
20672         * lib/md5.c: Include af_alg.h.
20673         (md5_stream): Use afalg_stream when available.
20674         * modules/crypto/md5 (Files): Add the af_alg files.
20675         (configure.ac): Invoke gl_LINUX_IF_ALG_H.
20676         (Makefile.am): Add af_alg.c.
20678 2018-04-28  Matteo Croce  <mcroce@redhat.com>
20680         sha512sum: Use AF_ALG when available.
20681         * lib/sha512.c: Include af_alg.h.
20682         (sha512_stream, sha384_stream): Use afalg_stream when available.
20683         * modules/crypto/sha512 (Files): Add the af_alg files.
20684         (configure.ac): Invoke gl_LINUX_IF_ALG_H.
20685         (Makefile.am): Add af_alg.c.
20687 2018-04-28  Matteo Croce  <mcroce@redhat.com>
20689         sha256sum: Use AF_ALG when available.
20690         * lib/sha256.c: Include af_alg.h.
20691         (sha256_stream, sha224_stream): Use afalg_stream when available.
20692         * modules/crypto/sha256 (Files): Add the af_alg files.
20693         (configure.ac): Invoke gl_LINUX_IF_ALG_H.
20694         (Makefile.am): Add af_alg.c.
20696 2018-04-28  Matteo Croce  <mcroce@redhat.com>
20698         sha1sum: Use AF_ALG when available.
20699         * lib/af_alg.h: New file.
20700         * lib/af_alg.c: New file.
20701         * lib/sha1.c: Include af_alg.h.
20702         (sha1_stream): Use afalg_stream when available.
20703         * m4/linux-if-alg.m4: New file.
20704         * modules/crypto/sha1 (Files): Add the new files.
20705         (configure.ac): Invoke gl_LINUX_IF_ALG_H.
20706         (Makefile.am): Add af_alg.c.
20708 2018-05-05  Bruno Haible  <bruno@clisp.org>
20710         all: Replace more http URLs by https URLs.
20711         * lib/localename.c: Use https: URL.
20712         * lib/timespec.h: Likewise.
20714 2018-05-03  Paul Eggert  <eggert@cs.ucla.edu>
20716         maint: port more modules to GCC 8
20717         * lib/dirname.h (base_name):
20718         * lib/exclude.h (new_exclude):
20719         * lib/xstrndup.h (xstrndup):
20720         Add malloc attribute.
20721         * lib/readutmp.c: Pacify GCC 8 about safe use of strncpy.
20722         * lib/sig-handler.h (get_handler) [SA_SIGINFO]: Simplify.
20723         This pacifies GCC 8.
20724         * m4/gnulib-common.m4 (gl_COMMON_BODY):
20725         Define _GL_ATTRIBUTE_MALLOC here.  All other definitions removed.
20727 2018-05-03  Bruno Haible  <bruno@clisp.org>
20729         Simplify code. Drop support for Borland C++ on Windows.
20730         Reported by Gisle Vanem <gisle.vanem@gmail.com>.
20731         * lib/accept4.c: Simplify 'defined _WIN32 || defined __WIN32__' to just
20732         'defined _WIN32'.
20733         * lib/canonicalize-lgpl.c: Likewise.
20734         * lib/classpath.c: Likewise.
20735         * lib/clean-temp.c: Likewise.
20736         * lib/csharpexec.c: Likewise.
20737         * lib/ctime.c: Likewise.
20738         * lib/dosname.h: Likewise.
20739         * lib/dup2.c: Likewise.
20740         * lib/errno.in.h: Likewise.
20741         * lib/error.c: Likewise.
20742         * lib/euidaccess.c: Likewise.
20743         * lib/execute.c: Likewise.
20744         * lib/fcntl.in.h: Likewise.
20745         * lib/fcntl.c: Likewise.
20746         * lib/filename.h: Likewise.
20747         * lib/findprog.c: Likewise.
20748         * lib/flock.c: Likewise.
20749         * lib/fopen.c: Likewise.
20750         * lib/freopen.c: Likewise.
20751         * lib/fstat.c: Likewise.
20752         * lib/fsync.c: Likewise.
20753         * lib/gc-gnulib.c: Likewise.
20754         * lib/get-rusage-data.c: Likewise.
20755         * lib/getaddrinfo.c: Likewise.
20756         * lib/getdelim.c: Likewise.
20757         * lib/getdtablesize.c: Likewise.
20758         * lib/gethostname.c: Likewise.
20759         * lib/getlogin.c: Likewise.
20760         * lib/getlogin_r.c: Likewise.
20761         * lib/getopt.c: Likewise.
20762         * lib/getpagesize.c: Likewise.
20763         * lib/getpass.c: Likewise.
20764         * lib/getrusage.c: Likewise.
20765         * lib/gettimeofday.c: Likewise.
20766         * lib/glob.c: Likewise.
20767         * lib/inttypes.in.h: Likewise.
20768         * lib/isapipe.c: Likewise.
20769         * lib/javaexec.c: Likewise.
20770         * lib/link.c: Likewise.
20771         * lib/localcharset.c: Likewise.
20772         * lib/localename.h: Likewise.
20773         * lib/localename.c: Likewise.
20774         * lib/localtime.c: Likewise.
20775         * lib/lseek.c: Likewise.
20776         * lib/mbsinit.c: Likewise.
20777         * lib/mkdir.c: Likewise.
20778         * lib/msvc-nothrow.h: Likewise.
20779         * lib/nanosleep.c: Likewise.
20780         * lib/nl_langinfo.c: Likewise.
20781         * lib/nonblocking.c: Likewise.
20782         * lib/nproc.c: Likewise.
20783         * lib/open.c: Likewise.
20784         * lib/openpty.c: Likewise.
20785         * lib/pathmax.h: Likewise.
20786         * lib/pipe-filter-aux.c: Likewise.
20787         * lib/pipe-filter-gi.c: Likewise.
20788         * lib/pipe-filter-ii.c: Likewise.
20789         * lib/pipe.c: Likewise.
20790         * lib/pipe2.c: Likewise.
20791         * lib/poll.c: Likewise.
20792         * lib/popen.c: Likewise.
20793         * lib/posix_openpt.c: Likewise.
20794         * lib/printf-parse.c: Likewise.
20795         * lib/progreloc.c: Likewise.
20796         * lib/putenv.c: Likewise.
20797         * lib/read.c: Likewise.
20798         * lib/relocatable.c: Likewise.
20799         * lib/rename.c: Likewise.
20800         * lib/same-inode.h: Likewise.
20801         * lib/secure_getenv.c: Likewise.
20802         * lib/select.c: Likewise.
20803         * lib/sethostname.c: Likewise.
20804         * lib/setlocale.c: Likewise.
20805         * lib/sigaction.c: Likewise.
20806         * lib/sigprocmask.c: Likewise.
20807         * lib/sleep.c: Likewise.
20808         * lib/spawn-pipe.h: Likewise.
20809         * lib/spawn-pipe.c: Likewise.
20810         * lib/spawni.c: Likewise.
20811         * lib/stat-time.h: Likewise.
20812         * lib/stat-w32.c: Likewise.
20813         * lib/stat.c: Likewise.
20814         * lib/stdio.in.h: Likewise.
20815         * lib/stdio-impl.h: Likewise.
20816         * lib/stdio-read.c: Likewise.
20817         * lib/stdio-write.c: Likewise.
20818         * lib/stdlib.in.h: Likewise.
20819         * lib/strerror_r.c: Likewise.
20820         * lib/strftime-fixes.c: Likewise.
20821         * lib/sys_stat.in.h: Likewise.
20822         * lib/sys_types.in.h: Likewise.
20823         * lib/sys_wait.in.h : Likewise.
20824         * lib/system-quote.h: Likewise.
20825         * lib/system-quote.c: Likewise.
20826         * lib/tmpdir.c: Likewise.
20827         * lib/tzset.c: Likewise.
20828         * lib/uname.c: Likewise.
20829         * lib/unistd.in.h: Likewise.
20830         * lib/utime.in.h: Likewise.
20831         * lib/utime.c: Likewise.
20832         * lib/utimecmp.c: Likewise.
20833         * lib/utimens.c: Likewise.
20834         * lib/vasnprintf.c: Likewise.
20835         * lib/vma-iter.h: Likewise.
20836         * lib/vma-iter.c: Likewise.
20837         * lib/wait-process.c: Likewise.
20838         * lib/wcsftime.c: Likewise.
20839         * lib/wctype.in.h: Likewise.
20840         * lib/write.c: Likewise.
20841         * tests/nap.h: Likewise.
20842         * tests/test-cloexec.c: Likewise.
20843         * tests/test-dup-safer.c: Likewise.
20844         * tests/test-dup2.c: Likewise.
20845         * tests/test-dup3.c: Likewise.
20846         * tests/test-fcntl.c: Likewise.
20847         * tests/test-get-rusage-data.c: Likewise.
20848         * tests/test-getaddrinfo.c: Likewise.
20849         * tests/test-getlogin.h: Likewise.
20850         * tests/test-isatty.c: Likewise.
20851         * tests/test-localename.c: Likewise.
20852         * tests/test-mbrtowc-w32.c: Likewise.
20853         * tests/test-nonblocking.c: Likewise.
20854         * tests/test-nonblocking-pipe-main.c: Likewise.
20855         * tests/test-nonblocking-socket-main.c: Likewise.
20856         * tests/test-nonblocking-socket.h: Likewise.
20857         * tests/test-pipe.c: Likewise.
20858         * tests/test-pipe2.c: Likewise.
20859         * tests/test-poll.c: Likewise.
20860         * tests/test-pthread_sigmask1.c: Likewise.
20861         * tests/test-select.h: Likewise.
20862         * tests/test-sethostname2.c: Likewise.
20863         * tests/test-sigprocmask.c: Likewise.
20864         * tests/test-spawn-pipe-child.c: Likewise.
20865         * tests/test-stat-time.c: Likewise.
20866         * tests/test-system-quote-main.c: Likewise.
20867         * tests/test-utimens-common.h: Likewise.
20868         * tests/test-wcrtomb-w32.c: Likewise.
20869         * m4/csharpexec.m4 (gt_CSHARPEXEC): Likewise.
20870         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
20871         * m4/javacomp.m4 (gt_JAVACOMP): Likewise.
20872         * m4/javaexec.m4 (gt_JAVAEXEC): Likewise.
20873         * m4/locale-ar.m4 (gt_LOCALE_AR): Likewise.
20874         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
20875         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
20876         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
20877         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
20878         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
20879         * m4/nocrash.m4 (GL_NOCRASH): Likewise.
20880         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET): Likewise.
20881         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Likewise.
20882         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
20883         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Likewise.
20884         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
20886 2018-05-02  Bruno Haible  <bruno@clisp.org>
20888         localename: Fix test failures on mingw.
20889         * lib/localename.c (gl_locale_name_thread): Remove code specific to
20890         native Windows.
20891         (gl_locale_name_posix): Move code specific to native Windows here.
20892         * tests/test-localename.c (test_locale_name, test_locale_name_posix):
20893         Accept result without charset suffix, as it appears on mingw.
20895 2018-04-28  Paul Smith  <psmith@gnu.org>
20897         bootstrap: Avoid gnulib operations if not needed
20898         * build-aux/bootstrap: Remove unused variable gnulib_mk.
20899         Set $gnulib_extra_files early so it can be overridden in .conf.
20900         Remove redundant --import flag from $gnulib_tool_options.
20901         Set $use_gnulib to false if no gnulib modules or files are needed.
20902         If $use_gnulib is false, don't do anything related to gnulib.
20903         A lot of this is just whitespace (indentation) changes.
20905 2018-04-27  Paul Eggert  <eggert@cs.ucla.edu>
20907         manywarnings: port to GCC 8.0
20908         * build-aux/gcc-warning.spec: Add -Wcatch-value,
20909         -Wclass-memaccess, -Wdo-subscript, -Wextra-semi.  Adjust to the
20910         fact that the GCC help message now mentions operands for
20911         -Warray-bounds, -Wformat, -Wformat-overflow, -Wformat-truncation,
20912         -Wimplicit-fallthrough, -Wplacement-new, -Wshift-overflow,
20913         -Wstrict-aliasing, -Wstrict-overflow, -Wstringop-overflow,
20914         and -Wunused-const-variable.
20915         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -Wattribute-alias,
20916         -Wcast-align=strict, -Wcast-function-type, -Wif-not-aligned,
20917         -Wmissing-attributes, -Wmultistatement-macros,
20918         -Wpacked-not-aligned, -Wsizeof-pointer-div, -Wstringop-truncation,
20919         -Wsuggest-attribute=cold, -Wsuggest-attribute=malloc.
20921 2018-04-24  Bruno Haible  <bruno@clisp.org>
20923         sys_socket: Make SO_REUSEPORT available across platforms.
20924         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
20925         * lib/sys_socket.in.h (SO_REUSEPORT): New macro.
20926         * doc/posix-headers/sys_socket.texi: Mention the issue.
20927         * tests/test-poll.c (SO_REUSEPORT): Remove.
20928         * tests/test-select.h: Include <sys/socket.h>.
20929         (SO_REUSEPORT): Remove.
20930         * modules/select-tests (Depends-on): Add 'sys_socket'.
20932 2018-04-21  Benno Schulenberg  <bensberg@telfort.nl>  (tiny change)
20934         localcharset: short-circuit the search for an alias on a Mac
20935         * lib/localcharset.c (get_charset_aliases): Add a tautological
20936         UTF-8 entry to speed up the search for this case.
20937         Most machines default to a UTF-8 locale nowadays, so begin the
20938         list of aliases with a dummy UTF-8 entry so it will be found
20939         immediately and a time-consuming search through the rest of
20940         the list is avoided.
20942 2018-04-11  Paul Eggert  <eggert@cs.ucla.edu>
20944         fts: add comment
20945         * lib/fts.c (fts_build): Explain why ==, not >.
20946         See remark by Bernhard Voelker in:
20947         https://lists.gnu.org/r/bug-gnulib/2018-04/msg00041.html
20949         fts: fix bug in find across filesystems
20950         This fixes a bug I introduced last summer.
20951         Problem reported by Kamil Dudka in:
20952         https://lists.gnu.org/r/bug-gnulib/2018-04/msg00033.html
20953         * lib/fts.c (filesystem_type, dirent_inode_sort_may_be_useful)
20954         (leaf_optimization):
20955         New arg for file descriptor.  All callers changed.
20956         (fts_build): Check for whether inodes should be sorted
20957         before closing the directory.
20959 2018-04-07  Bruno Haible  <bruno@clisp.org>
20961         unicase/u*-context: Fix link errors with libunistring <= 0.9.9.
20962         Reported by Genki Sky <sky@genki.is>.
20963         * modules/unicase/u8-prefix-context (configure.ac): Require libunistring
20964         version 0.9.10 or newer.
20965         * modules/unicase/u8-suffix-context (configure.ac): Likewise.
20966         * modules/unicase/u16-prefix-context (configure.ac): Likewise.
20967         * modules/unicase/u16-suffix-context (configure.ac): Likewise.
20968         * modules/unicase/u32-prefix-context (configure.ac): Likewise.
20969         * modules/unicase/u32-suffix-context (configure.ac): Likewise.
20971 2018-04-07  Bruno Haible  <bruno@clisp.org>
20973         execute: Update comment.
20974         * lib/execute.h (execute): Refer to spawn-pipe.h, not pipe.h.
20976 2018-04-05  Paul Eggert  <eggert@cs.ucla.edu>
20978         fts: treat CIFS like NFS
20979         Problem reported by Kamil Dudka in:
20980         https://lists.gnu.org/r/bug-gnulib/2018-04/msg00015.html
20981         * lib/fts.c (S_MAGIC_CIFS): New macro.
20982         (dirent_inode_sort_may_be_useful, leaf_optimization):
20983         Treat CIFS like NFS.
20985 2018-03-28  Bruno Haible  <bruno@clisp.org>
20987         c-stack: Fix possible build failure on some platforms.
20988         * lib/c-stack.c (die): Define whenever this function is referenced.
20990 2018-03-28  Paul Eggert  <eggert@cs.ucla.edu>
20992         time_rz: fix workaround for Mac OS X 10.6 infloop
20993         Problems reported by Charles A. Roelli (Bug#27736#117).
20994         * m4/time_rz.m4 (gl_TIME_RZ): Use a slightly different timestamp.
20995         Also, discard output, which clutters the 'configure' log.
20997 2018-03-27  Paul Eggert  <eggert@cs.ucla.edu>
20999         havelib: port to Solaris 10 /bin/sh
21000         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Use 'test ! EXPR'
21001         instead of '! test EXPR'.
21003 2018-03-26  Paul Eggert  <eggert@cs.ucla.edu>
21005         time_rz: work around Mac OS X 10.6 infloop
21006         * doc/posix-functions/localtime.texi:
21007         * doc/posix-functions/localtime_r.texi: Mention the bug.
21008         * lib/time_rz.c (localtime_rz): Work around the bug.  It’d be
21009         better to fix localtime and localtime_r instead, but that would be
21010         more work and is not needed to fix the Emacs problem.
21011         * m4/time_rz.m4 (gl_TIME_RZ): Detect the bug.
21013 2018-03-24  Jim Meyering  <meyering@fb.com>
21015         test-version-etc.sh: don't use diff directly: use init.sh's compare
21016         We'd rather not sacrifice readable "diff -u" output even for
21017         "diff -c" output (not supported by busybox) or for even less
21018         readable ed-style "diff" output.  So use init.sh's compare function
21019         * tests/test-version-etc.sh: Source init.sh and add "." to path.
21020         Remove "./" from invocation of test-version-etc, so we use path.
21021         And s/diff/compare/.
21022         * modules/version-etc-tests (Depends-on): Add test-framework-sh,
21023         to get init.sh.
21024         Prompted by Eric Blake's comments in
21025         https://lists.gnu.org/r/sed-devel/2018-03/msg00015.html
21027 2018-03-24  Bruno Haible  <bruno@clisp.org>
21029         javacomp-script, javacomp: Add support for Java 10.
21030         * m4/javacomp.m4 (gt_JAVACOMP): Accept source-version 10 and
21031         target-version 10.
21032         * lib/javaversion.h: Update comments.
21033         * lib/javacomp.c (default_target_version, SOURCE_VERSION_BOUND,
21034         source_version_index, get_goodcode_snippet, get_failcode_snippet,
21035         TARGET_VERSION_BOUND, target_version_index,
21036         corresponding_classfile_version): Accept source_version 10 and
21037         target_version 10.
21038         * lib/javacomp.h: Update comments accordingly.
21040 2018-03-24  Bruno Haible  <bruno@clisp.org>
21042         javacomp-script, javacomp: Update comments.
21043         * m4/javacomp.m4: Update comments regarding gcj.
21044         * lib/javacomp.h: Likewise.
21046 2018-03-24  Bruno Haible  <bruno@clisp.org>
21048         javacomp-script, javacomp: Fix support for Java 7, 8, 9.
21049         * lib/javaversion.h: Update comments.
21050         * lib/javacomp.h: Likewise.
21051         * lib/javacomp.c (default_target_version, source_version_index,
21052         get_goodcode_snippet, get_failcode_snippet): Recognize "9" instead of
21053         "1.9".
21054         (TARGET_VERSION_BOUND): Bump to 9.
21055         (target_version_index, corresponding_classfile_version): Recognize "9"
21056         instead of "1.9".
21057         (get_source_version_for_javac): New function.
21058         (is_envjavac_nongcj_usable, is_javac_usable): Add
21059         source_version_for_javac argument.
21060         (compile_java_class): Determine and pass source_version_for_javac.
21061         * m4/javacomp.m4: Recognize version '9' instead of '1.9'. When invoking
21062         $JAVAC or javac, pass '-source 1.6' instead of '-source 1.5' when
21063         appropriate.
21065 2018-03-23  Jim Meyering  <meyering@fb.com>
21067         test-version-etc.sh: port to diff without -c
21068         * tests/test-version-etc.sh: Don't use diff's -c option.
21069         This caused spurious test failure on Alpine Linux, which
21070         uses busybox's diff. Reported by Assaf Gordon in
21071         https://lists.gnu.org/r/sed-devel/2018-03/msg00013.html
21073 2018-03-23  Paul Eggert  <eggert@cs.ucla.edu>
21075         c-stack: port to recent GCC build
21076         Problem reported by The Fireplace (Bug#30913).
21077         * lib/c-stack.c (die): Define only if used.
21079 2018-03-20  Bruno Haible  <bruno@clisp.org>
21081         euidaccess: Port to native Windows.
21082         * lib/euidaccess.c (euidaccess): On native Windows, just use _access().
21083         * posix-modules (exclude_for_mingw): Remove 'euidaccess'.
21085 2018-03-19  Bruno Haible  <bruno@clisp.org>
21087         javacomp: Add support for Java 7, 8, 9.
21088         * lib/javacomp.c (default_target_version, SOURCE_VERSION_BOUND,
21089         source_version_index, get_goodcode_snippet, get_failcode_snippet,
21090         corresponding_classfile_version): Accept source_version 1,7, 1.8, 1.9
21091         and target_version 1,7, 1.8, 1.9.
21092         * lib/javacomp.h: Update comments accordingly.
21094 2018-03-19  Bruno Haible  <bruno@clisp.org>
21096         javacomp-script: Add support for Java 9.
21097         * m4/javacomp.m4 (gt_JAVACOMP): Accept source-version 1.9 and
21098         target-version 1.9.
21100 2018-03-16  Bruno Haible  <bruno@clisp.org>
21102         glob: Don't compile replacements on recent glibc systems.
21103         * lib/glob.in.h: Use the usual idiom for the double-inclusion guard. If
21104         REPLACE_GLOB is 0, include the system's <glob.h> and use
21105         _GL_CXXALIAS_SYS.
21106         * m4/glob.m4 (gl_GLOB): Set REPLACE_GLOB instead of GLOB_H. Accept
21107         _GNU_GLOB_INTERFACE_VERSION 2 as well. Delete the file conf$$-globtest
21108         inside the AC_RUN_IFELSE block. Remove GL_GENERATE_GLOB_H conditional.
21109         * modules/glob (Dependencies): Test REPLACE_GLOB instead of GLOB_H.
21110         Remove snippet/warn-on-use.
21111         (configure.ac): Test REPLACE_GLOB instead of GLOB_H.
21112         (Makefile.am): Create glob.h always. Update list of substitutions in
21113         glob.h. Don't depend on $(WARN_ON_USE_H).
21115 2018-03-16  Bruno Haible  <bruno@clisp.org>
21117         glob: Fix link error on native Windows.
21118         * modules/glob (Depends-on): Add 'lstat'.
21120 2018-03-15  Bruno Haible  <bruno@clisp.org>
21122         glob: Fix compilation error in C++ mode.
21123         * lib/glob.in.h (_Restrict_): Define, like in regex.h and spawn.in.h.
21125 2018-03-15  Bruno Haible  <bruno@clisp.org>
21127         host-cpu-c-abi: Support for RISC-V CPU.
21128         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Recognize the various
21129         riscv32 and riscv64 ABIs.
21130         References:
21131         https://github.com/riscv/riscv-toolchain-conventions
21132         https://gcc.gnu.org/onlinedocs/gcc-7.3.0/gcc/RISC-V-Options.html
21133         https://gnu-mcu-eclipse.github.io/toolchain/riscv/
21135 2018-03-08  Paul Eggert  <eggert@cs.ucla.edu>
21137         fflush: be more paranoid about libio.h change
21138         Suggested by Eli Zaretskii in:
21139         https://lists.gnu.org/r/emacs-devel/2018-03/msg00270.html
21140         * lib/fbufmode.c (fbufmode):
21141         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
21142         (disable_seek_optimization, rpl_fflush):
21143         * lib/fpending.c (__fpending):
21144         * lib/fpurge.c (fpurge):
21145         * lib/freadable.c (freadable):
21146         * lib/freadahead.c (freadahead):
21147         * lib/freading.c (freading):
21148         * lib/freadptr.c (freadptr):
21149         * lib/freadseek.c (freadptrinc):
21150         * lib/fseeko.c (fseeko):
21151         * lib/fseterr.c (fseterr):
21152         * lib/fwritable.c (fwritable):
21153         * lib/fwriting.c (fwriting):
21154         Look at _IO_ftrylockfile as well as at _IO_EOF_SEEN.
21156 2018-03-07  Paul Eggert  <eggert@cs.ucla.edu>
21158         maint: write-file-hooks -> before-save-hook
21159         write-file-hooks is obsolete since Emacs 22.1 (released June 2007) and
21160         it's time to use the recommended replacement.
21161         Problem reported by Glenn Morris in:
21162         https://lists.gnu.org/r/bug-gnulib/2018-03/msg00008.html
21163         * build-aux/announce-gen, build-aux/bootstrap:
21164         * build-aux/do-release-commit-and-tag, build-aux/gendocs.sh:
21165         * build-aux/git-version-gen, build-aux/gitlog-to-changelog:
21166         * build-aux/gnu-web-doc-update, build-aux/gnupload:
21167         * build-aux/move-if-change, build-aux/prefix-gnulib-mk:
21168         * build-aux/update-copyright, build-aux/useless-if-before-free:
21169         * build-aux/vc-list-files:
21170         Update hook usage for files where Gnulib is the canonical source.
21172 2018-03-05  Paul Eggert  <eggert@cs.ucla.edu>
21174         binary-io: pacify gcc -Wunused-parameter
21175         Problem reported by Reuben Thomas in:
21176         https://lists.gnu.org/r/bug-gnulib/2018-03/msg00005.html
21177         * lib/binary-io.h (__gl_setmode, __gl_setmode_check):
21178         Use _GL_UNUSED where appropriate.
21180         fflush: adjust to glibc 2.28 libio.h removal
21181         Problem reported by Daniel P. Berrangé in:
21182         https://lists.gnu.org/r/bug-gnulib/2018-03/msg00000.html
21183         * lib/fbufmode.c (fbufmode):
21184         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
21185         (disable_seek_optimization, rpl_fflush):
21186         * lib/fpending.c (__fpending):
21187         * lib/fpurge.c (fpurge):
21188         * lib/freadable.c (freadable):
21189         * lib/freadahead.c (freadahead):
21190         * lib/freading.c (freading):
21191         * lib/freadptr.c (freadptr):
21192         * lib/freadseek.c (freadptrinc):
21193         * lib/fseeko.c (fseeko):
21194         * lib/fseterr.c (fseterr):
21195         * lib/fwritable.c (fwritable):
21196         * lib/fwriting.c (fwriting):
21197         Check _IO_EOF_SEEN instead of _IO_ftrylockfile.
21198         * lib/stdio-impl.h (_IO_IN_BACKUP) [_IO_EOF_SEEN]:
21199         Define if not already defined.
21201 2018-02-27  Paul Eggert  <eggert@cs.ucla.edu>
21203         environ: fix link error on 32-bit Cygwin
21204         Problem reported for GNU Emacs by Ken Brown in:
21205         https://lists.gnu.org/r/emacs-devel/2018-02/msg00765.html
21206         * lib/unistd.in.h (environ) [__i386__]: Do not redeclare.
21208 2018-02-24  Bruno Haible  <bruno@clisp.org>
21210         mbrtowc tests: Fix regression on glibc.
21211         Reported by Bernhard Voelker.
21212         * tests/test-mbrtowc.c (main): Fix expected value of wc.
21214 2018-02-24  Bruno Haible  <bruno@clisp.org>
21216         striconveha, uniconv/*: Avoid test failures on musl libc.
21217         * tests/iconvsupport.c: New file.
21218         * tests/test-striconveha.c (main): Skip autodetect_jp tests if iconv()
21219         does not support the ISO-2022-JP-2 encoding.
21220         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
21221         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
21222         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
21223         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
21224         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
21225         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
21226         * modules/striconveha-tests (Files): Add tests/iconvsupport.c.
21227         (Makefile.am): Link test-striconveha with iconvsupport.o.
21228         * modules/uniconv/u8-conv-from-enc-tests (Files): Add
21229         tests/iconvsupport.c.
21230         (Makefile.am): Link test-u8-conv-from-enc with iconvsupport.o.
21231         * modules/uniconv/u8-strconv-from-enc-tests (Files): Add
21232         tests/iconvsupport.c.
21233         (Makefile.am): Link test-u8-strconv-from-enc with iconvsupport.o.
21234         * modules/uniconv/u16-conv-from-enc-tests (Files): Add
21235         tests/iconvsupport.c.
21236         (Makefile.am): Link test-u16-conv-from-enc with iconvsupport.o.
21237         * modules/uniconv/u16-strconv-from-enc-tests (Files): Add
21238         tests/iconvsupport.c.
21239         (Makefile.am): Link test-u16-strconv-from-enc with iconvsupport.o.
21240         * modules/uniconv/u32-conv-from-enc-tests (Files): Add
21241         tests/iconvsupport.c.
21242         (Makefile.am): Link test-u32-conv-from-enc with iconvsupport.o.
21243         * modules/uniconv/u32-strconv-from-enc-tests (Files): Add
21244         tests/iconvsupport.c.
21245         (Makefile.am): Link test-u32-strconv-from-enc with iconvsupport.o.
21247 2018-02-24  Bruno Haible  <bruno@clisp.org>
21249         localename: Add support for musl libc.
21250         * m4/localename.m4 (gl_LOCALENAME): Check for <langinfo.h>.
21251         * lib/localename.c (gl_locale_name_thread_unsafe): Use NL_LOCALE_NAME
21252         on Linux platforms which define NL_LOCALE_NAME.
21254 2018-02-24  Bruno Haible  <bruno@clisp.org>
21256         mbrtowc tests: Don't make assumptions about the charset the C locale.
21257         * tests/test-mbrtowc.c (main): For bytes >= 0x80, don't assume a
21258         particular mapping in the C locale.
21260 2018-02-24  Bruno Haible  <bruno@clisp.org>
21262         ptsname_r: Don't expect that this function sets errno.
21263         * tests/test-ptsname_r.c (test_errors): Don't test errno after return
21264         from ptsname_r().
21265         * doc/glibc-functions/ptsname_r.texi: Mention the issue.
21267 2018-02-23  Bruno Haible  <bruno@clisp.org>
21269         xmalloca: pacify gcc -Wbad-function-cast
21270         * lib/xmalloca.h (xmalloca): Insert intermediate cast here as well.
21272 2018-02-23  Paul Eggert  <eggert@cs.ucla.edu>
21274         nl_langinfo: pacify gcc -Wunused-function
21275         * lib/nl_langinfo.c (ctype_codeset): Do not define if
21276         REPLACE_NL_LANGINFO && !GNULIB_defined_CODESET, as it is unused in
21277         this case.  Without this change, I got a diagnostic when building
21278         coreutils on Fedora 27 with gcc 7.3.1 20180130.
21280         same: pacify gcc -Wunused-variable
21281         * lib/same.c (same_nameat) [!CHECK_TRUNCATION]:
21282         Omit unused variable.
21284         malloca: pacify gcc -Wbad-function-cast
21285         * lib/malloca.h (malloca): Pacify gcc -Wbad-function-cast
21286         diagnostic that I got on Fedora 27 with gcc 7.3.1 20180130.
21287         To pacify GCC, I had to cast alloca’s result to some type other
21288         than void * before casting that to uintptr_t.
21290 2018-02-20  Paul Eggert  <eggert@cs.ucla.edu>
21292         utimecmp: new function utimecmpat
21293         * lib/utimecmp.c: Include fcntl.h, sys/stat.h and dirname.h.
21294         Do not include utimens.h.
21295         (utimecmpat): New function, generalizing utimecmp.
21296         (utimecmp): Now a thin layer around utimecmpat.
21297         * modules/utimecmp (Depends-on): Depend on dirname-lgpl, fstatat,
21298         utimensat instead of on lstat and utimens.
21300         same: new function same_nameat
21301         * lib/same.c: Include fcntl.h.
21302         * lib/same.c (same_nameat): New function, generalizing same_name.
21303         (same_name): Now a thin layer around same_nameat.
21304         * m4/same.m4 (gl_SAME): Check for fpathconf, not pathconf.
21305         * modules/same (Depends-on): Depend on fstatat, openat.
21307 2018-02-18  Eric Gallager  <egall@gwmail.gwu.edu>  (tiny change)
21309         warnings: Add support for Objective C.
21310         * m4/warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS(Objective C)): New
21311         macro.
21313 2018-02-17  Bruno Haible  <bruno@clisp.org>
21315         lock: Fix test-once1 crash on FreeBSD11.
21316         * lib/glthread/lock.h: On FreeBSD, test the weak value of the symbol
21317         'pthread_create', not 'pthread_cancel'.
21319 2018-02-17  Bruno Haible  <bruno@clisp.org>
21321         lock: Add test of gl_once.
21322         * tests/test-once.c: New file.
21323         * modules/lock-tests (Files): Add it.
21324         (Makefile.am): Build and test programs 'test-once1' and 'test-once2'.
21326 2018-02-17  Bruno Haible  <bruno@clisp.org>
21328         thread: Fix compilation error on IRIX.
21329         * lib/glthread/thread.h: Include <unistd.h>. Include <signal.h> when
21330         needed; include it outside the C++ extern "C" {} block.
21331         * doc/posix-headers/pthread.texi: Mention the problem with
21332         pthread_atfork on IRIX.
21334 2018-02-04  Bruno Haible  <bruno@clisp.org>
21336         nl_langinfo: Override the system's nl_langinfo() when needed.
21337         Reported by Jim Meyering.
21338         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Set REPLACE_NL_LANGINFO=1
21339         also when HAVE_LANGINFO_T_FMT_AMPM or HAVE_LANGINFO_ALTMON is 0.
21341 2018-02-04  Bruno Haible  <bruno@clisp.org>
21343         signal-h, monetary, strings: Fix build failure in some cases.
21344         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
21345         * modules/signal-h (Makefile.am): In the GNULIB_* substitutions, use '/'
21346         as delimiter in sed command, not '|'.
21347         * modules/monetary (Makefile.am): Likewise.
21348         * modules/strings (Makefile.am): Likewise.
21350 2018-02-03  Jim Meyering  <meyering@fb.com>
21352         maint.mk: exempt "/proc/filesystems" from "file system" syntax check
21353         * top/maint.mk (sc_file_system): Don't complain about
21354         "/proc/filesystems".
21356 2018-02-03  Bruno Haible  <bruno@clisp.org>
21358         stdlib: Fix compilation error on OpenIndiana.
21359         * lib/stdlib.in.h: Before including <sys/loadavg.h>, include
21360         <sys/time.h>.
21361         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
21362         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
21364 2018-02-03  Bruno Haible  <bruno@clisp.org>
21366         host-cpu-c-abi: Avoid use of 'grep -E' on OpenIndiana.
21367         * m4/asm-underscore.m4 (gl_ASM_SYMBOL_PREFIX): Require AC_PROG_EGREP,
21368         and use $EGREP instead of 'grep -E'.
21369         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Use 'grep' instead of
21370         'grep -E'.
21372 2018-02-02  Paul Eggert  <eggert@cs.ucla.edu>
21374         malloca: Add a compile-time verification.
21375         * lib/malloca.c (small_t): Verify that it is wide enough.
21376         * modules/malloca (Depends-on): Add verify.
21378 2018-02-02  Bruno Haible  <bruno@clisp.org>
21380         malloca: Add an argument check.
21381         Suggested by Paul Eggert.
21382         * lib/malloca.c (freea): Check against an invalid argument.
21384 2018-02-02  Bruno Haible  <bruno@clisp.org>
21386         localename: Add support for OpenIndiana.
21387         * lib/localename.c (gl_locale_name_thread_unsafe): Add code for
21388         Solaris 11 variants with uselocale() but without getlocalename_l().
21390 2018-02-02  Bruno Haible  <bruno@clisp.org>
21392         malloca, xmalloca: Make multithread-safe.
21393         Reported by Florian Weimer <fweimer@redhat.com>.
21394         Implements an idea by Ondřej Bílka <neleai@seznam.cz>.
21395         * lib/malloca.h (malloca): In the stack allocation case, return a
21396         pointer that is a multiple of 2 * sa_alignment_max.
21397         (sa_increment): Remove enum item.
21398         * lib/xmalloca.h (xmalloca): In the stack allocation case, return
21399         a pointer that is a multiple of 2 * sa_alignment_max.
21400         * lib/malloca.c (NO_SANITIZE_MEMORY): Remove macro.
21401         (MAGIC_NUMBER, MAGIC_SIZE, preliminary_header, HEADER_SIZE, header,
21402         HASH_TABLE_SIZE, mmalloca_results): Remove.
21403         (small_t): New type.
21404         (mmalloca, free): Rewritten.
21405         * lib/malloca.valgrind: Remove file.
21406         * modules/malloca (Files): Remove it.
21407         (Depends-on): Remove verify.
21409 2018-01-31  Bruno Haible  <bruno@clisp.org>
21411         environ: Fix link error on 64-bit Cygwin.
21412         * lib/unistd.in.h (environ): On Cygwin, redeclare with the
21413         __declspec(dllimport) attribute.
21414         * doc/posix-functions/environ.texi: Mention the Cygwin problem.
21416 2018-01-30  Bruno Haible  <bruno@clisp.org>
21418         get-rusage-data: Add support for Minix 3.
21419         * lib/get-rusage-data.c (get_rusage_data): Return 0 on Minix.
21421 2018-01-30  Bruno Haible  <bruno@clisp.org>
21423         vma-iter: Add support for Minix 3.
21424         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Minix.
21425         * lib/vma-iter.c: On Minix, read /proc/<pid>/map.
21427 2018-01-27  Bruno Haible  <bruno@clisp.org>
21429         Fix malfunction of socket functions on HP-UX in 64-bit mode.
21430         * m4/socketlib.m4 (gl_SOCKETLIB): Add comment.
21431         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define
21432         _HPUX_ALT_XOPEN_SOCKET_API.
21433         * modules/accept (Depends-on): Add 'extensions'.
21434         * modules/getpeername (Depends-on): Likewise.
21435         * modules/getsockname (Depends-on): Likewise.
21436         * modules/getsockopt (Depends-on): Likewise.
21437         * modules/recvfrom (Depends-on): Likewise.
21438         * doc/posix-functions/accept.texi: Mention the HP-UX socklen_t problem.
21439         * doc/posix-functions/getpeername.texi: Likewise.
21440         * doc/posix-functions/getsockname.texi: Likewise.
21441         * doc/posix-functions/getsockopt.texi: Likewise.
21442         * doc/posix-functions/recvfrom.texi: Likewise.
21444 2018-01-27  Bruno Haible  <bruno@clisp.org>
21446         getsockname tests: More tests.
21447         * tests/test-getsockname.c (open_server_socket): New function, mostly
21448         copied from test-poll.c.
21449         (main): Check that getsockname fills in addr.
21450         * modules/getsockname-tests (Depends-on): Add the necessary
21451         dependencies.
21452         (test_getsockname_LDADD): Link with $(INET_PTON_LIB).
21454 2018-01-26  Paul Eggert  <eggert@cs.ucla.edu>
21456         manywarnings: fix maintainer comment
21457         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Fix comment so that
21458         it does not mistakenly think that ‘-1)’ is an option.
21460 2018-01-26  Bruno Haible  <bruno@clisp.org>
21462         langinfo: Fix last commit.
21463         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
21464         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_ALTMON.
21466 2018-01-24  Bruno Haible  <bruno@clisp.org>
21468         langinfo, nl_langinfo: Add support for alternative month names.
21469         * m4/langinfo_h.m4 (gl_LANGINFO_H): Define HAVE_LANGINFO_ALTMON.
21470         * lib/langinfo.in.h (ALTMON_1...ALTMON_12): New macros.
21471         * lib/nl_langinfo.c (rpl_nl_langinfo): Treat ALTMON_i like MON_i.
21472         * tests/test-nl_langinfo.c (main): Test ALTMON_*.
21473         * doc/posix-headers/langinfo.texi: Document support of ALTMON_*.
21474         * doc/posix-functions/nl_langinfo.texi: Likewise.
21476 2018-01-23  Paul Eggert  <eggert@cs.ucla.edu>
21478         Merge strftime.c changes from glibc
21479         This incorporates:
21480         2017-11-14 [BZ #10871] Implement alternative month names
21481         2017-11-14 [BZ #10871] Abbreviated alternative month names (%Ob)
21482         2017-06-20 Use locale_t, not __locale_t, throughout glibc
21483         * lib/nstrftime.c (ABALTMON_1) [!COMPILE_WIDE]: New macro.
21484         (LOCALE_PARAM) [_LIBC && USE_IN_EXTENDED_LOCALE_MODEL]:
21485         Use locale_t, not __locale_t.
21486         (a_altmonth, f_altmonth, aam_len) [_NL_CURRENT]: New macros.
21487         (__strftime_internal): Add support for alternate months.
21489 2018-01-23  Bruno Haible  <bruno@clisp.org>
21491         doc: Mention another prerequisite for using Gnulib.
21492         Reported at <https://stackoverflow.com/questions/48378214/>.
21493         * doc/gnulib-tool.texi (Initial import): Mention requirement to use
21494         AC_CONFIG_HEADERS.
21496 2018-01-22  Mathieu Lirzin  <mthl@gnu.org>
21498         build: GuixSD doesn't have /bin/bash
21499         * Makefile (SHELL): Search 'bash' in the PATH environment variable.
21501 2018-01-21  Bruno Haible  <bruno@clisp.org>
21503         Avoid test failures on Microsoft Windows Subsystem for Linux.
21504         * tests/test-fcntl.c (main): Allow a different errno.
21505         * tests/test-rename.h (test_rename): Likewise.
21506         * tests/test-renameat.c (main): Likewise.
21507         * tests/test-renameat2.c (main): Likewise.
21509 2018-01-14  Paul Eggert  <eggert@cs.ucla.edu>
21511         filenamecat: make base a suffix of result
21512         * lib/filenamecat-lgpl.c (longest_relative_suffix): Remove.
21513         (mfile_name_concat): Always make BASE a suffix of the result, as
21514         cp expects this.  To implement this, separate with '.' instead of
21515         '/' in some rare cases.  Clarify spec to say ./BASE not BASE.
21516         * tests/test-filenamecat.c (main): Adjust tests to match
21517         current behavior.  Check that BASE_IN_RESULT points to
21518         a copy of BASE and is a suffix of the resultk, and that DIR
21519         is a prefix of the result that is no longer than the prefix
21520         indicated by BASE_IN_RESULT.
21522 2018-01-04  Mathieu Lirzin  <mthl@gnu.org>
21524         update-copyright: Handle use of ©
21525         * build-aux/update-copyright ($circle_c_re): Update regex to
21526         handle use of © in headers.
21528 2018-01-04  Tim Rühsen  <tim.ruehsen@gmx.de>
21530         Fix -Wundef warning in user-included header lib/cdefs.h.
21531         * lib/cdefs.h: Check if defined before using __USE_FORTIFY_LEVEL.
21533 2018-01-04  Bruno Haible  <bruno@clisp.org>
21535         pthread_sigmask: Avoid compilation error on mingw.
21536         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
21537         * lib/signal.in.h (pthread_sigmask): Don't declare it it's defined as a
21538         macro.
21540 2018-01-03  Paul Eggert  <eggert@cs.ucla.edu>
21542         test-framework-sh: ‘ps -ef’, not ‘ps ef’
21543         * tests/init.sh (rand_bytes_): Put ‘-’ before new-style ps options.
21544         Suggested by Bob Proulx (Bug#29968).
21545         * build-aux/mktempd (rand_bytes): Make it like tests/init.sh.
21547 2018-01-02  Eric Blake  <eblake@redhat.com>
21549         stat-time: silence -Wunused-parameter regression
21550         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
21551         Prefer attribute over cast-to-void.
21552         (stat_time_normalize): Mark st as potentially unused.
21554 2018-01-02  Paul Eggert  <eggert@cs.ucla.edu>
21556         test-framework-sh: avoid netstat
21557         Problem reported by Kristýna Streitová (Bug#29947).
21558         * tests/init.sh (rand_bytes_): Stop using netstat, as it's
21559         deprecated on SuSE and it's not that important anyway.
21561 2018-01-01  Jim Meyering  <meyering@fb.com>
21563         update-copyright: add code to handle more special cases
21564         After running "make update-copyright" this year, five files
21565         required additional manual changes.  Automate those adjustments
21566         for next year.
21567         * Makefile (_year_and_prev): Define.
21568         (update-copyright): Add perl commands to induce this year's post-
21569         update-copyright adjustments.
21571 2018-01-01  Paul Eggert  <eggert@cs.ucla.edu>
21573         version-etc: new year
21574         * build-aux/gendocs.sh (version):
21575         * doc/gendocs_template:
21576         * doc/gendocs_template_min:
21577         * doc/gnulib.texi:
21578         * lib/version-etc.c (COPYRIGHT_YEAR):
21579         Update copyright dates by hand in templates and the like.
21581         maint: fix 'make update-copyright'
21582         * Makefile (update-copyright): Adjust to 2016-11-23 change
21583         to config/srclist-update, which changed the format of srclist.txt.
21585 2017-12-30  Paul Eggert  <eggert@cs.ucla.edu>
21587         chdir-safer: remove this module
21588         * MODULES.html.sh (func_all_modules): Remove chdir-safer.
21589         * NEWS: Document removal.
21590         * lib/chdir-safer.c, lib/chdir-safer.h, m4/afs.m4, m4/chdir-safer.m4:
21591         * modules/chdir-safer: Remove these files.
21593 2017-12-29  Samuel Thibault  <samuel.thibault@gnu.org>
21595         Add cross-compilation results for GNU/Hurd.
21596         * m4/calloc.m4: Add GNU/Hurd guess.
21597         * m4/cbrtl.m4: Likewise.
21598         * m4/ceil.m4: Likewise.
21599         * m4/ceilf.m4: Likewise.
21600         * m4/ceill.m4: Likewise.
21601         * m4/chown.m4: Likewise.
21602         * m4/duplocale.m4: Likewise.
21603         * m4/exp2l.m4: Likewise.
21604         * m4/expm1.m4: Likewise.
21605         * m4/fchdir.m4: Likewise.
21606         * m4/floor.m4: Likewise.
21607         * m4/floorf.m4: Likewise.
21608         * m4/fmod.m4: Likewise.
21609         * m4/fmodf.m4: Likewise.
21610         * m4/fmodl.m4: Likewise.
21611         * m4/getcwd.m4: Likewise.
21612         * m4/getgroups.m4: Likewise.
21613         * m4/gettimeofday.m4: Likewise.
21614         * m4/hypot.m4: Likewise.
21615         * m4/hypotf.m4: Likewise.
21616         * m4/hypotl.m4: Likewise.
21617         * m4/link-follow.m4: Likewise.
21618         * m4/link.m4: Likewise.
21619         * m4/linkat.m4: Likewise.
21620         * m4/log.m4: Likewise.
21621         * m4/log10.m4: Likewise.
21622         * m4/log10f.m4: Likewise.
21623         * m4/log1p.m4: Likewise.
21624         * m4/log1pf.m4: Likewise.
21625         * m4/log1pl.m4: Likewise.
21626         * m4/log2.m4: Likewise.
21627         * m4/log2f.m4: Likewise.
21628         * m4/logf.m4: Likewise.
21629         * m4/lstat.m4: Likewise.
21630         * m4/malloc.m4: Likewise.
21631         * m4/mbrlen.m4: Likewise.
21632         * m4/mbrtowc.m4: Likewise.
21633         * m4/mkdir.m4: Likewise.
21634         * m4/mkfifo.m4: Likewise.
21635         * m4/mknod.m4: Likewise.
21636         * m4/mkstemp.m4: Likewise.
21637         * m4/modf.m4: Likewise.
21638         * m4/modff.m4: Likewise.
21639         * m4/modfl.m4: Likewise.
21640         * m4/printf.m4: Likewise.
21641         * m4/pselect.m4: Likewise.
21642         * m4/ptsname.m4: Likewise.
21643         * m4/putenv.m4: Likewise.
21644         * m4/readlink.m4: Likewise.
21645         * m4/realloc.m4: Likewise.
21646         * m4/remainder.m4: Likewise.
21647         * m4/remainderf.m4: Likewise.
21648         * m4/remainderl.m4: Likewise.
21649         * m4/rmdir.m4: Likewise.
21650         * m4/round.m4: Likewise.
21651         * m4/roundf.m4: Likewise.
21652         * m4/roundl.m4: Likewise.
21653         * m4/select.m4: Likewise.
21654         * m4/setenv.m4: Likewise.
21655         * m4/signbit.m4: Likewise.
21656         * m4/sleep.m4: Likewise.
21657         * m4/stat.m4: Likewise.
21658         * m4/strerror.m4: Likewise.
21659         * m4/strtok_r.m4: Likewise.
21660         * m4/symlink.m4: Likewise.
21661         * m4/symlinkat.m4: Likewise.
21662         * m4/trunc.m4: Likewise.
21663         * m4/truncf.m4: Likewise.
21664         * m4/truncl.m4: Likewise.
21665         * m4/tzset.m4: Likewise.
21666         * m4/ungetc.m4: Likewise.
21667         * m4/usleep.m4: Likewise.
21668         * m4/wcwidth.m4: Likewise.
21670 2017-12-28  Bruno Haible  <bruno@clisp.org>
21672         gnulib-tool: Make --conditional-dependencies work better.
21673         Reported by Dmitry Selyutin <ghostman.sd@gmail.com>.
21674         * gnulib-tool (Options): Don't reject the combination of
21675         --conditional-dependencies with --with-tests.
21676         (func_emit_autoconf_snippets): Add argument referenceable_modules.
21677         Don't reference $modules.
21678         (func_import, func_create_testdir): Pass it.
21680 2017-12-19  Paul Eggert  <eggert@cs.ucla.edu>
21682         regex: use re_malloc etc. consistently
21683         Problem and original patch reported by Arnold Robbins in:
21684         https://sourceware.org/ml/libc-alpha/2017-12/msg00241.html
21685         * lib/regcomp.c (re_comp):
21686         * lib/regexec.c (push_fail_stack, build_trtable, match_ctx_clean):
21687         Use re_malloc/re_realloc/re_free instead of malloc/realloc/free.
21689 2017-12-15  Tim Rühsen  <tim.ruehsen@gmx.de>
21690             Paul Eggert  <eggert@cs.ucla.edu>
21692         glob: Silence warning about void pointer arithmetic.
21693         * lib/glob.c (glob): Use a 'char *', not a 'void *', in pointer
21694         arithmetic.
21696 2017-12-15  Bruno Haible  <bruno@clisp.org>
21698         spawn-pipe: Silence a clang warning.
21699         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
21700         * lib/spawn-pipe.c: Disable clang -Wconditional-uninitialized warnings
21701         in this file.
21703 2017-12-12  Paul Eggert  <eggert@cs.ucla.edu>
21705         explicit_bzero: port to macOS + Clang 9.0.0
21706         Problem reported by Marcus Johnson (Bug#29658).
21707         * lib/explicit_bzero.c (explicit_bzero) [__clang__]:
21708         Don’t use asm.
21710 2017-12-11  Reuben Thomas  <rrt@sc3d.org>
21712         doc: Improve explanation of supporting relocatable libraries.
21713         * doc/relocatable-maint.texi (Supporting Relocation): Explain
21714         properly how to build the relocatable module for
21715         libraries. (Method and example code from Bruno Haible.)
21717 2017-12-11  Reuben Thomas  <rrt@sc3d.org>
21719         doc: Use better texinfo tags in a few cases.
21720         * doc/gnulib.texi (Extending Gnulib): Use @option or @command
21721         instead of @samp in a few places.
21723 2017-12-11  Bruno Haible  <bruno@clisp.org>
21725         unistr/base: Update comment.
21726         * lib/unistr.in.h: Update comment about u*_mbtouc_unsafe functions.
21728 2017-12-10  Pádraig Brady  <P@draigBrady.com>
21730         test-faccessat.c: unlink temp file to avoid subsequent test failure
21731         * tests/test-faccessat.c: Remove the file to avoid failure
21732         to open the file on subsequent runs due to being created
21733         with no permissions.
21735 2017-12-10  Bruno Haible  <bruno@clisp.org>
21737         doc: New sect. "Modifying the build rules of a Gnulib import directory".
21738         * doc/gnulib-tool.texi (Modified build rules): New node.
21740 2017-12-10  Bruno Haible  <bruno@clisp.org>
21742         doc: Tweak wording.
21743         * doc/gnulib-tool.texi (Multiple instances): Talk about "programs", not
21744         "binaries".
21746 2017-12-05  Sam Steingold  <sds@gnu.org>
21747             Bruno Haible  <bruno@clisp.org>
21749         no-c++: Avoid "egrep: repetition-operator operand invalid" error.
21750         * m4/no-c++.m4 (gt_NO_CXX): Don't use '+' characters nor spaces in the
21751         AC_EGREP_CPP pattern.
21753 2017-12-03  Bruno Haible  <bruno@clisp.org>
21755         all: Replace more http URLs by https URLs.
21756         * lib/sm3.h, lib/sm3.c, tests/test-sm3.c: Use https: URL.
21757         * lib/unigbrk/u-grapheme-breaks.h: Likewise.
21758         * lib/unigbrk/uc-grapheme-breaks.c: Likewise.
21759         * tests/unigbrk/test-uc-grapheme-breaks.c: Likewise.
21761 2017-11-28  Paul Eggert  <eggert@cs.ucla.edu>
21763         Port better to CentOS 5
21764         Problems reported by Tom G. Christensen in:
21765         https://lists.gnu.org/r/bug-gnulib/2017-11/msg00053.html
21766         * doc/glibc-functions/strverscmp.texi (strverscmp):
21767         Document strverscmp bug with glibc 2.9 and earlier.
21768         * doc/posix-functions/tzset.texi (tzset):
21769         Document that TZ with angle brackets is POSIX-2001 and later.
21770         * tests/test-nstrftime.c: Include unistd.h.
21771         (TZ_ANGLE_BRACKETS_SHOULD_WORK): New macro.
21772         (TZ): Use it to skip tests with angle brackets in TZ,
21773         for older systems.
21775         stat: add missing module dependencies
21776         * modules/lstat, modules/stat, modules/utimensat (Depends-on):
21777         Add stat-time.
21779 2017-11-28  Benno Schulenberg  <bensberg@telfort.nl>
21781         stat: fix compilation failure on macOS Sierra
21782         Reported by Marius Schamschula <mschamschula@gmail.com> in:
21783         https://savannah.gnu.org/bugs/?52546
21784         * lib/stat.c: Add missing include of stat-time.h.
21786 2017-11-28  Jim Meyering  <meyering@fb.com>
21788         test-faccessat.c: correct BASE definition to avoid parallel test failure
21789         * tests/test-faccessat.c (BASE): Define using this file's name, not
21790         that of test-lstat.c.  Using the latter caused this test to fail
21791         sometimes when run concurrently with test-lstat.
21793 2017-11-27  Daiki Ueno  <ueno@gnu.org>
21795         unicase: fix VPATH build
21796         * modules/unicase/special-casing (Makefile.am): Ensure that the
21797         base directory is created when generating
21798         unicase/special-casing.h.
21800 2017-11-27  Daiki Ueno  <ueno@gnu.org>
21802         libunistring: update to Unicode 9.0.0
21803         * lib/gen-uni-tables.c (fill_properties): Recognize
21804         Sentence_Terminal and Prepended_Concatenation_Mark.
21805         (is_property_default_ignorable_code_point): Exclude U+08E2.
21806         (fill_arabicshaping): Allow missing whitespace when parsing;
21807         recognize "AFRICAN FEH", "AFRICAN QAF", and "AFRICAN MOON".
21808         (output_blocks): Increase the element size of the level1 table to
21809         accommodate more blocks.
21810         (get_lbp): Recognize ZWJ, E_Base, and E_Modifier characters;
21811         Update each class according to the standard.
21812         (get_wbp): Recognize ZWJ, E_Base, E_Modifier, Glue_After_Zwj, and
21813         E_Base_GAZ characters.
21814         (output_gbp_table): Recognize ZWJ, E_Base, E_Modifier,
21815         Glue_After_Zwj, and E_Base_GAZ characters.
21816         * lib/unictype.in.h (UC_JOINING_GROUP_AFRICAN_FEH)
21817         (UC_JOINING_GROUP_AFRICAN_QAF, UC_JOINING_GROUP_AFRICAN_MOON): New
21818         enum value.
21819         * lib/unilbrk/lbrktables.h (LBP_ZWJ, LBP_EB, LBP_EM): New enum
21820         value.
21821         * lib/unilbrk/lbrktables.c (unilbrk_table): Extend the table with
21822         LBP_ZWJ, LBP_EB, and LBP_EM.
21823         * lib/uniwbrk.in.h (WBP_ZWJ, WBP_EB, WBP_EM, WBP_GAZ, WBP_EBG): New
21824         enum value.
21825         * lib/uniwbrk/u-wordbreaks.h: Implement WB3c, WB15, and WB16.
21826         * lib/uniwbrk/wbrktable.h (uniwbrk_prop_index): New variable
21827         declaration.
21828         * lib/uniwbrk/wbrktable.c (uniwbrk_prop_index): New variable.
21829         (uniwbrk_table): Implement WB14.
21830         * tests/uniwbrk/test-uc-wordbreaks.c (wordbreakproperty_to_string):
21831         Check WBP_ZWJ, WBP_EB, WBP_EM, WBP_GAZ, and WBP_EBG.
21832         * modules/unigbrk/u{32,16,8}-grapheme-breaks: No longer depend on
21833         uc-is-grapheme-break.
21834         * modules/unigbrk/uc-grapheme-breaks: New module.
21835         * modules/unigbrk/uc-grapheme-breaks-tests: New module.
21836         * lib/unigbrk.in.h (GBP_ZWJ, GBP_EB, GBP_EM, GBP_GAZ, GBP_EBG): New
21837         enum value.
21838         (uc_grapheme_breaks): New function, replacing uc_is_grapheme_break.
21839         * lib/unigbrk/u-grapheme-breaks.h: New file.
21840         * lib/unigbrk/u{32,16,8}-grapheme-breaks.c: Rewrite using
21841         u-grapheme-breaks.h instead of uc_is_grapheme_break.
21842         * lib/unigbrk/uc-grapheme-breaks.c: New file.
21843         * lib/unigbrk/uc-is-grapheme-break.c: Partially update to TR29 rev
21844         29.
21845         * tests/unigbrk/test-uc-gbrk-prop.c
21846         (graphemebreakproperty_to_string): Check GBP_ZWJ, GBP_EB, GBP_EM,
21847         GBP_GAZ, and GBP_EBG.
21848         * tests/unigbrk/test-uc-grapheme-breaks.c: New test.
21849         * tests/unigbrk/test-uc-is-grapheme-break.c
21850         (graphemebreakproperty_to_string): Check GBP_ZWJ, GBP_EB, GBP_EM,
21851         GBP_GAZ, and GBP_EBG.
21852         (main): Skip unsupported rules involving 3 or more characters,
21853         namely GB10, GB12, and GB13.
21854         * lib/uniwidth/width.c (nonspacing_table_data): Update.
21855         * all generated files under lib/uni* and tests/uni*: Regenerate.
21856         * all the affected modules: Bump version.
21858 2017-11-26  Bruno Haible  <bruno@clisp.org>
21860         strfmon_l: Fix compilation error with glibc 2.5.
21861         Reported by Tom G. Christensen <tgc@jupiterrise.com>
21862         in <https://lists.gnu.org/r/bug-gnulib/2017-11/msg00051.html>.
21863         * lib/monetary.in.h: Include also <locale.h>.
21865 2017-11-24  Paul Eggert  <eggert@cs.ucla.edu>
21867         posixtm: remove PDS_LEADING_YEAR
21868         This changes the API slightly, in a hopefully-innocuous way.
21869         Without this change the code had undefined behavior when a
21870         caller specified neither PDS_LEADING_YEAR nor PDS_TRAILING_YEAR.
21871         Problem reported by Pádraig Brady in:
21872         https://lists.gnu.org/r/bug-gnulib/2017-11/msg00048.html
21873         * NEWS: Mention this.
21874         * lib/posixtm.c (posix_time_parse): Treat the absence of
21875         PDS_TRAILING_YEAR as if PDS_LEADING_YEAR were present.
21876         * lib/posixtm.h (PDS_LEADING_YEAR): Remove (actually, leave it
21877         present, but define it as zero, for compatibility with existing
21878         source code).  All other PDS_* values moved up.
21879         * tests/test-posixtm.c (LY): New macro.
21880         (T): Use it.  Do not expect a particular numeric encoding
21881         for PDS_CENTURY etc.
21883 2017-11-23  Paul Eggert  <eggert@cs.ucla.edu>
21885         stat: work around Solaris bug with tv_nsec < 0
21886         * doc/posix-functions/fstat.texi (fstat):
21887         * doc/posix-functions/fstatat.texi (fstatat):
21888         * doc/posix-functions/lstat.texi (lstat):
21889         * doc/posix-functions/stat.texi (stat):
21890         Mention Solaris 11 bug.
21891         * lib/fstat.c, lib/fstatat.c, lib/lstat.c: Include stat-time.h.
21892         * lib/fstat.c (rpl_fstat) [!WINDOWS_NATIVE]:
21893         * lib/lstat.c (rpl_lstat):
21894         * lib/stat.c (rpl_stat):
21895         Normalize resulting timestamps.
21896         * lib/fstatat.c (normal_fstatat): New function.
21897         (rpl_fstatat): Use it.
21898         * lib/stat-time.h: Include intprops.h, errno.h, stddef.h.
21899         (stat_time_normalize): New function.
21900         * m4/fstat.m4 (gl_FUNC_FSTAT):
21901         * m4/fstatat.m4 (gl_FUNC_FSTATAT):
21902         * m4/lstat.m4 (gl_FUNC_LSTAT):
21903         * m4/stat.m4 (gl_FUNC_STAT):
21904         Replace on Solaris.
21905         * modules/fstat (Depends-on):
21906         * modules/fstatat (Depends-on):
21907         Add stat-time.
21908         * modules/stat-time (Depends-on): Add errno, intprops.
21910 2017-11-22  Paul Eggert  <eggert@cs.ucla.edu>
21912         regex: merge from glibc
21913         * lib/regcomp.c (init_word_char): Add comments.
21915 2017-11-20  Paul Eggert  <eggert@cs.ucla.edu>
21917         regex: merge from glibc
21918         * lib/regcomp.c (__regcomp, __regfree) [_LIBC]: Now hidden.
21919         * lib/regex_internal.h (internal_function): Remove.
21920         All uses removed.
21922 2017-11-20  Bruno Haible  <bruno@clisp.org>
21924         crypto/gc-sm3: Fix buffer overrun.
21925         * lib/gc-gnulib.c (MAX_DIGEST_SIZE): Bump to 32.
21926         Reported by Coverity.
21928 2017-11-12  Jim Meyering  <meyering@fb.com>
21930         maint: shorten https://lists.gnu.org/archive/html/... links
21931         Each /archive/html/ part can be replace with /r/.
21932         Run this to induce the change:
21933         git grep -l archive/html|xargs perl -pi -e 's,/archive/html/,/r/,g'
21934         * ChangeLog: Perform that substitution.
21935         * Makefile: Likewise.
21936         * STATUS-libposix: Likewise.
21937         * build-aux/bootstrap: Likewise.
21938         * doc/maintain.texi: Likewise.
21939         * gnulib-tool: Likewise.
21940         * lib/allocator.h: Likewise.
21941         * lib/argp-ba.c: Likewise.
21942         * lib/argp-pv.c: Likewise.
21943         * lib/canon-host.c: Likewise.
21944         * lib/canonicalize-lgpl.c: Likewise.
21945         * lib/float.in.h: Likewise.
21946         * lib/fstat.c: Likewise.
21947         * lib/getdelim.c: Likewise.
21948         * lib/getprogname.c: Likewise.
21949         * lib/glthread/thread.h: Likewise.
21950         * lib/intprops.h: Likewise.
21951         * lib/mbsrtowcs-state.c: Likewise.
21952         * lib/safe-read.c: Likewise.
21953         * lib/signal.in.h: Likewise.
21954         * lib/stat.c: Likewise.
21955         * lib/stdbool.in.h: Likewise.
21956         * lib/stdio-impl.h: Likewise.
21957         * lib/stdio.in.h: Likewise.
21958         * lib/sysexits.in.h: Likewise.
21959         * lib/timespec.h: Likewise.
21960         * lib/wcsrtombs-state.c: Likewise.
21961         * m4/alloca.m4: Likewise.
21962         * m4/extern-inline.m4: Likewise.
21963         * m4/fstatat.m4: Likewise.
21964         * m4/gnulib-common.m4: Likewise.
21965         * m4/lib-ignore.m4: Likewise.
21966         * m4/printf.m4: Likewise.
21967         * m4/regex.m4: Likewise.
21968         * m4/stat-size.m4: Likewise.
21969         * m4/std-gnu11.m4: Likewise.
21970         * m4/stdbool.m4: Likewise.
21971         * m4/sys_types_h.m4: Likewise.
21972         * m4/threadlib.m4: Likewise.
21973         * m4/vararrays.m4: Likewise.
21974         * pygnulib/GLImport.py: Likewise.
21975         * tests/test-exp.h: Likewise.
21976         * tests/test-exp2.h: Likewise.
21977         * tests/test-expm1.h: Likewise.
21978         * tests/test-fflush2.c: Likewise.
21979         * tests/test-getopt_long.h: Likewise.
21980         * tests/test-intprops.c: Likewise.
21981         * tests/test-log.h: Likewise.
21982         * tests/test-log10.h: Likewise.
21983         * tests/test-log1p.h: Likewise.
21984         * tests/test-log2.h: Likewise.
21985         * tests/test-printf-posix.h: Likewise.
21986         * tests/test-regex.c: Likewise.
21987         * tests/test-snprintf-posix.h: Likewise.
21988         * tests/test-sprintf-posix.h: Likewise.
21989         * tests/test-stdalign.c: Likewise.
21990         * tests/test-stdbool.c: Likewise.
21991         * tests/test-vasnprintf-posix.c: Likewise.
21992         * tests/test-vasprintf-posix.c: Likewise.
21993         * top/maint.mk: Likewise.
21995 2017-11-12  Bruno Haible  <bruno@clisp.org>
21997         faccessat: Make the last change more robust.
21998         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Require
21999         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Treat "guessing yes" like "yes".
22001 2017-11-11  Paul Eggert  <eggert@cs.ucla.edu>
22003         faccessat: port to macOS (Bug#29231)
22004         macOS faccessat has the same bug that lstat does: if the file
22005         name ends in '/' it ignores the trailing slash.
22006         Problem reported for Emacs by Vincent Zhang.
22007         * doc/posix-functions/faccessat.texi (faccessat): Document this.
22008         * lib/faccessat.c (_GL_INCLUDING_UNISTD_H): Define and undef
22009         around the initial includes.  Include errno.h, string.h, sys/stat.h.
22010         (orig_faccessat) [HAVE_FACCESSAT]: New function.
22011         Include "unistd.h" after defining it.
22012         (rpl_faccessat) [HAVE_FACCESSAT]: New implementation.
22013         * lib/unistd.in.h (faccessat) [REPLACE_FACCESSAT]:
22014         Handle in the usual way.
22015         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Replace faccessat if
22016         lstat dereferences symlinks, since faccessat is likely to
22017         have the same problem.
22018         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Default REPLACE_ACCESSAT.
22019         * modules/faccessat (Depends-on): Add fstatat.
22020         Depend if REPLACE_FACCESSAT is 1, too.
22021         (configure.ac): Link if REPLACE_FACCESSAT is 1.
22022         * modules/faccessat-tests (Depends-on): Add symlink.
22023         * modules/unistd (unistd.h): Substitute REPLACE_FACCESSAT.
22024         * tests/test-faccessat.c (main): Test for the bug.
22026 2017-11-11  Bruno Haible  <bruno@clisp.org>
22028         getprogname: Fix compilation error on IRIX.
22029         * lib/getprogname.c (getprogname) [__sgi]: Fix type of local variable
22030         'namesize'.
22032 2017-11-11  Bruno Haible  <bruno@clisp.org>
22034         year2038: Tweak last patch.
22035         * m4/year2038.m4 (gl_YEAR2038): Correct indentation.
22037 2017-11-06  Paul Eggert  <eggert@cs.ucla.edu>
22039         year2038: be more insistent about 64-bit time_t
22040         Applications requiring access to arbitrary files should not be
22041         built with 32-bit time_t on hosts that have 64-bit timestamps,
22042         as this can lead to real trouble at runtime.
22043         * m4/year2038.m4 (gl_YEAR2038): Do not require AC_CANONICAL_HOST.
22044         Check on all systems, not just MinGW.  Use a heuristic involving
22045         TIME_T_32_BIT_OK, cross_compiling, and the touch command to
22046         output a failure or just a warning, to make it more likely that
22047         builders will select 64-bit time_t.
22049 2017-11-05  Paul Eggert  <eggert@cs.ucla.edu>
22051         havelib: fix typo in previous change
22052         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Fix typo.
22054         Don’t use AC_EGREP_CPP if affected by CFLAGS
22055         * m4/float_h.m4 (gl_FLOAT_H):
22056         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI):
22057         * m4/lib-ld.m4 (AC_LIB_PROG_LD):
22058         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB):
22059         * m4/year2038.m4 (gl_YEAR2038):
22060         Prefer AC_COMPILE_IFELSE to AC_EGREP_CPP when testing conditions
22061         likely to be affected by the choice of CFLAGS, since CFLAGS are
22062         not used by AC_EGREP_CPP.  Without this patch, ‘./configure
22063         CFLAGS="-m32"’ fails on gzip with GNU/Linux x86-64.
22065         fstatat: pacify GCC on unusual platform
22066         * lib/fstatat.c (orig_fstatat) [!HAVE_WORKING_FSTATAT_ZERO_FLAG]:
22067         Omit, as it’s unused in this case.
22069 2017-10-29  Paul Eggert  <eggert@cs.ucla.edu>
22071         timespec: prefer ‘assume’ to ‘assure’
22072         This avoids some runtime tests.  The rest of the module makes
22073         similar assumptions and there is little point to testing here.
22074         * lib/timespec.h: Include verify.h instead of assure.h.
22075         (timespec_cmp): Use ‘assume’, not ‘assure’.
22076         Also, remove an unnecessary cast to ‘int’, as lots of other
22077         code in this module now causes -Wconversion to complain, and
22078         this is a problem with -Wconversion not with the code.
22080         * modules/timespec (Depends-on): Depend on ‘verify’, not ‘assure’.
22082         Port recent gnulib-tool change to Dash
22083         * gnulib-tool (func_create_testdir): Don't assume that the shell
22084         retokenizes after expanding "$@" inside the call to
22085         func_execute_command.  Dash 0.5.8-2.1ubuntu2 does not.
22087 2017-10-27  Jim Meyering  <meyering@fb.com>
22089         timespec.h: use "assure" to avoid a spurious warning
22090         * lib/timespec.h: Include "assure.h" and use it to help
22091         gcc7's -Wstrict-overflow avoid a false positive warning
22092         for a use in coreutils' ls.c.  Suggested by Paul Eggert in
22093         https://lists.gnu.org/r/bug-gnulib/2017-10/msg00007.html
22094         * modules/timespec (Depends-on): Add assure.
22096 2017-10-29  Bruno Haible  <bruno@clisp.org>
22098         Avoid several test failures with traditional locales on Haiku.
22099         * m4/locale-ar.m4 (gt_LOCALE_AR): On BeOS and Haiku, set LOCALE_AR=none.
22100         * m4/locale-fr.m4 (gt_LOCALE_FR): On BeOS and Haiku, set LOCALE_FR=none.
22101         * m4/locale-ja.m4 (gt_LOCALE_JA): On BeOS and Haiku, set LOCALE_JA-none.
22102         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On BeOS and Haiku, set
22103         LOCALE_ZH_CN=none.
22105 2017-10-29  Bruno Haible  <bruno@clisp.org>
22107         strerror_r-posix: Fix behaviour and test failure on Haiku.
22108         * lib/strerror_r.c (strerror_r): Don't assume that valid error numbers
22109         are positive. Work around return value 0 instead of ERANGE on Haiku.
22110         For unknown error numbers, use a format string consistent with perror().
22111         * doc/posix-functions/strerror_r.texi: Mention the Haiku problem.
22112         * tests/test-strerror_r.c (main): Don't assume that valid error numbers
22113         are positive.
22115 2017-10-29  Bruno Haible  <bruno@clisp.org>
22117         get-rusage-data: Avoid crash on Haiku.
22118         * lib/get-rusage-data.c: Avoid the setlimit-based implementation.
22120 2017-10-29  Bruno Haible  <bruno@clisp.org>
22122         get-rusage-as: Avoid crash on Haiku.
22123         * lib/get-rusage-as.c: Avoid the setlimit-based implementation.
22125 2017-10-29  Bruno Haible  <bruno@clisp.org>
22127         ilogbl: Ensure replacement on Haiku.
22128         * m4/ilogbl.m4 (gl_FUNC_ILOGBL): Invoke gl_FUNC_ILOGBL_WORKS and set
22129         REPLACE_ILOGBL if ilogbl does not work.
22130         (gl_FUNC_ILOGBL_WORKS): New macro.
22131         * lib/math.in.h (ilogbl): Replace if REPLACE_ILOGBL is 1.
22132         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ILOGBL.
22133         * modules/math (Makefile.am): Substitute REPLACE_ILOGBL.
22134         * modules/ilogbl (Depends-on, configure.ac): Consider REPLACE_ILOGBL.
22135         * doc/posix-functions/ilogbl.texi: Mention the Haiku problem.
22137 2017-10-29  Bruno Haible  <bruno@clisp.org>
22139         expl: Ensure replacement on Haiku.
22140         * m4/expl.m4 (gl_FUNC_EXPL): Test whether an expl() return value is
22141         zero.
22142         * doc/posix-functions/expl.texi: Mention the Haiku problem.
22144 2017-10-29  Bruno Haible  <bruno@clisp.org>
22146         math: Fix test failure on Haiku.
22147         * lib/math.in.h (FP_ILOGB0, FP_ILOGBNAN): Override on Haiku.
22148         * m4/ilogb.m4 (gl_FUNC_ILOGB_WORKS): Update accordingly.
22149         * m4/ilogbf.m4 (gl_FUNC_ILOGBF_WORKS): Likewise.
22150         * doc/posix-headers/math.texi: Mention the Haiku problem.
22152 2017-10-29  Bruno Haible  <bruno@clisp.org>
22154         gnulib-tool: Avoid unnecessary config.h.in remaking in testdirs.
22155         * gnulib-tool (func_create_testdir): Use workaround against 'autoheader'
22156         bug reported at <https://savannah.gnu.org/support/index.php?109406>.
22158 2017-10-29  Bruno Haible  <bruno@clisp.org>
22160         crypto/*: Verify that the header file is self-contained.
22161         * tests/test-gc-*.c: Include the module's header file immediately after
22162         <config.h>.
22163         * tests/test-hmac-*.c: Likewise.
22164         * tests/test-arcfour.c: Likewise.
22165         * tests/test-arctwo.c: Likewise.
22166         * tests/test-des.c: Likewise.
22167         * tests/test-md2.c: Likewise.
22168         * tests/test-md4.c: Likewise.
22169         * tests/test-md5.c: Likewise.
22170         * tests/test-rijndael.c: Likewise.
22171         * tests/test-sha1.c: Likewise.
22172         * tests/test-sm3.c: Likewise.
22174 2017-10-29  Jia Zhang  <qianyue.zj@alibaba-inc.com>
22175             Bruno Haible  <bruno@clisp.org>
22177         crypto/gc: fix build failure with -Werror=suggest-attribute=const
22178         * lib/gc.h (gc_hash_digest_length): Mark with 'const' attribute.
22180 2017-10-29  Jia Zhang  <qianyue.zj@alibaba-inc.com>
22182         New module: crypto/gc-sm3
22183         * lib/gc.h: Declare SM3-related stuffs.
22184         * lib/gc-gnulib.c: Support sm3 in internal functions.
22185         * lib/gc-libgcrypt.c: Support sm3 with libgcrypt.
22186         * m4/gc-sm3.m4: m4 file for gc-sm3 module.
22187         * modules/crypto/gc-sm3: Define gc-sm3 module.
22188         * tests/test-gc-sm3.c: Implement SM3 test case with libgcrypt.
22189         * modules/crypto/gc-sm3-tests: Define gc-sm3 test module.
22190         * MODULES.html.sh: List gc-sm3 module.
22192 2017-10-29  Bruno Haible  <bruno@clisp.org>
22194         random, random_r: Mention different prototypes on Haiku.
22195         * doc/posix-functions/random.texi: Mention different prototype on Haiku.
22196         * doc/glibc-functions/random_r.texi: Likewise.
22197         * doc/glibc-functions/initstate_r.texi: Likewise.
22198         * doc/glibc-functions/setstate_r.texi: Likewise.
22200 2017-10-28  Bruno Haible  <bruno@clisp.org>
22202         posix_spawn: Avoid spurious message in configure output.
22203         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Discard stderr output from
22204         'cmp' command.
22206 2017-10-28  Bruno Haible  <bruno@clisp.org>
22208         inet_ntop, inet_pton: Determine needed library correctly on Haiku.
22209         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Search also in libnetwork.
22210         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
22212 2017-10-28  Bruno Haible  <bruno@clisp.org>
22214         ioctl: Override non-POSIX declaration on Haiku.
22215         * m4/ioctl.m4 (gl_FUNC_IOCTL): Include also <unistd.h>.
22216         * lib/sys_ioctl.in.h: Add comment about Haiku.
22217         * doc/posix-functions/ioctl.texi: Mention Haiku problem.
22218         * doc/glibc-headers/sys_ioctl.texi: Likewise.
22220 2017-10-28  Bruno Haible  <bruno@clisp.org>
22222         crypto/sm3: Add overview documentation to the .h file.
22223         * lib/sm3.h: Add comments.
22225 2017-10-28  Jia Zhang  <qianyue.zj@alibaba-inc.com>
22227         New module: crypto/sm3
22228         This new module can be used to compute SM3 message digest of files or
22229         memory blocks according to the specification GM/T 004-2012
22230         Cryptographic Hash Algorithm SM3, published by State Cryptography
22231         Administration, China.
22232         The official SM3 cryptographic hash algorithm specification is
22233         available at
22234         http://www.sca.gov.cn/sca/xwdt/2010-12/17/content_1002389.shtml
22235         * lib/sm3.h: Declare the APIs of sm3 module.
22236         * lib/sm3.c: Implement SM3 hash algorithm.
22237         * m4/sm3.m4: m4 file for sm3 module.
22238         * modules/crypto/sm3: Define sm3 module.
22239         * tests/test-sm3.c: Implement SM3 test case.
22240         * modules/crypto/sm3-tests: Define sm3 test module.
22241         * MODULES.html.sh: List sm3 module.
22243 2017-10-28  Jia Zhang  <qianyue.zj@alibaba-inc.com>
22245         gc-libgcrypt: fix undefined enum type in switch statement
22246         Resolve the following build failure:
22247         lib/gc-libgcrypt.c: In function 'gc_hash_open':
22248         lib/gc-libgcrypt.c:317:5: error: case value '0' not in enumerated type
22249         'Gc_hash_mode {aka enum Gc_hash_mode}' [-Werror=switch]
22250              case 0:
22251              ^~~~
22252         * lib/gc.h (enum Gc_hash_mode): Add value GC_NULL.
22253         * lib/gc-libgcrypt.c (gc_hash_open): Use this enum value instead of 0.
22255 2017-10-28  Jia Zhang  <qianyue.zj@alibaba-inc.com>
22257         gc-libgcrypt: fix assignment error due to -Werror=pointer-sign
22258         Resolve the following build failure:
22259         lib/gc-libgcrypt.c: In function 'gc_hash_read':
22260         lib/gc-libgcrypt.c:460:14: error: pointer targets in assignment differ
22261         in signedness [-Werror=pointer-sign]
22262             digest = gcry_md_read (ctx->gch, 0);
22263                    ^
22264         * lib/gc-libgcrypt.c (gc_hash_read): Cast result of gcry_md_read.
22266 2017-10-26  Bruno Haible  <bruno@clisp.org>
22268         havelib: Fix value of LD for 32-bit compilation on NetBSD/sparc64.
22269         * m4/lib-ld.m4 (AC_LIB_PROG_LD): On NetBSD/sparc64 with CC="gcc -m32",
22270         set LD to '/usr/bin/ld -m elf32_sparc', not '/usr/bin/ld'.
22272 2017-10-21  Paul Eggert  <eggert@cs.ucla.edu>
22274         glob: fix another heap buffer overflow
22275         Problem reported by Tim Rühsen in:
22276         https://sourceware.org/bugzilla/show_bug.cgi?id=22332
22277         * lib/glob.c (glob): Avoid buffer overrun when unescaping.
22279 2017-10-19  Paul Eggert  <eggert@cs.ucla.edu>
22281         quotearg: pacify compiler re unsigned
22282         * lib/quotearg.c (quotearg_n_options):
22283         Rewrite to avoid diagnostic from overly-picky compiler.
22284         Problem reported by Sami Kerola in:
22285         https://lists.gnu.org/r/bug-gnulib/2017-10/msg00060.html
22287         glob: fix heap buffer overflow
22288         * lib/glob.c (glob): Fix off-by-one error introduced into
22289         glibc in commit dd7d45e838a42b0ed470c44b55901ea98d0c2bab
22290         dated 1997-10-29 20:33:40.  Problem reported by Tim Rühsen in:
22291         https://sourceware.org/bugzilla/show_bug.cgi?id=22320
22292         Fix suggested by Bruno Haible.
22294 2017-10-18  Paul Eggert  <eggert@cs.ucla.edu>
22296         glob: pacify fuzzer for mempcpy
22297         Problem reported by Tim Rühsen in:
22298         https://lists.gnu.org/r/bug-gnulib/2017-10/msg00054.html
22299         * lib/glob.c (glob): Do not pass NULL to mempcpy.
22301 2017-10-12  Bruno Haible  <bruno@clisp.org>
22303         doc: Fix syntax error (regression from 2017-10-03).
22304         * doc/posix-functions/strncpy.texi: Fix syntax error.
22306 2017-10-12  Bruno Haible  <bruno@clisp.org>
22308         doc: Update for Solaris 11.3.
22309         * doc/**/*.texi: For bugs that exist in both Solaris 11.0 and 11.3,
22310         mention Solaris 11.3.
22311         * m4/log2.m4: Fix comments.
22312         * m4/log2f.m4: Likewise.
22313         * m4/printf.m4: Update comments.
22314         * m4/rename.m4: Likewise.
22315         * m4/strncat.m4: Likewise.
22317         all: Write "Solaris 11.0" instead of "Solaris 11 2011-11".
22319 2017-10-10  Bruno Haible  <bruno@clisp.org>
22321         doc: Improve doc about ioctl.
22322         * doc/posix-functions/ioctl.texi: Fix list of platforms with non-POSIX
22323         prototype.
22325 2017-10-09  Bruno Haible  <bruno@clisp.org>
22327         wcwidth: Don't use obsolete syntax of 'test'.
22328         Reported by Eric Blake.
22329         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Don't optimize two 'test'
22330         invocations into one, as POSIX marks '-a' and '-o' as "obsolescent".
22332 2017-10-09  Bruno Haible  <bruno@clisp.org>
22334         getopt-posix: Fix build failure when using ac_cv_header_getopt_h=no.
22335         Reported by Christian Ehrhardt <christian.ehrhardt@canonical.com>
22336         and Daniel P. Berrange <berrange@redhat.com>.
22337         * lib/unistd.in.h (getopt): Don't attempt to avoid namespace pollution
22338         on glibc systems. The getopt-pfx-core.h file declares exactly what
22339         unistd.h needs, nothing more.
22341 2017-10-08  Bruno Haible  <bruno@clisp.org>
22343         vma-iter: Improve support for FreeBSD.
22344         * lib/vma-iter.c (vma_iterate_proc): New function, extracted from
22345         vma_iterate.
22346         (vma_iterate): Use it. For FreeBSD, try vma_iterate_bsd first.
22348 2017-10-08  Bruno Haible  <bruno@clisp.org>
22350         vma-iter: Fix truncated result on NetBSD (regression from 2017-10-07).
22351         * lib/vma-iter.c (MIN_LEFTOVER): Define to 1, not 0.
22353 2017-10-07  KO Myung-Hun  <komh@chollian.net>
22355         test-framework-sh: Fix 'invalid path dir' error.
22356         On OS/2, a path separator is ';' not ':'. And ':' is used as a
22357         separator between a drive letter and directory parts.
22358         As a result, an absolute path such as x:/path/to/dir on OS/2 is
22359         treated as an invalid path dir.
22360         * tests/init.sh (PATH_SEPARATOR): Set at startup.
22361         (path_prepend_): '?:*' is also an absolute path. Use $PATH_SEPARATOR
22362         instead of hard coded ':'.
22364 2017-10-07  Bruno Haible  <bruno@clisp.org>
22366         vma-iter: Fix truncated result on Linux (regression from 2017-09-26).
22367         * lib/vma-iter.c (MIN_LEFTOVER): New macro.
22368         (STACK_ALLOCATED_BUFFER_SIZE): Set to a minimal value if not needed.
22369         (rof_open): On Linux, do multiple read() calls and make sure
22370         MIN_LEFTOVER bytes are left when read() returns.
22372 2017-10-07  Bruno Haible  <bruno@clisp.org>
22374         vma-iter: Improve support for GNU/Hurd.
22375         * lib/vma-iter.c (vma_iterate): On GNU/Hurd, use the Mach vm_region()
22376         API, not the /proc file system.
22378 2017-10-07  Bruno Haible  <bruno@clisp.org>
22380         test-framework-sh: Don't require bash on Windows and OS/2.
22381         Reported by KO Myung-Hun.
22382         * tests/test-init.sh: Use 'shopt' only when running in bash.
22384 2017-10-06  KO Myung-Hun  <komh@chollian.net>
22386         wcwidth: check a macro version of wcwidth () as well
22387         * lib/wchar.in.h: Revert commit from 2016-01-14.
22388         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test if wcwidth is a macro.
22390 2017-10-06  Bruno Haible  <bruno@clisp.org>
22392         getopt-posix: Clarify copyright header.
22393         * lib/getopt.in.h: Don't state that gnulib is under LGPL.
22394         * lib/getopt-pfx-core.h: Likewise.
22395         * lib/getopt-pfx-ext.h: Likewise.
22396         * lib/getopt-cdefs.in.h: Likewise.
22398 2017-10-03  Bruno Haible  <bruno@clisp.org>
22400         Fix warning "`gl_HOST_CPU_C_ABI' was expanded before it was required".
22401         * modules/host-cpu-c-abi (configure.ac): Require, don't invoke
22402         gl_HOST_CPU_C_ABI.
22404 2017-10-03  Bruno Haible  <bruno@clisp.org>
22406         doc: warn about misuse of strncpy and wcsncpy.
22407         * doc/posix-functions/strcpy.texi: Describe requirements on prior
22408         memory allocation.
22409         * doc/posix-functions/wcscpy.texi: Likewise.
22410         * doc/posix-functions/strncpy.texi: Describe what this function is not
22411         useful for.
22412         * doc/posix-functions/wcsncpy.texi: Likewise.
22414 2017-10-02  Paul Eggert  <eggert@cs.ucla.edu>
22416         fsuage: fix typo in previous change
22417         * lib/fsusage.c: Remove stray include of full-read.h.
22418         Problem reported by Sam Steingold for macOS (Bug#28669).
22420 2017-10-01  Paul Eggert  <eggert@cs.ucla.edu>
22422         fsusage: remove SVR2 support
22423         SVR2 was obsolete by 1986 and is no longer supported by anybody,
22424         and its code was getting in the way of use of this module by
22425         Emacs, which has its own ‘read’ function anyway.
22426         * lib/fsusage.c: Do not include sys/filsys.h.
22427         (get_fs_usage): Remove SVR2-specific code.
22428         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE):
22429         Do not test for sys/filsys.h or set STAT_READ_FILSYS.
22430         * modules/fsusage (Depends-on): Do not depend on full-read.
22432         Simplify autoupdate of licenses
22433         * config/srclistvars.sh (GNUWWWLICENSES): Move to a more-typical
22434         place.
22436 2017-10-01  Bruno Haible  <bruno@clisp.org>
22438         vma-iter: Add support for GNU/Hurd.
22439         * lib/vma-iter.c: Treat GNU/Hurd like Linux.
22440         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on GNU/kFreeBSD.
22442 2017-09-30  Bruno Haible  <bruno@clisp.org>
22444         vma-iter: Make it work on 32-bit Solaris with module 'largefile'.
22445         * modules/vma-iter: Don't test for sys/procfs.h, as this test would
22446         fail when module 'largefile' is in use.
22447         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Don't test HAVE_SYS_PROCFS_H.
22448         * lib/vma-iter.c: Undefine _FILE_OFFSET_BITS early.
22449         Don't test HAVE_SYS_PROCFS_H.
22451 2017-09-30  Bruno Haible  <bruno@clisp.org>
22453         havelib: Make it work for CC="gcc -m32" (regression from 2017-02-19).
22454         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Require gl_HOST_CPU_C_ABI.
22455         When $CC produces 32-bit code, set acl_libdirstem to 'lib', not 'lib64'.
22456         * modules/havelib (Depends-on): Add host-cpu-c-abi.
22458 2017-09-30  Bruno Haible  <bruno@clisp.org>
22460         uniname/uniname: Don't assume C99 compiler (regression from 2015-02-16).
22461         * lib/uniname/uniname.c (unicode_name_character): Add braces around
22462         scope of local variables.
22464 2017-09-28  Bruno Haible  <bruno@clisp.org>
22466         string: code style
22467         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Reorder list of
22468         substitutable variables.
22469         * modules/string (Makefile.am): Likewise.
22471 2017-09-26  Bruno Haible  <bruno@clisp.org>
22473         uniname/uniname-tests: Tighten code.
22474         * tests/uniname/test-uninames.c (fill_names, fill_aliases): Merge two
22475         local variables into one.
22477 2017-09-26  Bruno Haible  <bruno@clisp.org>
22479         vma-iter: Improvements for Linux and BSD platforms.
22480         - Add support for DragonFly BSD.
22481         - Make it more reliable on Linux, GNU/kFreeBSD, FreeBSD, NetBSD.
22482         * lib/vma-iter.c (struct rofile, rof_open, rof_peekchar, rof_close):
22483         Read the entire file into memory in a single system call.
22484         (vma_iterate): Update. Read from /proc on DragonFly BSD like on FreeBSD.
22485         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on DragonFly BSD.
22487 2017-09-26  Bruno Haible  <bruno@clisp.org>
22489         vma-iter: Provide the protection flags on FreeBSD.
22490         * lib/vma-iter.c (vma_iterate) [FreeBSD]: When reading from /proc,
22491         skip three fields between the addresses and the protection flags.
22493 2017-09-26  Paul Eggert  <eggert@cs.ucla.edu>
22495         glob: remove bogus extern decl
22496         * lib/glob.c (__glob_pattern_type): Remove now-spurious
22497         extern declaration.  Problem reported by Adhemerval Zanella in:
22498         https://sourceware.org/ml/libc-alpha/2017-09/msg00972.html
22500 2017-09-25  Paul Eggert  <eggert@cs.ucla.edu>
22502         uniname/uniname-tests: integer overflow fix
22503         * tests/uniname/test-uninames.c (fill_names, fill_aliases):
22504         Check for integer overflow.
22506         duplocale-tests: fix unlikely crash
22507         * tests/test-duplocale.c (get_locale_dependent_values):
22508         Don’t crash with absurdly long month names.
22510         maint: fix overflow checking in nap.h
22511         * modules/chown-tests:
22512         * modules/fchownat-tests, modules/fdutimensat-tests:
22513         * modules/futimens-tests, modules/lchown-tests:
22514         * modules/stat-time-tests, modules/utime-tests:
22515         * modules/utimens-tests, modules/utimensat-tests:
22516         Depend on intprops.
22517         * tests/nap.h: Include intprops.h.
22518         (diff_timespec): Handle overflow properly.
22520         sys_types: update URL
22521         * m4/sys_types_h.m4: Use https: URL.
22523         parse-datetime: fix dependency
22524         * modules/parse-datetime (Depends-on): Depend
22525         on nstrftime, not strftime.
22527         parse-datetime, posixtm: avoid uninit access
22528         * lib/parse-datetime.y (parse_datetime2):
22529         * lib/posixtm.c (posixtime):
22530         Do not access uninitialized storage, even though the resulting
22531         value is never used.
22533 2017-09-25  Bruno Haible  <bruno@clisp.org>
22535         vma-iter: Improvements for BSD platforms.
22536         - Add support for GNU/kFreeBSD.
22537         - Make it work on FreeBSD and NetBSD even when /proc is not mounted.
22538         - Speed up on OpenBSD.
22539         * lib/vma-iter.c (struct rofile, rof*): Define also on GNU/kFreeBSD.
22540         (vma_iterate_bsd): New function.
22541         (vma_iterate): Use it as fallback on FreeBSD and NetBSD. Use it as
22542         first choice on OpenBSD. Treat GNU/kFreeBSD like Linux.
22543         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on GNU/kFreeBSD.
22544         * modules/vma-iter (configure.ac): Require AC_C_INLINE.
22546 2017-09-23  Bruno Haible  <bruno@clisp.org>
22548         strfmon_l: New module.
22549         * modules/strfmon_l: New file.
22550         * lib/strfmon_l.c: New file.
22551         * m4/strfmon_l.m4: New file.
22552         * doc/posix-functions/strfmon_l.texi: Mention the new module.
22553         * modules/strfmon_l-tests: New file.
22554         * tests/test-strfmon_l.c: New file.
22556         monetary: New module.
22557         * modules/monetary: New file.
22558         * lib/monetary.in.h: New file.
22559         * m4/monetary_h.m4: New file.
22560         * doc/posix-headers/monetary.texi: Mention the new module.
22561         * modules/monetary-tests: New file.
22562         * tests/test-monetary.c: New file.
22563         * modules/monetary-c++-tests: New file.
22564         * tests/test-monetary-c++.cc: New file.
22565         * modules/duplocale-tests (configure.ac): Use AC_CHECK_HEADERS_ONCE.
22567 2017-09-23  Bruno Haible  <bruno@clisp.org>
22569         duplocale tests: Fix test crash on Linux/x86.
22570         * tests/test-duplocale.c (test_with_uselocale): Disconnect the mixed2
22571         locale from the current thread before freeing it.
22573 2017-09-21  Paul Eggert  <eggert@cs.ucla.edu>
22575         mktime: port to OpenVMS
22576         Problem reported by John E. Malmberg in:
22577         https://lists.gnu.org/r/bug-gnulib/2017-09/msg00100.html
22578         * m4/mktime.m4 (TIME_T_IS_SIGNED): Default to 0.
22580 2017-09-16  Paul Eggert  <eggert@cs.ucla.edu>
22582         manywarnings: port to GCC on 64-bit MS-Windows
22583         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Work better if
22584         LONG_MAX < PTRDIFF_MAX.  Problem reported by Richard Copley in:
22585         https://lists.gnu.org/r/emacs-devel/2017-09/msg00392.html
22587 2017-09-13  Bruno Haible  <bruno@clisp.org>
22589         all: Replace many more http URLs by https URLs. Update stale URLs.
22590         * users.txt: Remove mention of 'newts'.
22591         * lib/localename.c: Update comment about LANG_SOTHO.
22593 2017-09-13  Paul Eggert  <eggert@cs.ucla.edu>
22595         all: Replace many http URLs by https URLs.
22597 2017-09-12  Bruno Haible  <bruno@clisp.org>
22599         doc: Prefer https URLs where possible.
22600         * doc/**/*.texi: Use https URLs instead of http URLs where possible.
22601         * doc/ld-output-def.texi: Remove unavailable URL.
22603 2017-09-12  Paul Eggert  <eggert@cs.ucla.edu>
22605         maintainer-makefile: FTP -> HTTPS
22606         * top/maint.mk (url_dir_list, ftp-gnu): Use HTTPS protocol instead
22607         of FTP, which is planned to be decommissioned on 2017-11-01.
22609 2017-09-12  Tim Rühsen  <tim.ruehsen@gmx.de>  (tiny change)
22611         libc-config: Fix __GNUC_PREREQ macro.
22612         * lib/libc-config.h (__GNUC_PREREQ): Use __GNUC_MINOR__, not
22613         __GNUC_MINOR.
22615 2017-09-09  Bruno Haible  <bruno@clisp.org>
22617         gnulib-tool: Simplify commit from 2015-08-20.
22618         * gnulib-tool (func_add_or_update): Remove local variable
22619         is_binary_file.
22621 2017-09-08  Bruno Haible  <bruno@clisp.org>
22623         stddef: Avoid conflict with system-defined max_align_t.
22624         The configure-determined HAVE_MAX_ALIGN_T may not always be accurate.
22625         Reported by Werner Lemberg <wl@gnu.org> in
22626         <https://lists.gnu.org/r/bug-gnulib/2017-08/msg00185.html>.
22627         * lib/stddef.in.h (rpl_max_align_t): Renamed from max_align_t.
22628         (max_align_t): Define as a macro.
22629         (GNULIB_defined_max_align_t): New macro. Guards against multiple
22630         definitions of rpl_max_align_t in different copies of gnulib-generated
22631         <stddef.h>.
22633 2017-09-05  Paul Eggert  <eggert@cs.ucla.edu>
22635         libc-config: port to MSVC
22636         Problems reported by Gisle Vanem in:
22637         http://lists.gnu.org/r/bug-gnulib/2017-09/msg00016.html
22638         * lib/libc-config.h (__inline): Don't define if HAVE___INLINE.
22639         (libc_hidden_proto): Stick to Standard C syntax for varargs macro.
22640         * m4/__inline.m4: New file.
22641         * modules/libc-config (Files): Add it.
22642         (Depends-on): Use it.
22644         glob: Use enum for __glob_pattern_type result
22645         From a patch proposed by Adhemerval Zanella in:
22646         https://sourceware.org/ml/libc-alpha/2017-09/msg00212.html
22647         * lib/glob_internal.h (GLOBPAT_NONE, GLOBPAT_SPECIAL)
22648         (GLOBPAT_BACKSLASH, GLOBPAT_BRACKET): New constants.
22649         * lib/glob_internal.h (__glob_pattern_type):
22650         * lib/glob.c (glob):
22651         * lib/glob_pattern_p.c (__glob_pattern_p):
22652         Use them.
22654         glob: fix for use in glibc
22655         Problem reported by Adhemerval Zanella in:
22656         https://sourceware.org/ml/libc-alpha/2017-09/msg00213.html
22657         * lib/glob.c (DT_UNKNOWN, DT_DIR, DT_LINK):
22658         Do not redefine if _LIBC.
22660 2017-09-02  Paul Eggert  <eggert@cs.ucla.edu>
22662         glob: fix bugs with long login names
22663         Problem reported by Adhemerval Zanella in:
22664         https://sourceware.org/ml/libc-alpha/2017-08/msg00455.html
22665         * lib/glob.c (GET_LOGIN_NAME_MAX): Remove.
22666         (glob): Use the same scratch buffer for both getlogin_r and
22667         getpwnam_r.  Don’t require preallocation of the login name.  This
22668         simplifies storage allocation, and corrects the handling of
22669         long login names.
22671 2017-09-02  Bruno Haible  <bruno@clisp.org>
22673         dirent: Update doc.
22674         * doc/posix-headers/dirent.texi: More concrete list of platforms.
22676 2017-09-02  Paul Eggert  <eggert@cs.ucla.edu>
22678         glob: fix getpwnam_r errno typo
22679         * lib/glob.c (glob): Fix longstanding misuse of errno after
22680         getpwnam_r, which returns an error number rather than setting
22681         errno.
22683         glob: fix typo in recent change
22684         * lib/glob.c (glob) [!HAVE_GETPWNAM_R && !_LIBC]:
22685         Fix recently-introduced typo.
22687 2017-09-02  Paul Eggert  <eggert@cs.ucla.edu>
22689         glob: don't save and restore errno unnecessarily
22690         * lib/glob.c (glob): Don't save and restore errno
22691         merely because we have getpwnam_r.
22693         glob: don't assume getpwnam_r
22694         * lib/glob.c (glob): Port recent patches to platforms
22695         lacking getpwnam_r.
22697         scratch_buffer: don’t use private glibc API
22698         Suggested by Florian Weimer in:
22699         http://lists.gnu.org/r/bug-gnulib/2017-09/msg00004.html
22700         * lib/scratch_buffer.h: Rename to lib/malloc/scratch_buffer.h.
22701         * lib/scratch_buffer_grow.c: Rename to
22702         lib/malloc/scratch_buffer_grow.c.
22703         * lib/scratch_buffer_grow_preserve.c: Rename to
22704         lib/malloc/scratch_buffer_grow_preserve.c.
22705         * lib/scratch_buffer_set_array_size.c: Rename to
22706         lib/malloc/scratch_buffer_set_array_size.c.
22707         * lib/scratch_buffer.h: New file.
22708         * modules/scratch_buffer (Files, Makefile.am):
22709         Adjust to source-file renaming.
22711 2017-09-01  Paul Eggert  <eggert@cs.ucla.edu>
22713         glob: use scratch_buffer instead of extend_alloca
22714         Much of the lib/glob.c part of this patch comes from a glibc patch
22715         proposed by Adhemerval Zanella in:
22716         https://sourceware.org/ml/libc-alpha/2017-08/msg00456.html
22717         * lib/glob.c: Do not include <config.h>, since <libc-config.h>,
22718         included via glob.h, does this for us now.
22719         (__set_errno): Remove, as libc-config does this for us now.
22720         Include <scratch_buffer.h>.
22721         (GETPW_R_SIZE_MAX): Remove.
22722         (glob): Use struct scratch_buffer instead of extend_alloca.
22723         * lib/glob.in.h: Include libc-config.h rather than
22724         including <sys/cdefs.h> conditionally.
22725         (__BEGIN_DECLS, __END_DECLS, __THROW, __THROWNL, attribute_hidden)
22726         (__glibc_unlikely, __restrict, weak_alias):
22727         Remove, as libc-config does this for us now.
22728         * m4/glob.m4 (gl_PREREQ_GLOB):
22729         Remove sys/cdefs.h tests; no longer needed.
22730         * modules/glob (Depends-on): Add libc-config, scratch_buffer.
22731         (glob.h): Do not replace HAVE_SYS_CDEFS_H.
22733         scratch_buffer: new module
22734         * lib/scratch_buffer.h, lib/scratch_buffer_grow.c:
22735         * lib/scratch_buffer_grow_preserve.c:
22736         * lib/scratch_buffer_set_array_size.c:
22737         New files, copied from glibc with very minor changes that can be
22738         copied back.
22739         * modules/scratch_buffer: New file.
22741         libc-config: new module
22742         * MODULES.html.sh: Add libc-config.
22743         * lib/cdefs.h: New file, copied from the GNU C Library with very
22744         minor changes that can be copied back.
22745         * lib/libc-config.h, modules/libc-config: New files.
22747 2017-08-31  Paul Eggert  <eggert@cs.ucla.edu>
22749         glob: match dangling symlinks
22750         This fixes a bug I inadvertently introduced to Gnulib when I
22751         merged glibc glob back into gnulib on 2007-10-16.  This fix is
22752         inspired by a patch proposed for glibc by Adhemerval Zanella in:
22753         https://sourceware.org/ml/libc-alpha/2017-08/msg00446.html
22754         * doc/posix-functions/glob.texi: Update list of affected platforms.
22755         * lib/glob.c (__lstat64): New macro.
22756         (is_dir): New function.
22757         (glob, glob_in_dir): Match symlinks even if they are dangling.
22758         (link_stat, link_exists_p): Remove.  All uses removed.
22759         * lib/glob.in.h (__attribute_noinline__): Remove; no longer used.
22760         * m4/glob.m4 (gl_PREREQ_GLOB): Do not check for fstatat.
22761         * modules/glob-tests (Depends-on): Add symlink.
22762         * tests/test-glob.c: Include errno.h, unistd.h.
22763         (BASE): New macro.
22764         (main): Test dangling symlinks, if symlinks are supported.
22766         glob, backupfile: inode 0 is a valid inode number
22767         * doc/posix-functions/readdir.texi (readdir):
22768         * doc/posix-headers/dirent.texi (dirent.h):
22769         Document more readdir portability issues.
22770         * lib/backupfile.c (REAL_DIR_ENTRY): Remove.
22771         (numbered_backup): Don’t treat inode 0 any differently from
22772         other inode values.
22773         * lib/glob.c (struct readdir_result): Remove skip_entry member.
22774         (readdir_result_skip_entry, D_INO_TO_RESULT): Remove.
22775         All uses removed.
22776         * modules/glob (Depends-on): Remove d-ino.
22778         glob: simplify symlink detection
22779         * lib/glob.c (dirent_type): New type.  Use uint_fast8_t not
22780         uint8_t, as C99 does not require uint8_t.
22781         (struct readdir_result): Use it.  Do not define skip_entry unless
22782         it is needed; this saves a byte on platforms lacking d_ino.
22783         (readdir_result_type, readdir_result_skip_entry):
22784         New functions, replacing ...
22785         (readdir_result_might_be_symlink, readdir_result_might_be_dir):
22786         ... these functions, which were removed.  This makes the callers
22787         easier to read.  All callers changed.
22788         (D_INO_TO_RESULT): Now empty if there is no d_ino.
22790 2017-08-30  Pádraig Brady  <P@draigBrady.com>
22792         fts-tests: tag as a longrunning-test so not included by default
22793         * modules/fts-tests: This test takes about 20s on current systems,
22794         and uses about 285M of space on ext4.
22796 2017-08-30  Pádraig Brady  <P@draigBrady.com>
22798         renameat2: fix compilation on alpine linux
22799         * m4/renameat.m4: Check for <linux/fs.h> presence.
22800         * lib/renameat2.h: Only include <linux/fs.h> if present.
22801         Reported by Assaf Gordon on Alpine Linux.
22803 2017-08-24  Paul Eggert  <eggert@cs.ucla.edu>
22805         glob: try to port recent changes to MS-Windows
22806         Problem reported by Bruno Haible in:
22807         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00170.html
22808         * lib/glob.c (__glob_pattern_p) [!_LIBC]: Move from here ...
22809         * lib/glob.in.h (__glob_pattern_p): ... to here.
22811 2017-08-24  Eric Blake  <eblake@redhat.com>
22813         warnings: fix compilation with old autoconf
22814         * m4/warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C))
22815         (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C++)): Use m4_defun rather than
22816         AC_DEFUN.
22817         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C))
22818         (gl_MANYWARN_ALL_GCC(C++)): Likewise.
22820 2017-08-24  Bruno Haible  <bruno@clisp.org>
22822         glob: Fix compilation error on NetBSD 7.0 and OpenBSD 6.0.
22823         * modules/glob (Depends-on): Add c99.
22825 2017-08-24  Paul Eggert  <eggert@cs.ucla.edu>
22827         glob: fix typo that broke platforms lacking d_ino
22828         This typo also hurt performance on GNU/Linux and similar hosts.
22829         * lib/glob.c (D_INO_TO_RESULT): Fix typo (reversed ifdef)
22830         in previous change.
22832 2017-08-23  Paul Eggert  <eggert@cs.ucla.edu>
22834         glob: merge from glibc with Zanella glob changes
22835         Merge glob from glibc, with changes for glob proposed
22836         by Adhemerval Zanella in the thread starting here:
22837         https://sourceware.org/ml/libc-alpha/2017-08/msg01079.html
22838         plus some fixes for this merge.
22839         * lib/glob_internal.h, lib/glob_pattern_p.c, lib/globfree.c:
22840         New files, ported from glibc.
22841         * lib/glob-libc.h (_Restrict_): Remove.  All uses replaced
22842         with __restrict.
22843         (__size_t): Remove.  All uses replaced by size_t.
22844         (size_t): Define by defining __need_size_t and including <stddef.h>.
22845         This should work even in non-glibc platforms, where any name
22846         pollution is OK.
22847         Use __USE_MISC instead of __USE_BSD || __USE_GNU.
22848         (struct stat64): Don’t worry about __GLOB_GNULIB.
22849         (glob, globfree, glob_pattern_p): Remove macros for
22850         __USE_FILE_OFFSET64 && __GNUC__ < 2 && !defined __GLOB_GNULIB
22851         case.  Remove _GL_ARG_NONNULL as GNU behavior is to accept NULL
22852         but set errno.
22853         * lib/glob.c (_GL_ARG_NONNULL) [!_LIBC]: Remove.  All uses
22854         removed since the glibc behavior works on null pointers.
22855         Do not include stdio.h; old SunOS is irrelevant now.
22856         Do not worry about GLOB_ONLY_P as we now mimic glibc here.
22857         Include glob_internal.h.
22858         (D_INO_TO_RESULT): Depend on (_LIBC || D_INO_IN_DIRENT), not
22859         ((POSIX || WINDOWS32) && !__GNU_LIBRARY__).  The latter probably
22860         worked only coincidentally.
22861         (attribute_hidden, __attribute_noinline__, __glibc_unlikely):
22862         Remove macros; now done in glob.in.h.
22863         (size_add_wrapv): Do not use __builtin_add_overflow if __ICC.
22864         (glob): Properly initialize glob structure with
22865         GLOB_BRACE|GLOB_DOOFFS (bug 20707).
22866         Remove old code using SHELL since Bash no longer
22867         uses this.
22868         (glob, prefix_array): Separate MS code better.
22869         (glob, glob_in_dir): Use C99 decls before statements when glibc
22870         does.
22871         (glob_in_dir): Remove old Amiga and VMS code.
22872         (globfree, __glob_pattern_type, __glob_pattern_p): Move to
22873         separate files.
22874         * lib/glob.in.h (attribute_hidden, __attribute_noinline__)
22875         (__glibc_unlikely):
22876         Move here from glob.c.
22877         (__restrict): New macro here, replacing the _Restrict_ in glob.c.
22878         (weak_alias): New macro.
22879         (__size_t): Remove.  All uses replaced by size_t.
22880         * modules/d-ino (License): Now LGPLv2+, for compatibility with glob.
22881         * modules/glob (Files): Add +lib/glob_internal.h,
22882         lib/glob_pattern_p.c, lib/globfree.c.
22883         (Depends-on): Remove snippet/arg-nonnull.
22885 2017-08-22  Paul Eggert  <eggert@cs.ucla.edu>
22887         glob: port to clang's Undefined Sanitizer
22888         Problem reported by Tim Rühsen in:
22889         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00144.html
22890         * lib/glob.c (FLEXIBLE_ARRAY_MEMBER) [_LIBC]: Define to empty.
22891         (glob_in_dir): Do not rely on undefined behavior in accessing
22892         struct members beyond their bounds.  Use a flexible array member
22893         instead.
22895 2017-08-21  Paul Eggert  <eggert@cs.ucla.edu>
22897         vc-list-files: port to Solaris 10
22898         * build-aux/vc-list-files: Don't assume test -e works.
22900 2017-08-21  Karl Berry  <karl@freefriends.org>
22902         * doc/posix-functions/srandom.texi (srandom): typo }.
22904 2017-08-20  Paul Eggert  <eggert@cs.ucla.edu>
22906         git-version-gen: port to Solaris 10
22907         Problem reported by Dagobert Michelsen in:
22908         http://lists.gnu.org/r/grep-devel/2017-08/msg00002.html
22909         * build-aux/git-version-gen (v_from_git):
22910         Use expr instead of shell substitution.
22912 2017-08-19  Bruno Haible  <bruno@clisp.org>
22914         host-cpu-c-abi: Improve detection of MIPS ABI.
22915         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): For MIPS, test the value of
22916         _MIPS_SIM.
22918 2017-08-17  Bruno Haible  <bruno@clisp.org>
22920         hypot tests: Fix test failure on FreeBSD 11.0/x86.
22921         * tests/test-hypot.h (test_function): Declare z as 'volatile'.
22923 2017-08-17  Bruno Haible  <bruno@clisp.org>
22925         float: Fix LDBL_MIN value on FreeBSD/x86.
22926         * lib/float.in.h (LDBL_MIN) [__FreeBSD__]: Add more precision.
22928 2017-08-17  Bruno Haible  <bruno@clisp.org>
22930         random: Fix test compilation failure on Cygwin 1.5.25.
22931         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_INITSTATE,
22932         HAVE_DECL_SETSTATE.
22933         * m4/random.m4 (gl_FUNC_RANDOM): Test whether initstate and setstate are
22934         declared.
22935         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_INITSTATE,
22936         HAVE_DECL_SETSTATE.
22937         * lib/stdlib.in.h (initstate): Declare also if HAVE_DECL_INITSTATE is 0.
22938         (setstate): Declare also if HAVE_DECL_SETSTATE is 0.
22939         * doc/posix-functions/initstate.texi: Mention the Cygwin 1.5.x problem.
22940         * doc/posix-functions/random.texi: Likewise.
22941         * doc/posix-functions/setstate.texi: Likewise.
22942         * doc/posix-functions/srandom.texi: Likewise.
22944 2017-08-16  Bruno Haible  <bruno@clisp.org>
22946         stdnoreturn: Fix test compilation failure on Cygwin.
22947         * m4/stdnoreturn.m4 (gl_STDNORETURN_H): On Cygwin, use gnulib's
22948         <stdnoreturn.h> replacement.
22949         * lib/stdnoreturn.in.h (noreturn): Treat Cygwin like MSVC.
22950         * doc/posix-headers/stdnoreturn.texi: Mention the Cygwin problem.
22952 2017-08-16  Bruno Haible  <bruno@clisp.org>
22954         thread: Fix conflict with pthread_sigmask module.
22955         * lib/glthread/thread.h (pthread_sigmask): Don't declare it weak if
22956         it's defined as a macro.
22957         * modules/thread (Depends-on): Add pthread_sigmask.
22959 2017-08-16  Paul Eggert  <eggert@cs.ucla.edu>
22961         rename: port better to NetBSD
22962         * doc/posix-functions/rename.texi (rename): NetBSD 7
22963         does not have the link-count bug.
22964         * m4/rename.m4 (gl_FUNC_RENAME): Don’t consider NetBSD to be
22965         broken merely because rename ("a", "b") removes "a" when the two
22966         names are hard links to the same file.
22968 2017-08-16  Bruno Haible  <bruno@clisp.org>
22970         iconv_open, uni*: Add support for VPATH builds with OpenBSD 'make'.
22971         * modules/iconv_open (Makefile.am): In the rules that use gperf, prefix
22972         the target file names with '$(srcdir)/'.
22973         * modules/unicase/locale-language (Makefile.am): Likewise.
22974         * modules/unicase/special-casing (Makefile.am): Likewise.
22975         * modules/unictype/bidiclass-byname (Makefile.am): Likewise.
22976         * modules/unictype/category-byname (Makefile.am): Likewise.
22977         * modules/unictype/combining-class-byname (Makefile.am): Likewise.
22978         * modules/unictype/joininggroup-byname (Makefile.am): Likewise.
22979         * modules/unictype/joiningtype-byname (Makefile.am): Likewise.
22980         * modules/unictype/property-byname (Makefile.am): Likewise.
22981         * modules/unictype/scripts (Makefile.am): Likewise.
22982         * modules/uninorm/composition (Makefile.am): Likewise.
22984 2017-08-16  Bruno Haible  <bruno@clisp.org>
22986         nonblocking-socket tests: Fix failure on OpenBSD 6.0.
22987         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE): Increase
22988         value for OpenBSD.
22990 2017-08-16  Bruno Haible  <bruno@clisp.org>
22992         rename, renameat: Update doc regarding NetBSD.
22993         * doc/posix-functions/rename.texi: Clarify that when using
22994         -D_XOPEN_SOURCE=500 on NetBSD 7.0, the hard link bug is gone.
22995         * doc/posix-functions/renameat.texi: Be more precise about NetBSD
22996         version.
22998 2017-08-15  Paul Eggert  <eggert@cs.ucla.edu>
23000         renameat2: port better to macOS
23001         * lib/renameat2.c (renameat2): Use renameatx_np if available.
23003         futimens: don’t assume struct timespec layout
23004         * m4/futimens.m4 (gl_FUNC_FUTIMENS):
23005         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT):
23006         * tests/test-fdutimensat.c (main):
23007         * tests/test-futimens.h (test_futimens):
23008         * tests/test-lutimens.h (test_lutimens):
23009         * tests/test-utimens.h (test_utimens):
23010         * tests/test-utimensat.c (main):
23011         Don’t assume that struct timespec is a two-member structure in
23012         tv_sec, tv_nsec order.  Although this is true on all platforms we
23013         know about, POSIX does not guarantee it.
23015         rename: document+test NetBSD rename
23016         Test failure reported by Bruno Haible in:
23017         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00104.html
23018         This is an area where NetBSD is better-behaved than POSIX,
23019         so allow the NetBSD behavior in tests.
23020         * doc/posix-functions/rename.texi:
23021         * doc/posix-functions/renameat.texi: Document NetBSD behavior.
23022         * tests/test-rename.h (test_rename): Allow NetBSD behavior.
23024 2017-08-15  Bruno Haible  <bruno@clisp.org>
23026         renameat: Ensure declaration in <stdio.h> on NetBSD.
23027         * lib/stdio.in.h: Include <unistd,h> also on NetBSD.
23028         * doc/posix-functions/renameat.texi: Mention this problem.
23030 2017-08-15  Bruno Haible  <bruno@clisp.org>
23032         duplocale: Work around NetBSD 7.0 bug.
23033         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Test against the NetBSD 7.0 bug.
23034         * lib/duplocale.c: Add comment about NetBSD problem.
23035         * doc/posix-functions/duplocale.texi: Mention the NetBSD problem.
23037 2017-08-15  Bruno Haible  <bruno@clisp.org>
23039         duplocale tests: Verify use with *_l functions.
23040         * modules/duplocale-tests (configure.ac): Test for uselocale and
23041         some *_l functions.
23042         * tests/test-duplocale.c (test_with_uselocale): New function, extracted
23043         from main.
23044         (get_locale_dependent_values_from, test_with_locale_parameter): New
23045         functions.
23046         (main): Test both test_with_uselocale and test_with_locale_parameter.
23048 2017-08-15  Bruno Haible  <bruno@clisp.org>
23050         extensions: Enable NetBSD specific extensions.
23051         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _NETBSD_SOURCE.
23053 2017-08-14  Bruno Haible  <bruno@clisp.org>
23055         open, openat: Update doc about O_CLOEXEC.
23056         * doc/posix-functions/open.texi: More concrete list of platforms.
23057         * doc/posix-functions/openat.texi: Likewise.
23059 2017-08-14  Paul Eggert  <eggert@cs.ucla.edu>
23061         open: support O_CLOEXEC
23062         * NEWS, doc/posix-functions/open.texi:
23063         * doc/posix-functions/openat.texi: Document this.
23064         * lib/fcntl.in.h (O_CLOEXEC): Default to a nonzero value.
23065         (GNULIB_defined_O_CLOEXEC): New symbol.
23066         * lib/open.c: Include cloexec.h.
23067         (open): Support O_CLOEXEC.
23068         * lib/openat.c: Include cloexec.h.
23069         (rpl_openat): Support O_CLOEXEC.
23070         * lib/popen-safer.c: Do not include cloexec.h.
23071         (open_noinherit): Remove.
23072         (popen_safer): Use O_CLOEXEC instead of set_cloexec_flag.
23073         * lib/save-cwd.c: Do not include cloexec.h.
23074         (save_cwd): Use O_CLOEXEC instead of set_cloexec_flag.
23075         * m4/open-cloexec.m4: New file.
23076         * m4/open.m4 (gl_FUNC_OPEN): Require gl_PREPROC_O_CLOEXEC.
23077         Replace 'open' if O_CLOEXEC is not present.
23078         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_PREPROC_O_CLOEXEC.
23079         Replace 'openat' if O_CLOEXEC is not present.
23080         * modules/freopen (Depends-on): Depend on 'open' if replacing freopen.
23081         * modules/open (Files): Add m4/open-cloexec.m4.
23082         (Depends-on): Depend on cloexec if replacing 'open'.
23083         * modules/openat (Files): Add m4/open-cloexec.m4.
23084         (Depends-on): Depend on cloexec if replacing openat.
23085         * modules/popen-safer (Depends-on): Remove cloexec.
23086         * modules/save-cwd (Depends-on): Remove cloexec, and add
23087         fd-safer-flag and 'open'.
23089 2017-08-13  Paul Eggert  <eggert@cs.ucla.edu>
23091         reallocarray: minor fixes
23092         * doc/glibc-functions/reallocarray.texi: Update version numbers.
23093         * m4/reallocarray.m4 (gl_FUNC_REALLOCARRAY): Don't trust _cv_ contents.
23094         * modules/reallocarray (License): Change from GPL to LGPL.
23095         * tests/test-reallocarray.c (main): Fix ENOMEM typo.
23096         Indent properly and don't use tabs.
23098 2017-08-13  Darshit Shah  <darnir@gnu.org>
23100         reallocarray: New module
23101         reallocarray is a new function in glibc 2.26 to safely allocate an array
23102         of memory locations with integer overflow protection.
23103         * MODULES.html.sh: Add reallocarray.
23104         * doc/glibc-functions/reallocarray.texi: Documentation for reallocarray.
23105         * lib/reallocarray.c: New file to implement module reallocarray.
23106         * lib/stdlib.in.h: Add function declarations for reallocarray.
23107         * m4/reallocarray.m4: New file.
23108         * m4/stdlib_h.m4: Declare reallocarray.
23109         * modules/reallocarray: New file.
23110         * modules/reallocarray-test: New file.
23111         * modules/stdlib: Coerce stdlib.h to export reallocarray.
23112         * tests/test-reallocarray.c: New test.
23114 2017-08-12  Paul Eggert  <eggert@cs.ucla.edu>
23116         dirent-safer: fix cloexec race
23117         * lib/opendir-safer.c: Include fcntl.h instead of unistd-safer.h.
23118         (opendir_safer): Use F_DUPFD_CLOEXEC.
23119         * modules/dirent-safer (Depends-on): Add fcntl.  Remove unistd-safer.
23120         * tests/test-dirent-safer.c: Do not include unistd-safer.h,
23121         as it is no longer a prerequisite.  Use F_DUPFD_CLOEXEC
23122         instead of dup_safer.
23124         fts: fix cloexec races
23125         * lib/fts.c [!_LIBC]: Do not include dirent--.h, unistd--.h, cloexec.h.
23126         (opendirat, diropen): Use O_CLOEXEC instead of set_cloexec_flag.
23127         (fts_build): Use F_DUPD_CLOEXEC rinstad of set_cloexec_flag.
23128         (fd_ring_check): Set cloexec flag on new file descriptors.
23129         (fts_build, fd_ring_check): While we’re at it, make sure the
23130         resulting file descriptor is not 0, 1, or 2, since that is easy.
23132 2017-08-11  Bruno Haible  <bruno@clisp.org>
23134         fts tests: Fix link error.
23135         Reported by Tom G. Christensen in
23136         https://lists.gnu.org/r/bug-gnulib/2017-08/msg00078.html
23137         * modules/fts-tests (Makefile.am): Link test-fts against LIBINTL.
23139 2017-08-10  Paul Eggert  <eggert@cs.ucla.edu>
23141         fts: port recent changes to CentOS 6
23142         Problem reported by Tom G. Christensen in:
23143         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00064.html
23144         * lib/fts.c (fsword): New type.
23145         (struct dev_type, filesystem_type): Use it.
23146         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for __fsword_t.
23147         Also, check for f_type only if fstatfs and sys/vfs.h work.
23149 2017-08-09  Paul Eggert  <eggert@cs.ucla.edu>
23151         tempname: do not depend on secure_getenv
23152         Excess dependency noted by Eli Zaretskii (Bug#28023#17).
23153         * lib/tempname.c (__secure_getenv) [!_LIBC]: Remove; unused.
23154         * modules/tempname (Depends-on): Remove secure_getenv.
23156 2017-08-08  Paul Eggert  <eggert@cs.ucla.edu>
23158         extensions: add _OPENBSD_SOURCE
23159         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _OPENBSD_SOURCE.
23161 2017-08-06  Reuben Thomas  <rrt@sc3d.org>
23162             Bruno Haible  <bruno@clisp.org>
23164         manywarnings: Add support for C++.
23165         * build-aux/g++-warning.spec: New file.
23166         * m4/manywarnings-c++.m4: New file.
23167         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C++)): New macro, that
23168         redirects to manywarnings-c++.m4.
23169         * modules/manywarnings (Files): Add m4/manywarnings-c++.m4.
23171 2017-08-06  Paul Eggert  <eggert@cs.ucla.edu>
23173         git-version-gen: another fix for tags with "-"
23174         * build-aux/git-version-gen: Improve fix for tags containing "-".
23175         Suggested by Markus Armbruster in:
23176         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00034.html
23178 2017-08-06  Bruno Haible  <bruno@clisp.org>
23180         warnings, manywarnings: Add support for multiple languages, not just C.
23181         * warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS_IMPL): Renamed from
23182         gl_UNKNOWN_WARNINGS_ARE_ERRORS.
23183         (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C)): New macro.
23184         (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C++)): New macro.
23185         (gl_UNKNOWN_WARNINGS_ARE_ERRORS): Dispatch to
23186         gl_UNKNOWN_WARNINGS_ARE_ERRORS(_AC_LANG).
23187         (gl_WARN_ADD): Require the gl_UNKNOWN_WARNINGS_ARE_ERRORS specialization
23188         of the current language. If C++ is the current language, modify
23189         WARN_CXXFLAGS instead of WARN_CFLAGS.
23190         * manywarnings.m4 (gl_MANYWARN_ALL_GCC(C)): New macro, extracted from
23191         gl_MANYWARN_ALL_GCC.
23192         (gl_MANYWARN_ALL_GCC): Dispatch to gl_MANYWARN_ALL_GCC(_AC_LANG).
23194 2017-08-06  Markus Armbruster  <armbru@pond.sub.org>
23196         git-version-gen: Fix for tags containing '-'
23198         Really old versions of git-describe (before v1.5.0, Feb 2007)
23199         don't have the number of commits in their long format output,
23200         i.e. where modern 'git describe --abbrev=4 --match="v*"' prints
23201         "v0.1-1494-g124b9", they print "v0.1-1494-g124b9".  git-version-gen
23202         recognizes both patterns, and normalizes the old format to the new one.
23204         Unfortunately, this normalization code gets confused when the tag
23205         contains '-'.  Reproducer:
23207             $ git-tag -m test v0.2-rc1
23208             $ build-aux/git-version-gen .tarball-version; echo
23209             build-aux/git-version-gen: WARNING: git rev-list failed
23210             UNKNOWN
23212         We take exact tag "v0.2-rc1" for the old format, extract the presumed
23213         tag "v0.2" from it, then run "git rev-list v0.2..HEAD" to count
23214         commits since tha tag.  Fails, because tag "v0.2" does not exist.
23216         * git-version-gen: We could perhaps drop support for versions from
23217         more than a decade ago.  But tightening the pattern match is easy
23218         enough, so do that.  Still breaks when you use version tags ending in
23219         something matching -g????, but you arguably get what you deserve then.
23221 2017-08-05  Paul Eggert  <eggert@cs.ucla.edu>
23223         valgrind-tests: use ls, and cache
23224         * m4/valgrind-tests.m4: Test ls, not bash.
23225         Problem reported by Reuben Thomas.
23226         Also, cache the result so that it can be overridden.
23228 2017-08-04  Paul Eggert  <eggert@cs.ucla.edu>
23230         manywarnings: port to 64-bit GCC builds of Emacs
23231         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Compute max safe
23232         object size rather than hardwiring 2147483647.  This is needed to
23233         build GNU Emacs, which has one conditional (and used
23234         only-in-theory) call to malloc with a literal greater than
23235         2147483647.
23237 2017-08-04  Bruno Haible  <bruno@clisp.org>
23239         Relax the license of some modules with no runtime code.
23240         * modules/std-gnu11 (License): Set to 'unlimited'.
23241         * modules/c99 (License): Likewise.
23242         Reported by Reuben Thomas <rrt@sc3d.org>.
23243         * modules/d-ino (License): Set to 'LGPL'.
23244         * modules/host-os (License): Likewise.
23245         * modules/longlong (License): Likewise.
23247 2017-08-03  Paul Eggert  <eggert@cs.ucla.edu>
23249         renameat2: port to RHEL 7 + NFS
23250         * lib/renameat2.c (renameat2) [SYS_renameat2]:
23251         Port to RHEL 7 + NFS.  Problem reported by Ted Zlatanov in:
23252         http://lists.gnu.org/r/emacs-devel/2017-08/msg00082.html
23254 2017-08-02  Paul Eggert  <eggert@cs.ucla.edu>
23256         renameat2: port to non-renameat platforms
23257         Problem reported for MSVC-2015 by Gisle Vanem in:
23258         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00001.html
23259         * lib/renameat2.c [!HAVE_RENAMEAT]: Include <sys/stat.h> here too.
23260         (renameat2) [!HAVE_RENAMEAT]: Fix typo in arg passing.
23262 2017-08-01  Paul Eggert  <eggert@cs.ucla.edu>
23264         manywarnings: port to 32-bit GCC bug
23265         Problem reported by Pino Toscano in:
23266         http://lists.gnu.org/r/bug-gnulib/2017-07/msg00150.html
23267         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Use 2**31 - 1,
23268         not 2**63 - 1, to work around the following GCC bug:
23269         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81650
23271 2017-07-30  Paul Eggert  <eggert@cs.ucla.edu>
23273         backupfile: new function to validate backup suffix
23274         * lib/backupfile.c (set_simple_backup_suffix): New function.
23275         (backupfile_internal): Use it.
23277         canonicalize: fix EOVERFLOW commentary
23278         Problem reported by Bruno Haible in:
23279         http://lists.gnu.org/r/bug-gnulib/2017-07/msg00147.html
23280         * lib/canonicalize.c (canonicalize_filename_mode):
23281         * lib/canonicalize-lgpl.c (__realpath): Fix comments.
23283         Don't interpret EOVERFLOW to mean nonexistence
23284         * lib/fts.c (fts_stat): If lstat fails, report its errno, which
23285         may be EOVERFLOW; this is likely more useful than reporting the
23286         stat errno.
23287         * lib/glob.c (link_stat): Rename from link_exists2_p and
23288         return -1/0 instead of 0/1.  Caller changed.
23289         * lib/glob.c (link_exists_p):
23290         * lib/renameat2.c (rename_noreplace, renameat2):
23291         * lib/tempname.c (try_nocreate):
23292         If errno == EOVERFLOW then the directory entry exists, so do not
23293         act as if it does not exist.
23295         backup-rename: new module
23296         It is like backupfile, except it avoids some race conditions,
23297         and it does not output to stderr or exit.
23298         * MODULES.html.sh: Add backup-rename.
23299         * lib/backup-find.c, lib/backup-internal.h, lib/backup-rename.c:
23300         * modules/backup-rename: New files.
23301         * lib/backupfile.c: Turn this into an internals file, which
23302         contains code common to backupfile and backup_rename.  Include
23303         backupfile-internal.h instead of backupfile.h.  Do not include
23304         argmatch.h or xalloc.h: include xalloc-oversized.h.  Include
23305         renameat2.h and fcntl.h.
23306         (BACKUP_NOMEM): New constant.
23307         (numbered_backup): New args BASE_OFFSET and *DIRPP.  Do not exit
23308         on memory exhaustion; just return BACKUP_NOMEM.  Caller changed.
23309         (backupfile_internal): Rename from find_backup_file_name.
23310         Support new arg RENAME.
23311         (backup_args, backup_types, get_version, xget_version):
23312         Move to lib/backup-find.c.
23313         * lib/backupfile.h (backup_file_rename): New decl.
23314         * modules/backupfile (Files): Add lib/backup-internal.h,
23315         lib/backup-find.c.
23316         (Depends-on): Add dirfd, fcntl, renameat2.
23317         (lib_SOURCES): Add backup-find.c.
23319         renameat2: port better to older Solaris
23320         * lib/renameat2.c (renameat2): Set ret_val properly on old Solaris.
23321         Add goto to use a label, to silence picky compilers.
23323         fts-tests: port to gcc -Wwrite-strings
23324         * tests/test-fts.c (base, base_d): New static vars.
23325         (argv, remove_tree, main): Use them.
23327 2017-07-26  Reuben Thomas  <rrt@sc3d.org>
23329         relocatable-lib{,-lgpl}: improve documentation
23330         * doc/relocatable-maint.texi: Document use of relocatable-lib{,-lgpl}.
23331         Various other updates.
23333 2017-07-30  Reuben Thomas  <rrt@sc3d.org>
23334             Bruno Haible  <bruno@clisp.org>
23336         relocatable-lib{,-lgpl}: add Valgrind suppressions
23337         * lib/relocatable.valgrind: New file.
23338         * modules/relocatable-lib (Files): Add relocatable.valgrind.
23339         * modules/relocatable-lib-lgpl: Likewise.
23341 2017-07-26  Reuben Thomas  <rrt@sc3d.org>
23343         relocatable: Make the license on the sources the GPL.
23344         * lib/relocatable.h, lib/relocatable.c: Change the copyright notice from
23345         LGPL, which was a special case so that the relocatable source files
23346         could be used without gnulib-tool, to GPL. They can still be used under
23347         the LGPL, using the --lgpl option to gnulib-tool.
23349 2017-07-30  Bruno Haible  <bruno@clisp.org>
23351         host-cpu-c-abi: Detect ILP32 ABI on IA-64 HP-UX.
23352         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Distinguish ia64-ilp32
23353         from ia64. For arm64, test only __aarch64__, as __ARM_64BIT_STATE and
23354         __ARM_PCS_AAPCS64 are not reliable indicators: they are not defined on
23355         Ubuntu 14.04 (gcc 4.8.4) and Debian 8 (gcc 4.9.2).
23357 2017-07-27  Paul Eggert  <eggert@cs.ucla.edu>
23359         faccessat: document AT_SYMLINK_NOFOLLOW issue
23360         * doc/posix-functions/faccessat.texi: Modernize platform list.
23361         Document AT_SYMLINK_NOFOLLOW limitation.
23363         renameat2: port to Solaris 10
23364         * lib/renameat2.c (rename_noreplace): Use lstat, not faccessat
23365         with AT_SYMLINK_NOFOLLOW (which is not portable).
23366         (renameat): Undef before using, to avoid endless recursion when
23367         the replacement renameat calls renameat2 which calls the
23368         replacement renameat.
23369         (renameat2): Use lstatat, not faccessat with AT_SYMLINK_NOFOLLOW.
23370         * modules/renameat2 (Depends-on): Remove faccessat.
23371         * modules/renameat-tests (test_renameat_LDADD):
23372         * modules/renameat2-tests (test_renameat2_LDADD):
23373         Remove $(LIB_EACCESS).
23375         renameat2: new module
23376         Although the Linux syscall renameat2 is not in glibc (yet?), it is
23377         useful to have access to its RENAME_NOREPLACE flag.
23378         * MODULES.html.sh (func_all_modules): Add renameat2.
23379         * lib/renameat2.c, lib/renameat2.h, modules/renameat2:
23380         * modules/renameat2-tests, tests/test-renameat2.c: New files.
23381         * lib/renameat.c (renameat): Move most of the implementation
23382         to renameat2, and just call renameat2.
23383         * modules/renameat (Files): Remove lib/at-func2.c.
23384         (Depends-on): Depend only on renameat2.
23385         (Include): Remove <fcntl.h>.
23386         * modules/renameat-tests (test_renameat_LDADD): Add $(LIB_EACCESS),
23387         since renameat (via renameat2) might use faccessat.
23389 2017-07-27  Erik Skultety <eskultet@redhat.com>  (tiny change)
23391         vc-list-files: Adjust the script to support git worktrees
23392         * build-aux/vc-list-files: Require existence, not directory.
23394 2017-07-26  Paul Eggert  <eggert@cs.ucla.edu>
23396         doc: bring MODULES.html.sh up to date
23397         Somehow a few months ago we stopped updating MODULES.html.sh.
23398         I don’t recall explicitly deciding this, so I updated it now.
23399         Alternatively I suppose we could remove it.
23400         * MODULES.html.sh: Add builtin-expect, c99, ctime, explicit_bzero,
23401         localtime, localtime-buffer, noreturn, nstrftime, strftime-fixes,
23402         truncate, utime, utime-h, windows-stat-inodes,
23403         windows-stat-override, windows-stat-timespec, year2038.  Sort.
23405 2017-07-26  Jim Meyering  <meyering@fb.com>
23407         fprintftime: fix build-break caused by recent renaming
23408         * lib/fprintftime.c: Include "nstrftime.c", not the now-renamed
23409         "strftime.c".
23410         * modules/fprintftime: Depend directly on nstrftime.
23412 2017-07-26  Paul Eggert  <eggert@cs.ucla.edu>
23414         regex: work with GCC7's -Werror=implicit-fallthrough=
23415         * lib/regex_internal.h (FALLTHROUGH): New macro.
23416         * lib/regcomp.c (peek_token_bracket, parse_expression):
23417         * lib/regexec.c (check_node_accept): Use it.
23419 2017-07-24  Paul Eggert  <eggert@cs.ucla.edu>
23421         fts: simplify fts_build
23422         * lib/fts.c (fts_build): Simplify, and be lazier about
23423         calling leaf_optimization.
23425         fts: three levels of leaf optimization
23426         * lib/fts.c (enum leaf_optimization): New type with three values.
23427         (S_MAGIC_AFS): New macro.  Sort them.
23428         (leaf_optimization): Rename from leaf_optimization_applies, and
23429         return enum leaf_optimization instead of bool.  All uses changed.
23430         Add cases for unknown type and for AFS.
23431         (fts_build): Don’t rely on link counts if NO_LEAF_OPTIMIZATION.
23433         fts: cache dirent_inode_sort_may_be_useful too
23434         * lib/fts.c (struct dev_type): New struct.
23435         (DEV_TYPE_HT_INITIAL_SIZE): New constant.
23436         (dev_type_hash, dev_type_compare, filesystem_type): New functions.
23437         (dirent_inode_sort_may_be_useful, leaf_optimization_applies):
23438         Now takes FTSENT const *, not int.  All uses changed.  Use
23439         filesystem_type to cache.
23440         (link_count_optimize_ok): Remove.  Caller changed to use
23441         leaf_optimization_applies, which now uses shared cache.
23443         fts: introduce MIN_DIR_NLINK
23444         * lib/fts.c (MIN_DIR_NLINK): New constant.
23445         Use it instead of 2, whenever we are talking about link counts.
23447         fts: nlink_t signedness fixups
23448         * lib/fts.c (fts_open): Set rootparent n_dirs_remaining to -1
23449         so that root need not be a special case later.
23450         (fts_read): Remove now-redundant test for fts_level.
23451         Do not assume that nlink_t is signed.
23452         (fts_build): Remove useless decrement of nlinks.
23453         (fts_stat): Avoid unlikely signed integer overflow later, if
23454         nlink_t is signed.
23456         fts-tests: new module
23457         * modules/fts-tests, tests/test-fts.c: New files.
23459 2017-07-23  Bruno Haible  <bruno@clisp.org>
23461         Rename module 'strftime' to 'nstrftime'.
23462         * m4/nstrftime.m4: Renamed from m4/strftime.m4.
23463         * lib/nstrftime.c: Renamed from lib/strftime.c.
23464         * modules/nstrftime: Renamed from modules/strftime.
23465         (Files, Makefile.am): Update.
23466         * tests/test-nstrftime.c: Renamed from tests/test-strftime.c.
23467         Fix comment.
23468         * modules/nstrftime-tests: Renamed from modules/strftime-tests.
23469         (Files, Makefile.am): Update.
23470         * modules/strftime: New file, an obsolete indirection.
23471         * doc/posix-functions/strftime.texi: Update reference.
23472         * config/srclist.txt: Update info.
23473         * NEWS: Mention the change.
23475 2017-07-21  Tim Rühsen  <tim.ruehsen@gmx.de>
23477         malloca: Silence a warning from clang's memory sanitizer.
23478         * lib/malloca.c (NO_SANITIZE_MEMORY): New macro.
23479         (freea): Use it.
23481 2017-07-18  Bruno Haible  <bruno@clisp.org>
23483         host-cpu-c-abi: Fix detection of MIPS ABI.
23484         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): For MIPS, really test the
23485         ABI, not the CPU instruction set.
23487 2017-07-16  Paul Eggert  <eggert@cs.ucla.edu>
23489         explicit_bzero: new module
23490         The explicit_bzero function has been added to glibc.
23491         This module is intended to supports its use in GNU programs.
23492         * doc/glibc-functions/explicit_bzero.texi, lib/explicit_bzero.c:
23493         * m4/explicit_bzero.m4, modules/explicit_bzero:
23494         New files.
23495         * doc/gnulib.texi (Glibc string.h): Link to new doc.
23496         * lib/string.in.h (explicit_bzero): Declare.
23497         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add defaults for it.
23498         * modules/string (string.h): Substitute its vars.
23500 2017-07-16  Bruno Haible  <bruno@clisp.org>
23502         threadlib: Support static linking.
23503         * m4/threadlib.m4 (gl_THREADLIB_BODY): When static linking is in use,
23504         set gl_cv_have_weak to 'no'.
23506 2017-07-16  Bruno Haible  <bruno@clisp.org>
23508         unicase/locale-language: Fix link dependencies.
23509         * modules/unicase/locale-language (Link): New section.
23510         * modules/unicase/locale-language-tests (Makefile.am): Link
23511         test-locale-language program with $(LIBTHREAD).
23513 2017-07-15  John E. Malmberg  <wb8tyw@gmail.com>
23515         sys_socket: Add support for OpenVMS.
23516         * lib/sys_socket.in.h [__VMS]: Define CMSG_SPACE, CMSG_LEN.
23517         * doc/posix-headers/sys_socket.texi: Mention OpenVMS issues.
23519 2017-07-15  John E. Malmberg  <wb8tyw@gmail.com>
23521         sys_resource: Add support for OpenVMS.
23522         * lib/resource.in.h [__VMS]: Define RUSAGE_SELF, RUSAGE_CHILDREN.
23523         * doc/posix-headers/sys_resource.texi: Mention OpenVMS issues.
23525 2017-07-15  John E. Malmberg  <wb8tyw@gmail.com>
23526             Bruno Haible  <bruno@clisp.org>
23528         math: Add support for OpenVMS.
23529         * lib/math.in.h [__VMS]: Include <fp.h>.
23530         * doc/posix-headers/math.texi: Mention OpenVMS issues.
23532 2017-07-15  Bruno Haible  <bruno@clisp.org>
23534         getdtablesize: Add minimal support for OpenVMS.
23535         Reported by John E. Malmberg <wb8tyw@qsl.net>.
23536         * modules/getdtablesize (Description): Fix.
23537         * lib/getdtablesize.c: Fix comment.
23538         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Don't replace the
23539         getdtablesize() function, even though the test fails.
23540         * doc/glibc-functions/getdtablesize.texi: Reference SUSv2. Describe
23541         limitation on OpenVMS.
23543 2017-07-13  Bruno Haible  <bruno@clisp.org>
23545         Revisit cross-compilation guesses.
23546         * m4/wctype_h.m4 (gl_WCTYPE_H): Add comment.
23548 2017-07-13  Bruno Haible  <bruno@clisp.org>
23550         Improve cross-compilation guesses for native Windows.
23551         * m4/btowc.m4 (gl_FUNC_BTOWC): Add cross-compilation guess for native
23552         Windows.
23553         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Likewise.
23554         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Likewise.
23555         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
23556         * m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): Likewise.
23557         * m4/cbrtl.m4 (gl_FUNC_CBRTL, gl_FUNC_CBRTL_WORKS): Likewise.
23558         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
23559         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
23560         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
23561         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
23562         * m4/dup.m4 (gl_FUNC_DUP): Likewise.
23563         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
23564         * m4/exp2.m4 (gl_FUNC_EXP2_WORKS): Likewise.
23565         * m4/exp2l.m4 (gl_FUNC_EXP2L): Likewise.
23566         * m4/expm1.m4 (gl_FUNC_EXPM1): Likewise.
23567         * m4/expm1f.m4 (gl_FUNC_EXPM1F_WORKS): Likewise.
23568         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
23569         * m4/fabsl.m4 (gl_FUNC_FABSL_WORKS): Likewise.
23570         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
23571         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
23572         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
23573         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
23574         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
23575         * m4/fma.m4 (gl_FUNC_FMA_WORKS): Likewise.
23576         * m4/fmaf.m4 (gl_FUNC_FMAF_WORKS): Likewise.
23577         * m4/fmal.m4 (gl_FUNC_FMAL_WORKS): Likewise.
23578         * m4/fmod.m4 (gl_FUNC_FMOD): Likewise.
23579         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
23580         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
23581         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
23582         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): Likewise.
23583         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
23584         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Likewise.
23585         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
23586         * m4/hypotf.m4 (gl_FUNC_HYPOTF, gl_FUNC_HYPOTF_WORKS): Likewise.
23587         * m4/hypotl.m4 (gl_FUNC_HYPOTL, gl_FUNC_HYPOTL_WORKS): Likewise.
23588         * m4/ilogb.m4 (gl_FUNC_ILOGB_WORKS): Likewise.
23589         * m4/ilogbf.m4 (gl_FUNC_ILOGBF_WORKS): Likewise.
23590         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
23591         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
23592         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
23593         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
23594         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
23595         * m4/log.m4 (gl_FUNC_LOG, gl_FUNC_LOG_WORKS): Likewise.
23596         * m4/logf.m4 (gl_FUNC_LOGF, gl_FUNC_LOGF_WORKS): Likewise.
23597         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): Likewise.
23598         * m4/log10.m4 (gl_FUNC_LOG10, gl_FUNC_LOG10_WORKS): Likewise.
23599         * m4/log10f.m4 (gl_FUNC_LOG10F, gl_FUNC_LOG10F_WORKS): Likewise.
23600         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): Likewise.
23601         * m4/log1p.m4 (gl_FUNC_LOG1P): Likewise.
23602         * m4/log1pf.m4 (gl_FUNC_LOG1PF, gl_FUNC_LOG1PF_WORKS): Likewise.
23603         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Likewise.
23604         * m4/log2.m4 (gl_FUNC_LOG2, gl_FUNC_LOG2_WORKS): Likewise.
23605         * m4/log2f.m4 (gl_FUNC_LOG2F, gl_FUNC_LOG2F_WORKS): Likewise.
23606         * m4/log2l.m4 (gl_FUNC_LOG2L_WORKS): Likewise.
23607         * m4/logb.m4 (gl_FUNC_LOGB_WORKS): Likewise.
23608         * m4/logbf.m4 (gl_FUNC_LOGBF_WORKS): Likewise.
23609         * m4/logbl.m4 (gl_FUNC_LOGBL_WORKS): Likewise.
23610         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Likewise.
23611         * m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT, gl_MBRTOWC_C_LOCALE): Likewise.
23612         * m4/mkdir.m4 (gl_FUNC_MKDIR): Likewise.
23613         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
23614         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): Likewise.
23615         * m4/modf.m4 (gl_FUNC_MODF): Likewise.
23616         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
23617         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
23618         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
23619         * m4/perror.m4 (gl_FUNC_PERROR): Likewise.
23620         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
23621         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE,
23622         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2,
23623         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): Likewise.
23624         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Likewise.
23625         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
23626         * m4/regex.m4 (gl_REGEX): Likewise.
23627         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
23628         * m4/remainderf.m4 (gl_FUNC_REMAINDERF,
23629         gl_FUNC_REMAINDERF_WORKS): Likewise.
23630         * m4/remainderl.m4 (gl_FUNC_REMAINDERL,
23631         gl_FUNC_REMAINDERL_WORKS): Likewise.
23632         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
23633         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
23634         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
23635         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
23636         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
23637         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
23638         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
23639         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
23640         * m4/sqrtl.m4 (gl_FUNC_SQRTL_WORKS): Likewise.
23641         * m4/stdint.m4 (gl_STDINT_H): Likewise.
23642         * m4/strerror.m4 (gl_FUNC_STRERROR_0): Likewise.
23643         * m4/strncat.m4 (gl_FUNC_STRNCAT): Likewise.
23644         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
23645         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
23646         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
23647         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
23648         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
23649         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
23650         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
23651         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
23652         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Likewise.
23653         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
23654         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
23655         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
23656         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
23657         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
23658         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
23659         Likewise.
23660         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
23661         * m4/chown.m4 (AC_FUNC_CHOWN): Add cross-compilation guess for native
23662         Windows. Enable also on Autoconf 2.70.
23663         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
23664         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
23665         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
23666         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO,
23667         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
23668         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): Add cross-compilation guess
23669         for native Windows.
23670         (gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
23671         gl_VSNPRINTF_ZEROSIZE_C99): Add comment.
23673 2017-07-13  Bruno Haible  <bruno@clisp.org>
23675         Improve cross-compilation guesses for native Windows.
23676         * m4/memchr.m4 (gl_FUNC_MEMCHR): Add cross-compilation guess for native
23677         Windows.
23678         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Don't use internals of
23679         memchr.m4.
23680         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
23682 2017-07-13  Bruno Haible  <bruno@clisp.org>
23684         Improve cross-compilation guesses for native Windows.
23685         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): Add cross-compilation guess for
23686         native Windows.
23687         (gl_FUNC_FFLUSH): Update accordingly.
23688         * m4/fclose.m4 (gl_FUNC_FCLOSE): Likewise.
23689         * m4/fseeko.m4 (gl_FUNC_FFLUSH_STDIN): Likewise.
23691 2017-07-11  Bruno Haible  <bruno@clisp.org>
23693         More systematic m4 quoting and indentation.
23694         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Quote systematically.
23695         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
23696         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
23697         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
23698         * m4/host-os.m4 (gl_HOST_OS): Likewise.
23699         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H,
23700         gl_WINSIZE_IN_PTEM): Likewise.
23701         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Likewise.
23702         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
23703         * m4/pselect.m4 (gl_FUNC_PSELECT): Likewise.
23704         * m4/fchownat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Quote systematically.
23705         Correct indentation.
23706         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
23707         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
23708         * m4/jm-winsz2.m4 (gl_HEADER_TIOCGWINSZ_NEEDS_SYS_IOCTL): Likewise.
23709         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
23710         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
23711         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
23713 2017-07-10  Bruno Haible  <bruno@clisp.org>
23715         round, roundf: Avoid compiler warning in configure test.
23716         * m4/round.m4 (gl_FUNC_ROUND): Use 'return' instead of exit().
23717         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
23719 2017-07-10  Bruno Haible  <bruno@clisp.org>
23721         getlogin tests: Avoid #ifdefs when sharing code between modules.
23722         * modules/getlogin_r-tests (Files): Add tests/test-getlogin.h.
23723         * modules/getlogin-tests (Files): Likewise. Remove
23724         tests/test-getlogin_r.c.
23725         * tests/test-getlogin.h: Extracted from tests/test-getlogin_r.c.
23726         * tests/test-getlogin.c: Extracted from tests/test-getlogin_r.c.
23727         * tests/test-getlogin_r.c: Include test-getlogin.h. Omit code that tests
23728         getlogin().
23730 2017-07-10  Paul Eggert  <eggert@cs.ucla.edu>
23732         getlogin: don’t assume one name per uid
23733         Problem reported by Wolfgang F. Muthmann (Bug#27640).
23734         * modules/getlogin-tests (Files): Add tests/test-getlogin_r.c.
23735         (ttyname): Remove test.
23736         * modules/getlogin_r-tests (ttyname): Remove test.
23737         * tests/test-getlogin.c: Replace this near-clone of test-getlogin_r.c
23738         with ‘#define TEST_LOGIN’ followed by ‘#include "test-getlogin_r.c"’.
23739         * tests/test-getlogin_r.c: If TEST_GETLOGIN is defined, test
23740         getlogin rather than getlogin_r.  This avoids code duplication.
23741         (main): Use isatty and fstat rather than ttyname and stat.
23742         Use getpwnam instead of getpwuid, to be portable to test platforms
23743         that have multiple login names for the same uid.
23745 2017-07-10  Tim Rühsen  <tim.ruehsen@gmx.de>
23746             Bruno Haible  <bruno@clisp.org>
23748         glob: Fix more memory leaks.
23749         * lib/glob.c (glob): Use 'goto out' in order to free dirname before
23750         returning.
23751         Reported by Tim Rühsen.
23753 2017-07-10  Bruno Haible  <bruno@clisp.org>
23755         Make sure $host and $host_os are defined when used.
23756         * m4/argz.m4 (gl_FUNC_ARGZ): Require AC_CANONICAL_HOST.
23757         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Likewise.
23758         * m4/csharpexec.m4 (gt_CSHARPEXEC): Likewise.
23759         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
23760         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
23761         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
23762         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Likewise.
23763         * m4/opendir.m4 (gl_FUNC_OPENDIR): Likewise.
23764         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
23765         * m4/pselect.m4 (gl_FUNC_PSELECT): Likewise.
23766         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Likewise.
23767         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Likewise.
23768         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
23769         * m4/ceill.m4 (gl_FUNC_CEILL): Require AC_CANONICAL_HOST outside the
23770         m4_ifdef block.
23772 2017-07-09  Bruno Haible  <bruno@clisp.org>
23774         *printf: Fix cross-compilation guess for Solaris.
23775         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): Fix copy-and-paste mistake from
23776         2010-12-21.
23778 2017-07-07  Paul Eggert  <eggert@cs.ucla.edu>
23779             Bruno Haible  <bruno@clisp.org>
23781         vasnprintf: port to macOS 10.13
23782         Problem reported by comex in:
23783         http://lists.gnu.org/r/bug-gnulib/2017-07/msg00056.html
23784         * lib/vasnprintf.c (VASNPRINTF): Don’t use %n on macOS.
23786 2017-07-06  Bruno Haible  <bruno@clisp.org>
23788         imaxdiv tests: Fix logic.
23789         * tests/test-imaxdiv.c (main): Use == instead of =.
23790         Reported by Coverity.
23792 2017-07-06  Bruno Haible  <bruno@clisp.org>
23794         uninorm/filter: Fix use-after-free bug.
23795         * lib/uninorm/uninorm-filter.c (uninorm_filter_write): Maintain
23796         sortbuf == filter->sortbuf invariant.
23797         Reported by Coverity.
23799 2017-07-06  Bruno Haible  <bruno@clisp.org>
23801         glob: Fix more memory leaks.
23802         * lib/glob.c (glob): Free dirname before returning.
23803         Reported by Coverity and Tim Rühsen.
23805 2017-07-06  Paul Eggert  <eggert@cs.ucla.edu>
23807         parse-datetime: fix uninit var bug
23808         Reported by Bruno Haible in:
23809         http://lists.gnu.org/r/bug-gnulib/2017-07/msg00038.html
23810         * lib/parse-datetime.y (parse_datetime2): Do not use
23811         uninitialized.
23813 2017-07-05  Bruno Haible  <bruno@clisp.org>
23815         doc: Update for MSVC 14.
23816         * doc/posix-headers/*.texi: Add info about MSVC 14.
23817         * doc/posix-functions/*.texi: Likewise.
23818         * doc/pastposix-functions/*.texi: Likewise.
23819         * doc/glibc-headers/*.texi: Likewise.
23820         * doc/glibc-functions/*.texi: Likewise.
23822 2017-07-05  Bruno Haible  <bruno@clisp.org>
23824         sched: Fix build failure on native Windows (regression from 2017-06-19).
23825         * m4/sched_h.m4 (gl_SCHED_H): Set HAVE_STRUCT_SCHED_PARAM always.
23827 2017-07-03  John E. Malmberg  <wb8tyw@gmail.com>
23829         stdioext: Port to OpenVMS.
23830         * lib/stdio-impl.h: OpenVMS uses struct _iobuf for FILE information.
23831         * lib/fpending.c (fpending): Remove non-working VMS specific code.
23832         * lib/fbufmode.c (fbufmode): Fix _IOLBF test to use fp_ macro.
23833         * lib/fflush.c (clear_ungetc_buffer): Add OpenVMS to comments.
23834         * lib/fpurge.c (fpurge): Likewise.
23835         * lib/freadable.c (freadable): Likewise.
23836         * lib/freadahead.c (freadahead): Likewise.
23837         * lib/freading.c (freading): Likewise.
23838         * lib/freadptr.c (freadptr): Likewise.
23839         * lib/freadseek.c (freadseek): Likewise.
23840         * lib/fseeko.c (fseeko): Likewise.
23841         * lib/fseterr.c (fseterr): Likewise.
23842         * lib/fwritable.c (fwriteable): Likewise.
23843         * lib/fwriting.c (fwriting): Likewise.
23845 2017-07-01  Benno Schulenberg  <bensberg@telfort.nl>
23847         glob: Declare variables at the very start of their scope.
23848         * lib/glob.c (convert_dirent, convert_dirent64): Give each fragment
23849         its separate scope, so the functions will compile on Haiku.
23851 2017-07-01  Bruno Haible  <bruno@clisp.org>
23853         logbl: Work around a glibc bug on PowerPC64LE.
23854         * m4/logbl.m4 (gl_FUNC_LOGBL_WORKS): Test also negative subnormal
23855         numbers.
23856         * doc/posix-functions/logbl.texi: Update.
23858 2017-06-29  Bruno Haible  <bruno@clisp.org>
23860         stat, fstat: Compile stat-w32.c only on platforms that need it.
23861         Suggested by Paul Eggert.
23862         * modules/stat (configure.ac): Request stat-w32.o only on native
23863         Windows.
23864         * modules/fstat (configure.ac): Likewise.
23866 2017-06-25  Bruno Haible  <bruno@clisp.org>
23868         stat: Improve last change.
23869         * lib/stat-w32.c: Revert last change. Use generic idiom instead.
23871 2017-06-25  Paul Eggert  <eggert@cs.ucla.edu>
23873         stat: port to xlc 12.01
23874         * lib/stat-w32.c: Always include <sys/types.h>.  Otherwise, xlc
23875         12.01 complains "Compilation unit is empty."
23877 2017-06-24  Paul Eggert  <eggert@cs.ucla.edu>
23879         xalloc-oversized: port to icc
23880         * lib/xalloc-oversized.h (xalloc_oversized): Do not use
23881         __builtin_mul_overflow if ICC is defined, as this results in
23882         "undefined reference to `__builtin_mul_overflow'" with icc 17.0.2
23883         20170213.
23885 2017-06-19  Bruno Haible  <bruno@clisp.org>
23887         classpath: Avoid including config.h twice, as it produces warnings.
23888         Reported by John E. Malmberg <wb8tyw@gmail.com>.
23889         * lib/classpath.h: Conditionalize the include of config.h.
23891 2017-06-19  Bruno Haible  <bruno@clisp.org>
23892             John E. Malmberg  <wb8tyw@gmail.com>  (tiny change)
23894         sched: Fix compilation failure on OpenVMS.
23895         * m4/sched_h.m4 (gl_SCHED_H): Require AC_CANONICAL_HOST. On OpenVMS,
23896         test whether <pthread.h> exists and defines struct sched_param.
23897         * lib/sched.in.h: On OpenVMS, include <pthread.h>.
23899 2017-06-17  Paul Eggert  <eggert@cs.ucla.edu>
23901         diffseq: port to GCC 7 with --enable-gcc-warnings
23902         * lib/diffseq.h (diag): Use an if, not an ifdef, for most of the
23903         heuristic check.  This way, GCC 7 with --enable-gcc-warnings does
23904         not complain about big_snake being defined but not used.
23906 2017-06-15  Bruno Haible  <bruno@clisp.org>
23908         gettext-h: Update theoretical condition for use of variable size arrays.
23909         Reported by Paul Eggert.
23910         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Extend comment
23911         to include the theoretical condition for availability of variable size
23912         arrays, if we could trust the value of __STDC_VERSION__.
23914 2017-06-12  Bruno Haible  <bruno@clisp.org>
23916         Relicense some modules under LGPLv2+.
23917         Daiki Ueno's approval is in
23918         https://lists.gnu.org/r/bug-gnulib/2017-06/msg00058.html.
23919         * modules/uniwidth/base (License): Change to LGPLv2+.
23920         * modules/uniwidth/width (License): Likewise.
23922 2017-06-11  Bruno Haible  <bruno@clisp.org>
23924         localename: Fix test failure on DragonFly BSD.
23925         * lib/localename.c (gl_locale_name_thread_unsafe): Treat DragonFly BSD
23926         like FreeBSD.
23928 2017-06-11  Bruno Haible  <bruno@clisp.org>
23930         float: Fix 'float' and 'isinf' failures on DragonFly BSD.
23931         * m4/float_h.m4 (gl_FLOAT_H): Treat DragonFly BSD like FreeBSD.
23932         * lib/float.in.h: Likewise.
23933         * m4/fmal.m4, m4/frexpl.m4, m4/logbl.m4: Update accordingly.
23935 2017-06-11  Bruno Haible  <bruno@clisp.org>
23937         gnulib-tool: Clean up after autotools.
23938         * gnulib-tool (func_create_testdir, func_create_megatestdir): Remove
23939         useless directory left over by the Autotools.
23941 2017-06-11  Paul Eggert  <eggert@cs.ucla.edu>
23943         getopt-posix: port to glibc 2.25.90
23944         Problem reported by Daniel P. Berrange in:
23945         http://lists.gnu.org/r/bug-gnulib/2017-06/msg00003.html
23946         * lib/getopt-pfx-core.h (_GETOPT_CORE_H):
23947         * lib/getopt-pfx-ext.h (_GETOPT_EXT_H):
23948         #undef if __GETOPT_PREFIX is defined.
23950 2017-06-11  Bruno Haible  <bruno@clisp.org>
23952         strtod-obsolete: Fix license.
23953         * modules/strtod-obsolete (License): Change to LGPL.
23955 2017-06-10  Jim Meyering  <meyering@fb.com>
23957         maint: update to work with GCC7's -Werror=implicit-fallthrough=
23958         * lib/savewd.c (FALLTHROUGH): Define.
23959         (savewd_save, savewd_restore): Use this, rather than a comment,
23960         whenever one switch case falls through into the next.
23962 2017-06-08  Bruno Haible  <bruno@clisp.org>
23964         host-cpu-c-abi: Support for aarch64 ILP32 ABI.
23965         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Recognize the aarch64 ILP32
23966         ABI. Set HOST_CPU_C_ABI=arm64-ilp32 and define __arm64_ilp32__ in this
23967         case.
23969 2017-06-08  Paul Eggert  <eggert@cs.ucla.edu>
23971         doc: remove robots, add prereqs
23972         * doc/build-automation.texi, doc/gnulib.texi: Mention prereqs for
23973         builds.  Simon's robot site does not seem to be up, so remove
23974         mentions of it for now.
23976 2017-06-08  Bruno Haible  <bruno@clisp.org>
23978         gnulib-tool: Fix bug in func_symlink_if_changed, from 2006-11-13.
23979         * gnulib-tool (func_symlink_target): New function, extracted from
23980         func_symlink.
23981         (func_symlink, func_symlink_if_changed): Use it.
23983 2017-06-08  Bruno Haible  <bruno@clisp.org>
23985         gnulib-tool: Fix bug in func_ln_s, from 2016-01-15.
23986         * gnulib-tool (func_ln_s): Determine cp_src correctly.
23988 2017-06-07  Bruno Haible  <bruno@clisp.org>
23990         canonicalize-lgpl: Avoid conflict with gnulib 'getcwd' module on VMS.
23991         Reported by John E. Malmberg <wb8tyw@gmail.com> in
23992         <https://lists.gnu.org/r/bug-gnulib/2017-06/msg00029.html>.
23993         * lib/canonicalize-lgpl.c (__getcwd): On VMS, when using gnulib's getcwd
23994         override, pass 2 arguments to getcwd, not 3.
23996 2017-06-04  Paul Eggert  <eggert@cs.ucla.edu>
23998         same-inode: port better to VMS 8.2 and later
23999         Problem reported by John E. Malmberg in:
24000         http://lists.gnu.org/r/bug-gnulib/2017-06/msg00005.html
24001         * lib/same-inode.h (SAME_INODE) [__VMS && 80200000 <= __CRTL_VER]:
24002         Use the usual POSIX definition.
24003         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Define _USE_STD_STAT.
24005 2017-06-01  Paul Eggert  <eggert@cs.ucla.edu>
24007         error: fix POSIX violation for va_end
24008         Problem reported by Bruno Haible in:
24009         http://lists.gnu.org/r/bug-gnulib/2017-06/msg00001.html
24010         * lib/error.c (error_tail): Do not call va_end here.
24011         (error, error_at_line): Call it here instead.
24013 2017-05-28  Bruno Haible  <bruno@clisp.org>
24015         c-strtod: Make it usable in C++ mode.
24016         * lib/c-strtod.h: Add 'extern "C"' marker for C++.
24018 2017-05-25  Jim Meyering  <meyering@fb.com>
24020         quotearg: fix compilation failure due to FALLTHROUGH misuse
24021         * lib/quotearg.c (quotearg_buffer_restyled): Revert one FALLTHROUGH
24022         macro back to /* fall through */ comment.  The macro can apply only
24023         to a following case statement.  Reported by Assaf Gordon.
24025 2017-05-25  Paul Eggert  <eggert@cs.ucla.edu>
24027         intprops: port to recent icc
24028         Port to icc (ICC) 17.0.4 20170411, which defines __GNUC__ to be 5
24029         but does not support __builtin_add_overflow etc.
24030         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW) [__ICC]:
24031         Define to 0.
24033 2017-05-23  Karl Berry  <karl@freefriends.org>
24035         * config/srclist.txt (iconv.m4): sync broken, comment out
24036         until (hopefully) the next gettext release.
24038 2017-05-22  Bjarni Ingi Gislason  <bjarniig@rhi.hi.is>
24040         Remove repeated words in comments.
24042 2017-05-22  Bernhard Voelker  <mail@bernhard-voelker.de>
24044         fallthrough: reinstate a FALLTHROUGH instance in quotearg
24045         quotearg.c: Reinstate this instance which is significant
24046         when the if branch is not taken.
24048 2017-05-21  Bruno Haible  <bruno@clisp.org>
24050         gnulib-tool: Add options to create hard links.
24051         * gnulib-tool (func_usage): Document options --hardlink,
24052         --local-hardlink, --more-hardlinks.
24053         (func_symlink): Renamed from func_ln.
24054         (func_symlink_if_changed): Renamed from func_ln_if_changed.
24055         (func_hardlink): New function.
24056         (copymode, lcopymode): New variables.
24057         (symbolic, lsymbolic): Remove variables.
24058         (Options): Implement options --hardlink, --local-hardlink,
24059         --more-hardlinks.
24060         (func_should_link): Renamed from func_should_symlink. Set copyaction.
24061         (func_add_file, func_update_file): Update invocation of
24062         func_should_link. Invoke func_hardlink when appropriate.
24063         (func_import): Update comments.
24064         (func_create_testdir): Update invocation of func_should_link. Invoke
24065         func_hardlink when appropriate.
24066         Finally, invoke 'git update-index --refresh' to mitigate the effects of
24067         the hard links on git.
24069 2017-05-20  Bruno Haible  <bruno@clisp.org>
24071         argp: Simplify bit manipulation.
24072         * lib/argp-parse.c (parser_parse_opt): Use &, |, ~ instead of shifts
24073         on a signed integer type.
24075 2017-05-20  Bruno Haible  <bruno@clisp.org>
24077         Avoid wrong configure results with gcc -fsanitize=address.
24078         This completes the work done on 2016-02-06 on this topic.
24079         * m4/memmem.m4 (gl_FUNC_MEMMEM): Free allocated memory before returning.
24080         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
24081         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
24082         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
24083         * m4/fopen.m4 (gl_FUNC_FOPEN): Close allocated FILE streams before
24084         returning.
24085         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): Likewise.
24086         * m4/fpurge.m4 (gl_FUNC_FPURGE): Likewise.
24087         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
24088         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
24089         * m4/signbit.m4 (gl_FLOATTYPE_SIGN_LOCATION): Likewise.
24090         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Likewise.
24091         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Close allocated FILE streams and
24092         free allocated memory before returning.
24093         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
24094         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Close allocated DIR
24095         objects before returning.
24096         * m4/iconv.m4 (AM_ICONV_LINK): Close allocated iconv_t handles before
24097         returning.
24099 2017-05-20  Bruno Haible  <bruno@clisp.org>
24101         gnulib-tool: Don't create hard links between gnulib and its testdirs.
24102         * gnulib-tool (func_create_testdir): Don't invoke 'ln'.
24104 2017-05-20  Bruno Haible  <bruno@clisp.org>
24106         argp, tsearch tests: Fix file list.
24107         * modules/argp-tests (Files): Add tests/macros.h.
24108         * modules/tsearch-tests (Files): Likewise.
24110 2017-05-20  Bruno Haible  <bruno@clisp.org>
24112         getopt-posix tests: Remove redundant include.
24113         * tests/test-getopt.h: Don't include "macros.h". It's already included
24114         by tests/test-getopt-main.h.
24116 2017-05-19  Jim Meyering  <meyering@fb.com>
24118         dfa: two small simplifications
24119         * lib/dfa.c (build_state): Avoid repeating longer expressions.
24121 2017-05-18  Jim Meyering  <meyering@fb.com>
24123         fallthrough: update for GCC 7/8
24124         * lib/quotearg.c (FALLTHROUGH): New macro.
24125         Use it whenever one switch case falls through into the next,
24126         replacing "/* Fall through */" comments.  This exposed one
24127         instance of an unwarranted "fall through" comment: unwarranted
24128         because it preceded a "goto" label not a case statement.
24129         * lib/freopen-safer.c (freopen_safer): Likewise.
24130         * lib/fts.c (leaf_optimization_applies): Likewise.
24131         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Likewise.
24132         * tests/test-getopt_long.h (getopt_long_loop): Likewise.
24133         * tests/test-tsearch.c (mangle_tree): Likewise.  Also include
24134         tests/macros.h for the definition.
24135         * tests/test-argp.c (group1_parser): Likewise.
24136         * tests/test-getopt.h (getopt_loop): Likewise.
24138 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
24140         argp: fix shift bug
24141         * lib/argp-parse.c (parser_parse_opt): Rework to avoid undefined
24142         behavior on shift overflow, caught by gcc -fsanitize=undefined.
24144         argp: fix pointer-subtraction bug
24145         * lib/argp-help.c (hol_append): Don’t subtract pointers to
24146         different arrays, as this can run afoul of -fcheck-pointer-bounds.
24147         See the thread containing Bruno Haible’s report in:
24148         http://lists.gnu.org/r/bug-gnulib/2017-05/msg00171.html
24150 2017-05-19  Bruno Haible  <bruno@clisp.org>
24152         printf-posix tests: Avoid test failure with "gcc --coverage".
24153         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
24154         * tests/test-printf-posix2.c (main): Test a width of 10000000 rather
24155         than 5000000.
24156         * tests/test-fprintf-posix2.c (main): Likewise.
24158 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
24160         closeout: don’t close stderr when sanitizing
24161         * NEWS: Document this.
24162         * lib/closeout.c (__has_feature): New macro, if not already defined.
24163         (SANITIZE_ADDRESS): New constant.
24164         (close_stdout): Don’t close stderr if sanitizing addresses.
24166 2017-05-19  Bruno Haible  <bruno@clisp.org>
24168         get-rusage-data tests: Avoid failure on Linux/glibc.
24169         * tests/test-get-rusage-data.c (main): Don't expect a strict increase
24170         on glibc systems.
24172 2017-05-18  Bruno Haible  <bruno@clisp.org>
24174         localename: Include necessary header files on Cygwin.
24175         * lib/localename.c [__CYGWIN__]: Include <langinfo.h>, since this is
24176         where NL_LOCALE_NAME is defined.
24178 2017-05-18  Bruno Haible  <bruno@clisp.org>
24180         gettext: Update macros from gettext git.
24181         * m4/intldir.m4: Require Autoconf >= 2.60.
24182         * m4/progtest.m4: Fix typos in copyright notice.
24184 2017-05-18  Bruno Haible  <bruno@clisp.org>
24186         copy-file tests: Fix link error (regression from 2017-05-01).
24187         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
24188         * modules/copy-file-tests (Makefile.am): Link test-copy-file with
24189         $(LIB_CLOCK_GETTIME).
24191 2017-05-18  Bruno Haible  <bruno@clisp.org>
24193         unicase/special-casing: Fix incompatibility with gperf-3.0.4
24194         (regression from 2017-02-13).
24195         * lib/unicase/special-casing.in.h: Renamed from
24196         lib/unicase/special-casing.h.
24197         * modules/unicase/special-casing (Files): Add
24198         lib/unicase/special-casing.in.h. Remove lib/unicase/special-casing.h.
24199         (Makefile.am): Add rule for generating unicase/special-casing.h.
24200         Update BUILT_SOURCES and MOSTLYCLEANFILES accordingly.
24201         * lib/unicase/special-casing.c: Include "unicase/special-casing.h",
24202         not "special-casing.h".
24203         * lib/unicase/u*.c: Likewise.
24205 2017-05-17  Bruno Haible  <bruno@clisp.org>
24207         README: Don't ask people to read a TeXinfo file.
24208         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
24209         * README: Tell people how to read the HTML formatted manual.
24211 2017-05-16  Tim Rühsen  <tim.ruehsen@gmx.de>
24213         parse-datetime: Fix memleak
24214         * lib/parse-datetime.y (parse_datetime2): Cleanup on
24215         localtime_rz() failure.
24217 2017-05-16  Bruno Haible  <bruno@clisp.org>
24219         javacomp: Fix handle leak.
24220         Found by Coverity.
24221         * lib/javacomp.c (get_classfile_version): Close fd before returning.
24223 2017-05-16  Bruno Haible  <bruno@clisp.org>
24225         relocate: Make it easier to reclaim allocated memory.
24226         * lib/relocatable.h (relocate2): New declaration/macro.
24227         * lib/relocatable.c (relocate2): New function.
24228         * doc/relocatable-maint.texi (Supporting Relocation): Mention the
24229         relocate2 function.
24230         * lib/localcharset.c (relocate2): Define fallback.
24231         (get_charset_aliases): Invoke relocate2 instead of relocate. Free the
24232         allocated memory.
24233         * lib/javaversion.c (relocate2): Define fallback.
24234         (javaexec_version): Invoke relocate2 instead of relocate. Free the
24235         allocated memory.
24237 2017-05-16  Bruno Haible  <bruno@clisp.org>
24239         relocate: Simplify EMX specific code.
24240         * lib/relocatable.c (relocate): Assume pathname is non-NULL. Use
24241         ISSLASH macro consistently. Avoid dangerous string concatenation idiom.
24243 2017-05-16  Bruno Haible  <bruno@clisp.org>
24245         sigpipe tests: Fix file list.
24246         * modules/sigpipe-tests (Files): Add tests/macros.h.
24248 2017-05-16  Paul Eggert  <eggert@cs.ucla.edu>
24250         manywarnings: update for GCC 7
24251         * build-aux/gcc-warning.spec:
24252         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
24253         Add GCC 7 warnings, notably -Wimplicit-fallthrough=5, which
24254         requires a non-comment fallthrough attribute.  This is a bit
24255         cleaner than the comment versions.
24256         * lib/strftime.c, lib/dfa.c, lib/fnmatch.c, lib/mbrtowc.c:
24257         * lib/vasnprintf.c, tests/macros.h (FALLTHROUGH): New macro.
24258         Use it whenever one switch case falls through into the next.
24259         * lib/fnmatch_loop.c, tests/test-mbrtowc.c, tests/test-sigpipe.c:
24260         Use FALLTHROUGH macro.
24262 2017-05-15  Bruno Haible  <bruno@clisp.org>
24264         gnulib-tool: Fix generated code when libtests contains module 'alloca'.
24265         * gnulib-tool (func_emit_tests_Makefile_am): For libtests.a, use
24266         @ALLOCA@, not @LTALLOCA@.
24268 2017-05-15  Bruno Haible  <bruno@clisp.org>
24270         sys_select: Avoid "was expanded before it was required" warning.
24271         * modules/sys_select (configure.ac): Require, not invoke,
24272         gl_HEADER_SYS_SELECT.
24274 2017-05-14  Paul Eggert  <eggert@cs.ucla.edu>
24276         gnulib-tool: improve GNU Make debugging
24277         * gnulib-tool (func_emit_lib_Makefile_am): Omit unnecessary echo.
24278         Report autoconf diagnostics when it fails, in the output makefile.
24280 2017-05-14  Bruno Haible  <bruno@clisp.org>
24282         stat-time tests: Improve comment.
24283         * tests/test-stat-time.c: Add hyperlink, from Paul Eggert.
24285 2017-05-14  Bruno Haible  <bruno@clisp.org>
24287         same-inode: Adapt for windows-stat-inodes.
24288         * lib/same-inode.h: Include <sys/types.h>.
24289         (SAME_INODE) [_GL_WINDOWS_STAT_INODES]: Define specifically.
24290         * modules/same-inode (Depends-on): Add sys_types.
24292 2017-05-14  Bruno Haible  <bruno@clisp.org>
24294         windows-stat-inodes: New module.
24295         * m4/windows-stat-inodes.m4: New file.
24296         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Set WINDOWS_STAT_INODES.
24297         * modules/sys_types (Makefile.am): Substitute WINDOWS_STAT_INODES.
24298         * lib/sys_types.in.h [WINDOWS_STAT_INODES]: Override dev_t and ino_t.
24299         (_GL_WINDOWS_STAT_INODES): New macro.
24300         * lib/stat-w32.c: Set _WIN32_WINNT. Include <string.h>, verify.h.
24301         (GetFileInformationByHandleExFunc): New variable.
24302         (initialize): Initialize it.
24303         (_gl_fstat_by_handle) [_GL_WINDOWS_STAT_INODES]: Initialize st_dev and
24304         st_ino appropriately.
24305         * lib/stat.c (rpl_stat): Use the directory entry based approach only as
24306         a fallback, because it does not provide st_dev and st_ino values.
24307         * modules/fstat (Depends-on): Add 'verify'.
24308         * modules/windows-stat-inodes: New file.
24309         * doc/windows-stat-inodes.texi: New file.
24310         * doc/gnulib.texi: Include it.
24311         * doc/posix-headers/sys_stat.texi: Mention the new module.
24313 2017-05-14  Bruno Haible  <bruno@clisp.org>
24315         stat-time tests: Workaround for native Windows.
24316         * tests/test-stat-time.c: Include <stdio.h>, <time.h>.
24317         (filename_stamp1, filename_testfile, filename_stamp2, filename_stamp3):
24318         New variables.
24319         (initialize_filenames): New function.
24320         (main): Invoke it.
24321         (cleanup, prepare_test): Update.
24323 2017-05-14  Bruno Haible  <bruno@clisp.org>
24325         stat-time: Adapt for windows-stat-timespec.
24326         * lib/stat-time.h (get_stat_birthtime) [_GL_WINDOWS_STAT_TIMESPEC]: Use
24327         entire st_ctim field.
24329 2017-05-13  Jim Meyering  <meyering@fb.com>
24331         maint.mk: update regex to reflect 2013 addition of "assume" to verify.h
24332         * top/maint.mk (sc_prohibit_verify_without_use): Don't reject a source
24333         file that uses the assume macro, claiming that verify.h is unused.
24335 2017-05-13  Bruno Haible  <bruno@clisp.org>
24337         Use symbolic values for _WIN32_WINNT.
24338         * lib/ftruncate.c (_WIN32_WINNT): Use symbolic value _WIN32_WINNT_WIN2K.
24339         * lib/sethostname.c (_WIN32_WINNT): Likewise.
24341 2017-05-13  Bruno Haible  <bruno@clisp.org>
24343         year2038: New module.
24344         * m4/year2038.m4: New file.
24345         * modules/year2038: New file.
24346         * doc/year2038.texi: New file.
24347         * doc/gnulib.texi: Include it.
24349 2017-05-13  Bruno Haible  <bruno@clisp.org>
24351         largefile: Simplify.
24352         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Remove unused definition
24353         of _GL_WINDOWS_64_BIT_ST_SIZE.
24355 2017-05-13  Bruno Haible  <bruno@clisp.org>
24357         largefile: Improve and document.
24358         * m4/largefile.m4 (gl_LARGEFILE): Set WINDOWS_64_BIT_ST_SIZE to 0 if
24359         the mingw headers already define 'stat' appropriately.
24360         * modules/largefile (Description): Clarify.
24361         * doc/largefile.texi: New file.
24362         * doc/gnulib.texi: Include it.
24363         * doc/posix-headers/sys_types.texi: Update.
24365 2017-05-13  Bruno Haible  <bruno@clisp.org>
24367         truncate: New module.
24368         * lib/unistd.in.h (truncate): New declaration.
24369         * lib/truncate.c: New file.
24370         * m4/truncate.m4: New file.
24371         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'truncate' is declared.
24372         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TRUNCATE, HAVE_TRUNCATE,
24373         REPLACE_TRUNCATE.
24374         * modules/unistd (Makefile.am): Substitute GNULIB_TRUNCATE,
24375         HAVE_TRUNCATE, REPLACE_TRUNCATE.
24376         * modules/truncate: New file.
24377         * tests/test-unistd-c++.cc (truncate): Test signature.
24378         * doc/posix-functions/truncate.texi: Mention the new module.
24380         * tests/test-truncate.c: New file.
24381         * modules/truncate-tests: New file.
24383 2017-05-13  Bruno Haible  <bruno@clisp.org>
24385         windows-stat-timespec: New module.
24386         * modules/windows-stat-timespec: New file.
24387         * m4/windows-stat-timespec.m4: New file.
24388         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Set WINDOWS_STAT_TIMESPEC.
24389         * modules/sys_stat (Makefile.am): Substitute WINDOWS_STAT_TIMESPEC.
24390         * lib/sys_stat.in.h (struct stat) [WINDOWS_STAT_TIMESPEC]: Declare with
24391         fields st_atim, st_mtim, st_ctim.
24392         (st_atime, st_mtime, st_ctime): Define as macros.
24393         (_GL_WINDOWS_STAT_TIMESPEC): New macro.
24394         * lib/stat-w32.h (_gl_convert_FILETIME_to_timespec)
24395         [_GL_WINDOWS_STAT_TIMESPEC]: New declaration.
24396         * lib/stat-w32.c (_gl_convert_FILETIME_to_timespec)
24397         [_GL_WINDOWS_STAT_TIMESPEC]: New function.
24398         (_gl_convert_FILETIME_to_POSIX): Adjust coding style.
24399         (_gl_fstat_by_handle): If _GL_WINDOWS_STAT_TIMESPEC, convert the
24400         FILETIME to 'struct timespec', not 'time_t'.
24401         * lib/stat.c (rpl_stat): If _GL_WINDOWS_STAT_TIMESPEC, convert the
24402         FILETIME to 'struct timespec', not 'time_t'.
24403         * lib/stat-time.h (STAT_TIMESPEC): Define also if
24404         _GL_WINDOWS_STAT_TIMESPEC.
24405         * doc/windows-stat-timespec.texi: New file.
24406         * doc/gnulib.texi: Include it.
24408 2017-05-13  Bruno Haible  <bruno@clisp.org>
24410         windows-stat-override: New module.
24411         * lib/sys_stat.in.h (stat) [GNULIB_OVERRIDES_STRUCT_STAT]: Provide own
24412         definition. Define GNULIB_defined_struct_stat.
24413         (fstat, fstatat, lstat, stat) [GNULIB_OVERRIDES_STRUCT_STAT]: Provoke
24414         link error if this symbol is used and the corresponding module is not
24415         in use.
24416         (_stat64, _stat32i64, _stati64, _stat32, _stat64i32): Don't redefine if
24417         GNULIB_OVERRIDES_STRUCT_STAT.
24418         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
24419         GNULIB_OVERRIDES_STRUCT_STAT.
24420         * modules/sys_stat (Makefile.am): Substitute
24421         GNULIB_OVERRIDES_STRUCT_STAT.
24422         * modules/windows-stat-override: New file.
24424 2017-05-13  Bruno Haible  <bruno@clisp.org>
24426         fstat: Fix module dependency conditions.
24427         * modules/fstat (Depends-on): Fix typo.
24429 2017-05-13  Bruno Haible  <bruno@clisp.org>
24431         stat, fstat: Complete removal of old native Windows code.
24432         * lib/stat.c: Remove old macrology for WINDOWS_NATIVE.
24433         * lib/fstat.c: Likewise.
24434         * lib/stat-w32.c: Likewise.
24436 2017-05-13  Bruno Haible  <bruno@clisp.org>
24438         stat: Complete removal of REPLACE_FUNC_STAT_DIR code.
24439         * lib/stat.c: Remove all REPLACE_FUNC_STAT_DIR code.
24441 2017-05-11  Paul Eggert  <eggert@cs.ucla.edu>
24443         getopt-posix: port to mingw
24444         * lib/getopt.c (flockfile, funlockfile): Define on mingw.
24445         Problem reported by Daniel P. Berrage in:
24446         http://lists.gnu.org/r/bug-gnulib/2017-05/msg00086.html
24448 2017-05-11  Bruno Haible  <bruno@clisp.org>
24450         gettimeofday: Increase precision on mingw.
24451         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Require AC_CANONICAL_HOST.
24452         Set REPLACE_GETTIMEOFDAY to 1 on mingw.
24453         * lib/gettimeofday.c (gettimeofday): On native Windows, use the
24454         GetSystemTimePreciseAsFileTime based implementation always.
24455         * doc/posix-functions/gettimeofday.texi: Mention precision problem on
24456         mingw.
24458 2017-05-11  Bruno Haible  <bruno@clisp.org>
24460         poll: Fix confusion between SOCKETs and FDs on native Windows.
24461         Fix proposed by Daniel P. Berrange <berrange@redhat.com>.
24462         * lib/poll.c [WINDOWS_NATIVE]: Undefine select.
24464 2017-05-11  Bruno Haible  <bruno@clisp.org>
24466         doc: Clarify doc about socket functions on native Windows.
24467         This reworks doc that was added on 2008-09-29.
24468         * doc/posix-functions/select.texi: Fix copy-and-paste mistake and use
24469         clearer wording.
24470         * doc/posix-functions/accept.texi: Use clearer wording.
24471         * doc/posix-functions/bind.texi: Likewise.
24472         * doc/posix-functions/connect.texi: Likewise.
24473         * doc/posix-functions/getpeername.texi: Likewise.
24474         * doc/posix-functions/getsockname.texi: Likewise.
24475         * doc/posix-functions/getsockopt.texi: Likewise.
24476         * doc/posix-functions/ioctl.texi: Likewise.
24477         * doc/posix-functions/listen.texi: Likewise.
24478         * doc/posix-functions/recv.texi: Likewise.
24479         * doc/posix-functions/recvfrom.texi: Likewise.
24480         * doc/posix-functions/send.texi: Likewise.
24481         * doc/posix-functions/sendto.texi: Likewise.
24482         * doc/posix-functions/setsockopt.texi: Likewise.
24483         * doc/posix-functions/shutdown.texi: Likewise.
24484         * doc/posix-functions/socket.texi: Likewise.
24486 2017-05-10  Bruno Haible  <bruno@clisp.org>
24488         poll: Fix link error on native Windows.
24489         * lib/poll.c [WINDOWS_NATIVE]: Undefine recv.
24491 2017-05-10  Bruno Haible  <bruno@clisp.org>
24493         time: Fix missing initialization of HAVE_TIMEZONE_T.
24494         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEZONE_T
24495         here...
24496         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): ... not here.
24497         * m4/time_rz.m4 (gl_TIME_RZ): Require gl_HEADER_TIME_H_DEFAULTS, not
24498         gl_HEADER_SYS_TIME_H_DEFAULTS.
24499         * modules/time_rz (Depends-on): Add 'time'. Remove useless quoting.
24500         (configure.ac): Remove useless quoting.
24502 2017-05-10  Bruno Haible  <bruno@clisp.org>
24504         Implement a way to opt out from MSVC support, part 2.
24505         * modules/msvc-inval (Include): Document recommended idiom.
24506         * modules/msvc-nothrow (Include): Likewise.
24508         Implement a way to opt out from MSVC support.
24509         This is useful for Emacs.
24510         * modules/msvc-nothrow (configure.ac): Invoke gl_MODULE_INDICATOR.
24511         * lib/accept4.c: Include <io.h> as an alternative to msvc-nothrow.h.
24512         * lib/error.c: Likewise.
24513         * lib/fcntl.c: Likewise.
24514         * lib/flock.c: Likewise.
24515         * lib/fstat.c: Likewise.
24516         * lib/fsync.c: Likewise.
24517         * lib/ioctl.c: Likewise.
24518         * lib/isapipe.c: Likewise.
24519         * lib/lseek.c: Likewise.
24520         * lib/nonblocking.c: Likewise.
24521         * lib/poll.c: Likewise.
24522         * lib/select.c: Likewise.
24523         * lib/sockets.h: Likewise.
24524         * lib/sockets.c: Likewise.
24525         * lib/stdio-read.c: Likewise.
24526         * lib/stdio-write.c: Likewise.
24527         * lib/utimens.c: Likewise.
24528         * lib/w32sock.h: Likewise.
24529         * lib/w32spawn.h: Likewise.
24530         * tests/test-cloexec.c: Likewise.
24531         * tests/test-dup-safer.c: Likewise.
24532         * tests/test-dup2.c: Likewise.
24533         * tests/test-dup3.c: Likewise.
24534         * tests/test-fcntl.c: Likewise.
24535         * tests/test-pipe.c: Likewise.
24536         * tests/test-pipe2.c: Likewise.
24537         * lib/ftruncate.c: Likewise.
24538         (chsize_nothrow): Renamed from chsize.
24539         * lib/msvc-nothrow.c: Don't include msvc-inval.h if
24540         HAVE_MSVC_INVALID_PARAMETER_HANDLER is not defined.
24541         * lib/close.c: Likewise.
24542         * lib/dup.c: Likewise.
24543         * lib/fclose.c: Likewise.
24544         * lib/raise.c: Likewise.
24545         * tests/test-fgetc.c: Likewise.
24546         * tests/test-fputc.c: Likewise.
24547         * tests/test-fread.c: Likewise.
24548         * tests/test-fwrite.c: Likewise.
24549         * lib/getdtablesize.c: Likewise.
24550         (_setmaxstdio_nothrow): Renamed from _setmaxstdio.
24551         * lib/isatty.c: Don't include msvc-inval.h if
24552         HAVE_MSVC_INVALID_PARAMETER_HANDLER is not defined.
24553         Include <io.h> as an alternative to msvc-nothrow.h.
24554         * lib/read.c: Likewise.
24555         * lib/write.c: Likewise.
24556         * lib/dup2.c: Likewise.
24557         (dup2_nothrow): New function.
24558         (ms_windows_dup2): Use it.
24559         * m4/close.m4 (gl_FUNC_CLOSE): Invoke gl_MSVC_INVAL and test
24560         HAVE_MSVC_INVALID_PARAMETER_HANDLER only if gl_MSVC_INVAL is defined.
24561         * m4/dup.m4 (gl_FUNC_DUP): Likewise.
24562         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Likewise.
24563         * m4/raise.m4 (gl_FUNC_RAISE): Likewise.
24564         * m4/read.m4 (gl_FUNC_READ): Likewise.
24565         * m4/write.m4 (gl_FUNC_WRITE): Likewise.
24566         * doc/windows-without-msvc.texi: New file.
24567         * doc/gnulib.texi (Native Windows Support without MSVC Support): New
24568         section.
24570 2017-05-10  Bruno Haible  <bruno@clisp.org>
24572         wait-process: Adjust native Windows support.
24573         * lib/wait-process.c: Use the usual condition for recognizing a native
24574         Windows platform.
24576 2017-05-10  Bruno Haible  <bruno@clisp.org>
24578         doc: New chapter "Native Windows Support".
24579         * doc/gnulib.texi (Native Windows Support): New chapter.
24580         * doc/windows-libtool.texi: Small wording changes.
24581         * doc/windows-sockets.texi: Small wording and formatting changes.
24583 2017-05-10  Bruno Haible  <bruno@clisp.org>
24585         doc: Move section "Library version handling".
24586         * doc/gnulib.texi: Move section "Library version handling"
24587         from chapter "Miscellaneous Notes" to chapter "Particular Modules".
24589 2017-05-10  Bruno Haible  <bruno@clisp.org>
24591         doc: Move section "Running self-tests under valgrind".
24592         * doc/gnulib.texi: Move section "Running self-tests under valgrind"
24593         from chapter "Particular Modules" to chapter "Miscellaneous Notes".
24595 2017-05-10  Bruno Haible  <bruno@clisp.org>
24597         doc: New chapter "Build Infrastructure Modules".
24598         * doc/gnulib.texi (Build Infrastructure Modules): New chapter.
24600 2017-05-10  Bruno Haible  <bruno@clisp.org>
24602         Prepare for reordering sections in the manual.
24603         * doc/gnulib.texi: Move several sections to separate files. Include
24604         these files.
24605         * doc/out-of-memory.texi: New file, extracted from doc/gnulib.texi.
24606         * doc/obsolete.texi: Likewise.
24607         * doc/extra-tests.texi: Likewise.
24608         * doc/transversal.texi: Likewise.
24609         * doc/namespace.texi: Likewise.
24610         * doc/check-version.texi: Likewise.
24611         * doc/windows-sockets.texi: Likewise.
24612         * doc/windows-libtool.texi: Likewise.
24613         * doc/licenses-texi.texi: Likewise.
24614         * doc/build-automation.texi: Likewise.
24615         * doc/c-locale.texi: Likewise.
24617 2017-05-10  Bruno Haible  <bruno@clisp.org>
24619         Fix instructions how to update manual on www.gnu.org.
24620         * doc/README: Add -I option, so that texi2dvi finds texinfo.tex.
24622 2017-05-09  Bruno Haible  <bruno@clisp.org>
24624         tzset: Expand comment about TZ problem on native Windows.
24625         * lib/tzset.c (tzset): Elaborate comment, based on explanations by
24626         Paul Eggert.
24627         * lib/ctime.c (rpl_ctime): Likewise.
24628         * lib/localtime.c (rpl_localtime): Likewise.
24629         * lib/mktime.c (mktime): Likewise.
24630         * lib/strftime-fixes.c (rpl_strftime): Likewise.
24631         * lib/wcsftime.c (rpl_wcsftime): Likewise.
24633 2017-05-08  Paul Eggert  <eggert@cs.ucla.edu>
24635         intprops: don’t depend on ‘verify’
24636         Problem reported by Ævar Arnfjörð Bjarmason in:
24637         http://lists.gnu.org/r/bug-gnulib/2017-05/msg00054.html
24638         * lib/intprops.h: Do not include verify.h, and move compile-time
24639         checks from here ...
24640         * tests/test-intprops.c (main): ... to here, if they’re not here
24641         already.  Check widths of other standard integer types.
24642         * modules/intprops (Depends-on): Remove ‘verify’.
24644 2017-05-07  Bruno Haible  <bruno@clisp.org>
24646         utimens: On native Windows, support 100ns resolution also if fd < 0.
24647         * lib/utime.in.h: Include <time.h>.
24648         (_gl_utimens_windows): New declaration.
24649         * lib/utime.c (_gl_utimens_windows): New function, based on utime.
24650         (utime): Invoke it.
24651         * lib/utimens.c (fdutimens): On native Windows, call _gl_utimens_windows
24652         instead of utime.
24653         * modules/utime (Depends-on): Add 'time'.
24655 2017-05-07  Bruno Haible  <bruno@clisp.org>
24657         utimens: Improve error code on native Windows.
24658         * lib/utimens.c (fdutimens): If fd was not opened with O_RDWR, fail with
24659         error code EACCES, not EINVAL.
24661 2017-05-07  Bruno Haible  <bruno@clisp.org>
24663         utime: Handle more Windows error codes.
24664         * lib/utime.c (utime): Handle ERROR_BAD_NETPATH.
24665         Based on explanations by Billy O'Neal.
24667 2017-05-05  Bruno Haible  <bruno@clisp.org>
24669         crypto/rijndael: Fix "strict-aliasing rules" warnings, alignment issues.
24670         * lib/rijndael-api-fst.c (rijndaelBlockEncrypt): Declare 'block' as a
24671         union.
24672         (rijndaelPadEncrypt, rijndaelBlockDecrypt): Likewise.
24673         (rijndaelPadDecrypt): Likewise. Use local variable 'iv' to cache the
24674         value of cipher->IV.
24676 2017-05-05  Bruno Haible  <bruno@clisp.org>
24678         wctype-h-c++-tests: Update.
24679         * tests/test-wctype-h-c++.cc: Reorder to match lib/wchar.in.h.
24681 2017-05-05  Bruno Haible  <bruno@clisp.org>
24683         wchar-c++-tests: Update.
24684         * tests/test-wchar-c++.cc (wcsftime): Declare, missing since 2017-04-30.
24686 2017-05-05  Bruno Haible  <bruno@clisp.org>
24688         utime-h-c++-tests: New module.
24689         * tests/test-utime-h-c++.cc: New file.
24690         (utime): Declare, missing since 2017-04-30.
24691         * modules/utime-h-c++-tests: New file.
24693 2017-05-05  Bruno Haible  <bruno@clisp.org>
24695         unistd-c++-tests: Update.
24696         * tests/test-unistd-c++.cc (isatty): Declare, missing since 2012-01-03.
24697         (read): Declare, missing since 2011-04-15.
24698         (sethostname): Declare, missing since 2011-12-03.
24700 2017-05-05  Bruno Haible  <bruno@clisp.org>
24702         time-c++-tests: Update.
24703         * tests/test-time-c++.cc (tzset): Declare, missing since 2017-05-01.
24704         (localtime, gmtime): Declare, missing since 2017-04-30.
24705         (ctime): Declare, missing since 2017-04-30.
24706         (strftime): Declare, missing since 2017-04-30.
24707         (tzalloc, tzfree, localtime_rz, mktime_z): Declare, missing since
24708         2015-07-24.
24710 2017-05-05  Bruno Haible  <bruno@clisp.org>
24712         sys_resource-c++-tests: New module.
24713         * tests/test-sys_resource-c++.cc: New file.
24714         (getrusage): Declare, missing since 2012-04-13.
24715         * modules/sys_resource-c++-tests: New file.
24717 2017-05-05  Bruno Haible  <bruno@clisp.org>
24719         strings-c++-tests: New module.
24720         * tests/test-strings-c++.cc: New file.
24721         (ffs): Declare, missing since 2011-07-12.
24722         * modules/strings-c++-tests: New file.
24724 2017-05-05  Bruno Haible  <bruno@clisp.org>
24726         string-c++-tests: Update.
24727         * tests/test-string-c++.cc (ffsl): Declare, missing since 2011-07-15.
24728         (ffsll): Declare, missing since 2011-07-15.
24730 2017-05-05  Bruno Haible  <bruno@clisp.org>
24732         stdlib-c++-tests: Update.
24733         * tests/test-stdlib-c++.cc (posix_openpt): Declare, missing since
24734         2011-10-18.
24735         (ptsname_r): Declare, missing since 2011-11-07.
24736         (qsort_r): Declare, missing since 2014-08-29.
24737         (random, srandom, initstate, setstate): Declare, missing since
24738         2012-01-14.
24739         (secure_getenv): Declare, missing since 2013-02-05.
24741 2017-05-05  Bruno Haible  <bruno@clisp.org>
24743         stdio-c++-tests: Update.
24744         * tests/test-stdio-c++.cc (pclose): Declare, missing since 2011-09-18.
24746 2017-05-05  Bruno Haible  <bruno@clisp.org>
24748         signal-h-c++-tests: Update.
24749         * tests/test-signal-h-c++.cc (raise): Remove redundant declaration.
24751 2017-05-05  Bruno Haible  <bruno@clisp.org>
24753         math-c++-tests: Update.
24754         * tests/test-math-c++.cc (fmaf): Declare, missing since 2011-10-17.
24755         (fma): Declare, missing since 2011-10-17.
24756         (fmal): Declare, missing since 2011-10-17.
24758 2017-05-05  Bruno Haible  <bruno@clisp.org>
24760         locale-c++-tests: Update.
24761         * tests/test-locale-c++.cc (localeconv): Declare, missing since
24762         2012-03-25.
24764 2017-05-05  Bruno Haible  <bruno@clisp.org>
24766         inttypes-c++-tests: New module.
24767         * tests/test-inttypes-c++.cc: New file.
24768         (strtoimax): Declare, missing since 2012-01-05.
24769         (strtoumax): Declare, missing since 2012-01-05.
24770         * modules/inttypes-c++-tests: New file.
24772 2017-05-05  Bruno Haible  <bruno@clisp.org>
24774         dirent-c++-tests: Update.
24775         * tests/test-dirent-c++.cc (readdir): Declare, missing since 2011-09-13.
24776         (rewinddir): Declare, missing since 2011-09-13.
24777         (dirfd): Declare, missing since 2010-03-08.
24779 2017-05-04  Bruno Haible  <bruno@clisp.org>
24781         argp: Fix mistake in 2017-04-23 commit.
24782         * lib/argp-help.c (__argp_failure): If GNULIB_STRERROR_R_POSIX is set,
24783         assume that strerror_r returns 'int', not 'char *'.
24785 2017-05-04  Reuben Thomas  <rrt@sc3d.org>
24787         argp: Fix typo.
24788         * lib/argp-help.c (argp_doc): Fix spelling mistake in comment.
24790 2017-05-02  Paul Eggert  <eggert@cs.ucla.edu>
24792         utimens: port to Emacs + MS-Windows
24793         Skip the new MS-Windows-specific code if Emacs.
24794         * lib/utimens.c [EMACS_CONFIGUATION]:
24795         Avoid new MS-Windows-specific code.
24796         (USE_SETFILETIME): New macro.
24797         (fdutimens): Use it.
24799 2017-05-01  Paul Eggert  <eggert@cs.ucla.edu>
24801         tzset: update doc for TZ problems on MS-Windows
24802         * doc/posix-functions/ctime.texi,  doc/posix-functions/daylight.texi:
24803         * doc/posix-functions/localtime.texi, doc/posix-functions/mktime.texi:
24804         * doc/posix-functions/strftime.texi, doc/posix-functions/timezone.texi:
24805         * doc/posix-functions/tzname.texi, doc/posix-functions/tzset.texi:
24806         * doc/posix-functions/wcsftime.texi:
24807         Mention some issues with TZ under MS-Windows.
24809 2017-05-01  Bruno Haible  <bruno@clisp.org>
24811         copy-file: Fix build error on mingw.
24812         * modules/copy-file (Depends-on): Add 'close'.
24814 2017-05-01  Bruno Haible  <bruno@clisp.org>
24816         tzset: Work around TZ problem on native Windows.
24817         * m4/tzset.m4 (gl_FUNC_TZSET): Require AC_CANONICAL_HOST. On native
24818         Windows, set REPLACE_TZSET to 1.
24819         * lib/tzset.c (tzset): On native Windows, fix TZ if necessary, and
24820         invoke '_tzset' instead of 'tzset'.
24821         * doc/posix-functions/tzset.texi: Mention the native Windows workaround.
24823         * modules/time_rz (Depends-on): Add tzset.
24824         * lib/time_rz.c (tzset): Remove fallback definition.
24825         * m4/time_rz.m4 (gl_TIME_RZ): Don't test for tzset.
24827 2017-05-01  Bruno Haible  <bruno@clisp.org>
24829         mktime: Fix dependencies.
24830         * modules/mktime (Depends-on): Add 'time'.
24832 2017-05-01  Bruno Haible  <bruno@clisp.org>
24834         New module 'localtime-buffer', split off from module 'gettimeofday'.
24835         * lib/localtime-buffer.h: New file.
24836         * lib/localtime-buffer.c: New file, extracted from lib/gettimeofday.c.
24837         * lib/time.in.h (tzset): New declaration.
24838         (localtime, gmtime): Don't test GNULIB_GETTIMEOFDAY.
24839         * lib/tzset.c: New file, extracted from lib/gettimeofday.c.
24840         * lib/gettimeofday.c: Include localtime-buffer.h. Remove code that was
24841         moved to lib/localtime-buffer.c or lib/tzset.c.
24842         * m4/localtime-buffer.m4: New file.
24843         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TZSET,
24844         HAVE_TZSET, REPLACE_TZSET.
24845         * m4/tzset.m4 (gl_FUNC_TZSET): Move code from m4/gettimeofday.m4 to
24846         here, with modifications. Set HAVE_TZSET, REPLACE_TZSET. Invoke
24847         gl_LOCALTIME_BUFFER_NEEDED.
24848         (gl_FUNC_TZSET_CLOBBER): Don't require gl_HEADER_SYS_TIME_H; not needed
24849         since 2007-01-18.
24850         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Remove code that deals with
24851         tzset.
24852         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Require gl_LOCALTIME_BUFFER_DEFAULTS.
24853         Invoke gl_LOCALTIME_BUFFER_NEEDED instead of
24854         gl_GETTIMEOFDAY_REPLACE_LOCALTIME.
24855         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Remove macro.
24856         * modules/localtime-buffer: New file.
24857         * modules/time (Depends-on): Remove 'gettimeofday'.
24858         (Makefile.am): Substitute GNULIB_TZSET, HAVE_TZSET,
24859         REPLACE_TZSET. Don't substitute GNULIB_GETTIMEOFDAY.
24860         * modules/tzset (Description): Enable hyperlink to POSIX spec.
24861         (Files): Add lib/tzset.c.
24862         (Depends-on): Remove gettimeofday. Add localtime-buffer, time.
24863         (configure.ac): Arrange to conditionally compile lib/tzset.c. Invoke
24864         gl_TIME_MODULE_INDICATOR.
24865         * modules/gettimeofday (Depends-on): Add localtime-buffer.
24867 2017-05-01  Bruno Haible  <bruno@clisp.org>
24869         copy-file: Preserve sub-second time stamps.
24870         * lib/copy-file.c: Include stat-time.h, utimens.h instead of <utime.h>.
24871         (qcopy_file_preserving): Use 'struct timespec' and utimens() to
24872         transport the time stamps from the original file to the destination
24873         file.
24874         * m4/copy-file.m4 (gl_COPY_FILE): Don't test for utime, utimes.
24875         * modules/copy-file (Depends-on): Add stat-time, utimns instead of
24876         utime-h.
24878 2017-05-01  Bruno Haible  <bruno@clisp.org>
24880         wctype-t: Fix problems if <wchar.h> gets included after <wctype.h>.
24881         * lib/wctype.in.h: Include not only <ctype.h> but also <wchar.h>. Do so
24882         also on MSVC.
24883         Reported by Eli Zaretskii <eliz@gnu.org>.
24885 2017-05-01  Bruno Haible  <bruno@clisp.org>
24887         wchar: Fix compilation error with the original mingw.org mingw.
24888         * lib/wchar.in.h (rpl_wint_t): If <crtdefs.h> does not exist, include
24889         <stddef.h> instead.
24890         * m4/wint_t.m4 (gl_TYPE_WINT_T_PREREQ): New macro, extracted from
24891         gl_WCTYPE_H.
24892         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set HAVE_CRTDEFS_H here; require
24893         gl_TYPE_WINT_T_PREREQ instead.
24894         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_TYPE_WINT_T_PREREQ.
24895         * modules/wchar (Makefile.am): Substitute HAVE_CRTDEFS_H.
24896         Reported by Eli Zaretskii <eliz@gnu.org>.
24898 2017-04-30  Bruno Haible  <bruno@clisp.org>
24900         utimecmp: Add support for native Windows.
24901         * lib/utimecmp.c (SYSCALL_RESOLUTION): Set to 100 on native Windows.
24903 2017-04-30  Bruno Haible  <bruno@clisp.org>
24905         utimens: Add support for native Windows.
24906         * lib/utimens.c: Include <windows.h>, msvc-nothrow.h.
24907         (fdutimens): Provide a native Windows implementation, like utime.c with
24908         added tv_nsec support.
24909         * modules/utimens (Depends-on): Add msvc-nothrow, utime.
24910         Suggested by Tim Rühsen <tim.ruehsen@gmx.de>.
24912 2017-04-30  Bruno Haible  <bruno@clisp.org>
24914         wcsftime: New module.
24915         * lib/wchar.in.h (wcsftime): New declaration.
24916         * lib/wcsftime.c: New file.
24917         * m4/wcsftime.m4: New file.
24918         * m4/wchar_h.m4 (gl_WCHAR_H): Test for wcsftime declaration.
24919         (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_WCSFTIME,
24920         HAVE_WCSFTIME, REPLACE_WCSFTIME.
24921         * modules/wchar (Makefile.am): Substitute GNULIB_WCSFTIME,
24922         HAVE_WCSFTIME, REPLACE_WCSFTIME.
24923         * modules/wcsftime: New file.
24924         * doc/posix-functions/wcsftime.texi: Mention the new module.
24926 2017-04-30  Bruno Haible  <bruno@clisp.org>
24928         strftime-fixes: New module.
24929         * lib/time.in.h (strftime): New declaration.
24930         * lib/strftime-fixes.c: New file.
24931         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Inline gl_FUNC_STRFTIME macro.
24932         (gl_FUNC_STRFTIME): Remove macro.
24933         * m4/strftime-fixes.m4: New file.
24934         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_STRFTIME,
24935         REPLACE_STRFTIME.
24936         * modules/time (Makefile.am): Substitute GNULIB_STRFTIME,
24937         REPLACE_STRFTIME.
24938         * modules/strftime-fixes: New file.
24939         * doc/posix-functions/strftime.texi: Mention the new module.
24941 2017-04-30  Bruno Haible  <bruno@clisp.org>
24943         mktime: Work around TZ problem on native Windows.
24944         * lib/mktime.c: Add #ifs to make the algorithmic workaround independent
24945         from the native Windows workaround.
24946         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): New macro, extracted from
24947         gl_FUNC_MKTIME. If guessing, set gl_cv_func_working_mktime to
24948         'guessing no'.
24949         (gl_FUNC_MKTIME): Require it. Require AC_CANONICAL_HOST.
24950         Set REPLACE_MKTIME to 1 on native Windows. Define NEED_MKTIME_WORKING,
24951         NEED_MKTIME_WINDOWS.
24952         (gl_FUNC_MKTIME_INTERNAL): Require gl_FUNC_MKTIME_WORKS, not
24953         gl_FUNC_MKTIME. Set WANT_MKTIME_INTERNAL, not REPLACE_MKTIME. Define
24954         NEED_MKTIME_INTERNAL.
24955         * m4/timegm.m4 (gl_FUNC_TIMEGM): Require gl_FUNC_MKTIME_WORKS, not
24956         gl_FUNC_MKTIME. Cope with 'guessing yes' value.
24957         * modules/mktime-internal (configure.ac): Test WANT_MKTIME_INTERNAL,
24958         not REPLACE_MKTIME.
24959         * doc/posix-functions/mktime.texi: Mention the native Windows
24960         workaround.
24962 2017-04-30  Bruno Haible  <bruno@clisp.org>
24964         localtime: New module.
24965         * lib/time.in.h (localtime): Declare also if requested by module
24966         'localtime'.
24967         * lib/localtime.c: New file.
24968         * m4/localtime.m4: New file.
24969         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_LOCALTIME.
24970         * modules/time (Makefile.am): Substitute GNULIB_LOCALTIME.
24971         * modules/localtime: New file.
24972         * doc/posix-functions/localtime.texi: Mention the new module.
24974 2017-04-30  Bruno Haible  <bruno@clisp.org>
24976         ctime: New module.
24977         * lib/time.in.h (ctime): New declaration.
24978         * lib/ctime.c: New file.
24979         * m4/ctime.m4: New file.
24980         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_CTIME,
24981         REPLACE_CTIME.
24982         * modules/time (Makefile.am): Substitute GNULIB_CTIME, REPLACE_CTIME.
24983         * modules/ctime: New file.
24984         * doc/posix-functions/ctime.texi: Mention the new module.
24986 2017-04-30  Bruno Haible  <bruno@clisp.org>
24988         gettimeofday: Provide higher resolution on native Windows.
24989         * lib/gettimeofday.c: Don't include <sys/timeb.h>.
24990         (GetSystemTimePreciseAsFileTimeFuncType): New variable.
24991         (initialize): Initialize it.
24992         (gettimeofday) [WINDOWS_NATIVE]: Use it, and convert from FILETIME to
24993         'struct timeval'. Don't use _ftime().
24994         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): Don't test for
24995         <sys/timeb.h> and _ftime.
24997 2017-04-30  Bruno Haible  <bruno@clisp.org>
24999         Document the problem with the Cygwin environment variable TZ.
25000         * doc/posix-functions/tzset.texi: Add note about TZ.
25001         * doc/posix-functions/ctime.texi: Likewise.
25002         * doc/posix-functions/localtime.texi: Likewise.
25003         * doc/posix-functions/mktime.texi: Likewise.
25004         * doc/posix-functions/strftime.texi: Likewise.
25005         * doc/posix-functions/wcsftime.texi: Likewise.
25006         * doc/pastposix-functions/ftime.texi: Likewise.
25008 2017-04-30  Bruno Haible  <bruno@clisp.org>
25010         utime-tests: New module.
25011         * tests/test-utime.c: New file, based on tests/test-utimens.h.
25012         * tests/test-utimens-common.h: Include <sys/stat.h>.
25013         * modules/utime-tests: New file.
25015 2017-04-29  Bruno Haible  <bruno@clisp.org>
25017         utime: New module.
25018         * lib/utime.in.h: Add comment for snippets.
25019         (utime): New declaration.
25020         * lib/utime.c: New file.
25021         * m4/utime.m4: New file.
25022         * m4/utime_h.m4 (gl_UTIME_H): Test for utime declaration.
25023         (gl_UTIME_H_DEFAULTS): Initialize GNULIB_UTIME, HAVE_UTIME,
25024         REPLACE_UTIME.
25025         * modules/utime-h (Depends-on): Add snippets.
25026         (Makefile.am): Substitute GNULIB_UTIME, HAVE_UTIME, REPLACE_UTIME.
25027         Insert snippets.
25028         * modules/utime: New file.
25029         * doc/posix-functions/utime.texi: Mention the new module.
25031 2017-04-29  Bruno Haible  <bruno@clisp.org>
25033         utime-h: Modernize handling of 'struct utimbuf'.
25034         * lib/utime.in.h: Include next <utime.h> if it exists.
25035         (utimbuf): Define to _utimbuf on native Windows.
25036         * m4/utime_h.m4 (gl_UTIME_H): Check for prerequisites of include_next.
25037         Set UTIME_H on native Windows.
25038         (gl_UTIME_MODULE_INDICATOR, gl_HEADER_UTIME_H_DEFAULTS): New macros.
25039         * modules/utime-h (Depends-on): Add include_next.
25040         (Makefile.am): Substitute also HAVE_UTIME_H, INCLUDE_NEXT,
25041         PRAGMA_SYSTEM_HEADER, PRAGMA_COLUMNS, NEXT_UTIME_H.
25043         * lib/utimens.c (utimbuf): Remove fallback definition.
25044         * m4/utimens.m4 (gl_UTIMENS): Don't require
25045         gl_CHECK_TYPE_STRUCT_UTIMBUF.
25046         * m4/utimbuf.m4: Remove file.
25047         * modules/utimens (Files): Remove m4/utimbuf.m4.
25049 2017-04-29  Bruno Haible  <bruno@clisp.org>
25051         Make use of module 'utime-h'.
25052         * modules/copy-file (Depends-on): Add utime-h.
25053         * lib/copy-file.c: Assume that <utime.h> exists.
25054         * m4/copy-file.m4 (gl_COPY_FILE): Don't test for <utime.h>.
25056         * modules/utimens (Depends-on): Add utime-h.
25057         * lib/utimens.c: Assume that <utime.h> exists.
25059 2017-04-29  Bruno Haible  <bruno@clisp.org>
25061         utime-h: New module.
25062         * m4/utime_h.m4: New file.
25063         * lib/utime.in.h: New file.
25064         * modules/utime-h: New file.
25065         * doc/posix-headers/utime.texi: Mention the new module.
25067         * tests/test-utime-h.c: New file.
25068         * modules/utime-h-tests: New file.
25070 2017-04-30  Bruno Haible  <bruno@clisp.org>
25072         Fix a few typos.
25073         * m4/fstat.m4 (gl_FUNC_FSTAT): Require AC_CANONICAL_HOST.
25074         * m4/stat.m4 (gl_FUNC_STAT): Fix comment.
25075         * doc/posix-functions/fstat.texi: Fix a plural typo.
25076         * doc/posix-functions/stat.texi: Likewise.
25077         * m4/include_next.m4: Update comments.
25079 2017-04-29  Bruno Haible  <bruno@clisp.org>
25081         error: Fix mistake in 2017-04-23 commit.
25082         * lib/error.c (print_errno_message): If GNULIB_STRERROR_R_POSIX is set,
25083         assume that strerror_r returns 'int', not 'char *'.
25085 2017-04-29  Bruno Haible  <bruno@clisp.org>
25087         stat: Fix time_t values and other problems on native Windows platforms.
25088         * doc/posix-functions/stat.texi: Mention the problem with the Microsoft
25089         implementations of stat().
25090         * lib/stat.c: Include filename.h instead of dosname.h. Include
25091         malloca.h, stat-w32.h.
25092         (is_unc_root): New function.
25093         (rpl_stat): New implementation for native Windows. Remove
25094         REPLACE_FUNC_STAT_DIR code.
25095         * m4/stat.m4 (gl_FUNC_STAT): On native Windows, set REPLACE_STAT always.
25096         Don't define REPLACE_FUNC_STAT_DIR.
25097         (gl_PREREQ_STAT): Require gl_HEADER_SYS_STAT_H.
25098         * modules/stat (Files): Add lib/stat-w32.h, lib/stat-w32.c.
25099         (Depends-on): Remove dosname. Add filename, malloca.
25100         (configure.ac): Also compile lib/stat-w32.c.
25102 2017-04-29  Bruno Haible  <bruno@clisp.org>
25104         fstat: Fix time_t values on native Windows platforms.
25105         * doc/posix-functions/fstat.texi: Mention the problem with st_*time.
25106         * lib/stat-w32.h: New file.
25107         * lib/stat-w32.c: New file.
25108         * lib/fstat.c: Don't include msvc-inval.h. Include msvc-nothrow.h,
25109         stat-w32.h instead.
25110         (fstat_nothrow): Remove function.
25111         (rpl_fstat): Implement by means of _gl_fstat_by_handle.
25112         * m4/fstat.m4 (gl_FUNC_FSTAT): On native Windows, set REPLACE_FSTAT
25113         always.
25114         (gl_PREREQ_FSTAT): Require gl_HEADER_SYS_STAT_H.
25115         * modules/fstat (Files): Add lib/stat-w32.h, lib/stat-w32.c.
25116         (Depends-on): Remove msvc-inval. Add pathmax, msvc-nothrow.
25117         (configure.ac): Also compile lib/stat-w32.c.
25119 2017-04-29  Paul Eggert  <eggert@cs.ucla.edu>
25121         getopt: port to Solaris 10 with circa-1997 glibc getopt.h
25122         Problem reported by Assaf Gordon and Gavin Smith in:
25123         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00157.html
25124         * lib/getopt-pfx-ext.h (_getopt_internal) [__GETOPT_PREFIX]:
25125         #define this, too.
25127 2017-04-29  Bruno Haible  <bruno@clisp.org>
25129         strerror_r-posix: Fixes for MSVC 14.
25130         * lib/strerror_r.c: Include <stdarg.h>.
25131         (strerror_r): Provide error messages for errno values 100...140.
25132         * doc/posix-functions/strerror_r.texi: Mention the MSVC 14 problem.
25134 2017-04-28  Bruno Haible  <bruno@clisp.org>
25136         noreturn: New module.
25137         * lib/noreturn.h: New file.
25138         * modules/noreturn: New file.
25139         * tests/test-noreturn.c: New file.
25140         * modules/noreturn-tests: New file.
25141         * tests/test-noreturn-c++.cc: New file.
25142         * modules/noreturn-c++-tests: New file.
25144 2017-04-27  Bruno Haible  <bruno@clisp.org>
25146         wctype-h: Fix compilation error with the original mingw.org mingw.
25147         * m4/wctype_h.m4 (gl_WCTYPE_H): Test for <crtdefs.h>. Set
25148         HAVE_CRTDEFS_H.
25149         * modules/wctype-h (Makefile.am): Substitute HAVE_CRTDEFS_H.
25150         * lib/wctype.in.h (rpl_wint_t): If <crtdefs.h> does not exist, include
25151         <stddef.h> instead.
25152         Reported and proposed by Eli Zaretskii <eliz@gnu.org>.
25154 2017-04-26  Pádraig Brady  <P@draigBrady.com>
25156         nap.h: Fix compilation on non windows platforms
25157         * tests/nap.h: Move misplaced endif.
25159 2017-04-26  Pádraig Brady  <P@draigBrady.com>
25160         and Paul Eggert  <eggert@cs.ucla.edu>
25162         time_rz: fix heap buffer overflow vulnerability
25163         Reported and analyzed at https://bugzilla.redhat.com/CVE-2017-7476
25164         * lib/time_rz.c (save_abbr): Rearrange the calculation determining
25165         whether there is enough buffer space available, thus avoiding
25166         the problematic promotion of signed to unsigned causing an invalid
25167         comparison when zone_copy is more than ABBR_SIZE_MIN bytes beyond
25168         the start of the buffer.
25169         * tests/test-parse-datetime.c (main): Add a test case written by
25170         Paul Eggert, which overwrites enough of the heap so that
25171         standard glibc will fail with "free(): invalid pointer"
25172         without the patch applied.
25174 2017-04-26  Paul Eggert  <eggert@cs.ucla.edu>
25176         xalloc: add missing integer overflow check
25177         * lib/xalloc.h (x2nrealloc): Also check for multiplication
25178         overflow when P is null.
25180 2017-04-25  Paul Eggert  <eggert@cs.ucla.edu>
25182         parse-datetime: make it standalone
25183         * lib/parse-datetime.y: Include <stdarg.h>, for va_start etc.
25184         (_GL_ATTRIBUTE_FORMAT): New macro.
25185         These are needed to get './gnulib-tool --test parse-datetime' to work.
25187 2017-04-23  Bruno Haible  <bruno@clisp.org>
25189         nap.h: Port to native Windows.
25190         * tests/nap.h (nap_get_stat): Renamed from get_stat. Remove argument fd;
25191         use nap_fd instead. On native Windows, close and reopen nap_fd.
25192         (nap_works): Don't compare the ctimes, because on native Windows, these
25193         are the creation times.
25194         (nap): Update.
25196 2017-04-23  Bruno Haible  <bruno@clisp.org>
25198         nap.h: Fix logic.
25199         * tests/nap.h (nap): Avoid signed integer overflow in loop.
25201 2017-04-23  Bruno Haible  <bruno@clisp.org>
25203         Fix conflict between strerror_r-posix module and AC_FUNC_STRERROR_R.
25204         * modules/strerror_r-posix (configure.ac): Invoke gl_MODULE_INDICATOR.
25205         * lib/error.c: Test GNULIB_STRERROR_R_POSIX before testing
25206         HAVE_DECL_STRERROR_R, HAVE_STRERROR_R, or STRERROR_R_CHAR_P.
25207         * lib/argp-help.c (__argp_failure): Likewise.
25209 2017-04-23  Bruno Haible  <bruno@clisp.org>
25211         strerror_r-posix: Revert commits from 2016-10-16,2016-11-04,2016-11-14.
25212         * m4/strerror_r.m4: Revert changes since 2016-10-16.
25213         * lib/strerror_r.c: Likewise.
25215 2017-04-23  Paul Eggert  <eggert@cs.ucla.edu>
25217         Target a C99 subset, not a C89 subset
25218         For many years Gnulib has targeted C89 and has resisted using C99
25219         features, as some Gnulib-using programs still wanted to target
25220         C89.  As this no longer seems to be the case, relax the porting
25221         requirements to allow some C99 features.  This is merely a change
25222         to the documentation, to give other Gnulib developers a chance to
25223         weigh in on the topic.
25224         * doc/extern-inline.texi (extern inline):
25225         * doc/gnulib-readme.texi (Portability guidelines):
25226         * doc/gnulib-tool.texi (Initial import):
25227         * doc/gnulib.texi (Header files):
25228         Modernize to talk about C99 and C11 instead of C89 and C99.
25229         * doc/gnulib-readme.texi (Portability guidelines):
25230         Now a section, not merely a subsection, so that it
25231         can be split up.  Modernize a bit.
25232         (C language versions, C99 features assumed)
25233         (C99 features avoided):
25234         New sections.
25236 2017-04-23  Bruno Haible  <bruno@clisp.org>
25238         doc: New section "Modules that modify the way other modules work".
25239         * doc/gnulib.texi (Modules that modify the way other modules work): New
25240         section.
25242 2017-04-23  Bruno Haible  <bruno@clisp.org>
25244         stat-time: Update comments.
25245         * lib/stat-time.h: Fix reference regarding st_ctime on Windows.
25246         * tests/test-utimens-common.h: Add reference regarding st_ctime on
25247         Windows.
25249 2017-04-01  Bruno Haible  <bruno@clisp.org>
25251         glob: Fix more memory leaks.
25252         * lib/glob.c (glob): Free allocated memory before returning.
25253         Reported by Coverity via Tim Rühsen.
25255 2017-04-22  Paul Eggert  <eggert@cs.ucla.edu>
25257         poll: improve fast check for out-of-range NFD
25258         * lib/poll.c: Do not include intprops.h.
25259         (poll): Compare NFD to INT_MAX, not to TYPE_MAXIMUM (nfds_t) / 2.
25260         * modules/poll (Depends-on): Remove intprops.
25262         ftoastr: cite a newer paper
25263         * lib/ftoastr.c (FTOASTR): In comment, cite Andrysco et al. 2016
25264         instead of Loitsch 2010.
25266 2017-04-22  Bruno Haible  <bruno@clisp.org>
25268         poll: Enable argument check also in the Windows implementation.
25269         * lib/poll.c (poll) [WINDOWS_NATIVE]: Check value of nfd correctly.
25270         Reported by Paul Eggert.
25272 2017-04-22  Bruno Haible  <bruno@clisp.org>
25274         getlogin_r: Work around bug in Mac OS X 10.12.
25275         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test also against the Mac OS X
25276         bug.
25277         * lib/getlogin_r.c (getlogin_r): When getlogin_r returns a string of the
25278         given size minus 1, call getlogin_r a second time, on a larger buffer.
25279         * modules/getlogin_r (Depends-on): Add malloca.
25280         * doc/posix-functions/getlogin_r.texi: Mention the Mac OS X bug.
25282 2017-04-22  Paul Eggert  <eggert@cs.ucla.edu>
25284         parse-datetime: fix %z and prefer signed int
25285         %z problem reported by Pádraig Brady in:
25286         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00103.html
25287         While fixing it, I decided to prefer signed ints to size_t, as
25288         they are less error-prone (e.g., ubsan catches overflow).
25289         * lib/parse-datetime.y (textint, parser_control, lookup_word, yylex)
25290         (parse_datetime2): Prefer ptrdiff_t to size_t for sizes and object
25291         counts, since signed integers make for better debugging.
25292         (date): Don’t assume %z works in printf formats.
25293         (debug_strfdatetime, debug_strfdate, debug_strftime): Use int for
25294         sizes of buffers known to be small, e.g., because we’re using snprintf.
25295         (parse_datetime2): Simplify call to debug_mktime_not_ok.
25297 2017-04-22  Bruno Haible  <bruno@clisp.org>
25299         *printf: Work around rounding bug on Mac OS X.
25300         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Test for Mac OS X 10.12 bug.
25301         * doc/posix-functions/*printf.texi: Mention the rounding bugs of
25302         Mac OS X and FreeBSD.
25303         * doc/glibc-functions/*printf.texi: Likewise.
25305 2017-04-22  Bruno Haible  <bruno@clisp.org>
25307         vasnprintf tests: Avoid warnings.
25308         * tests/test-vasnprintf-posix3.c (test_function, my_asnprintf,
25309         test_vasnprintf, test_asnprintf): Don't define if there's nothing to
25310         test.
25312 2017-04-22  Bruno Haible  <bruno@clisp.org>
25314         sys_file tests: Avoid warning.
25315         * tests/test-sys_file.c (main): Add a default clause to the switch
25316         statement.
25318 2017-04-22  Bruno Haible  <bruno@clisp.org>
25320         sethostname: Update doc.
25321         * doc/glibc-functions/sethostname.texi: Mention differing prototype on
25322         Mac OS X.
25324 2017-04-22  Bruno Haible  <bruno@clisp.org>
25326         quotearg tests: Avoid warnings.
25327         * tests/test-quotearg.c: Don't include test-quotearg.h if ENABLE_NLS is
25328         false.
25330 2017-04-22  Bruno Haible  <bruno@clisp.org>
25332         poll: Enable argument check.
25333         * lib/poll.c: Include intprops.h.
25334         (poll): Check value of nfd correctly.
25335         * modules/poll (Depends-on): Add intprops.
25337 2017-04-22  Bruno Haible  <bruno@clisp.org>
25339         get-rusage-data: Avoid warnings on Mac OS X.
25340         * lib/get-rusage-data.c: On Mac OS X, don't define
25341         get_rusage_data_via_setrlimit nor get_rusage_data_via_iterator.
25342         (get_rusage_data) [Mac OS X]: Just return 0.
25344 2017-04-22  Bruno Haible  <bruno@clisp.org>
25346         xbinary-io: Fix build error.
25347         * modules/xbinary-io (Depends-on): Add gettext-h.
25348         * lib/xbinary-io.c: Include gettext.h and define _().
25349         Reported by Gisle Vanem <gisle.vanem@gmail.com> in
25350         <https://lists.gnu.org/r/bug-gnulib/2017-04/msg00089.html>.
25352 2017-04-22  Paul Eggert  <eggert@cs.ucla.edu>
25354         parse-datetime: overflow and debug cleanups
25355         This long patch was triggered by this bug report from Ruediger Meier:
25356         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00028.html
25357         I fixed the bug he noted, then found some others nearby, and then
25358         still others.  Oh my goodness, there were a lot of bugs.  I cleaned
25359         up some of the code to follow GNU standards while I was at it.
25360         * lib/parse-datetime.y (ISDIGIT): Remove; all callers changed to
25361         use c_isdigit.
25362         (EPOCH_YEAR): Remove; unused.
25363         (TM_YEAR_BASE): Now an enum rather than a macro.
25364         (HOUR, debug_strfdatetime): Multiply hour by 3600, not 60, to get
25365         time zone offset, since timezones now are in terms of seconds and
25366         not minutes.
25367         (long_time_t): Remove.  All uses replaced by time_t or intmax_t as
25368         appropriate.  Verify that intmax_t is wide enough.
25369         (time_overflow, time_zone_str): New functions, used to deal
25370         more reliably with overflow.
25371         (dbg_printf): Add printf attribute, to help catch integer width errors.
25372         (textint, relative_time, parser_control, time_zone_hhmm, set_hhmmss)
25373         (%union, to_hour, yylex, parse_datetime2):
25374         Use intmax_t instead of long int and/or long_time_t.
25375         All uses changed.
25376         (DBGBUFSIZE): Move earlier.
25377         (relative_time, set_hhmmss, parser_control):
25378         Just use int for nanoseconds and for time zones; that’s wide enough.
25379         (parser_control): Use bool for members like year_seen that can
25380         be booleans instead of counters.  All uses changed.
25381         Remove debug_default_input_timezone; no longer needed.
25382         All uses removed.
25383         (apply_relative_time): Return a bool overflow flag.
25384         All uses changed to check for overflow.
25385         (apply_relative_time, zone, date, relunit, relunit_snumber)
25386         (signed_seconds, unsigned_seconds, yylex, parse_datetime2):
25387         Check for integer overflow portably.
25388         (str_days): Use just int for N, as it’s wide enough.
25389         Prefer 2D char arrays to arrays of char * when it looks like
25390         2D is a win on typical platforms.
25391         Prefer snprintf to strncpy/strncat, for simplicity;
25392         all buffers are smaller than INT_MAX so this is safe.
25393         (TIME_ZONE_BUFSiZE, TM_YEAR_BUFSIZE): New constants.
25394         (debug_print_current_time): Don’t assume tv_nsec is of type long,
25395         as this is not true on x32.  Output "." before any nanoseconds.
25396         (debug_print_current_time, parse_datetime2):
25397         Output local zones using a more-consistent format.
25398         (debug_print_current_time, date, parse_datetime2):
25399         (main) [TEST]:
25400         Don’t assume time_t is the same width as long.
25401         (print_rel_part): New function, replacing ...
25402         (PRINT_REL_PART): ... this macro, which was removed.  All uses changed.
25403         (debug_print_relative_time): Use bool for boolean.
25404         (local_zone): dsts_seen now counts only tDST instances.
25405         (date): Fix printf of size_t to use %z.  Do not assume numeric
25406         tokens have negative values merely because the context suggests
25407         a syntax with "-" separating tokens.
25408         (time_zone_hhmm): Return bool success indicator, which checks for
25409         overflow.  Store result into PC->time_zone instead.  All callers
25410         changed.
25411         (tm_year_str): New function.  Return a bool success indicator and
25412         store the result into a buffer.  All callers changed.  Output the
25413         numerically correct string even if adding 1900 to the year would
25414         overflow.
25415         (to_tm_year): New function, replacing the old to_year.  All
25416         callers changed.
25417         (tm_diff): Sync with glibc.
25418         (lookup_word): Use to_uchar instead of doing it by hand.
25419         (TZBUFSIZE): Now local to the only function that needs it.
25420         (debug_strfdatetime): Simplify now that time zones are int seconds.
25421         (debug_strfdate): Work even if tm_year + 1900 would overflow.
25422         (get_effective_timezone): Remove.  All uses removed.
25423         (parse_datetime2): Use fprintf in pieces instead of snprintfing
25424         to a fixed-size buffer.  Don’t assume that gmtime succeeds iff
25425         localtime succeeds.  Use tm_gmtoff if available.  Simplify how
25426         ‘goto fail;’ works in conjunction with the ‘ok’ flag.
25427         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Don’t define
25428         TIME_T_FITS_IN_LONG_INT, as it is no longer needed.
25429         * modules/parse-datetime (Depends-on): Add inttypes.
25431 2017-04-21  Bruno Haible  <bruno@clisp.org>
25433         gettext-h: Avoid -Wundef warning.
25434         * lib/gettext.h: Test the value of ENABLE_NLS only if it is defined.
25435         Reported by Tim Rühsen <tim.ruehsen@gmx.de> in
25436         <https://lists.gnu.org/r/bug-gnulib/2017-04/msg00022.html>.
25438 2017-04-05  Tim Rühsen  <tim.ruehsen@gmx.de>
25440         error: Avoid "function declaration isn't a prototype" warning.
25441         * lib/error.c (strerror_r): Turn K&R C prototype to an ANSI C prototype.
25443 2017-04-21  Bruno Haible  <bruno@clisp.org>
25445         vasnprintf: Fix for MSVC 14.
25446         * lib/vasnprintf.c (USE_MSVC__SNPRINTF): New macro.
25447         Everywhere, use !HAVE_SNPRINTF_RETVAL_C99 || USE_MSVC__SNPRINTF instead
25448         of !HAVE_SNPRINTF_RETVAL_C99.
25450 2017-04-21  Bruno Haible  <bruno@clisp.org>
25452         mbrtowc tests: Fix test failures on MSVC 14.
25453         * tests/test-mbrtowc-w32.c (test_one_locale): Accept MSVC's conversion
25454         behaviour for invalid input.
25456 2017-04-21  Bruno Haible  <bruno@clisp.org>
25458         mbsinit: Fix for MSVC 14.
25459         * lib/mbsinit.c (mbsinit): If GNULIB_defined_mbstate_t, provide an
25460         implementation that is in sync with mbrtowc.c. On other platforms, use
25461         an adequate ad-hoc implementation.
25463 2017-04-21  Bruno Haible  <bruno@clisp.org>
25465         Fix test-mbrtowc5.sh failure on native Windows.
25466         * lib/setlocale.c (setlocale_unixlike): Accept "POSIX" as an alias for
25467         "C".
25469 2017-04-21  Bruno Haible  <bruno@clisp.org>
25471         Avoid accidental use of native Windows APIs on Cygwin.
25472         * lib/getaddrinfo.c (WINDOWS_NATIVE): Don't define on Cygwin.
25473         * lib/localcharset.c (WINDOWS_NATIVE): Likewise.
25474         * lib/localename.c (WINDOWS_NATIVE): Likewise.
25476 2017-04-20  Bruno Haible  <bruno@clisp.org>
25478         Remove red warnings from the generated MODULES.html.
25479         * modules/fcntl (Description): Disambiguate function references.
25480         * modules/getcwd-lgpl (Description): Likewise.
25481         * modules/hostent (Description): Likewise.
25482         * modules/servent (Description): Likewise.
25483         * modules/tempname (Description): Likewise.
25485 2017-04-20  Bruno Haible  <bruno@clisp.org>
25487         verify tests: Fix spurious failure with parallel make.
25488         * gnulib-tool (func_emit_tests_Makefile_am): Emit initialization of
25489         EXTRA_PROGRAMS.
25490         * tests/test-verify.sh: Build test-verify-try.o, not test-verify.o.
25491         * tests/test-verify-try.c: New file.
25492         * modules/verify-tests (Files): Add it.
25493         (EXTRA_PROGRAMS): Add test-verify-try.
25494         (MOSTLYCLEANFILES): Update accordingly.
25495         Reported by Adam James Stewart <ajstewart@anl.gov>.
25497 2017-04-18  Bruno Haible  <bruno@clisp.org>
25499         vma-iter: Fix compilation error on Solaris 7.
25500         * lib/vma-iter.c (vma_iterate): Treat missing MAP_ANONYMOUS on Solaris
25501         like on IRIX, OSF/1.
25502         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
25504 2017-04-18  Bruno Haible  <bruno@clisp.org>
25506         vma-iter: Fix conflict with module 'largefile' on 32-bit Solaris 9.
25507         * modules/vma-iter (configure.ac): Test whether <sys/procfs.h> can be
25508         included.
25509         * lib/vma-iter.c: On Solaris, test HAVE_SYS_PROCFS_H before including
25510         <sys/procfs.h>.
25511         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Don't define on Solaris when
25512         <sys/procfs.h> cannot be included.
25513         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
25515 2017-04-18  Bruno Haible  <bruno@clisp.org>
25517         getopt-gnu: Add comments.
25518         * m4/getopt.m4 (gl_FUNC_GETOPT_GNU): Add comments.
25519         * modules/getopt-gnu (configure.ac): Likewise.
25521 2017-04-16  Paul Eggert  <eggert@cs.ucla.edu>
25523         regex: port better to Solaris 10
25524         Solaris 10 <locale.h> includes <libintl.h>, which #defines
25525         gettext, and this causes a double #define.
25526         Problem reported by Gavin Smith in:
25527         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00056.html
25528         * lib/regex_internal.h (gettext): #undef before #defining.
25530 2017-04-15  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
25532         intprops: improve comments
25533         * lib/intprops.h: Improve and shorten commentary.
25534         For the record, if we ever run into a pedantic compiler that
25535         behaves differently from GCC when converting an out-of-range value
25536         to a signed integer, we can work around the problem with something
25537         like the following code, where UCT is the signed counterpart of T
25538         (UCT is sometimes narrower than UT) and all callers are changed
25539         accordingly:
25540         #if __SUNPRO_C <= 0x5120
25541         # define _GL_INT_OP_WRAPV_VIA_UNSIGNED(a, b, op, uct, ut, t) \
25542            ((t) ((ut) (a) op (ut) (b)))
25543         #else
25544         # define _GL_INT_OP_WRAPV_VIA_UNSIGNED(a, b, op, uct, ut, t) \
25545            (TYPE_MINIMUM (t) <= (uct) ((ut) (a) op (ut) (b)) \
25546             ? ((t) (uct) (((ut) (a) op (ut) (b)) - TYPE_MINIMUM (t)) \
25547                + TYPE_MINIMUM (t)) \
25548             : (t) (uct) ((ut) (a) op (ut) (b)))
25549         #endif
25551 2017-04-14  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
25553         intprops: try to avoid tickling similar bugs
25554         * lib/intprops.h (_GL_INT_OP_CALC): Document that UT no longer
25555         needs to be the same width as T; it can be wider.
25556         Change callers so that UT is at least as wide as unsigned int,
25557         as I suspect that this is less likely to run into compiler bugs.
25559         intprops: port to Oracle Studio 12.3 x86
25560         Problem reported by Gavin Smith in:
25561         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00049.html
25562         * lib/intprops.h (_GL_INT_OP_WRAPV_VIA_UNSIGNED):
25563         Convert unsigned to signed via the usual rather than the standard way,
25564         to avoid a compiler bug in Oracle Studio 12.3 x86.
25566 2017-04-08  Paul Eggert  <eggert@cs.ucla.edu>
25568         getopt: prefer - to _ in new file names
25569         * lib/getopt-cdefs.in.h: Rename from lib/getopt_cdefs.in.h.
25570         * lib/getopt-core.h: Rename from lib/getopt_core.h.
25571         * lib/getopt-ext.h: Rename from lib/getopt_ext.h.
25572         * lib/getopt-pfx-core.h: Rename from lib/getopt_pfx_core.h.
25573         * lib/getopt-pfx-ext.h: Rename from lib/getopt_pfx_ext.h.
25574         All uses changed.
25576         getopt: port recent getopt changes to macOS
25577         Problem reported by Harald Maier (Bug#26398).
25578         The macOS C compiler uses __nonnull for its own purposes and that
25579         clashes with glibc's __nonnull.
25580         * lib/getopt.in.h: Add comment for _GL_ARG_NONNULL snippet.
25581         * lib/getopt_cdefs.in.h (__nonnull): Remove.
25582         * lib/getopt_core.h (getopt):
25583         * lib/getopt_ext.h (getopt_long, getopt_long_only):
25584         Use _GL_ARG_NONNULL, not __nonnull.
25585         * lib/unistd.in.h: Move snippet hooks to before where the getopt
25586         .h files are included, so that _GL_ARG_NONNULL is defined in time.
25587         * modules/getopt-posix (Depends-on): Add snippet/arg-nonnull.
25588         (getopt.h): Interpolate _GL_ARG_NONNULL snippet.
25590 2017-04-06  Paul Eggert  <eggert@cs.ucla.edu>
25592         getopt-gnu: omit some duplicate code
25593         * m4/getopt.m4 (gl_FUNC_GETOPT_GNU): Don’t require
25594         gl_FUNC_GETOPT_POSIX, as the configure.ac code generated by
25595         gnulib-tool already does this.
25596         * modules/getopt-gnu (configure.ac): Omit code duplicated from
25597         getopt-posix, which we depend on.
25599         getopt-posix: use angle-bracket include
25600         * lib/getopt1.c: Include <config.h>, not "config.h".
25602 2017-04-06  Zack Weinberg  <zackw@panix.com>
25604         getopt: annotate files with relationship to glibc
25606         As the final act in this patchset, adjust the message at the top of
25607         each file to indicate which files are synced with glibc.  (This has
25608         already been done for most of the headers.)
25610         * lib/getopt.c, lib/getopt1.c, lib/getopt_int.h:
25611         Mention in top-of-file boilerplate that these files are shared
25612         between glibc and gnulib.
25615         getopt: split up getopt.in.h and eliminate __need_getopt
25617         Over in glibc, all of the __need macros are being phased out in favor
25618         of small headers that declare only the necessary components, as this
25619         is much simpler and less prone to bugs.  As getopt is shared with
25620         glibc, gnulib needs to do the same for __need_getopt.
25622         __need_getopt is misnamed; what it really means is "we want only the
25623         getopt features specified in POSIX, not the GNU extensions".  glibc
25624         placed the "meat" of getopt.h into getopt_core.h and getopt_ext.h;
25625         these files can be shared verbatim with gnulib.  The portability
25626         wrapper, on the other hand, they have renounced altogether; glibc's
25627         getopt.h will no longer be shared with gnulib at all.  In exchange,
25628         certain glibc-specific quirks (having to do with __posix_getopt) no
25629         longer need appear in gnulib's headers at all.
25631         This patch merges getopt_core.h and getopt_ext.h from glibc, and
25632         splits up the current gnulib-side portability wrapper into three
25633         additional headers: getopt_pfx_core.h and getopt_pfx_ext.h handle
25634         __GETOPT_PREFIX for their respective headers, getopt_cdefs.in.h
25635         handles things like __BEGIN_DECLS and __THROW, and getopt.in.h and
25636         unistd.in.h just use them.  All new files are clearly marked with
25637         whether they are shared with glibc.
25639         * lib/getopt.in.h: Eliminate __need_getopt.  Break up into ...
25640         * lib/getopt_core.h, lib/getopt_ext.h: ... these new files shared
25641         with glibc, and ...
25642         * lib/getopt_cdefs.in.h, lib/getopt_pfx_core.h
25643         * lib/getopt_pfx_ext.h: ... these new files not shared with glibc.
25644         * lib/unistd.in.h: Include getopt_cdefs.h and getopt_pfx_core.h,
25645         instead of defining __need_getopt and including the full getopt.h.
25647         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): Check for sys/cdefs.h.
25648         Define substitution variables GETOPT_CDEFS_H and HAVE_SYS_CDEFS_H.
25649         * modules/getopt-posix (Files): Add new headers and sort list.
25650         (Depends-on): No longer need snippet/arg-nonnull.
25651         (Makefile.am): Generate getopt_cdefs.h.
25654         getopt: better handling of ambiguous options
25656         glibc's getopt uses alloca to construct a linked list of possibilities
25657         for an "ambiguous" long option.  In gnulib, malloc should be used
25658         instead.  Providing for both cases complicates things a fair bit.
25660         This patch rewrites ambiguous-option handling to use a boolean vector
25661         instead of a linked list.  There is then only one allocation that
25662         might need freeing; in glibc it can honor __libc_use_alloca as usual,
25663         and in gnulib we define __libc_use_alloca to always be false, so we
25664         don't need ifdefs in the middle of the function.  This should also be
25665         slightly more efficient in the normal case of long options being fully
25666         spelled out -- I think most people aren't even aware they _can_
25667         sometimes abbreviate long options.
25669         One interesting consequence is that the list of possibilities is now
25670         printed in exactly the order they appear in the list of long options,
25671         instead of the first possibility being shuffled to the end.
25673         (The patch looks bigger than it really is because there's a fair bit
25674         of reindentation and code rearrangement.)
25676         * lib/getopt.c: When used standalone, define __libc_use_alloca
25677         as always false and alloca to abort if called.
25678         (process_long_option): Rewrite handling of ambiguous long options
25679         to use a single boolean vector, not a linked list; use
25680         __libc_use_alloca to decide whether to allocate this using alloca.
25683         getopt: refactor long-option handling
25685         There were two copies of the bulk of the code to handle long options.
25686         Now there is only one.
25688         This change temporarily removes the logic to avoid using alloca when
25689         standalone; the next patch in the series will restore it.
25691         * lib/getopt.c (process_long_option): New function split out
25692         from _getopt_internal_r.
25693         (_getopt_internal_r): Replace both copies of the long-option
25694         processing code with calls to process_long_option.
25697         getopt: tidy up _getopt_initialize a bit
25699         _getopt_data.__posixly_correct is completely redundant to
25700         _getopt_data.__ordering, and some work that logically belongs in
25701         _getopt_initialize was being done by _getopt_internal_r, making the
25702         code harder to understand.
25704         As a side effect, getenv will no longer be called if the first
25705         character of the options string is '+' or '-', which is probably a
25706         Good Thing.  (Perhaps we should have a flag character that
25707         specifically asks for the permutation behavior?)
25709         * lib/getopt_int.h (_getopt_data): Remove __posixly_correct field.
25710         * lib/getopt.c (_getopt_internal_r): Move some initialization code...
25711         (_getopt_initialize): ...here. Don't set d->__posixly_correct.
25714         getopt: merge from glibc: repetition reduction
25716         The definitions of the entry point functions 'getopt' and
25717         '__posix_getopt' can be made substantially less repetitive with a
25718         helper macro.
25720         While I was merging the const-correctness changes from gnulib into
25721         glibc I noticed there are still some unnecessary casts in
25722         _getopt_internal_r.
25724         * lib/getopt.c (getopt, __posix_getopt): Eliminate repetition with
25725         a macro.  Consistently cast 'argv' to 'char **' when calling
25726         _getopt_internal.
25727         (_getopt_internal_r): Remove unnecessary casts when calling exchange.
25730         getopt: clean up error reporting
25732         getopt can print a whole bunch of error messages, and when used
25733         standalone (from gnulib) it uses fprintf to do that.  But fprintf is a
25734         cancellation point and getopt isn't, and also applying fprintf to a
25735         stream in wide-character mode is not allowed.  So every single error
25736         reporting case has an #ifdef _LIBC block in which it calls internal
25737         libc functions instead.  The counterpart patch series in glibc makes
25738         it possible to simplify all of that down to a set of #defines at the
25739         top of the file; core code is written as if it is safe to just call
25740         fprintf, flockfile, and funlockfile.  (One caveat: it's *not* safe to
25741         call any *other* stdio functions.)
25743         * lib/getopt.c: When _LIBC is defined, define fprintf to
25744         __fxprintf_nocancel, flockfile to _IO_flockfile, and funlockfile
25745         to _IO_funlockfile.  When neither _LIBC nor
25746         _POSIX_THREAD_SAFE_FUNCTIONS is defined, define flockfile and
25747         funlockfile as no-ops.
25748         (_getopt_internal_r): Remove all internal #ifdef _LIBC blocks; the
25749         standalone error-printing code can now be used for libc as well.
25750         Add an flockfile/funlockfile pair around one case where the error
25751         message is printed in several chunks.  Don't use fputc.
25754         getopt: fix fencepost error in ambiguous-W-option handling
25756         getopt_long contains an undocumented (AFAICT) feature in which, if you
25757         put "W;" in the short-options list, then '-W foo' and '-Wfoo' are
25758         treated as equivalent to '--foo'.  This is implemented with a partial
25759         second copy of the code for handling long options, and that code
25760         increments optind one too many times when recovering from an ambiguous
25761         abbreviated option, which can cause the main loop to walk past the end
25762         of argv and crash.
25764         I discovered this while writing a test case that tries to exercise all
25765         of getopt's error reporting paths; I wouldn't be surprised to learn
25766         that this feature is never used by real applications.
25768         * lib/getopt.c (_getopt_internal_r): Don't increment
25769         d->optind a second time when reporting ambiguous -W options.
25772         getopt: clean up getopt.c and getopt1.c file headers
25774         In getopt.c, there is no need to include wchar.h at all, and it is
25775         safe nowadays to assume that stdlib.h does declare getenv (several
25776         other gnulib modules make this assumption).
25778         In getopt1.c, the #ifdef _LIBC block at the top can be simplified
25779         by using "" inclusions consistently, and there is no actual need to
25780         include stdlib.h (except in the #ifdef TEST block, where it should be
25781         unconditional), nor to provide a backup definition of NULL at all.
25783         * lib/getopt1.c: Simplify #ifdeffage at top of file.
25784         Move inclusion of stdlib.h to #ifdef TEST block and make
25785         unconditional.  Do not define NULL.
25786         * lib/getopt.c: Don't include wchar.h. No need to declare getenv.
25787         * m4/getopt.m4 (gl_PREREQ_GETENV): Delete.
25788         * modules/getopt-gnu, modules/getopt-posix: Don't call
25789         gl_PREREQ_GETENV.
25792         getopt: harmonize comments with glibc
25794         The comments explaining how the behavior of 'getopt' varies depending
25795         on whether it's the standalone version and whether there are special
25796         characters at the beginning of the options string were inconsistent
25797         between gnulib and glibc, and also out of sync with the code.
25799         * lib/getopt.c, lib/getopt_int.h: Harmonize comments with glibc.
25802         getopt: remove USE_NONOPTION_FLAGS
25804         getopt includes code to parse an environment variable named
25805         _XXX_GNU_nonoption_argv_flags_ (where XXX is the current process's PID
25806         in decimal); but all of it has been #ifdefed out since 2001, with no
25807         official way to turn it back on.
25809         According to commentary in glibc's config.h.in, bash version 2.0
25810         set this environment variable to indicate argv elements that were
25811         the result of glob expansion and therefore should not be treated
25812         as options, but the feature was "disabled later" because "it
25813         caused problems".  According to bash's CHANGES file, "later" was
25814         release 2.01; it gives no more detail about what the problems
25815         were.
25817         Version 2.0 of bash was released on the last day of 1996, and version
25818         2.01 in June of 1997.  Twenty years later, I think it is safe to
25819         assume that this environment variable isn't coming back.
25821         * lib/getopt_int.h: Remove all #ifdef USE_NONOPTION_FLAGS blocks.
25822         * lib/getopt.c: Likewise. Also remove SWAP_FLAGS and the
25823         __libc_argc and __libc_argv externs, which were only used by
25824         #ifdef USE_NONOPTION_FLAGS blocks.
25827         getopt: tabify, in preparation for merge with glibc
25829         glibc sticks to the GNU default of indenting with a mix of
25830         8-column tabs and spaces; make the gnulib copy match.
25832         getopt.h is not included because it is *not* going to be merged in its
25833         present form.
25835         * getopt.c, getopt1.c, getopt_int.h: Tabify.
25837 2017-04-02  Bruno Haible  <bruno@clisp.org>
25839         relocatable-lib-lgpl: Fix link error (regression from 2011-06-16).
25840         * modules/relocatable-lib-lgpl (configure.ac): Add AC_LIBOBJ invocation,
25841         like it was done in modules/relocatable-lib on 2011-05-21 and in
25842         modules/relocatable-prog on 2011-08-15.
25843         Reported by Reuben Thomas <rrt@sc3d.org>.
25845 2017-03-31  Bruno Haible  <bruno@clisp.org>
25847         glob: Fix invalid free() call.
25848         * lib/glob.c (glob): Reset malloc_home_dir when assigning a pointer to
25849         static storage to home_dir.
25850         Reported by Coverity via Tim Rühsen.
25852 2017-03-31  Bruno Haible  <bruno@clisp.org>
25854         glob: Fix memory leaks.
25855         * lib/glob.c (glob): Free allocated memory before returning.
25856         Reported by Coverity via Tim Rühsen.
25858 2017-03-31  Bruno Haible  <bruno@clisp.org>
25860         md5, sha1, sha256, sha512: Add comments regarding correctness.
25861         * lib/md5.h (buflen): Add comments regarding range.
25862         * lib/sha1.h (buflen): Likewise.
25863         * lib/sha256.h (buflen): Likewise.
25864         * lib/sha512.h (buflen): Likewise.
25865         * lib/md5.c (md5_process_bytes): Add comment why memmove is not needed.
25866         * lib/sha1.c (sha1_process_bytes): Likewise.
25867         * lib/sha256.c (sha256_process_bytes): Likewise.
25868         * lib/sha512.c (sha512_process_bytes): Likewise.
25869         Reported by Coverity via Tim Rühsen.
25871 2017-03-22  Paul Eggert  <eggert@cs.ucla.edu>
25873         getopt: merge from glibc
25874         This does not change anything substantial; it merely simplifies
25875         hypothetical merges back to glibc.
25876         * lib/getopt.c, lib/getopt.in.h, lib/getopt1.c, lib/getopt_int.h:
25877         Change copyright notice to match what is in glibc.
25878         * lib/getopt.c: Reorder includes to match glibc.  Remove uses of
25879         USE_IN_LIBIO.  Remove 'register'.  In __LIBC code, use
25880         __open_memstream rather than open_memstream and __glibc_likely
25881         instead of __builtin_expect.
25882         * lib/getopt.in.h (__posix_getopt) [!__GETOPT_PREFIX]: New decl.
25884 2017-03-21  Paul Eggert  <eggert@cs.ucla.edu>
25886         dfa: make [0-9] faster in non-C locales
25887         Problem reported by John P. Linderman (Bug#26193).
25888         * lib/dfa.c (parse_bracket_exp): Remove redundant assignment.
25889         If both ends of the range are ASCII digits, do not worry about
25890         multi-character collating sequences and the like.  Be consistent
25891         about using isalpha as a precondition for setbit_case_fold_c.
25893 2017-03-19  Bruno Haible  <bruno@clisp.org>
25895         lock: Fix compilation error with HP-UX IA64 cc.
25896         * lib/glthread/lock.h (pthread_rwlockattr_setkind_np): Don't declare
25897         weak on non-glibc platforms.
25899 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
25901         stdalign: tweak version# and test for HP-UX IA64
25902         Problems reported by Bruno Haible in:
25903         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00078.html
25904         * lib/stdalign.in.h (_Alignas):
25905         * m4/stdalign.m4 (gl_STDALIGN_H):
25906         Use octal, not decimal, for __HP_cc version.  Perhaps HP formerly
25907         used octal (as that is how they document it), but it is decimal in
25908         practice now and the ancient implementations no longer matter.
25909         * tests/test-stdalign.c (main) [__HP_cc && __ia64]: Skip test.
25911 2017-03-19  Bruno Haible  <bruno@clisp.org>
25913         vma-iter: Add support for Solaris.
25914         * lib/vma-iter.c (vma_iterate): On Solaris, use the /proc filesystem
25915         approach.
25916         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on Solaris.
25917         * lib/get-rusage-as.c: Update comment about Solaris.
25918         * lib/get-rusage-data.c: Likewise.
25920 2017-03-19  Bruno Haible  <bruno@clisp.org>
25922         vma-iter: Prefer HP-UX specific API on HP-UX.
25923         * lib/vma-iter.c (vma_iterate): Move HP-UX specific implementation up.
25924         * lib/vma-iter.h: Update.
25925         Just in case HP-UX ever implements mquery().
25927 2017-03-18  Paul Eggert  <eggert@cs.ucla.edu>
25929         stdalign: restore previous behavior for HP-UX IA64
25930         See Bruno Haible's email in:
25931         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00066.html
25932         which cites p 150 of a manual saying that 'aligned' works on Itanium.
25933         * lib/stdalign.in.h (_Alignas):
25934         Assume the '061200' applies to Itanium, not to PA-RISC.
25935         * m4/stdalign.m4 (gl_STDALIGN_H): Adjust to match stdalign.in.h.
25937 2017-03-17  Bruno Haible  <bruno@clisp.org>
25939         stat-time, timespec: Support use of the header files in C++ mode.
25940         * lib/stat-time.h: Add "C" linkage declaration.
25941         * lib/timespec.h: Likewise.
25943 2017-03-17  Bruno Haible  <bruno@clisp.org>
25945         stdalign: Make it work with HP-UX cc.
25946         * lib/stdalign.in.h (_Alignas): Don't define for HP-UX cc.
25947         * m4/stdalign.m4 (gl_STDALIGN_H): No need to enable the extra test
25948         for HP-UX cc.
25950 2017-03-17  Paul Eggert  <eggert@cs.ucla.edu>
25952         flexmember: try to detect HP-UX 11.31 cc bug
25953         Problem reported by Bruno Haible in:
25954         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00066.html
25955         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
25956         Attempt to detect bug in HP-UX 11.31 cc.
25958 2017-03-16  Bruno Haible  <bruno@clisp.org>
25960         stdint: Fix test compilation failure with HP-UX 11 cc.
25961         * lib/stdint.in.h (_STDINT_MIN): Remove macro.
25962         (_STDINT_UNSIGNED_MIN, _STDINT_SIGNED_MIN): New macros.
25963         (PTRDIFF_MIN, SIG_ATOMIC_MIN, WCHAR_MIN, WINT_MIN): Define using
25964         _STDINT_UNSIGNED_MIN, _STDINT_SIGNED_MIN.
25966 2017-03-14  Bruno Haible  <bruno@clisp.org>
25968         gnulib-tool: Don't produce a tests directory with only snippet .h files.
25969         * gnulib-tool (func_modules_transitive_closure_separately): If
25970         testsrelated_modules ends up with no "real" modules, aside from
25971         modules with applicability 'all', set it to empty.
25973 2017-03-14  Bruno Haible  <bruno@clisp.org>
25975         vma-iter: Add support for HP-UX.
25976         * modules/vma-iter (configure.ac): Check for 'pstat_getprocvm'.
25977         * lib/vma-iter.c (vma_iterate): On HP-UX, use pstat_getprocvm().
25978         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on HP-UX.
25979         * lib/get-rusage-as.c: Update comment about HP-UX.
25980         * lib/get-rusage-data.c: Likewise.
25981         (get_rusage_data): Use get_rusage_data_via_setrlimit.
25983 2017-03-14  Bruno Haible  <bruno@clisp.org>
25985         limits-h: Make it work with HP-UX cc.
25986         * lib/limits.in.h (LLONG_MIN, LLONG_MAX, ULLONG_MAX): Define if not
25987         defined.
25989 2017-03-14  Bruno Haible  <bruno@clisp.org>
25991         Fix test failures on DragonFlyBSD.
25992         * tests/test-localeconv.c (main): Treat DragonFlyBSD like FreeBSD.
25993         * tests/test-select.h (test_bad_fd): Likewise.
25994         * tests/test-get-rusage-data.c (main): Treat DragonFlyBSD like OpenBSD.
25996 2017-03-14  Bruno Haible  <bruno@clisp.org>
25998         freadahead: Silence warning on DragonFlyBSD.
25999         * lib/freadahead.c (__sreadahead): Declare ourselves.
26001 2017-03-14  Bruno Haible  <bruno@clisp.org>
26003         vma-iter: Add comment about AIX.
26004         * lib/vma-iter.c: Add comment about why this module is not implemented
26005         on AIX.
26007 2017-03-14  Paul Eggert  <eggert@cs.ucla.edu>
26009         snippets: move unadjusted snippet sources to lib
26010         Problem reported by Michal Privoznik in:
26011         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00039.html
26012         * lib/_Noreturn.h: Rename from build-aux/snippet/_Noreturn.h.
26013         * lib/arg-nonnull.h: Rename from build-aux/snippet/arg-nonnull.h.
26014         * lib/c++defs.h: Rename from build-aux/snippet/c++defs.h.
26015         * lib/unused-parameter.h: Rename from
26016         build-aux/snippet/unused-parameter.h.
26017         * lib/warn-on-use.h: Rename from build-aux/snippet/warn-on-use.h.
26018         * modules/snippet/_Noreturn (Files:, _NORETURN_H):
26019         * modules/snippet/arg-nonnull (Files:, ARG_NONNULL_H):
26020         * modules/snippet/c++defs (Files:, CXXDEFS_H):
26021         * modules/snippet/unused-parameter (Files:, UNUSED_PARAMETER_H):
26022         * modules/snippet/warn-on-use (Files: WARN_ON_USE_H):
26023         Adjust to file renamings.
26025 2017-03-14  Mathieu Lirzin  <mthl@gnu.org>
26027         gnulib-tool: don't automatically distribute files from top/
26028         * gnulib-tool (func_get_automake_snippet_unconditional): To be able to
26029         not distribute top/README-release by default, don't distribute files
26030         from top/ unconditionally.
26031         * modules/gnumakefile (Makefile.am): Distribute top/GNUmakefile.
26032         * modules/maintainer-makefile (Makefile.am): Distribute top/maint.mk.
26034 2017-03-14  Paul Eggert  <eggert@cs.ucla.edu>
26036         gnulib-tool: fix typo in comment output
26037         * gnulib-tool (func_import): Fix typo with previous change.
26039         snippets: work around GNU Make 3.82 VPATH
26040         When using 'gnulib-tool --gnu-make' on Emacs, and building
26041         the resulting tarball on Solaris 10 which bundles GNU Make 3.82,
26042         an out-of-source (VPATH) build failed because the sans-copyright
26043         snippet file was not built before the file that used it.
26044         Presumably this is some sort of VPATH thing.  Work around the
26045         problem by using the original snippet, i.e., don’t bother to
26046         remove its copyright notice.
26047         * modules/snippet/_Noreturn, modules/snippet/link-warning:
26048         Don’t assume Automake in comments.  Omit long-incorrect comment.
26049         * modules/snippet/arg-nonnull (BUILT_SOURCES, arg-nonnull.h)
26050         (MOSTLYCLEANFILES):
26051         * modules/snippet/c++defs (BUILT_SOURCES, c++defs.h)
26052         (MOSTLYCLEANFILES):
26053         * modules/snippet/unused-parameter (BUILT_SOURCES, unused-parameter.h)
26054         (MOSTLYCLEANFILES):
26055         * modules/snippet/warn-on-use (BUILT_SOURCES, warn-on-use.h)
26056         (MOSTLYCLEANFILES):
26057         Remove.
26058         * modules/snippet/arg-nonnull (ARG_NONNULL_H):
26059         * modules/snippet/c++defs (CXXDEFS_H):
26060         * modules/snippet/unused-parameter (UNUSED_PARAMETER_H):
26061         * modules/snippet/warn-on-use (WARN_ON_USE_H):
26062         Don’t bother to remove the copyright notice; just use the
26063         original snippet as-is.
26065 2017-03-13  Paul Eggert  <eggert@cs.ucla.edu>
26067         gnulib-tool: minor --gnu-make fixups
26068         * gnulib-tool (func_emit_lib_Makefile_am):
26069         Remove useless code that was a blind alley during implementation.
26070         Problem reported by Thien-Thi Nguyen in:
26071         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00029.html
26072         (func_import): Note the "--gnu-make" option in the output comment.
26074 2017-03-12  Paul Eggert  <eggert@cs.ucla.edu>
26076         gnulib-tool: new option --gnu-make
26077         This is for applications like GNU Emacs that use GNU Make
26078         features instead of Automake.
26079         * doc/gnulib-tool.texi (Initial import): Mention --gnu-make.
26080         * doc/gnulib.texi (Unit test modules, Build robot for gnulib):
26081         Do not assume Automake.
26082         * gnulib-tool (func_determine_path_separator)
26083         (func_modules_transitive_closure, func_update_file)
26084         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
26085         (func_import): Add support for --gnu-make.
26087 2017-03-11  Paul Eggert  <eggert@cs.ucla.edu>
26089         gnulib-common.m4: avoid aclocal.m4 bloat
26090         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB):
26091         Hide AM_PROG_AR from aclocal, so that aclocal does not
26092         install irrelevant macro definitions into aclocal.m4.
26094 2017-03-10  Bruno Haible  <bruno@clisp.org>
26096         vma-iter: Let callers know about error.
26097         * lib/vma-iter.h (vma_iterate): Return 'int', not 'void'.
26098         * lib/vma-iter.c (vma_iterate): Return -1 in case of error.
26100 2017-03-05  Bruno Haible  <bruno@clisp.org>
26102         Fix value of LD for 64-bit compilers on AIX.
26103         * m4/lib-ld.m4 (AC_LIB_PROG_LD): For 64-bit compilers on AIX
26104         ("gcc -maix64" and "xlc -q64"), add option -b64 to $LD.
26106 2017-03-04  Paul Eggert  <eggert@cs.ucla.edu>
26108         dtotimespec: simplify
26109         * lib/dtotimespec.c (dtotimespec): Simplify.
26111 2017-03-04  Bruno Haible  <bruno@clisp.org>
26113         test-calloc-gnu: Reenable test also for GCC 7.
26114         * tests/test-calloc-gnu.c (eight): New function.
26115         (main): Don't skip test; use eight() instead.
26117 2017-03-04  Jim Meyering  <meyering@fb.com>
26119         test-calloc-gnu: port to GCC7
26120         * tests/test-calloc-gnu.c (main) [__GNUC__ >= 7]: Skip a test
26121         that attempts to calloc more than SIZE_MAX bytes, because GCC7
26122         and newer would detect that at compilation time.
26124 2017-03-04  Bruno Haible  <bruno@clisp.org>
26126         tests: Avoid compiler warning about uses of null_ptr.
26127         * tests/null-ptr.h: New file.
26128         * tests/test-canonicalize.c: Include null-ptr.h.
26129         (null_ptr): Remove function.
26130         * tests/test-canonicalize-lgpl.c: Likewise.
26131         * tests/test-memmem.c: Likewise.
26132         * tests/test-ptsname_r.c: Likewise.
26133         * modules/canonicalize-tests (Files): Add tests/null-ptr.h.
26134         * modules/canonicalize-lgpl-tests: Likewise.
26135         * modules/memmem-tests: Likewise.
26136         * modules/ptsname_r-tests: Likewise.
26137         Reported by Jim Meyering.
26139 2017-03-03  Bruno Haible  <bruno@clisp.org>
26141         doc: Mention Mac OS X deficiencies regarding semaphores.
26142         * doc/posix-functions/sem_init.texi: Mention status on Mac OS X.
26143         * doc/posix-functions/sem_destroy.texi: Likewise.
26144         * doc/posix-functions/sem_getvalue.texi: Likewise.
26146 2017-03-03  Bruno Haible  <bruno@clisp.org>
26148         lock tests: Fix test failure on Mac OS X (regression from 2017-01-05).
26149         Reported by Assaf Gordon <assafgordon@gmail.com> via
26150         Pádraig Brady <P@draigBrady.com>.
26151         * tests/test-lock.c: On Mac OS X, use named semaphores, not unnamed
26152         semaphores.
26153         (USE_NAMED_SEMAPHORE, USE_UNNAMED_SEMAPHORE): New macros.
26154         (atomic_int_semaphore): New macro.
26156 2017-02-28  Bruno Haible  <bruno@clisp.org>
26158         perror tests: Tweak for z/OS.
26159         Reported by Daniel Richard G. <skunk@iskunk.org>.
26160         * tests/test-perror.sh: Don't fail z/OS style perror output.
26162 2017-02-26  Bruno Haible  <bruno@clisp.org>
26164         nproc: Refactor large function.
26165         * lib/nproc.c (num_processors_ignoring_omp): New function, extracted
26166         from num_processors.
26167         (num_processors): In this function, only deal with OMP.
26169 2017-02-26  Pádraig Brady  <P@draigBrady.com>
26171         nproc: adjust handling of OpenMP environment variables
26172         to match the return value from omp_get_num_threads(), i.e.:
26173          - honor OMP_THREAD_LIMIT without OMP_NUM_THREADS
26174          - Treat 0 as an invalid value and ignore
26175         Also remove the call to omp_get_num_threads() because
26176         it's ineffective without the omp pragmas in place.
26177         * lib/nproc.c (parse_omp_threads): Return 0 if specified,
26178         so that it can be ignored.
26179         (num_processors): Honor OMP_THREAD_LIMIT even without
26180         OMP_NUM_THREADS being set.  Also fix a typo in the environment
26181         variable being checked, from the previous recent commit.
26183 2017-02-26  Pádraig Brady  <P@draigBrady.com>
26185         nproc: support nested OMP_NUM_THREADS, and OMP_THREAD_LIMIT
26186         * lib/nproc.c (parse_omp_threads): A new function refactored
26187         from num_processors() to support parsing both of the
26188         above environment variables.
26189         (num_processors): Prefer using omp_get_num_threads() with [_OPENMP]
26190         to accurately reflect the current OpenMP nesting level.
26191         Also support the OMP_THREAD_LIMIT environment variable
26192         to limit the max value determined from OMP_NUM_THREADS.
26193         * modules/nproc: Depend on minmax header.
26194         Suggested by Oliver Heimlich.
26196 2017-02-25  Bruno Haible  <bruno@clisp.org>
26198         maintainer-makefile: Fix AC_PROG_SED with autoconf cache.
26199         * m4/gnulib-common.m4 (AC_PROG_SED): Fix AC_CACHE_CHECK invocation.
26201 2017-02-24  Paul Eggert  <eggert@cs.ucla.edu>
26203         ftoastr: port to -Wdouble-promotion
26204         Work around -Wdouble-promotion false alarm in recent GCCs.
26205         * lib/ftoastr.c (PROMOTED_FLOAT): New macro.
26206         (ftoastr_snprintf, FTOASTR): Use it.
26208 2017-02-21  Bruno Haible  <bruno@clisp.org>
26210         lock tests: Fix build failure on GNU/Hurd (regression from 2017-01-05).
26211         Reported by Rene Saavedra <rennes@openmailbox.org> in
26212         https://debbugs.gnu.org/cgi/bugreport.cgi?bug=25821 via Paul Eggert.
26213         * lib/glthread/lock.h: On glibc systems without
26214         PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP, use the fallback
26215         implementation of rwlocks.
26216         * lib/glthread/lock.c: Likewise.
26218 2017-02-20  Bruno Haible  <bruno@clisp.org>
26220         lock tests: Fix build failure on z/OS.
26221         Reported by Daniel Richard G. <skunk@iskunk.org>.
26222         * modules/lock-tests (configure.ac): Test for <semaphore.h>.
26223         * tests/test-lock.c (USE_SEMAPHORE): Don't set if <semaphore.h> does not
26224         exist.
26226 2017-02-19  Bruno Haible  <bruno@clisp.org>
26228         havelib: Prefer the search path of /usr/bin/gcc over the one of $CC.
26229         This helps when CC=clang.
26230         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Prefer the search path
26231         of /usr/bin/gcc.
26233         havelib: Support overriding the result of AC_LIB_PREPARE_MULTILIB.
26234         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Use AC_CACHE_CHECK.
26236 2017-02-19  Bruno Haible  <bruno@clisp.org>
26238         gnulib-tool: Avoid conflict of havelib-tests with --single-configure.
26239         * gnulib_tool (func_create_testdir): Avoid havelib-tests when
26240         --with-tests --single-configure is specified.
26242 2017-02-16  Tim Rühsen  <tim.ruehsen@gmx.de>
26244         users.txt: Update links, use HTTPS where possible
26245         * users.txt: Updated to HTTPS where possible,
26246         fixed some links to new locations.
26248 2017-02-16  Bruno Haible  <bruno@clisp.org>
26250         xbinary-io: Fix inlining.
26251         * lib/xbinary-io.c: Set XBINARY_IO_INLINE, not XSETMODE_INLINE.
26253 2017-02-16  Paul Eggert  <eggert@cs.ucla.edu>
26255         xbinary-io: rename from xsetmode
26256         This patch is taken from suggestions by Bruno Haible in:
26257         http://lists.gnu.org/r/bug-gnulib/2017-02/msg00060.html
26258         http://lists.gnu.org/r/bug-gnulib/2017-02/msg00061.html
26259         * lib/binary-io.c (__gl_setmode_check): Set errno to EINVAL,
26260         not ENOTTY, when it is an inappropriate device.
26261         * lib/binary-io.h (SET_BINARY): Resurrect.
26262         * lib/xbinary-io.c: Rename from lib/xsetmode.c.
26263         (xset_binary_mode_error): Rename from xsetmode_error.
26264         * lib/xbinary-io.h: Rename from lib/xsetmode.h.
26265         (xset_binary_mode): Rename from xsetmode.
26266         All uses changed.
26267         * modules/xbinary-io: Rename from modules/xsetmode.
26268         Update file names.
26269         * tests/test-binary-io.sh (tmpfiles): Remove no-longer-used file name.
26270         * NEWS: Update to match revised behavior.
26272 2017-02-15  Paul Eggert  <eggert@cs.ucla.edu>
26274         tests: Adjust to recent SET_BINARY change
26275         * tests/test-binary-io.c (main):
26276         * tests/test-binary-io.sh: Remove test for SET_BINARY.
26277         * tests/test-closein.c, tests/test-fflush2.c, tests/test-ftell.c:
26278         * tests/test-ftello.c, tests/test-nonblocking-pipe-child.c:
26279         * tests/test-yesno.c: Use set_binary_mode, not SET_BINARY.
26281         xsetmode: new module
26282         This is to fix a problem noted by Eric Blake.
26283         Code was using xfreopen to change files to binary mode, but this
26284         fails for stdout when in append mode.  Such code should use
26285         xsetmode instead.
26286         * NEWS: Document incompatible changes to binary-io module.
26287         * lib/binary-io.c (__gl_setmode_check) [__DJGPP__ || __EMX__]:
26288         New function.
26289         * lib/binary-io.h (__gl_setmode): Rename from set_binary_mode.
26290         (set_binary_mode): New function, which also checks for tty.
26291         * lib/xsetmode.c, lib/xsetmode.h, modules/xsetmode: New files.
26293 2017-02-14  Paul Eggert  <eggert@cs.ucla.edu>
26295         headers: fix begin-end typos
26296         * lib/mbfile.h, lib/se-selinux.in.h: Fix typos by replacing
26297         _GL_INLINE_HEADER_BEGIN with _GL_INLINE_HEADER_END.
26299         selinux-h: port to PGI 16.10
26300         * lib/se-selinux.in.h: Don't assume that include_next skips over
26301         duplicate -I DIR options.
26303         argp: port to PGI 16.10
26304         * lib/argp-pin.c (dummy): Declare as needed to make file nonempty.
26306 2017-02-13  Darshit Shah  <darnir@gnu.org>
26308         unicase: Update function protoype to match definition.
26309         * lib/unicase/special-casing.h (gl_unicase_special_lookup): Gperf 3.1
26310         uses 'size_t' as the datatype for the 'len' parameter in the functions
26311         it generates. Update the prototype specified here to match the newly
26312         generated function.
26314 2017-02-12  Bruno Haible  <bruno@clisp.org>
26316         times test: Avoid gcc warnings on Linux/x32.
26317         * tests/test-times.c (main): Really cast printf arguments from clock_t
26318         to 'long int'.
26320 2017-02-12  Paul Eggert  <eggert@cs.ucla.edu>
26322         glob: port better to emscripten
26323         Problem reported by Bruno Haible in:
26324         http://lists.gnu.org/r/bug-gnulib/2017-02/msg00031.html
26325         * lib/glob.c (glob): Don't assume HAVE_GETPWNAM_R || _LIBC.
26327 2017-02-11  Bruno Haible  <bruno@clisp.org>
26329         host-cpu-c-abi: Support for 64-bit AIX, 32-bit armhf on arm64, hppa64.
26330         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Define also HOST_CPU.
26331         For the x32 ABI on x86_64, set HOST_CPU_C_ABI to 'x86_64-x32' and define
26332         both __x86_64__ and __x86_64_x32__. For the ELFv2 ABI on powerpc64,
26333         define both __powerpc64__ and __powerpc64_elfv2__. Recognize 64-bit
26334         compilation on AIX. Recognize 32-bit compilation on arm64/Linux.
26335         Distinguish hppa64 from hppa.
26337 2017-02-10  Bruno Haible  <bruno@clisp.org>
26339         search: Don't assume that tsearch() exists if 'VISIT' is defined.
26340         * m4/search_h.m4 (gl_SEARCH_H): Determine HAVE_TYPE_VISIT.
26341         * modules/search (Makefile.am): Substitute HAVE_TYPE_VISIT.
26342         * lib/search.in.h (VISIT): Define if HAVE_TYPE_VISIT is 0.
26344 2017-02-09  Bruno Haible  <bruno@clisp.org>
26346         doc: Don't mention obsolete AC_LIBTOOL_WIN32_DLL macro.
26347         * doc/gnulib.texi (Libtool and Windows): Recommend
26348         LT_INIT([win32-dll]) instead of AC_LIBTOOL_WIN32_DLL.
26349         Reported by Reuben Thomas <rrt@sc3d.org>.
26351 2017-02-08  Paul Eggert  <eggert@cs.ucla.edu>
26353         stddef-tests: port to SIZE_MAX <= INT_MAX
26354         * tests/test-stddef.c: Include <limits.h>, for INT_MAX.
26355         Do not assume that INT_MAX < SIZE_MAX.
26357 2017-02-01  Bruno Haible  <bruno@clisp.org>
26359         lock tests: Fix link error.
26360         * modules/lock-tests (test_rwlock1_LDADD): Add @YIELD_LIB@.
26361         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
26363 2017-01-31  Bruno Haible  <bruno@clisp.org>
26365         lock: Fix link error (regression from 2017-01-05).
26366         * lib/glthread/lock.h [USE_POSIX_THREADS_WEAK]: Declare also
26367         pthread_rwlockattr_init, pthread_rwlockattr_setkind_np,
26368         pthread_rwlockattr_destroy weak.
26369         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
26371 2017-01-30  Paul Eggert  <eggert@cs.ucla.edu>
26373         Port to PGI 16.10 x86-64
26374         This patch fixes one real bug in gl_anylinked_list2.h, along with
26375         some minor glitches that are not bugs.  It does not silence PGI’s
26376         thousands of bogus warnings when compiling test-intprops.c.
26377         Fortunately, the warnings do not cause a failure.
26378         * lib/c-ctype.h (_C_CTYPE_LOWER_A_THRU_F_N, _C_CTYPE_LOWER_N):
26379         Rename parameter to avoid PGI warning about ‘#define f(n) 'n'’.
26380         My goodness, PGI goes back a long ways - this predates C89!
26381         * lib/gl_anylinked_list2.h (ASYNCSAFE): Fix bug caught by PGI.
26382         For example, ASYNCSAFE (const void *) should expand to
26383         ‘const void *volatile’, not to ‘volatile const void *’.
26384         * lib/spawn.in.h (POSIX_SPAWN_USEVFORK): Don't define if already defined.
26385         * lib/verify.h (verify) [!__GNUC__]:
26386         Use shorter albeit meaningless string to bypass silly compiler limits.
26387         * tests/infinity.h (Infinityf, Infinityd, Infinityl) [__PGI]:
26388         * tests/nan.h (NaNf, NaNd, NaNl):
26389         Use static functions to avoid misguided compiler diagnostics.
26390         Is there some reason we don’t use static functions on all platforms?
26392 2017-01-20  Paul Eggert  <eggert@cs.ucla.edu>
26394         parse-datetime: handle timezones reentrantly
26395         This API change was prompted by a report by Pádraig Brady in:
26396         https://bug.debian.org/851934#10
26397         To help fix the bug, make parse_datetime2 more reentrant.
26398         * NEWS: Document this incompatible change.
26399         * lib/parse-datetime.h, lib/parse-datetime.y (parse_datetime2):
26400         Add two arguments, the timezone and the timezone name.
26401         All callers changed.  If TZ="..." is specified, use it for
26402         calculating defaults.
26403         * lib/parse-datetime.y: Don't include xalloc.h or use xmalloc, as
26404         this code should be usable in a library.
26405         (mktime_ok, get_effective_timezone):
26406         Accept timezone arg too.  All callers changed.
26407         (get_tz): Remove.
26408         (get_effective_timezone): Check for failures.
26410 2017-01-20  Eric Blake  <eblake@redhat.com>
26412         localename: port to cygwin 2.6
26413         * lib/localename.c (gl_locale_name_thread_unsafe): Add clause for
26414         Cygwin.
26415         * modules/localename (Depends-on): Add extensions, since
26416         NL_LOCALE_NAME() is not visible without it.
26418 2017-01-17  Pádraig Brady  <P@draigBrady.com>
26420         parse-datetime: fix dependence on AC_PROG_SED
26421         * modules/parse-datetime: Use `sed` directly like all other modules.
26422         Reported by J William Piggott
26424 2017-01-16  Paul Eggert  <eggert@cs.ucla.edu>
26426         intprops: update doc URLs
26427         * doc/intprops.texi (Integer Range Overflow): Update URLs.
26429 2017-01-16  Bruno Haible  <bruno@clisp.org>
26431         host-cpu-c-abi: Add support for armhf, arm64, x32, s390x.
26432         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Require gl_C_ASM. On x86_64
26433         systems, distinguish x86_64 and x32. On arm systems, distinguish arm,
26434         armhf, arm64, and no longer distinguish arm and armel. On s390x systems,
26435         distinguish s390 and s390x.
26436         * modules/host-cpu-c-abi (Files): Add m4/asm-underscore.m4.
26437         * NEWS: Mention the change regarding 'armel'.
26439 2017-01-15  Paul Eggert  <eggert@cs.ucla.edu>
26441         localeinfo: case_folded_counterparts and WEOF
26442         * NEWS: Document this.
26443         * lib/localeinfo.c (case_folded_counterparts):
26444         First arg is now wint_t, not wchar_t.  This generalizes the
26445         function to also work on WEOF, where it returns 0.
26447         dfa: port to gcc -fsanitize=undefined
26448         * lib/dfa.c (copy): Don’t pass NULL with size 0 to memcpy,
26449         as this runs afoul of gcc -fsanitize=undefined.
26451 2017-01-14  Paul Eggert  <eggert@cs.ucla.edu>
26453         strftime: %z is -00 if unknown
26454         * lib/strftime.c (DO_TZ_OFFSET): Omit arg 'negative'; it's now
26455         the caller's responsibility to set 'negative_number'.  All uses changed.
26456         (__strftime_internal): Put '-' before a zero UTC offset if the time
26457         zone abbreviation starts with "-", which is the recently-introduced
26458         tzdb convention for an unknown UTC offset that is arbitrarily set to 0.
26459         * tests/test-strftime.c: Test for this.
26461 2017-01-10  Paul Eggert  <eggert@cs.ucla.edu>
26463         dfa: port to older GCC
26464         Problem reported by Assaf Gordon in:
26465         http://lists.gnu.org/r/bug-gnulib/2017-01/msg00103.html
26466         * modules/c99: New module.  This merely attempts to use the latest
26467         C version, which should be enough to solve this particular problem.
26468         The idea is to document which Gnulib modules assume C99 or later.
26469         * modules/dfa (Depends-on): Add it.
26471 2017-01-10  Bruno Haible  <bruno@clisp.org>
26473         Update DEPENDENCIES.
26474         * DEPENDENCIES: List only https URLs. Update recommended version for
26475         autoconf, automake, gperf.
26477 2017-01-10  Jim Meyering  <meyering@fb.com>
26479         maint.mk: enforce spelling of "timestamp" (i.e., no space)
26480         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Also
26481         disallow /\btime\s+stamps?\b/.  Prefer "timestamp".
26483 2017-01-10  Paul Eggert  <eggert@cs.ucla.edu>
26485         dfa: minor simplification with emptyset
26486         * lib/dfa.c (build_state): Simplify by using emptyset.
26488 2017-01-09  Paul Eggert  <eggert@cs.ucla.edu>
26490         dfa: shrink constraints from 4 bits to 3
26491         * lib/dfa.c (newline_constraint, letter_constraint)
26492         (other_constraint, prev_newline_dependent)
26493         (prev_letter_dependent, NO_CONSTRAINT, BEGLINE_CONSTRAINT)
26494         (ENDLINE_CONSTRAINT, BEGWORD_CONSTRAINT, ENDWORD_CONSTRAINT)
26495         (LIMWORD_CONSTRAINT, NOTLIMWORD_CONSTRAINT):
26496         Constraints need only 3 bits, not 4.  Using smaller integers
26497         shrinks the code a bit and makes grep a tad faster on x86-64.
26499         dfa: omit unnecessary ptrdiff_t check
26500         * lib/dfa.c (alloc_position_set): Do not worry about ptrdiff_t
26501         overflow, since xnmalloc does that now.
26503         dfa: omit unnecessary allocation
26504         * lib/dfa.c (dfaanalyze): Do not allocate follow set, since
26505         an all-zero follow set works just fine.
26507         dfa: omit unused local
26508         * lib/dfa.c (build_state): Fix up recent change.
26510         maint: remove stray .texi files
26511         Although these were superseded by other files like
26512         doc/posix-functions/ctime.texi, the old files were not removed.
26513         * doc/ctime.texi, doc/inet_ntoa.texi: Remove.
26515 2017-01-08  Paul Eggert  <eggert@cs.ucla.edu>
26517         getprogname: fix port to IRIX
26518         * lib/getprogname.c (getprogname) [__sgi]:
26519         Don't dump core if malloc returns NULL.
26521         dfa: fix reallocation bug when matching newlines
26522         Problem reported for sed by S. Gilles (Bug#25390).
26523         * lib/dfa.c (realloc_trans_if_necessary): Move earlier.
26524         (dfastate): Reallocate before moving any newline transition ...
26525         (build_state): ... instead of reallocating here, where it is too late.
26527 2017-01-07  Tim Rühsen  <tim.ruehsen@gmx.de>  (tiny change)
26529         Avoid -Wundef warning about undefined WINDOWS_SOCKETS.
26530         * lib/sockets.h: Test if WINDOWS_SOCKETS is defined.
26532 2017-01-07  Tim Rühsen  <tim.ruehsen@gmx.de>  (tiny change)
26534         Avoid -Wundef warning about undefined __USE_FILE_OFFSET64.
26535         * lib/glob-libc.h: Test if __USE_FILE_OFFSET64 is defined.
26537 2017-01-07  Bruno Haible  <bruno@clisp.org>
26539         stdioext: Port to Minix 3.2 and newer.
26540         * lib/stdio-impl.h: Treat __minix like the newest NetBSD.
26541         * lib/fseeko.c (fseeko): Likewise.
26542         Reported by Nelson Beebe via Paul Eggert.
26544 2017-01-06  Paul Eggert  <eggert@cs.ucla.edu>
26546         getprogname: port to IRIX
26547         * lib/getprogname.c (getprogname): Port to IRIX.
26548         Based on an idea by Bastien Roucariès at:
26549         http://lists.gnu.org/r/bug-gnulib/2010-12/msg00096.html
26550         via code from Bruno Haible at:
26551         https://lists.gnu.org/r/bug-gnulib/2010-12/msg00249.html
26553         localename-tests: port to NetBSD 7
26554         Problem reported by Nelson H. F. Beebe.
26555         * tests/test-localename.c:
26556         Test newlocale and uselocale only if both exist.
26558         glob, intprops, xalloc: work around Clang bug
26559         Work around LLVM bug 16404, which is still not fixed.
26560         https://llvm.org/bugs/show_bug.cgi?id=16404
26561         Problem reported by Nelson H. F. Beebe.
26562         * lib/glob.c, lib/intprops.h, lib/xalloc-oversized.h (__has_builtin):
26563         Remove.
26564         * lib/glob.c (size_add_wrapv):
26565         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW, _GL_HAS_BUILTIN_OVERFLOW_P):
26566         * lib/xalloc-oversized.h (xalloc_oversized):
26567         Do not use overflow builtins if Clang.
26569         dfa: fix 'return' typo
26570         Problem reported by Nelson H. F. Beebe.
26571         * lib/dfa.c (merge): Fix typo that Sun compilers rejected.
26573 2017-01-05  Pádraig Brady  <P@draigBrady.com>
26575         parse-datetime: fix generated paths for coverage files
26576         * modules/parse-datetime: Adjust the paths for parse-datetime.y
26577         within parse-datetime.c, so that gcc generates appropriate .gcno
26578         files, allowing lcov to proceed without error.  Previously it
26579         would error trying to find "lib/lib/parse-datetime.y".
26581 2017-01-05  Pádraig Brady  <P@draigBrady.com>
26583         maint.mk: support parallel execution of coverage
26584         * top/maint.mk (coverage): Run dependencies serially,
26585         thus supporting parallel processing of each one,
26586         particularly build-coverage, which builds and runs tests.
26588 2017-01-05  Bruno Haible  <bruno@clisp.org>
26590         lock tests: Prefer semaphore over mutex.
26591         * tests/test-lock.c (USE_SEMAPHORE): New constant.
26592         (struct atomic_int, init_atomic_int, get_atomic_int_value,
26593         set_atomic_int_value) [USE_SEMAPHORE]: Define using a POSIX semaphore.
26594         Suggested by Torvald Riegel <triegel@redhat.com>.
26596 2017-01-05  Bruno Haible  <bruno@clisp.org>
26598         lock: Provide guarantee to avoid writer starvation for rwlocks.
26599         The rationale is: 1) Read-preferring read-write locks are prone to
26600         writer starvation if the number of reader threads multiplied by the
26601         percentage of time they have the lock held is too high. 2) Write-
26602         preferring read-write locks are the only reliable way to avoid this.
26603         3) There have been reports of 'test-lock' hanging on glibc systems
26604         http://lists.gnu.org/r/bug-gnulib/2017-01/msg00009.html,
26605         and glibc indeed implements read-preferring rwlocks by default, see
26606         http://man7.org/linux/man-pages/man3/pthread_rwlockattr_setkind_np.3.html
26607         and https://sourceware.org/bugzilla/show_bug.cgi?id=13701 .
26608         * m4/pthread_rwlock_rdlock.m4: New file.
26609         * m4/lock.m4 (gl_LOCK): Invoke gl_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER.
26610         * lib/glthread/lock.h [USE_POSIX_THREADS]: Test
26611         HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER. Use a different implementation
26612         of rwlock initialization on glibc systems without
26613         HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER. Use a different implementation
26614         of rwlocks altogether on non-glibc systems without
26615         HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER.
26616         [USE_PTH_THREADS]: Use a different implementation of rwlocks altogether.
26617         * lib/glthread/lock.c [USE_POSIX_THREADS]
26618         (glthread_rwlock_init_for_glibc): New function.
26619         [USE_POSIX_THREADS] (glthread_rwlock_rdlock_multithreaded): Update
26620         comment.
26621         [USE_PTH_THREADS]: New implementation of rwlocks.
26622         [USE_WINDOWS_THREADS] (glthread_rwlock_rdlock_func): Prefer writers over
26623         readers.
26624         * modules/lock (Files): Add m4/pthread_rwlock_rdlock.m4.
26625         (Depends-on): Add 'extensions'.
26626         * tests/test-rwlock1.c: New file.
26627         * lock-tests (Files): Add it.
26628         (Depends-on): Add usleep.
26629         (Makefile.am): Add test-rwlock1 to the tests.
26631 2017-01-05  Bruno Haible  <bruno@clisp.org>
26633         thread: Fix pth port.
26634         * lib/glthread/thread.h (pth_init): Declare weak.
26635         (glthread_create, glthread_sigmask, glthread_join, gl_thread_self,
26636         gl_thread_exit): Make sure Pth is initialized before invoking any Pth
26637         function.
26639 2017-01-04  Assaf Gordon  <assafgordon@gmail.com>
26641         parse-datetime: fix debug message on lone year number
26642         Input dates such as
26643           date -d "Apr 11 22:59:00 2011"
26644         are parsed as date (Apr 11, with default year 2016), then time, then a
26645         number (2011). Based on the combination of previously seen tokens,
26646         'digits_to_date_time' determines 2011 to be a year value.
26647         This fixes the debug messages to correctly show the updated year.
26648         Before:
26649             $ date --debug -d 'Apr 11 22:59:00 2011'
26650             date: parsed date part: (Y-M-D) 2016-04-11
26651             date: parsed time part: 22:59:00
26652             date: parsed number part: today/this/now
26653         After:
26654             $ ./src/date --debug -d 'Apr 11 22:59:00 2011'
26655             date: parsed date part: (Y-M-D) 2016-04-11
26656             date: parsed time part: 22:59:00
26657             date: parsed number part: year: 2011
26658         * lib/parse-datetime.y (struct parser_control): Add 'year_seen',
26659         'debug_year_seen' member fields.
26660         (digits_to_date_time): Update 'year_seen' as needed.
26661         (debug_print_current_time): Inform about year updates.
26662         (parse_datetime2): Initialize year_seen,debug_year_seen member fields.
26664         parse-datetime: fix local timezone debug messages
26665         "Local timezones" are strings that affect only DST relative to the
26666         default timezone. The debug messages in parse-datetime.y printed
26667         wrong information when encountering local timezones.
26668         Examples:
26669         Here EET/EEST are time zones ('zone' token, with values +02:00/+03:00):
26670              TZ=Asia/Tokyo ./src/date --debug -d '2011-12-11 EET'
26671              TZ=Asia/Tokyo ./src/date --debug -d '2011-06-11 EEST'
26672         When the default timezone relates to the zone strings, EET/EEST are
26673         parsed as local timezones (tLOCAL_ZONE), and only change the DST
26674         value (0/1, respectively):
26675              TZ=Europe/Helsinki ./src/date --debug -d '2011-12-11 EET'
26676              TZ=Europe/Helsinki ./src/date --debug -d '2011-06-11 EEST'
26677         * lib/parse-datetime.y (debug_print_current_time): If local timezone
26678         was seen, inform about DST change, don't print actual timezone.
26679         (debug_strfdatetime): If local timezone was seen, use default timezone
26680         (and adjust as needed) instead of using incorrect timezone.
26681         (parse_datetime2): Use correct time-zone source string, and adjust
26682         default timezone as needed.
26684         parse-datetime: add debug warning about DST changes
26685         Incorrect date arithmetic due to daylight saving time (DST) are a
26686         common (false) bug report in coreutils.
26687         Detect two such cases and print a warning:
26688         1. year/month/day adjustments (performed on 'struct tm'),
26689            where 'mktime' returns a different isdst value.
26690         2. hour/minute/seconds/ns adjustments (performed on 'time_t'),
26691            where the result of 'localtime(3)' on the value will return a
26692            different isdst value.
26693         Note: DST changes could be harmless or unnoticeable.
26694         Examples (with 'TZ=America/New_York'):
26695         Unnoticeable: result is 2016-Dec-14
26696            $ date -d '2016-06-15 EDT + 6 months' +%b
26697            Dec
26698         Unnoticeable: result is 2016-Dec-15 11:00:00
26699            $ date -d '2016-06-15 12:00:00 EDT + 6 months' +%F
26700            2016-12-15
26701         This is unexpected:
26702            $ date -d '2016-06-01 EDT + 6 months' +%F
26703            2016-11-30
26704         The new debug warnings will show:
26705            $ ./src/date --debug -d '2016-06-01 EDT + 6 months' +%F
26706            ...
26707            date: warning: daylight saving time changed after date adjustment
26708            ...
26709         * lib/parse-datetime.y (parse_datetime2): Detect DST changes, and
26710         print an appropriate warning message.
26712         parse-datetime: add debug warning about date arithmetic
26713         Date arithmetic are done directly on the fields of 'struct tm',
26714         which can result in invalid dates. Normalization with 'mktime(3)'
26715         will then produce a different date - which might cause unexpected
26716         results.
26717         Examples:
26718           '2016-10-31 - 1 month' => 2016-09-31 normalized to 2016-10-01.
26719           '2016-02-29 + 1 year'  => 2017-02-29 normalized to 2017-03-01.
26720         Note that date normalization is not inherently wrong and not rejected,
26721         as it has legitimate uses:
26722           '2016-12-29 + 5 days' => 2016-12-34 noramlized to 2017-01-03.
26723         If the user asked to adjust months but 'mday' changed,
26724         or user asked to adjust years but 'month' changed - warn about it.
26725             $ ./src/date --debug -d '2016-10-31 - 1 month'
26726             ...
26727             date: warning: when adding relative months/years, \
26728                            it is recommended to specify the 15th of the month
26729             ...
26730             date: warning: month/year adjustment resulted in shifted dates:
26731             date:      adjusted Y M D: 2016 09 31
26732             date:    normalized Y M D: 2010 10 01
26733             ...
26734         * lib/parse-datetime.y (parse_datetime2): Detect such cases and print
26735         a warning message. Improve recommendation of when to use 15 of the
26736         month or noon for date arithmetic.
26738         parse-datetime: fix debug message of relative part after timezone
26739         Relative part (e.g '+8 days') after a timezone string was not
26740         reported (was only reported after a timezone number). Due to the
26741         parser's structure, timezone strings with numbers were handled
26742         separately.
26743         before:
26744              # Timezone number + relative part: OK
26745              $ ./src/date --debug +%F -d '2013-10-30 00:00:00 +00:00 -8 days'
26746              ...
26747              date: parsed relative part: -8 day(s)
26748              # Timezone string + relative part: missing
26749              $ ./src/date --debug +%F -d '2013-10-30 00:00:00 UTC -8 days'
26750              [ missing message ]
26751         After: messages are printed in both cases.
26752         * lib/parse-datetime.y ('zone' token): Call debug_print_relative_time.
26754         parse-datetime: fix incorrect debug message on lone number
26755         A lone number is an absolute value, not a relative time part.
26756         before:
26757            $ date --debug -d '20130101'
26758            date: parsed number part: today/this/now
26759         After:
26760            $ ./src/date --debug -d '20130101'
26761            date: parsed number part: (Y-M-D) 2013-01-01
26762         * lib/parse-datetime.y ('item'/'number' tokens): Call
26763         'debug_print_current_time' instead of 'debug_print_relative_time'.
26765 2017-01-02  Paul Eggert  <eggert@cs.ucla.edu>
26767         doc: modernize for C11 etc.
26768         * doc/gnulib-readme.texi (Portability guidelines): Modernize a bit
26769         for C11, MinGW, etc.  This responds to Paul Smith's question in:
26770         http://lists.gnu.org/r/bug-gnulib/2017-01/msg00014.html
26772         dfa: prefer functions to FETCH_WC macro
26773         * lib/dfa.c (FETCH_WC): Remove, replacing with ...
26774         (fetch_wc, bracket_fetch_wc): ... new functions.  These store the
26775         wint_t result into DFA->lex.wctok instead of to a separate arg.
26776         All callers changed.  Move more local decls closer to where
26777         they're used.
26779         dfa: narrow more local var scopes
26780         * lib/dfa.c: Move more local decls to be more local.
26782         dfa: remove duplicate assignment
26783         Problem reported by Bruno Haible in:
26784         http://lists.gnu.org/r/bug-gnulib/2017-01/msg00007.html
26785         * lib/dfa.c (parse_bracket_exp): Simplify.
26787 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
26789         dfa: simplify constraint-dependency checking
26790         * lib/dfa.c (prev_newline_constraint, prev_letter_constraint)
26791         (prev_other_constraint): Remove.
26792         (prev_newline_dependent, prev_letter_dependent):
26793         Simplify, to avoid an unnecessary bitwise AND operation.
26795         dfa: prefer functions and constants to macros
26796         * lib/dfa.c: Prefer constants to macros where either will do.
26797         (streq, isasciidigit, newline_constraint)
26798         (letter_constraint, other_constraint, succeeds_in_context)
26799         (prev_newline_constraint, prev_letter_constraint)
26800         (prev_other_constraint, prev_newline_dependent)
26801         (prev_letter_dependent, accepting, accepts_in_context):
26802         Now static functions instead of function-like macros.
26803         Use lower-case names accordingly.  All uses changed.
26805         dfa: narrow more local var scopes
26806         * lib/dfa.c: Move some more local decls down to nearer where
26807         they're needed.
26809 2016-12-31  Jim Meyering  <meyering@fb.com>
26811         dfa: narrow the scope of many local variables
26812         * lib/dfa.c: Now that we are no longer constrained to c89, move
26813         declarations of many variables (often indices) "down" into the
26814         scope(s) where used or to the point of definition.  This is a
26815         no-semantic-change diff.
26817 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
26819         version-etc: new year
26820         * build-aux/gendocs.sh (version):
26821         * doc/gendocs_template:
26822         * doc/gendocs_template_min:
26823         * doc/gnulib.texi:
26824         * lib/version-etc.c (COPYRIGHT_YEAR):
26825         Update copyright dates by hand in templates and the like.
26826         * all files: Run 'make update-copyright'.
26828 2016-12-31  Eric Blake  <eblake@redhat.com>
26830         do-release-commit-and-tag: avoid shell syntax error
26831         * build-aux/do-release-commit-and-tag (curr_br): $branch can
26832         contain spaces when rebasing.
26834         maint.mk: hoist gnulib_dir definition earlier
26835         * top/maint.mk (gnulib_dir): Move near top of file.
26837 2016-12-31  Jim Meyering  <meyering@fb.com>
26839         maint.mk: do not always evaluate intprops-related shell
26840         * top/maint.mk (_intprops_names): Change := to just "=" to avoid
26841         using gnulib_dir undefined (gnulib_dir is defined later in the
26842         file, which will be fixed separately), and besides, there is no
26843         need to incur the cost of this shell invocation for every single
26844         use of this .mk file.  Reported by Eric Blake in
26845         https://lists.gnu.org/r/bug-gnulib/2016-12/msg00137.html
26847 2016-12-30  Jim Meyering  <meyering@fb.com>
26849         maint.mk: improve sc_prohibit_intprops_without_use
26850         * top/maint.mk (_intprops_names): Don't hard-code the list of
26851         symbol names.  Instead, derive it on the fly.
26853 2016-12-30  Paul Eggert  <eggert@cs.ucla.edu>
26855         dfa: shorten sbit, success
26856         * lib/dfa.c (struct regex_syntax.sbit):
26857         (struct dfa.success): Use char, not int, for array elements, since
26858         they are all in the range 0..7.
26860         dfa: simplify multibyte_prop etc.
26861         This follows up on a change made when dfa.c was in grep, namely grep
26862         commit c797046c7c13c2647182b919a79a4c5b4ecf82b1
26863         dated 2015-08-12 07:35:03 -0700, which removed unused multibyte support.
26864         That earlier simplification allows for some more simplification
26865         and trimming down here.
26866         * lib/dfa.c (struct mb_char_classes): New member nchars_alloc.
26867         (struct lexer_state): New mamber brack.
26868         (struct dfa, addtok_mb): multibyte_prop elements are now char, not int,
26869         since they must be in the range 0..3 now.
26870         Remove members mbcsets, nmbcsets, mbcsets_alloc, since
26871         the brack member now supersedes them.
26872         (parse_bracket_exp): Update dfa->lex.brack instead of dfa->mbcsets.
26873         (addtok): Use dfa->lex.brack instead of dfa->mbcsets.
26874         (dfaparse): Remove unnecessary initializations of already-0 storage.
26875         (free_mbdata): Free d->lex.brack.chars instead of d->mbcsets.
26876         (dfassbuild): No need to clear sup->mbcsets.
26878         dfa: minor performance tweak
26879         * lib/dfa.c (setbit_wc): Test < 0, not == EOF.
26881         dfa: wrap charclass inside a struct
26882         On my platform (gcc Ubuntu 5.4.0-6ubuntu1~16.04.4 x86-64,
26883         en_US.utf8 locale) this makes 'grep -Fi -f list.txt list.txt >out'
26884         about 5% faster, where list.txt is generated by 'aspell dump
26885         master | head -n 100000 >list.txt'.  See Bug#22239.
26886         * lib/dfa.c (charclass): Wrap inside a struct.  All uses changed.
26887         (CHARCLASS_INIT, tstbit, setbit, clrbit, zeroset, fillset, notset)
26888         (equal, emptyset, charclass_index, setbit_wc, setbit_case_fold_c):
26889         Adjust to this, e.g., by using charclass * rather than charclass.
26890         All callers changed as needed.
26891         (copyset): Remove.  All uses changed to simple assignment.
26892         (parse_bracket_exp): Use zeroset instead of memset.
26894 2016-12-30  Jim Meyering  <meyering@fb.com>
26896         maint.mk: update list of intprops.h symbol names
26897         * top/maint.mk (_intprops_names): Regenerate the list of symbol names.
26898         This avoids a false failure of the sc_prohibit_intprops_without_use
26899         rule in grep.
26901 2016-12-29  Eric Blake  <eblake@redhat.com>
26903         getopt: fix parallel test failure
26904         * tests/test-getopt-posix.c (TEST_GETOPT_TMP_NAME): Set name.
26905         * tests/test-getopt-gnu.c (TEST_GETOPT_TMP_NAME): Likewise.
26906         * tests/test-getopt-main.h (main): Use different file names
26907         in case test-getopt-gnu and test-getopt-posix run in parallel.
26909 2016-12-29  Paul Eggert  <eggert@cs.ucla.edu>
26911         xalloc: x2nrealloc check for ptrdiff_t overflow
26912         * lib/xalloc.h (x2nrealloc): Check for ptrdiff_t overflow, too.
26913         * modules/xalloc, modules/xvasprintf (Depends-on): Add stdint.
26915 2016-12-24  Bruno Haible  <bruno@clisp.org>
26917         lock test: Fix performance problem on multi-core machines.
26918         * tests/test-lock.c (USE_VOLATILE): New macro.
26919         (struct atomic_int): New type.
26920         (init_atomic_int, get_atomic_int_value, set_atomic_int_value): New
26921         functions.
26922         (lock_checker_done, rwlock_checker_done, reclock_checker_done): Define
26923         as 'struct atomic_int'.
26924         (lock_checker_thread, test_lock, rwlock_checker_thread, test_rwlock,
26925         reclock_checker_thread, test_recursive_lock): Use the new functions.
26926         Reported by Eric Blake in
26927         https://www.redhat.com/archives/libvir-list/2012-March/msg00854.html
26928         and by Pádraig Brady in
26929         http://lists.gnu.org/r/bug-gnulib/2016-12/msg00117.html.
26931 2016-12-19  Bruno Haible  <bruno@clisp.org>
26933         vma-iter: Fix endless loop on 64-bit Windows.
26934         * lib/vma-iter.c (vma_iterate): On Windows, use 'uintptr_t' instead of
26935         'unsigned long'.
26937 2016-12-19  Bruno Haible  <bruno@clisp.org>
26939         stdint: Fix WINT_MAX to match the gnulib provided wint_t on minw.
26940         * m4/wint_t.m4 (gt_TYPE_WINT_T): Define GNULIB_OVERRIDES_WINT_T here.
26941         * m4/stdint.m4 (gl_STDINT_H): Don't define GNULIB_OVERRIDES_WINT_T.
26942         Invoke gt_TYPE_WINT_T instead.
26943         (gl_STDINT_TYPE_PROPERTIES): Test GNULIB_OVERRIDES_WINT_T.
26944         * modules/stdint (Files): Add m4/wint_t.m4.
26945         * modules/wchar (Makefile.am): Substitute GNULIB_OVERRIDES_WINT_T.
26946         * modules/wctype-h (Makefile.am): Likewise.
26947         * lib/wchar.in.h (wint_t): Override if GNULIB_OVERRIDES_WINT_T is set,
26948         not only on MSVC.
26949         * lib/wctype.in.h (wint_t): Likewise.
26951 2016-12-19  Paul Eggert  <eggert@cs.ucla.edu>
26953         getopt-posix-tests: fix Makefile typo
26954         * modules/getopt-posix-tests (test_getopt_posix_LDADD):
26955         Fix typo: the last ‘_’ was missing in the name.
26956         I suspect that the typo explains this build failure:
26957         https://buildfarm.opencsw.org/buildbot/builders/ggrep-solaris10-sparc/builds/39
26958         although I can’t reproduce the problem on Solaris 10 sparc.
26960 2016-12-18  Paul Eggert  <eggert@cs.ucla.edu>
26962         dfa: improve worst-case 'replace' performance
26963         See my note in Bug#22357#71.
26964         * lib/dfa.c (insert, delete): Rework to avoid duplicate test.
26965         (merge_constrained): New function, which is like
26966         the old 'merge' function, except with a new argument C2.
26967         Simplify the body by avoiding the need for different sections
26968         of code depending on whether one input is exhausted.
26969         (merge): Use the new function.
26970         (delete): Return the constraint of the deleted position,
26971         not the entire position.  Caller changed.
26972         (replace): Change from O(N*(N + log N)) to O(N log N) algorithm.
26974 2016-12-18  Norihiro Tanaka  <noritnk@kcn.ne.jp>
26976         dfa: performance improvement for removal of epsilon closure
26977         See Bug#22357#32.
26978         * lib/dfa.c (delete): Use binary search to find deleted index.
26979         (replace): New function.  It replaces a position with the followed set.
26980         (epsclosure): Replace it with a new algorithm.  Update caller.
26982 2016-12-18  Bruno Haible  <bruno@clisp.org>
26984         Split tests for getopt-posix and getopt-gnu.
26985         * tests/test-getopt-posix.c: New file.
26986         * tests/test-getopt-gnu.c: New file, with code from test-getopt.c.
26987         * tests/test-getopt-main.h: Renamed from tests/test-getopt.c. Remove
26988         stuff moved to test-getopt-gnu.c. Test TEST_GETOPT_GNU instead of
26989         GNULIB_TEST_GETOPT_GNU.
26990         * modules/getopt-posix-tests (Files): Add test-getopt-posix.c,
26991         test-getopt-main.h. Remove test-getopt.c, test-getopt_long.h.
26992         (Makefile.am): Test test-getopt-posix instead of test-getopt.
26993         * modules/getopt-gnu-tests: New file.
26994         * modules/getopt-gnu (configure.ac): Don't define GNULIB_TEST_GETOPT_GNU.
26996 2016-12-18  Bruno Haible  <bruno@clisp.org>
26998         posix-modules: Add options for specific platforms.
26999         * posix-modules (func_usage): Document options --for-mingw, --for-msvc.
27000         (exclude_for_mingw, exclude_for_msvc, exclude): New variables.
27001         Invoke func_tmpdir. Filter out the excludes.
27003 2016-12-18  Bruno Haible  <bruno@clisp.org>
27005         getopt: Fix link error for users of getopt() in <unistd.h>.
27006         * lib/getopt.in.h (getopt etc.): Do the macro definitions also when
27007         __need_getopt is defined. Undefine all macros before defining them.
27008         * modules/getopt (Include): Clarify that including <unistd.h> is also
27009         OK.
27010         * tests/test-getopt.c: Add comment.
27012 2016-12-17  Bruno Haible  <bruno@clisp.org>
27014         getaddrinfo tests: Avoid compilation error on MSVC.
27015         * tests/test-getaddrinfo.c: Don't check the prototypes of freeaddrinfo,
27016         getaddrinfo on native Windows.
27018 2016-12-17  Bruno Haible  <bruno@clisp.org>
27020         getlogin, getlogin_r: Fix link errors on MSVC.
27021         * m4/getlogin.m4 (gl_LIB_GETLOGIN): New macro.
27022         * modules/getlogin (configure.ac): Require gl_LIB_GETLOGIN.
27023         (Link): New section.
27024         * modules/getlogin_r (Files): Add m4/getlogin.m4.
27025         (configure.ac): Require gl_LIB_GETLOGIN.
27026         (Link): New section.
27027         * NEWS: Mention the new link requirements.
27028         * modules/getlogin-tests (test_getlogin_LDADD): New variable.
27029         * modules/getlogin_r-tests (test_getlogin_r_LDADD): New variable.
27031 2016-12-17  Bruno Haible  <bruno@clisp.org>
27033         Un-deprecate the 'progname' module.
27034         * NEWS: Describe the appropriate use-cases of 'progname' versus
27035         'getprogname'. Based on discussion summary at
27036         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00105.html
27038 2016-12-17  Bruno Haible  <bruno@clisp.org>
27040         Reorganize NEWS a bit.
27041         * NEWS: Move some not so important changes away from section
27042         "Important Notes".
27044 2016-12-17  Bruno Haible  <bruno@clisp.org>
27046         tanhf: Avoid redefinition error on MSVC.
27047         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_TANHF.
27048         * m4/tanhf.m4 (gl_FUNC_TANHF): Set REPLACE_TANHF to 1 if the function
27049         may be defined as an inline function.
27050         * modules/math (Makefile.am): Substitute REPLACE_TANHF.
27051         * lib/math.in.h (tanhf): Override if REPLACE_TANHF is 1.
27053 2016-12-17  Bruno Haible  <bruno@clisp.org>
27055         tanf: Avoid redefinition error on MSVC.
27056         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_TANF.
27057         * m4/tanf.m4 (gl_FUNC_TANF): Set REPLACE_TANF to 1 if the function
27058         may be defined as an inline function.
27059         * modules/math (Makefile.am): Substitute REPLACE_TANF.
27060         * lib/math.in.h (tanf): Override if REPLACE_TANF is 1.
27062 2016-12-17  Bruno Haible  <bruno@clisp.org>
27064         sqrtf: Avoid redefinition error on MSVC.
27065         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_SQRTF.
27066         * m4/sqrtf.m4 (gl_FUNC_SQRTF): Set REPLACE_SQRTF to 1 if the function
27067         may be defined as an inline function.
27068         * modules/math (Makefile.am): Substitute REPLACE_SQRTF.
27069         * lib/math.in.h (sqrtf): Override if REPLACE_SQRTF is 1.
27071 2016-12-17  Bruno Haible  <bruno@clisp.org>
27073         sinhf: Avoid redefinition error on MSVC.
27074         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_SINHF.
27075         * m4/sinhf.m4 (gl_FUNC_SINHF): Set REPLACE_SINHF to 1 if the function
27076         may be defined as an inline function.
27077         * modules/math (Makefile.am): Substitute REPLACE_SINHF.
27078         * lib/math.in.h (sinhf): Override if REPLACE_SINHF is 1.
27080 2016-12-17  Bruno Haible  <bruno@clisp.org>
27082         sinf: Avoid redefinition error on MSVC.
27083         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_SINF.
27084         * m4/sinf.m4 (gl_FUNC_SINF): Set REPLACE_SINF to 1 if the function
27085         may be defined as an inline function.
27086         * modules/math (Makefile.am): Substitute REPLACE_SINF.
27087         * lib/math.in.h (sinf): Override if REPLACE_SINF is 1.
27089 2016-12-17  Bruno Haible  <bruno@clisp.org>
27091         logf: Avoid redefinition error on MSVC.
27092         * m4/logf.m4 (gl_FUNC_LOGF): Set REPLACE_LOGF to 1 if the function
27093         may be defined as an inline function.
27095 2016-12-17  Bruno Haible  <bruno@clisp.org>
27097         log10l: Avoid redefinition error on MSVC.
27098         * m4/log10l.m4 (gl_FUNC_LOG10L): Set REPLACE_LOG10L to 1 if the function
27099         may be defined as an inline function.
27101 2016-12-17  Bruno Haible  <bruno@clisp.org>
27103         log10f: Avoid redefinition error on MSVC.
27104         * m4/log10f.m4 (gl_FUNC_LOG10F): Set REPLACE_LOG10F to 1 if the function
27105         may be defined as an inline function.
27107 2016-12-17  Bruno Haible  <bruno@clisp.org>
27109         hypotl: Avoid redefinition error on MSVC.
27110         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Set REPLACE_HYPOTL to 1 if the function
27111         may be defined as an inline function.
27113 2016-12-17  Bruno Haible  <bruno@clisp.org>
27115         hypotf: Avoid redefinition error on MSVC.
27116         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Set REPLACE_HYPOTF to 1 if the function
27117         may be defined as an inline function.
27119 2016-12-17  Bruno Haible  <bruno@clisp.org>
27121         fmodl: Avoid redefinition error on MSVC.
27122         * m4/fmodl.m4 (gl_FUNC_FMODL): Set REPLACE_FMODL to 1 if the function
27123         may be defined as an inline function.
27125 2016-12-17  Bruno Haible  <bruno@clisp.org>
27127         fmodf: Avoid redefinition error on MSVC.
27128         * m4/fmodf.m4 (gl_FUNC_FMODF): Set REPLACE_FMODF to 1 if the function
27129         may be defined as an inline function.
27131 2016-12-17  Bruno Haible  <bruno@clisp.org>
27133         expf: Avoid redefinition error on MSVC.
27134         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_EXPF.
27135         * m4/expf.m4 (gl_FUNC_EXPF): Set REPLACE_EXPF to 1 if the function
27136         may be defined as an inline function.
27137         * modules/math (Makefile.am): Substitute REPLACE_EXPF.
27138         * lib/math.in.h (expf): Override if REPLACE_EXPF is 1.
27140 2016-12-17  Bruno Haible  <bruno@clisp.org>
27142         coshf: Avoid redefinition error on MSVC.
27143         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_COSHF.
27144         * m4/coshf.m4 (gl_FUNC_COSHF): Set REPLACE_COSHF to 1 if the function
27145         may be defined as an inline function.
27146         * modules/math (Makefile.am): Substitute REPLACE_COSHF.
27147         * lib/math.in.h (coshf): Override if REPLACE_COSHF is 1.
27149 2016-12-17  Bruno Haible  <bruno@clisp.org>
27151         cosf: Avoid redefinition error on MSVC.
27152         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_COSF.
27153         * m4/cosf.m4 (gl_FUNC_COSF): Set REPLACE_COSF to 1 if the function
27154         may be defined as an inline function.
27155         * modules/math (Makefile.am): Substitute REPLACE_COSF.
27156         * lib/math.in.h (cosf): Override if REPLACE_COSF is 1.
27158 2016-12-17  Bruno Haible  <bruno@clisp.org>
27160         atan2f: Avoid redefinition error on MSVC.
27161         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_ATAN2F.
27162         * m4/atan2f.m4 (gl_FUNC_ATAN2F): Set REPLACE_ATAN2F to 1 if the function
27163         may be defined as an inline function.
27164         * modules/math (Makefile.am): Substitute REPLACE_ATAN2F.
27165         * lib/math.in.h (atan2f): Override if REPLACE_ATAN2F is 1.
27167 2016-12-17  Bruno Haible  <bruno@clisp.org>
27169         atanf: Avoid redefinition error on MSVC.
27170         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_ATANF.
27171         * m4/atanf.m4 (gl_FUNC_ATANF): Set REPLACE_ATANF to 1 if the function
27172         may be defined as an inline function.
27173         * modules/math (Makefile.am): Substitute REPLACE_ATANF.
27174         * lib/math.in.h (atanf): Override if REPLACE_ATANF is 1.
27176 2016-12-17  Bruno Haible  <bruno@clisp.org>
27178         asinf: Avoid redefinition error on MSVC.
27179         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_ASINF.
27180         * m4/asinf.m4 (gl_FUNC_ASINF): Set REPLACE_ASINF to 1 if the function
27181         may be defined as an inline function.
27182         * modules/math (Makefile.am): Substitute REPLACE_ASINF.
27183         * lib/math.in.h (asinf): Override if REPLACE_ASINF is 1.
27185 2016-12-17  Bruno Haible  <bruno@clisp.org>
27187         acosf: Avoid redefinition error on MSVC.
27188         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_ACOSF.
27189         * m4/acosf.m4 (gl_FUNC_ACOSF): Set REPLACE_ACOSF to 1 if the function
27190         may be defined as an inline function.
27191         * modules/math (Makefile.am): Substitute REPLACE_ACOSF.
27192         * lib/math.in.h (acosf): Override if REPLACE_ACOSF is 1.
27194 2016-12-17  Bruno Haible  <bruno@clisp.org>
27196         Avoid redefinition errors on MSVC.
27197         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): Set REPLACE_SNPRINTF to 1 if
27198         the function may be defined as an inline function.
27199         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): Set REPLACE_VSNPRINTF to 1 if
27200         the function may be defined as an inline function.
27202 2016-12-17  Bruno Haible  <bruno@clisp.org>
27204         Avoid redefinition errors on MSVC.
27205         * lib/stdio.in.h: Include <stdlib.h> and <io.h> when necessary.
27206         * lib/unistd.in.h: Include <stdio.h> when necessary.
27208 2016-12-17  Bruno Haible  <bruno@clisp.org>
27210         stdint: Fix WINT_MAX to match the gnulib provided wint_t on MSVC.
27211         * m4/stdint.m4 (gl_STDINT_H): Define GNULIB_OVERRIDES_WINT_T.
27212         * modules/stdint (Makefile.am): Substitute GNULIB_OVERRIDES_WINT_T.
27213         * lib/stdint.in.h [GNULIB_OVERRIDES_WINT_T]: Redefine WINT_MIN and
27214         WINT_MAX.
27216 2016-12-17  Bruno Haible  <bruno@clisp.org>
27218         Avoid autoconf warning.
27219         * modules/frexpl (configure.ac): Require, not invoke, gl_FUNC_FREXPL.
27220         * modules/frexp (configure.ac): Require, not invoke, gl_FUNC_FREXP.
27222 2016-12-17  Bruno Haible  <bruno@clisp.org>
27224         fpending: Revert workaround against Emacs bug.
27225         * lib/stdio-impl.h [__MINGW32__]: Revert conditional.
27226         The Emacs bug is fixed by Eli Zaretskii in
27227         http://lists.gnu.org/r/emacs-devel/2016-12/msg00715.html
27229 2016-12-17  Bruno Haible  <bruno@clisp.org>
27231         getlogin_r tests: Port to mingw.
27232         * tests/test-getlogin_r.c: Don't include <pwd.h> on native Windows. Fixes
27233         regression introduced on 2014-05-19.
27235 2016-12-17  Bruno Haible  <bruno@clisp.org>
27237         getlogin: Port to newer mingw.
27238         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_GETLOGIN.
27239         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Set HAVE_DECL_GETLOGIN.
27240         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETLOGIN, not
27241         HAVE_GETLOGIN.
27242         * lib/unistd.in.h (getlogin): Test HAVE_DECL_GETLOGIN, not
27243         HAVE_GETLOGIN.
27244         * doc/posix-functions/getlogin.texi: Mention the issue.
27245         * tests/test-getlogin.c: Don't include <pwd.h> on native Windows. Fixes
27246         regression introduced on 2014-05-14.
27248 2016-12-16  Paul Eggert  <eggert@cs.ucla.edu>
27250         builtin-expect: improve port to IBM XL C
27251         Problem reported for z/OS by Daniel Richard G. in:
27252         http://lists.gnu.org/r/bug-gnulib/2016-12/msg00079.html
27253         * m4/builtin-expect.m4 (gl___BUILTIN_EXPECT):
27254         Test for <builtins.h> directly.
27256         builtin-expect: port to IBM XL C
27257         Problem reported for z/OS by Daniel Richard G. in:
27258         http://lists.gnu.org/r/bug-gnulib/2016-12/msg00074.html
27259         * m4/builtin-expect.m4 (gl___BUILTIN_EXPECT):
27260         Also allow __builtin_expect defined via a standard include file.
27262         regex: fix dependency
27263         Problem reported by Bruno Haible in:
27264         http://lists.gnu.org/r/bug-gnulib/2016-12/msg00073.html
27265         * modules/regex: Depend on builtin-expect.
27267         builtin-expect: new module
27268         Fix fnmatch to use it.
27269         Problem reported for z/OS by Daniel Richard G.
27270         * lib/fnmatch.c (__builtin_expect):
27271         * lib/glob.c (__builtin_expect):
27272         * lib/grantpt.c (__builtin_expect) [!_LIBC]:
27273         * lib/memmem.c (__builtin_expect) [!_LIBC]:
27274         * lib/scandir.c (__builtin_expect):
27275         * lib/strstr.c (__builtin_expect) [!_LIBC]:
27276         Remove macro; config.h now does this.
27277         * lib/gl_anytreehash_list1.h (add_to_bucket):
27278         * lib/regex_internal.h (BE):
27279         Assume __builtin_expect.
27280         * m4/builtin-expect.m4, modules/builtin-expect: New files.
27281         * modules/avltreehash-list, modules/fnmatch, modules/glob:
27282         * modules/grantpt, modules/memmem-simple, modules/rbtreehash-list:
27283         * modules/scandir, modules/strstr-simple:
27284         Depend on builtin-expect.
27286 2016-12-15  Bruno Haible  <bruno@clisp.org>
27288         init.sh: Add possibility to not delete temporary files.
27289         * tests/init.sh (remove_tmp_): If the environment variable KEEP is set
27290         to yes, don't erase the temporary directory.
27292 2016-12-16  Paul Eggert  <eggert@cs.ucla.edu>
27294         regex: fix integer-overflow bug in never-used code
27295         Problem reported by Clément Pit–Claudel in:
27296         http://lists.gnu.org/r/emacs-devel/2016-12/msg00654.html
27297         * lib/regex_internal.h: Include intprops.h.
27298         * lib/regexec.c (re_search_2_stub): Use it to avoid undefined
27299         behavior on integer overflow.
27300         * modules/regex (Depends-on): Add intprops.
27302         fpending: fix port to MinGW on Emacs
27303         * lib/stdio-impl.h [__MINGW32__]: Do not include errno.h.
27304         Problem reported by Eli Zaretskii in:
27305         http://lists.gnu.org/r/emacs-devel/2016-12/msg00642.html
27306         Is Plan 9 still a valid porting target, anyway?
27308 2016-12-15  Paul Eggert  <eggert@cs.ucla.edu>
27310         safe-alloc: use xalloc-oversized
27311         * lib/safe-alloc.c: Include xalloc-oversized.h.
27312         (safe_alloc_oversized): Remove.  All uses changed to xalloc_oversized.
27313         * modules/safe-alloc (Depends-on): Add xalloc-oversized.
27315         xalloc: do not exceed PTRDIFF_MAX
27316         * lib/xmalloc.c (xcalloc) [HAVE_GNU_CALLOC]: Do not omit
27317         xalloc_oversized check, since objects larger than PTRDIFF_MAX
27318         bytes have pointer-subtraction problems.
27320         malloca: do not exceed PTRDIFF_MAX
27321         * lib/malloca.h: Include xalloc-oversized.
27322         (nmalloca): Use xalloc_oversized instead of rolling our own.
27323         * modules/malloca (Depends-on):
27324         * modules/relocatable-prog-wrapper (Depends-on):
27325         Add xalloc-oversized.
27327         quotearg: pacify GCC better
27328         * modules/quotearg (Depends-on): Add minmax, stdint.
27329         * lib/quotearg.c: Include minmax.h, stdint.h.
27330         (nslots): Now int, as there seems little point to going to extra
27331         work merely to support the INT_MAX slot, which nobody ever uses.
27332         (quotearg_n_options): Redo size-overflow checks to pacify GCC
27333         and to catch (mostly-theoretical) ptrdiff_t problems too.
27334         This can be done via one comparison.
27336 2016-12-14  Paul Eggert  <eggert@cs.ucla.edu>
27338         xalloc-oversized: check for PTRDIFF_MAX too
27339         This avoids undefined behavior when subtracting pointers to
27340         objects containing more than PTRDIFF_MAX bytes.
27341         * lib/xalloc-oversized.h (__xalloc_oversized, xalloc_oversized):
27342         Also return 1 if the result would exceed PTRDIFF_MAX>
27343         * modules/xalloc-oversized (Depends-on):
27344         Add stdint.
27346         dfa: fix glitches in previous commit
27347         Sorry, I don't know how I managed to commit the wrong version.
27348         * lib/dfa.c (MIN): Move up.
27349         (xpalloc): Now static.
27351         dfa: fix some unlikely integer overflows
27352         I found these while reviewing the recent Coverity-related fix.
27353         This patch changes part of dfa.c to prefer ptrdiff_t instead of
27354         size_t for object counts.  Using ptrdiff_t is the style typically
27355         used in Emacs; although it wastes a sign bit as sizes can never be
27356         negative, it makes -fsanitize=undefined more likely to catch
27357         integer overflows in index calculation, and nowadays the upside is
27358         typically more important than the downside.  Although perhaps the
27359         rest of dfa.c should be changed to prefer ptrdiff_t as well (much
27360         of dfa.c already does, since it uses state_num which is signed),
27361         that is a bigger change and is not needed to fix the bugs I found.
27362         * lib/dfa.c: Include stdint.h and intprops.h.
27363         (TOKEN_MAX): New macro.
27364         (position_set, struct mb_char_classes, struct dfa, maybe_realloc)
27365         (charclass_index, parse_bracket_exp, addtok, insert, merge)
27366         (realloc_trans_if_necessary, free_mbdata):
27367         Use ptrdiff_t instead of size_t for object counts related to xpalloc.
27368         This is safe because xpalloc checks that the sizes do not exceed
27369         either SIZE_MAX or PTRDIFF_MAX.
27370         (xpalloc): New function, mostly taken from Emacs.
27371         (maybe_realloc, copy, realloc_trans_if_necessary): Use it.
27372         (maybe_realloc): Add NITEMS_MAX to signature.  All callers changed.
27373         (charclass_index): Check for integer overflow in computing
27374         charclass index; it must not exceed TOKEN_MAX - CSET, as CSET is
27375         added to it later.
27376         (alloc_position_set): Check for integer overflow.  On typical
27377         platforms this check has zero overhead, since the constant
27378         expression is false.
27379         (realloc_trans_if_necessary):
27380         Remove assertion, which I hope Coverity no longer needs.
27382         * modules/dfa (Depends-on): Add intprops, stdint.
27384 2016-12-12  Jim Meyering  <meyering@fb.com>
27386         dfa: add an assertion to avoid coverity false positive
27387         * lib/dfa.c (realloc_trans_if_necessary): Otherwise, coverity
27388         warned that "newalloc1 - 2" could overflow.
27390 2016-12-13   Arnold D. Robbins  <arnold@skeeve.com>
27392         dfa: remove DFA_CASE_FOLD flag in favor of RE_ICASE
27393         * dfa.h (DFA_CASE_FOLD): Remove.
27394         * dfa.c (dfasyntax): Set dfa->syntax.case_fold based on RE_ICASE.
27396 2016-12-13  John W. Eaton  <gnu@jweaton.org>
27398         link: fix test to declare use of rename()
27399         * m4/link.m4 (gl_FUNC_LINK): Include <stdio.h> needed with
27400         -Werror=implicit-function-declaration
27402 2016-12-12  Bruno Haible  <bruno@clisp.org>
27404         fpending: Port to native Windows with MSVC.
27405         * lib/fpending.c: Include stdio-impl.h.
27406         (__fpending): Include all known implementations. Err out if it's not
27407         ported.
27408         * m4/fpending.m4 (gl_PREREQ_FPENDING): Remove macro.
27409         * modules/fpending (Files): Add lib/stdio-impl.h.
27410         (configure.ac): Don't invoke gl_PREREQ_FPENDING.
27412 2016-12-12  Bruno Haible  <bruno@clisp.org>
27414         stdioext: Port to native Windows with MSVC.
27415         * lib/stdio-impl.h (WINDOWS_OPAQUE_FILE): New macro.
27416         (struct _gl_real_FILE): New type.
27417         (fp_, _IOREAD, _IOWRT, _IORW, _IOEOF, _IOERR): New macros, for native
27418         Windows.
27419         * lib/fbufmode.c (fbufmode): Add code for native Windows.
27420         * lib/fflush.c (clear_ungetc_buffer): Treat native Windows like the
27421         other SystemV derived implementations.
27422         * lib/fpurge.c (fpurge): Likewise.
27423         * lib/freadable.c (freadable): Likewise.
27424         * lib/freadahead.c (freadahead): Likewise.
27425         * lib/freading.c (freading): Likewise.
27426         * lib/freadptr.c (freadptr): Likewise.
27427         * lib/freadseek.c (freadptrinc): Likewise.
27428         * lib/fseeko.c (fseeko): Likewise.
27429         * lib/fseterr.c (fseterr): Likewise.
27430         * lib/fwritable.c (fwritable): Likewise.
27431         * lib/fwriting.c (fwriting): Likewise.
27432         Reported by Gisle Vanem <gvanem@yahoo.no>.
27434 2016-12-11  Jim Meyering  <meyering@fb.com>
27436         non-recursive-gnulib-prefix-hack.m4: remove leading "(" in case stmt
27437         * m4/non-recursive-gnulib-prefix-hack.m4: That leading "(" happens
27438         to work with most shells, but not with the one provided by many
27439         Solaris 10 systems, so running configure with such a /bin/sh evokes
27440         e.g., "./configure: syntax error at line 33602: `(' unexpected".
27441         Reported by Assaf Gordon in
27442         https://lists.gnu.org/r/sed-devel/2016-12/msg00002.html
27444 2016-12-10  Bruno Haible  <bruno@clisp.org>
27446         threadlib: Optimize out runtime test on Solaris >= 10.
27447         * m4/threadlib.m4 (gl_THREADLIB_BODY): Don't set
27448         PTHREAD_IN_USE_DETECTION_HARD if configuring on Solaris 10 or newer.
27449         Reported by Peter Felecan at <https://savannah.gnu.org/bugs/?32087>.
27451 2016-12-10  Bruno Haible  <bruno@clisp.org>
27453         stdint: Update doc about Solaris 9.
27454         * doc/posix-headers/stdint.texi: Add info about Solaris 9.
27456 2016-12-09  Bruno Haible  <bruno@clisp.org>
27458         c-ctype tests: Fix link error on Solaris 9.
27459         * modules/c-ctype-tests (Depends-on): Add 'isblank'.
27460         Reported at <https://savannah.gnu.org/bugs/?46827>.
27462 2016-12-09  Paul Eggert  <eggert@cs.ucla.edu>
27464         dfa: fix performance bug that recomputes trans
27465         * lib/dfa.c (build_state): Fix performance bug introduced in Nov
27466         25 on-demand changes.  The bug caused build_state to reset all
27467         d->trans elements to -2 even when d->trans was already non-null.
27468         Use C99 style decls after statements in this function.
27470         same-inode: port to MinGW
27471         Here st_ino is always 0, so change the definition of SAME_INODE so
27472         that 1 means the two files are the same, 0 with st_ino != 0 means
27473         they differ, and 0 with st_ino == 0 means we don’t know.  Problem
27474         reported by Bruno Haible (Bug#25146).
27475         * doc/posix-headers/sys_stat.texi (sys/stat.h): Update.
27476         * lib/same-inode.h (SAME_INODE): Return 0 on MinGW.
27478 2016-12-04  Bruno Haible  <bruno@clisp.org>
27480         javacomp-script: Support Java 7 and 8.
27481         * m4/javacomp.m4 (gt_JAVACOMP): Accept source-version 1.7, 1.8 and
27482         target-version 1.7, 1.8.
27484 2016-12-02  Daiki Ueno  <ueno@gnu.org>
27486         * gnulib-tool (func_import): Relax the regex used for "LGPLv3+ or
27487         GPLv2" rewriting.
27489 2016-12-02  Nikos Mavrogiannopoulos  <nmav@gnutls.org>
27491         * gnulib-tool (func_import): Adhere to the license guideline when
27492         rewriting the license text to "LGPLv3+ or GPLv2":
27493         https://www.gnu.org/prep/maintain/maintain.html#Licensing-of-GNU-Packages
27495 2016-12-02  Bruno Haible  <bruno@clisp.org>
27497         localcharset: Avoid theoretical buffer overrun.
27498         * lib/localcharset.c (locale_charset) [WINDOWS_NATIVE]: Don't use the
27499         return value from setlocale if it would lead to a buffer overrun.
27501 2016-12-01  Bruno Haible  <bruno@clisp.org>
27503         Relicense some modules under LGPLv2+.
27504         Kevin Cernekee's approval is in
27505         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00090.html.
27506         * modules/fseterr (License): Change to LGPLv2+.
27507         * modules/mbchar (License): Likewise.
27508         * modules/mbiter (License): Likewise.
27509         * modules/mbsnlen (License): Likewise.
27510         * modules/wcwidth (License): Likewise.
27512 2016-12-01  KO Myung-Hun  <komh78@gmail.com>
27514         scandir: Fix _D_ALLOC_NAMLEN() on OS/2 kLIBC
27515         * lib/scandir.c (_D_ALLOC_NAMLEN): Consider the fields after d_name on
27516         OS/2 kLIBC.
27518 2016-12-01  KO Myung-Hun  <komh78@gmail.com>
27520         alphasort, scandir: Port to OS/2 kLIBC
27521         * lib/alphasort.c (alphasort): Implement according to OS/2 kLIBC
27522         declaration.
27523         * lib/scandir.c (scandir): Add declaration for OS/2 kLIBC.
27525 2016-12-01  KO Myung-Hun  <komh78@gmail.com>
27527         relocatable: Fix that /@unixroot prefix is not working on OS/2 kLIBC
27528         * lib/relocatable.c (relocate): Do not touch pathname if it is started
27529         with '/@unixroot'.
27531 2016-12-01  KO Myung-Hun  <komh78@gmail.com>
27533         sys_socket: typedef sa_family_t correctly on OS/2 kLIBC
27534         * lib/sys_socket.in.h (sa_family_t): Typedef to unsigned char on
27535         OS/2 kLIBC unless TCPV40HDRS is defined.
27537 2016-11-29  Jim Meyering  <meyering@fb.com>
27539         dfa: avoid new infinite loop
27540         This would infloop: echo cx | LC_ALL=C grep -E 'c\b[x ]'
27541         * lib/dfa.c (dfastate): When constructing a new state table, we could
27542         initially declare that we had found a match, and later find that
27543         constraints eliminate that possibility, yet continue to use the
27544         now stale "matched" indicator.  That would lead to an infinite loop.
27545         The solution is to update "matched" when necessary.
27546         Introduced by commit v0.1-983-g403adf1.
27548 2016-11-27  Norihiro Tanaka  <noritnk@kcn.ne.jp>
27550         dfa: avoid match middle in multibyte character
27551         * lib/dfa.c (transit_state): If fails in matching single byte characters
27552         on a state including period expression in non-UTF8 multibyte locales,
27553         skip trailing bytes.
27554         (dfa_supported): Revert previous change.
27556 2016-11-27  Jim Meyering  <meyering@fb.com>
27558         dfa: avoid false match in non-UTF8 multibyte locales
27559         * lib/dfa.c (dfa_supported): Treat any non-UTF8 multibyte locale
27560         as "not supported" so that callers will resort to using regex-based
27561         matcher.  This will surely hurt performance, but correctness trumps
27562         performance here, and the affected locales are less and less relevant,
27563         these days.  See grep's bug report https://bugs.gnu.org/24975.
27565 2016-11-27  Mike Frysinger  <vapier@gentoo.org>
27567         ptsname_r: leverage AC_HEADER_MAJOR to provide major()
27568         * lib/ptsname_r.c: Include the appropriate headers.
27569         [__sun]: Delete sys/sysmacros.h include.
27570         [_AIX || __osf__]: Likewise.
27571         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Depend on AC_HEADER_MAJOR.
27573 2016-11-27  Pádraig Brady  <P@draigBrady.com>
27575         md4,md5,sha*: allow _STRING_INLINE_unaligned enable unaligned operation
27576         * lib/md4.c (md4_process_bytes): The existing define is made internal
27577         in recent versions of glibc, so also use this new public define.
27578         * lib/md5.c (md5_process_bytes): Likewise.
27579         * lib/sha1.c (sha1_process_bytes): Likewise.
27580         * lib/sha256.c (sha256_process_bytes): Likewise.
27581         * lib/sha512.c (sha512_process_bytes): Likewise.
27583 2016-11-27  Pádraig Brady  <P@draigBrady.com>
27585         maint: use a more standard return from mbrtowc test
27586         * m4/mbrtowc.m4 (gl_MBRTOWC_C_LOCALE): Don't return 1
27587         from the test program as this often indicates an
27588         unhandled case in the test program.
27589         (gl_MBRTOWC_INCOMPLETE_STATE): Likewise.
27590         (gl_MBRTOWC_SANITYCHECK): Likewise.
27591         (gl_MBRTOWC_NULL_ARG2): Likewise.
27592         (gl_MBRTOWC_NUL_RETVAL): Likewise.
27594 2016-11-26  Paul Eggert  <eggert@cs.ucla.edu>
27596         freopen: work around glibc bug with closed fd
27597         Work around glibc bug#15589, where freopen mishandles the case
27598         where stdin etc. are already closed.
27599         * doc/posix-functions/freopen.texi (freopen): Document the bug.
27600         * lib/freopen.c (_GL_ALREADY_INCLUDING_STDIO_H): Define this
27601         instead of __need_FILE, as the latter does not work with glibc.
27602         Include <fcntl.h>, for open flags.
27603         (rpl_freopen): Work around glibc bug.
27604         * m4/freopen.m4 (gl_FUNC_FREOPEN): Check for bug.
27605         * modules/freopen (Depends-on): Add fcntl-h.
27606         * tests/test-freopen.c (main): Test for bug.
27608 2016-11-25  Paul Eggert  <eggert@cs.ucla.edu>
27610         fnmatch: fix typo introduced on 2016-08-17
27611         This fixes the port to non-GCC compilers that lack __builtin_expect.
27612         * lib/fnmatch.c (__builtin_expect): Change A&&B to !A||B.
27614         dfa: simplify with new function fillset
27615         * lib/dfa.c (fillset): New function.
27616         Use it for clarity when applicable.
27618         dfa: fix glitches with on-demand states
27619         Also, adjust commentary to better match new code.
27620         Some of these glitches predate the recent change.
27621         * lib/dfa.c (dfaanalyze): Clear trcount here, so that it counts
27622         only non-initial states.
27623         (dfastate): Rename locals to better match new roles.
27624         Move them into nested scopes if this is easy.
27625         Omit unnecessary calls to zeroset.
27626         Simplify test for whether to throw in the positions of state 0.
27627         Omit C99-ism (decl after statement) since Gawk still wants C89.
27628         (build_state): Omit unnecessary test and assignment.
27629         Fix some confusion that counted transition tables inaccurately
27630         and could cause a memory leak.
27631         (dfaexec_main): Redo to make it clearer to the compiler that
27632         -1 and -2 are the only negative state numbers here.
27634 2016-11-25  Norihiro Tanaka  <noritnk@kcn.ne.jp>
27636         dfa: addition of new state on demand
27637         * src/dfa.c (dfastate): Add argument UC, the current input character.
27638         Fill only a group including the character in transition table.
27639         (realloc_trans_if_necessary): Add the dummy state which means that a
27640         transition table is assigned but the next state is not assigned.
27641         (build_state): Return the next state.  All callers updated.
27642         (transit_state_singlebyte): If we get the dummy state,
27643         fill the transition table.
27644         (dfaexec_main): Handle the dummy state.
27645         (free_mbdata, dfafree): Consider the dummy state.
27647 2016-11-24  Daiki Ueno  <ueno@gnu.org>
27649         srclist: sync with released gettext
27650         * config/srclist.txt: Set "release" option to the files under
27651         $GETTEXT.
27653 2016-11-24  Daiki Ueno  <ueno@gnu.org>
27655         srclist: add "release" option
27656         * config/srclist.txt: Change the format so that the first column
27657         of each line points to the top-level directory of the source
27658         archive.
27659         * config/srclist-update: Accept "release" option that checks files
27660         from the most recently tagged revision in the source archive.
27662 2016-11-21  Bruno Haible  <bruno@clisp.org>
27664         snippet/c++defs: Simplify _GL_CXXALIAS_* macros.
27665         * build-aux/snippet/c++defs.h [__cplusplus && GNULIB_NAMESPACE]
27666         (_GL_CXXALIAS_RPL_1, _GL_CXXALIAS_RPL_CAST_1,
27667         _GL_CXXALIAS_SYS, _GL_CXXALIAS_SYS_CAST, _GL_CXXALIAS_SYS_CAST2):
27668         Inline and remove member function 'rpl ()' of the wrapper struct.
27670 2016-11-20  Paul Eggert  <eggert@cs.ucla.edu>
27672         dfa: fix logic typo
27673         Problem reported by Stephane Chazelas (Bug#24973).
27674         * lib/dfa.c (using_simple_locale): Fix typo that caused some
27675         non-simple locales like fr_FR to be treated as simple.
27677 2016-11-20  Jim Meyering  <meyering@fb.com>
27679         fix test driver leaks: exclude, malloc, realloc
27680         * tests/test-exclude.c (main): Fix trivial leak.
27681         * tests/test-malloc-gnu.c (main): Likewise.
27682         * tests/test-realloc-gnu.c (main): Likewise.
27683         With these changes, grep's tests are now leak free.
27684         I.e., running them with ASAN elicits no failure:
27685           make CFLAGS='-O0 -ggdb3' AM_CFLAGS=-fsanitize=address \
27686             AM_LDFLAGS='-fsanitize=address -static-libasan' check
27688 2016-11-11  Bruno Haible  <bruno@clisp.org>
27690         libunistring: Relicense under dual "LGPLv3+ or GPLv2" license.
27691         * modules/libunistring: (License): Change from LGPL to
27692         "LGPLv3+ or GPLv2".
27693         * modules/libunistring-optional: Likewise.
27694         * modules/unicase/*: Likewise.
27695         * modules/uniconv/*: Likewise.
27696         * modules/unictype/*: Likewise.
27697         * modules/unigbrk/*: Likewise.
27698         * modules/unilbrk/*: Likewise.
27699         * modules/uniname/*: Likewise.
27700         * modules/uninorm/*: Likewise.
27701         * modules/unistdio/*: Likewise.
27702         * modules/unistr/*: Likewise.
27703         * modules/uniwbrk/*: Likewise.
27704         * modules/uniwidth/*: Likewise.
27706 2016-11-12  Bruno Haible  <bruno@clisp.org>
27708         Relicense some modules under LGPLv2+.
27709         Paul Eggert's approval is in
27710         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00037.html.
27711         Eric Blake's approval is in
27712         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00042.html.
27713         Ludovic Courtès's approval is in
27714         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00038.html.
27715         * modules/isnand-nolibm (License): Change to LGPLv2+.
27716         * modules/isnanf-nolibm (License): Likewise.
27717         * modules/isnanl-nolibm (License): Likewise.
27719 2016-11-19  Bruno Haible  <bruno@clisp.org>
27721         Relicense some modules under LGPLv2+.
27722         lib/float+.h is already under LGPLv2+ since 2007-07-13, per
27723         modules/vasnprintf.
27724         Paolo Bonzini's approval for lib/frexp.c and lib/frexpl.c is in
27725         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00074.html.
27726         All other significant changes to the files in lib/ of these modules
27727         are from me.
27728         * modules/memcmp2 (License): Change to LGPLv2+.
27729         * modules/amemxfrm (License): Likewise.
27730         * modules/fpieee (License): Likewise.
27731         * modules/fpucw (License): Likewise.
27732         * modules/frexp-nolibm (License): Likewise.
27733         * modules/frexpl-nolibm (License): Likewise.
27734         * modules/printf-frexp (License): Likewise.
27735         * modules/printf-frexpl (License): Likewise.
27736         * modules/printf-safe (License): Likewise.
27737         * modules/signbit (License): Likewise.
27739 2016-11-17  Bruno Haible  <bruno@clisp.org>
27741         Enable Unicode decoder safety unconditionally.
27742         * lib/unistr.in.h (u32_mbtouc_unsafe): Assume CONFIG_UNICODE_SAFETY.
27743         * lib/unistr/u8-mblen.c (u8_mblen): Likewise.
27744         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
27745         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
27746         * lib/unistr/u8-prev.c (u8_prev): Likewise.
27747         * lib/unistr/u8-strmblen.c (u8_strmblen): Likewise.
27748         * lib/unistr/u8-strmbtouc.c (u8_strmbtouc): Likewise.
27749         * lib/unistr/u16-mblen.c (u16_mblen): Likewise.
27750         * lib/unistr/u16-mbtouc-unsafe.c (u16_mbtouc_unsafe): Likewise.
27751         * lib/unistr/u16-mbtouc-unsafe-aux.c (u16_mbtouc_unsafe_aux): Likewise.
27752         * lib/unistr/u16-prev.c (u16_prev): Likewise.
27753         * lib/unistr/u16-strmblen.c (u16_strmblen): Likewise.
27754         * lib/unistr/u16-strmbtouc.c (u16_strmbtouc): Likewise.
27755         * lib/unistr/u32-mblen.c (u32_mblen): Likewise.
27756         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Likewise.
27757         * lib/unistr/u32-prev.c (u32_prev): Likewise.
27758         * lib/unistr/u32-next.c (u32_next): Likewise.
27759         * lib/unistr/u32-strmblen.c (u32_strmblen): Likewise.
27760         * lib/unistr/u32-strmbtouc.c (u32_strmbtouc): Likewise.
27761         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
27762         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
27763         * tests/unistr/test-u16-prev.c (check_invalid): Enable the
27764         CONFIG_UNICODE_SAFETY tests unconditionally.
27765         * tests/unistr/test-u32-mblen.c (main): Likewise.
27766         * tests/unistr/test-u32-mbtouc.h (test_function): Likewise.
27767         * tests/unistr/test-u32-prev.c (check_invalid): Likewise.
27768         * tests/unistr/test-u32-next.c (main): Likewise.
27769         * tests/unistr/test-u32-strmblen.c (main): Likewise.
27770         * tests/unistr/test-u32-strmbtouc.c (main): Likewise.
27771         * tests/unistr/test-u32-mbtouc.c (FULL_SAFETY): Remove macro.
27772         * lib/unistr/u8-check.c (u8_check): Remove old dead code.
27773         * lib/unistr/u8-mbtouc.c (u8_mbtouc): Likewise.
27774         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
27775         * lib/unistr/u8-mbtoucr.c (u8_mbtoucr): Likewise.
27776         * lib/unistr/u8-uctomb.c (u8_uctomb): Likewise.
27777         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Likewise.
27778         * lib/unistr/u16-check.c (u16_check): Update comment.
27779         * NEWS: Mention the changes that callers should be aware of.
27781 2016-11-19  Bruno Haible  <bruno@clisp.org>
27783         relocatable-prog-wrapper: Fix breakage on Cygwin.
27784         * modules/relocatable-prog-wrapper (Files): Add lib/stat.c, lib/lstat.c.
27785         (Depends-on): Remove intprops.
27786         * lib/relocwrapper.c: Update dependency tree.
27787         (strerror): Undefine.
27788         * build-aux/install-reloc (func_create_wrapper): Do not compile
27789         strerror.c and strerror-override.c. Erase stat.o and lstat.o.
27791 2016-11-19  Bruno Haible  <bruno@clisp.org>
27793         strerror: Make it compile in C++ mode.
27794         * lib/strerror.c (strerror): Ignore the return value of memcpy().
27796 2016-11-15  Pedro Alves  <palves@redhat.com>
27798         sys_time: add gnulib::timeval for C++
27799         * lib/sys_time.in.h [__cplusplus && defined GNULIB_NAMESPACE]:
27800         Define "timeval" in the GNULIB_NAMESPACE namespace, and #undef any
27801         timeval macro.
27803 2016-11-14  Pedro Alves  <palves@redhat.com>
27805         snippet/c++defs: fix real-floating arg functions in C++ mode
27806         Also, define isfinite, isinf, isnan, signbit in the gnulib
27807         namespace instead of in the global namespace.
27808         * build-aux/snippet/c++defs.h (_GL_BEGIN_NAMESPACE)
27809         (_GL_END_NAMESPACE): New.
27810         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_2): Use them.
27811         (isfinite, isinf, isnan, signbit) [__cplusplus &&
27812         GNULIB_NAMESPACE]: Define them in the GNULIB_NAMESPACE namespace
27813         instead of in the global namespace.
27814         * tests/test-math-c++.cc: Check that the isfinite, isinf, isnan,
27815         signbit overloads exist in the GNULIB_NAMESPACE namespace, instead
27816         of in the global namespace.
27818 2016-11-13  Jim Meyering  <meyering@fb.com>
27820         strftime: don't use __THROW
27821         Each use of __THROW would provoke this from gcc-7-to-be:
27823           lib/strftime.c:371:1: warning: '__leaf__' attribute has no effect \
27824             on unit local functions [-Wattributes]
27825           static int iso_week_days (int, int) __THROW;
27826           ^~~~~~
27827         * lib/strftime.c (__THROW): Don't define.
27828         Remove each use of __THROW.
27829         * lib/strftime.c (memcpy_lowcase, memcpy_uppcase): Remove __THROW.
27830         (tm_diff, iso_week_days, __strftime_internal): Likewise.
27832 2016-11-14  Paul Eggert  <eggert@union>
27834         obstack: port to gcc -fcheck-pointer-bounds
27835         Problem found by 'make check' failure on bleeding-edge coreutils
27836         on an MPX-enabled CPU (Intel Core i3-7100U) running GCC (Ubuntu
27837         6.2.0-5ubuntu12), configured via "./configure
27838         --enable-gcc-warnings CFLAGS='-mmpx -fcheck-pointer-bounds -g3
27839         -O2' LDFLAGS='-static-libmpx -static-libmpxwrappers'".
27840         * lib/obstack.h (__FLEXIBLE_ARRAY_MEMBER):
27841         New macro, copied from fts_.h.
27842         (struct _obstack_chunk.contents): Use it.
27844 2016-11-14  Eric Blake  <eblake@redhat.com>
27846         strerror_r-posix: Another fix, for HAVE_DECL_STRERROR_R on mingw.
27847         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R, gl_FUNC_STRERROR_R_WORKS):
27848         Avoid _ONCE variants, which may supply a conflicting AC_DEFINE().
27850 2016-11-14  Pádraig Brady  <P@draigBrady.com>
27852         strptime: fix compile error in recent change
27853         * lib/strptime.c (__strptime_internal): Fix ported code.
27855 2016-11-11  Bruno Haible  <bruno@clisp.org>
27857         gnulib-tool: Support for the dual "LGPLv3+ or GPLv2" license.
27858         * gnulib-tool (--lgpl): Accept value 3orGPLv2.
27859         (func_import): Extend determination of license_incompatibilities.
27860         (func_create_testdir): Extend table of license compatibility. Handle
27861         also the licenses GPLv3+, GPL, LGPLv3+.
27863 2016-11-12  Paul Eggert  <eggert@cs.ucla.edu>
27865         strftime: tune %q
27866         * lib/strftime.c (__strftime_internal): Assume tp->tm_mon is in range.
27868         Merge strftime.c changes from glibc
27869         This incorporates:
27870         2007-10-16 [BZ #5184] Add tzset_called argument
27871         2008-06-13 [BZ #6612] pass reference to tzset_called around
27872         2009-10-30 Implement Burmese language locale for Myanmar
27873         2010-01-09 Add support for XPG7 testing
27874         2015-09-26 [BZ #18985] out of range data to strftime() causes a segfault
27875         2015-10-20 Convert miscellaneous function definitions to prototype style
27876         * lib/strftime.c: Copy glibc license, since gnulib-tool rewrites
27877         it anyway and this lessens the difference between gnulib and glibc.
27878         (USE_IN_EXTENDED_LOCALE_MODEL) [_LIBC]: Define.
27879         (__THROW): Define if standard headers do not.
27880         (LOCALE_PARAM): Rename from LOCALE_PARAM_PROTO.  All uses changed.
27881         (memcpy_locase, memcpy_uppcase, tm_diff, __strftime_internal):
27882         Declare with __THROW.
27883         (__strftime_internal): Rename from strftime_case_. Add arg for
27884         whether tzset is called.  All uses changed.  Call tzset at most
27885         once.  Allow %OC, for Burmese.
27886         (a_wkday, f_wkday, a_month, f_month) [_NL_CURRENT]:
27887         Don't assume values are in range.
27889 2016-11-12  Eric Blake  <eblake@redhat.com>
27891         strerror_r-posix: Fix override of AC_FUNC_STRERROR_R
27892         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): New override.
27893         (gl_FUNC_STRERROR_R): Don't reuse AC_DEFINE() with a potentially
27894         different value.
27896 2006-11-12  Pedro Alves  <palves@redhat.com>
27898         Fix gnulib C++ namespace support and std::frexp
27899         * lib/math.in.h (frexp): Use _GL_CXXALIASWARN1 instead of
27900         _GL_CXXALIASWARN.
27902 2006-11-12  Pedro Alves  <palves@redhat.com>
27904         GNULIB_NAMESPACE::func need not pull in rpl_func
27905         * build-aux/snippet/c++defs.h [__cplusplus && GNULIB_NAMESPACE]
27906         (_GL_CXXALIAS_RPL_1, _GL_CXXALIAS_RPL_CAST_1, _GL_CXXALIAS_SYS)
27907         (_GL_CXXALIAS_SYS_CAST, _GL_CXXALIAS_SYS_CAST2): Define a wrapper
27908         struct instead of a function pointer.
27910 2016-11-09  Frediano Ziglio  <fziglio@redhat.com>
27912         manywarnings: fix -Wno-missing-field-initializers detection
27913         * m4/manywarnings.m4: Fix -Wno-missing-field-initializers detection
27914         to be independent of -Wunused-variable.  I.E. ensure the latter
27915         warning doesn't occur so that detection of the former is accurate.
27917 2016-11-05  Pádraig Brady  <pbrady@fb.com>
27919         strftime,strptime: support %q to represent the quarter
27920         * lib/strftime.c (strftime_case_): Add %q case.
27921         * lib/strptime.c (__strptime_internal): Likewise.
27922         * tests/test-strftime.c (quarter_test): A new test case.
27924 2016-11-03  Eric Blake  <eblake@redhat.com>
27926         bootstrap: Fix get_version() for AIX 5.3
27927         * build-aux/bootstrap (get_version): Factor out sed script, since
27928         indented comments choke AIX 5.3 sed.
27929         Reported-by: Michael Felt <aixtools@gmail.com>
27931 2016-11-03  Paul Eggert  <eggert@cs.ucla.edu>
27933         intprops: port to older XL C
27934         Problem reported by Alexander Samoilov in:
27935         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00166.html
27936         http://savannah.nongnu.org/bugs/?49448
27937         * lib/intprops.h (_GL_HAVE___TYPEOF__) [__IBM__TYPEOF__]:
27938         Define to 1 only for XL C 12.1 or later, since this bug
27939         occurs in XL C for AIX 6.0 but not in 12.1.
27941 2016-11-02  Pádraig Brady  <P@draigBrady.com>
27943         backupfile: initialize default suffix within the implementation
27944         * lib/backupfile.c (find_backup_file_name): Initialize the
27945         global variable here, to simplify usage, and to only call
27946         getenv() when needed.
27948 2016-11-01  Paul Eggert  <eggert@cs.ucla.edu>
27950         futimens: remove FIXME for old Linux kernels
27951         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Belatedy do a "simplify
27952         this in 2012" FIXME, like that for utimensat.
27954         utimensat: remove FIXME for old Linux kernels
27955         * lib/utimensat.c (rpl_utimensat): Update FIXME comment.
27956         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Belatedy do a "simplify
27957         this in 2012" FIXME, by assuming the file system bug is absent
27958         unless demonstrated to be present.  We no longer need to worry
27959         about Linux kernel 2.6.32 when building with newer kernels.
27961 2016-10-16  Bruno Haible  <bruno@clisp.org>
27963         qsort_r: Fix macrology for platforms that lack the function.
27964         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for qsort_r.
27965         (gl_STDLIB_H_DEFAULTS): Initialize HAVE_QSORT_R.
27966         * modules/stdlib (Makefile.am): Substitute HAVE_QSORT_R.
27967         * lib/stdlib.in.h (qsort_r): Provide declaration if the function does
27968         not exist.
27969         * m4/qsort_r.m4 (gl_FUNC_QSORT_R): Use AC_CHECK_FUNCS to test whether
27970         the function exists.
27971         * modules/qsort_r: Add comments.
27973 2016-10-26  Paul Eggert  <eggert@cs.ucla.edu>
27975         sys_types: fix Texinfo typos
27976         * doc/glibc-functions/gnu_dev_major.texi:
27977         * doc/glibc-functions/gnu_dev_makedev.texi:
27978         * doc/glibc-functions/gnu_dev_minor.texi: Fix typos.
27980 2016-10-26  John David Anglin  <dave.anglin@bell.net>
27982         getprogname: port to HP-UX
27983         See Bug#24805.
27984         * lib/getprogname.c (getprogname) [__hpux]: Port.
27985         * tests/test-getprogname.c (STREQ) [__hpux]:
27986         Special-case for HP-UX limitations on program name length.
27988 2016-10-20  Bruno Haible  <bruno@clisp.org>
27990         Update doc about target platforms.
27991         * doc/gnulib-intro.texi (Target Platforms): Update list.
27993 2016-10-15  Bruno Haible  <bruno@clisp.org>
27995         opendir, readdir, closedir: Relicense under LGPLv2+.
27996         * modules/opendir (License): Change to LGPLv2+.
27997         * modules/readdir (License): Likewise.
27998         * modules/closedir (License): Likewise.
28000 2016-10-16  Bruno Haible  <bruno@clisp.org>
28002         Fix conflict between strerror_r-posix module and AC_FUNC_STRERROR_R.
28003         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Override the values set by the
28004         AC_FUNC_STRERROR_R macro. Define HAVE_DECL_STRERROR_R_ORIG.
28005         * lib/strerror_r.c: Use HAVE_DECL_STRERROR_R_ORIG instead of
28006         HAVE_DECL_STRERROR_R.
28008 2016-10-16  Bruno Haible  <bruno@clisp.org>
28010         Make the 'argp' module work without the 'error' module.
28011         * m4/argp.m4 (gl_ARGP): Require AC_FUNC_STRERROR_R.
28013 2016-10-25  Paul Eggert  <eggert@cs.ucla.edu>
28015         diffseq: restore TOO_EXPENSIVE heuristic
28016         * lib/diffseq.h: Problem with diffutils reported by Andreas Schwab
28017         (Bug#24715).  The simplest solution is to restore the
28018         TOO_EXPENSIVE heuristic that I added to GNU diff in 1993, while
28019         using a higher threshold to avoid Bug#16848 on smaller files.
28020         * lib/diffseq.h (struct context): Restore member too_expensive.
28021         (struct partition): Restore members lo_minimal, hi_minimal.
28022         (diag, compareseq): Restore arg find_minimal.  All uses changed.
28023         (diag): Restore the TOO_EXPENSIVE heuristic that I added back in
28024         1993 to make 'diff' run faster (but not as well) on large inputs,
28025         but use a threshold of 4096 instead of the old 256.
28026         * lib/fstrcmp.c (strcmp_bounded):
28027         * lib/git-merge-changelog.c (compute_differences):
28028         Adjust to diffseq.h changes.
28030 2016-10-22  Bruno Haible  <bruno@clisp.org>
28032         iconv: Avoid compilation error when bootstrapping GNU libiconv.
28033         * m4/iconv.m4 (AM_ICONV): When the system does not have an iconv()
28034         declaration yet, define ICONV_CONST to empty.
28036 2016-10-15  Bruno Haible  <bruno@clisp.org>
28038         Avoid gnulib-tool warnings about the dependencies of 'parse-datetime'.
28039         * gnulib-tool (func_get_license): Special-case the 'parse-datetime'
28040         module.
28042 2016-10-16  Bruno Haible  <bruno@clisp.org>
28044         system-quote tests: Avoid compiler warning on AIX.
28045         * tests/test-system-quote-child.c (fopen): Redefine like the system's
28046         <stdio.h> does.
28048 2016-10-16  Bruno Haible  <bruno@clisp.org>
28050         Fix some "gcc -Wall" warnings.
28051         * tests/test-ffsl.c (main): Use variable x, not i.
28052         * tests/test-posix_spawn3.c (parent_main): Consider the return value of
28053         freopen.
28054         * tests/test-sethostname1.c (main): Explicitly ignore the return value
28055         of sethostname.
28057 2016-10-16  Bruno Haible  <bruno@clisp.org>
28059         gnulib-tool: Make --create-testdir on all modules work again.
28060         * gnulib-tool (func_create_testdir): Don't include the
28061         non-recursive-gnulib-prefix-hack module.
28063 2016-10-21  Daiki Ueno  <ueno@gnu.org>
28065         libunistring: change the maintainer to 'all'
28066         * modules/gen-uni-tables, modules/libunistring:
28067         * modules/ucs4-utf16, modules/ucs4-utf8, modules/unicodeio:
28068         * modules/unitypes, modules/utf16-ucs4, modules/utf16-ucs4-unsafe:
28069         * modules/utf8-ucs4, modules/utf8-ucs4-unsafe:
28070         * modules/unicase/*, modules/uniconv/*, modules/unictype/*:
28071         * modules/unilbrk/*, modules/uniname/*, modules/uninorm/*:
28072         * modules/unistdio/*, modules/unistr/*, modules/uniwbrk/*:
28073         * modules/uniwidth/*: Change the maintainer to 'all'.
28075 2016-10-16  Bruno Haible  <bruno@clisp.org>
28077         Simplify "configure: checking ..." messages.
28078         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use AC_MSG_CHECKING instead of
28079         AC_MSG_NOTICE.
28080         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
28082 2016-10-20  Paul Eggert  <eggert@cs.ucla.edu>
28084         quotearg-tests: pacify gcc -Wall
28085         Problem reported by Bruno Haible in:
28086         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00066.html
28087         * tests/test-quotearg-simple.c (use_quote_double_quotes): Move here ...
28088         * tests/test-quotearg.h: ... from here.
28090 2016-10-20  Pádraig Brady  <P@draigBrady.com>
28092         canonicalize-lgpl: fix for missing SIZE_MAX on older systems
28093         * lib/canonicalize-lgpl.c [SIZE_MAX]: Define if needed.
28094         Needed on Centos <= 4.
28096 2016-10-20  Jim Meyering  <meyering@fb.com>
28098         printf.m4: fix a bug in detecting printf %j support
28099         * m4/printf.m4 (gl_PRINTF_SIZES_C99): Fail any system for which
28100         uintmax_t is defined in neither stdint.h nor inttypes.h.
28101         Before, this macro might have mistakenly set
28102         gl_cv_func_printf_sizes_c99=yes on such a system.
28103         Spotted by Zev Weiss.
28105 2016-10-19  Paul Eggert  <eggert@cs.ucla.edu>
28107         sched: substitute HAVE_SYS_CDEFS_H too
28108         Problem reported by Tom G. Christensen in:
28109         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00084.html
28110         * m4/sched_h.m4 (gl_SCHED_H): Set and substitute HAVE_SYS_CDEFS_H.
28111         * modules/sched (Depends-on): Substitute HAVE_SYS_CDEFS_H.
28113 2016-10-19  Pádraig Brady  <P@draigBrady.com>
28115         quotearg: never write beyond the returned length
28116         * lib/quotearg.c (quotearg_buffer_restyled): Switch to a read-only
28117         scan of the string when we initially encounter a single quote when
28118         shell quoting, so that if we then switch to a more concise quoting method
28119         we will not have written beyond that returned length.
28120         This is significant for sh-quote, which has separate routines
28121         to determine the length and do the actual quoting.
28122         * tests/test-quotearg.h: Reinstate the buffer bounds checking
28123         now that we never write more than the returned length.
28125 2016-10-18  Bruno Haible  <bruno@clisp.org>
28127         getprogname tests: Avoid failure in packages that use libtool.
28128         * tests/test-getprogname.c (main): Strip "lt-" prefix.
28129         Based on a patch by Jim Meyering.
28131 2016-10-16  Bruno Haible  <bruno@clisp.org>
28133         getprogname: Fix test failure on Cygwin. Comments.
28134         * lib/getprogname.h: Add comments.
28135         * lib/getprogname.c: Add comments. Fix #elif indentation.
28136         * tests/test-getprogname.c (main): On Cygwin, expect a result without
28137         ".exe" suffix.
28139 2016-10-16  Bruno Haible  <bruno@clisp.org>
28141         Make sure the libunistring detection rejects older versions with a
28142         known bug.
28143         * modules/unistr/u8-strtok (configure.ac): Bump required version.
28144         * modules/unistr/u16-strtok (configure.ac): Likewise.
28145         * modules/unistr/u32-strtok (configure.ac): Likewise.
28147 2016-10-18  Bruno Haible  <bruno@clisp.org>
28149         sh-quote, system-quote: revert regression of unit test.
28150         * tests/test-sh-quote.c (check_one): Do detect buffer overruns.
28151         * tests/test-system-quote-main.c (check_one): Likewise.
28153 2016-10-16  Pádraig Brady  <P@draigBrady.com>
28155         quotearg: fix stale tests
28156         * tests/test-quotearg.c [locale_results]: Add the missing str7
28157         entries to the expected results.
28158         * tests/test-system-quote-main.c (check_one): Don't enforce that we
28159         don't write beyond the returned length, since that's no longer the
28160         case if we switch to a more concise quoting style.
28161         * tests/test-sh-quote.c (check_one): Likewise.
28162         (main): Adjust for the new more concise quoting style.
28163         Reported by Bruno Haible.
28165 2016-10-16  Jim Meyering  <meyering@fb.com>
28167         non-recursive-gnulib-prefix-hack: fix inconsequential typo
28168         * m4/non-recursive-gnulib-prefix-hack.m4: Change a hard-coded "lib"
28169         to "$1".  This macro is always invoked with $1 == lib.
28170         Spotted by Bruno Haible
28172 2016-10-16  Bruno Haible  <bruno@clisp.org>
28174         Fix a test crash.
28175         * tests/test-duplocale.c (main): Skip the test if the 'newlocale' call
28176         fails.
28178 2016-10-16  Pádraig Brady  <P@draigBrady.com>
28180         test-limits-h: suppress -Woverlength-strings
28181         * tests/test-limits-h.c [__GNUC__]: Ignore -Woverlength-strings.
28183 2016-10-15  Bruno Haible  <bruno@clisp.org>
28185         gettime, timespec, utimens: Relicense under LGPL.
28186         * modules/gettime (License): Change to LGPL.
28187         * modules/timespec (License): Likewise.
28188         * modules/utimens (License): Likewise.
28190 2016-10-14  Bruno Haible  <bruno@clisp.org>
28191             Pádraig Brady  <P@draigBrady.com>
28193         canonicalize-lgpl: Support the case path_max > INT_MAX.
28194         * lib/canonicalize-lgpl.c (__realpath): Declare n as ssize_t, not int.
28195         Fix overflow check, for platforms where 'size_t' is larger than 'long'.
28197 2016-10-13  Jim Meyering  <meyering@fb.com>
28199         getprogname: IBM z/OS: avoid NULL-dereference
28200         * lib/getprogname.c (getprogname) [__MVS__]: Don't dereference NULL
28201         upon strdup failure.
28203 2016-10-12  Jim Meyering  <meyering@fb.com>
28205         test-stdint: use _GL_VERIFY rather than "verify" for some tests
28206         * tests/test-stdint.c (verify_width): Implement with _GL_VERIFY
28207         and an abbreviated diagnostic rather than verify with the full one,
28208         because the full-length strings would evoke warnings from gcc with
28209         -Woverlength-strings.
28211 2016-10-13  Paul Eggert  <eggert@cs.ucla.edu>
28213         stdint: port SIZE_MAX to glibc s390
28214         Problem reported by Eric Blake in:
28215         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00031.html
28216         * doc/posix-headers/stdint.texi (stdint.h): Document the fix.
28217         * m4/stdint.m4 (gl_STDINT_H): Check that SIZE_MAX has the
28218         correct type, if possible.
28220 2016-10-13  Daniel Richard G.  <skunk@iSKUNK.ORG>
28222         getprogname: port to IBM z/OS
28223         * lib/getprogname.c (getprogname): Use w_getpsent() to get the name.
28225 2016-10-11  Jim Meyering  <meyering@fb.com>
28227         maint: remove stray space after "." in AC_DEFINE comment.
28228         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Remove space-after-".".
28229         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
28231 2016-10-05  Jim Meyering  <meyering@fb.com>
28233         long-options: avoid new GCC 7 warning from -Wimplicit-fallthrough
28234         * lib/long-options.c (parse_long_options): Add a break statement
28235         to avoid this new warning/failure:
28236         $ CFLAGS='-O -Werror=implicit-fallthrough' ./gnulib-tool \
28237           --create-testdir --dir=/t/x --with-tests --test long-options
28238         ../../gllib/long-options.c: In function 'parse_long_options':
28239         ../../gllib/long-options.c:66:12: error: this statement may \
28240           fall through [-Werror=implicit-fallthrough]
28241                    (*usage_func) (EXIT_SUCCESS);
28242                    ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
28244 2016-10-05  Jim Meyering  <meyering@fb.com>
28246         utimecmp: avoid new GCC 7 warning from -Wbool-operation
28247         Testing this module would fail when using GCC 7 like this:
28248         $ CFLAGS='-O -Werror=bool-operation' ./gnulib-tool --create-testdir \
28249           --dir=/tmp/x --with-tests --test utimecmp
28250         ../../gllib/utimecmp.c: In function ‘utimecmp’:
28251         ../../gllib/utimecmp.c:291:36: error: ‘~’ on a boolean expression \
28252           [-Werror=bool-operation]
28253                          time_t s = src_s & ~ (res == 2 * BILLION);
28254                                             ^
28255         ../../gllib/utimecmp.c:370:16: error: ‘~’ on a boolean expression \
28256           [-Werror=bool-operation]
28257                src_s &= ~ (res == 2 * BILLION);
28258                         ^
28259         * lib/utimecmp.c (utimecmp): Do not apply "~" to a boolean.
28260         Instead, make it explicit that we intend to apply it to 0 or 1.
28262 2016-10-10  Norihiro Tanaka  <noritnk@kcn.ne.jp>
28264         dfa: save memory for states
28265         * src/dfa (dfaexec_main): Beginning of dfa execution, release caches of
28266         states if dfa has a lot of caches.
28268 2016-10-10  Eli Zaretskii  <eliz@gnu.org>
28270         wchar, wctype-h: fix for MinGW 3.22.2
28271         * lib/wchar.in.h [__MINGW32__]: Add one more condition for
28272         special invocation, to fix issues with MinGW 3.22.2 wchar.h
28273         when included from <string.h>.
28274         * lib/wctype.in.h [__MINGW32__]: Add special invocation
28275         convention for MinGW 3.22.2, to solve issues with their
28276         wctype.h when included from <ctype.h>.
28278 2016-10-05  Jim Meyering  <meyering@fb.com>
28280         long-options: avoid new GCC 7 warning from -Wimplicit-fallthrough
28281         * lib/long-options.c (parse_long_options): Add a break statement
28282         to avoid this new warning/failure:
28283         $ CFLAGS='-O -Werror=implicit-fallthrough' ./gnulib-tool \
28284           --create-testdir --dir=/t/x --with-tests --test long-options
28285         ../../gllib/long-options.c: In function ‘parse_long_options’:
28286         ../../gllib/long-options.c:66:12: error: this statement may \
28287           fall through [-Werror=implicit-fallthrough]
28288                    (*usage_func) (EXIT_SUCCESS);
28289                    ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
28291         utimecmp: avoid new GCC 7 warning from -Wbool-operation
28292         Testing this module would fail when using GCC 7 like this:
28293         $ CFLAGS='-O -Werror=bool-operation' ./gnulib-tool --create-testdir \
28294           --dir=/tmp/x --with-tests --test utimecmp
28295         ../../gllib/utimecmp.c: In function ‘utimecmp’:
28296         ../../gllib/utimecmp.c:291:36: error: ‘~’ on a boolean expression \
28297           [-Werror=bool-operation]
28298                          time_t s = src_s & ~ (res == 2 * BILLION);
28299                                             ^
28300         ../../gllib/utimecmp.c:370:16: error: ‘~’ on a boolean expression \
28301           [-Werror=bool-operation]
28302                src_s &= ~ (res == 2 * BILLION);
28303                         ^
28304         * lib/utimecmp.c (utimecmp): Do not apply "~" to a boolean.
28305         Instead, make it explicit that we intend to apply it to 0 or 1.
28307 2016-10-03  Pádraig Brady  <P@draigBrady.com>
28309         quotearg: minimize shell quoting using double quotes
28310         * lib/quotearg.c (quotearg_buffer_restyled): If an ASCII single
28311         quote in encountered then use double quotes (c style quoting)
28312         when possible, as it simplifies the quoting.
28313         * tests/test-quotearg-simple.c: Add test cases.
28314         * tests/test-quotearg.h (use_quotearg_buffer): Adjust to account
28315         for the fact we now may write beyond the returned length.
28317 2016-10-02  Jim Meyering  <meyering@fb.com>
28319         vasnprintf.c: avoid spurious warning from GCC 7
28320         The presence of cpp directives renders this "FALLTHROUGH" comment
28321         ineffective, so does not suppress the -Wimplicit-fallthrough warning
28322         from GCC 7 built from git on 2016-10-02.
28323         * lib/vasnprintf.c (VASNPRINTF): Move comment down past two cpp
28324         directives, so that it takes effect once again.  This is clearly
28325         not a proper change, and I will revert it once this bug is fixed:
28326         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77817
28328 2016-10-01  Jim Meyering  <meyering@fb.com>
28330         getprogname: correct the test for a __progname variable
28331         * m4/getprogname.m4 (gl_FUNC_GETPROGNAME): Use AC_CACHE_CHECK
28332         and AC_LINK_IFELSE to check for a global __progname.  If found,
28333         define HAVE_VAR___PROGNAME.
28334         * lib/getprogname.c (getprogname): Reflect the new name of the
28335         feature- checked preprocessor symbol:
28336         s/HAVE_DECL___PROGNAME/HAVE_VAR___PROGNAME/
28338 2016-09-28  Jim Meyering  <meyering@fb.com>
28340         u8-uctomb-aux.c: build: placate GCC 7's new -Wimplicit-fallthrough
28341         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Mark each end of
28342         fall-through case with a /* fallthrough */ comment.
28344         dfa: build: avoid warning from GCC 7's new -Wimplicit-fallthrough
28345         * lib/dfa.c (dfassbuild): Mark the end of this case with a
28346         /* fallthrough */ comment.
28348         getprogname: avoid __progname vs program_invocation_short_name pitfall
28349         I.e., don't let the OpenBSD 5.1 fix induce failure when using newer
28350         glibc.  Would have caused failure with Fedora 25's glibc-2.24-3, but
28351         not with Fedora 24's glibc-2.23.1-10.
28352         * lib/getprogname.c (__progname): Move this declaration down...
28353         (getprogname): ... into the #elif block where used, and make it
28354         explicitly "extern".
28356         getprogname: port to OpenBSD 5.1
28357         * lib/getprogname.c (__progname) [HAVE_DECL___PROGNAME]: Declare.
28358         (getprogname) [HAVE_DECL___PROGNAME]: Return __progname or "?".
28359         * modules/getprogname (configure.ac): Move most of this code...
28360         * m4/getprogname.m4 (gl_FUNC_GETPROGNAME): ... to this function,
28361         increment serial number, and add a test for __progname.
28362         https://bugs.gnu.org/24562
28363         Reported by Nelson H. F. Beebe.
28365 2016-09-24  Paul Eggert  <eggert@cs.ucla.edu>
28367         sched: port to GCC 6.2.1 on macOS Sierra
28368         Problem reported by Denis Davydov in:
28369         http://lists.gnu.org/r/bug-gnulib/2016-09/msg00056.html
28370         * lib/sched.in.h [HAVE_SYS_CDEFS_H]:
28371         Include <sys/cdefs.h> before <sched.h>.
28372         * m4/nproc.m4 (gl_PREREQ_NPROC): Include errno.h before sched.h,
28373         so that we needn’t worry about the sched.h include bug here.
28374         * m4/sched_h.m4 (gl_SCHED_H): Check for sys/cdefs.h,
28375         and include it before <sched.h> if it exists, when
28376         checking for <sched.h>.
28378         tests/init.sh: port Alpine fix to AIX 7.1
28379         * tests/init.sh (compare_): When attempting to use diff -U3,
28380         prefer diff -u to -U3 to -c to plain diff.  Do not insist on
28381         diff -u not outputting a space after leading '+', as the users
28382         of 'compare' should not be that picky about its output format.
28383         In the AIX 7.1 case, return with diff exit status (or with 2 if
28384         trouble), instead of some random nonzero exit status.
28385         * tests/test-init.sh (test_compare): Remove space after leading
28386         '+', so that AIX 7.1 'diff' passes the test.
28388 2016-09-22  Paul Eggert  <eggert@cs.ucla.edu>
28390         nl_langinfo: pacify GCC
28391         * lib/nl_langinfo.c (ctype_codeset): Remove unused local.
28392         (rpl_nl_langinfo): Cast string literals to char *, to pacify GCC.
28394         stdint: also set GL_GENERATE_LIMITS_H
28395         Problem reported by Jim Meyering in:
28396         http://lists.gnu.org/r/bug-gnulib/2016-09/msg00052.html
28397         * m4/stdint.m4 (gl_STDINT_H): Also redo the AM_CONDITIONAL.
28399         limits-h, stdint: Don't assume extensions, fix typo
28400         * m4/limits-h.m4 (gl_LIMITS_H):
28401         * m4/stdint.m4 (gl_STDINT_H):
28402         Don't assume AC_USE_SYSTEM_EXTENSIONS.
28403         * m4/stdint.m4 (gl_STDINT_H): Fix typo in setting of LIMITS_H,
28404         reported by Jim Meyering in:
28405         http://lists.gnu.org/r/bug-gnulib/2016-09/msg00050.html
28407 2016-09-21  Jim Meyering  <meyering@fb.com>
28409         getprogname: port to AIX
28410         * lib/getprogname.c (getprogname) [_AIX]: Use getpid, getprocs64
28411         and strdup to obtain a short program name string.  Using code from
28412         Bruno Haible and an idea from Bastien ROUCARIÈS, in
28413         https://lists.gnu.org/r/bug-gnulib/2010-12/msg00249.html
28414         Assaf Gordon reported that this new file would fail to compile on
28415         AIX-7.1 32bit.
28417 2016-09-16  Paul Eggert  <eggert@cs.ucla.edu>
28419         extensions: fix typo in comment
28420         * m4/extensions.m4: Sync from Autoconf master.
28422         stdint: support new _WIDTH macros
28423         * doc/posix-headers/stdint.texi: Document this.
28424         * lib/stdint.in.h: Add support for INTMAX_WIDTH. etc.
28425         * m4/stdint.m4 (gl_STDINT_H): Require gl_LIMITS_H.  Check for
28426         support for INTMAX_WIDTH, etc. as well as for support for just C99.
28427         * modules/stdint (Depends-on): Add limits-h.
28428         (Makefile.am): Substitute HAVE_C99_STDINT_H.
28429         * modules/stdint-tests (Depends-on): Add extensions, so that
28430         INTMAX_MAX etc. are defined.
28431         * tests/test-stdint.c: Verify the new macros.
28433         limits-h: new module
28434         This adds ISO/IEC TS 18661-1:2014 support to limits.h.
28435         * MODULES.html.sh: Add limits-h,and move size_max to stdint section.
28436         * doc/posix-headers/limits.texi: Document new module.
28437         * lib/limits.in.h, m4/limits-h.m4, modules/limits-h:
28438         * modules/limit-h-tests, tests/test-limits-h.c: New files.
28440         stdio: don't redefine __USE_MINGW_ANSI_STDIO
28441         * m4/stdio_h.m4 (gl_STDIO_H): Don't define __USE_MINGW_ANSI_STDIO
28442         if it is already defined.  Apparently GNU Emacs relies on this.  See:
28443         http://lists.gnu.org/r/emacs-devel/2016-09/msg00416.html
28445 2016-09-15  Eric Blake  <eblake@redhat.com>
28447         sys_types: avoid glibc 2.25 warnings about major()
28448         * m4/sys_types_h.m4 (AC_HEADER_MAJOR): Replace broken version in
28449         older autoconf.
28450         * doc/posix-headers/sys_types.texi (sys/types.h): Document fix.
28451         * doc/glibc-functions/gnu_dev_major.texi (gnu_dev_major): Likewise.
28452         * doc/glibc-functions/gnu_dev_makedev.texi (gnu_dev_makedev): Likewise.
28453         * doc/glibc-functions/gnu_dev_minor.texi (gnu_dev_minor): Likewise.
28455         mountlist: include sysmacros.h for glibc
28456         * m4/mountlist.m4 (gl_PREREQ_MOUTLIST_EXTRA): Include
28457         AC_HEADER_MAJOR.
28458         * lib/mountlist.c (includes): Use correct headers.
28460 2016-09-15  Paul Eggert  <eggert@cs.ucla.edu>
28462         extensions: port to more ISO C TSes
28463         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Sync from Autoconf
28464         master, to add support for more recent ISO C TRs and TSes.
28466 2016-09-13  Paul Eggert  <eggert@cs.ucla.edu>
28468         intprops: new macro TYPE_WIDTH
28469         * lib/intprops.h (TYPE_WIDTH): New macro.
28470         (TYPE_MAXIMUM, _GL_SIGNED_INT_MAXIMUM, INT_STRLEN_BOUND):
28471         * lib/ftoastr.h (_GL_FLOAT_DIG_BITS_BOUND):
28472         * lib/parse-datetime.y (parse_datetime2):
28473         Use it.
28475         extensions: port to recent ISO C TRs
28476         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
28477         Sync from Autoconf master, to add support for recent ISO C TRs.
28478         * m4/stdio_h.m4 (gl_STDIO_H): Define __USE_MINGW_ANSI_STDIO here,
28479         since AC_USE_SYSTEM_EXTENSIONS no longer does that as
28480         the MinGW option is not an extension.
28482 2016-09-11  Paul Eggert  <eggert@cs.ucla.edu>
28484         dfa: port to Solaris 9
28485         Problems reported by Tom G. Christensen in:
28486         http://lists.gnu.org/r/bug-gnulib/2016-09/msg00031.html
28487         * modules/dfa (Depends-on): Add isblank.
28488         * modules/dfa-tests (dfa_match_aux_LDADD):
28489         Rename from test_stat_LDADD, to fix typo.
28490         * tests/dfa-match.sh: Don't require 'timeout'; use it if available.
28492 2016-09-10  Jim Meyering  <meyering@fb.com>
28494         strverscmp: avoid link failure on OS X
28495         * lib/strverscmp.c [!weak_alias]: Define __strverscmp to strverscmp.
28496         Reported by Assaf Gordon in https://bugs.gnu.org/24256#26
28498 2016-08-16  Jim Meyering  <meyering@fb.com>
28500         dfa: new module, importing grep's DFA matcher
28501         Since grep's DFA matcher is now being used by two gnulib-enabled
28502         projects, grep and sed, it makes sense to version-control its
28503         sources and unit tests in one place: here.
28504         * modules/dfa: New module.
28505         * modules/dfa-tests: New file.
28506         * lib/dfa.c: New file, from grep.
28507         * lib/dfa.h: Likewise.
28508         * lib/localeinfo.c: Likewise.
28509         * lib/localeinfo.h: Likewise.
28510         * tests/dfa-match-aux.c: Likewise.
28511         * tests/dfa-invalid-char-class.sh: Likewise.
28512         * tests/dfa-match.sh: Likewise, with minor changes.
28513         * MODULES.html.sh (Misc): Add "dfa" to this list.
28515 2016-09-09  Jim Meyering  <meyering@fb.com>
28517         getprogname-tests: don't depend on assert-h
28518         * modules/getprogname-tests (Depends-on): Remove assert-h.
28519         It was not needed, and in fact would cause build failure for
28520         coreutils on some systems.  Reported by Assaf Gordon in https:
28521         //lists.gnu.org/r/coreutils/2016-09/msg00016.html
28523 2016-09-07  Jim Meyering  <meyering@fb.com>
28525         getprogname-tests: work also when EXEEXT is nonempty
28526         * modules/getprogname-tests (Makefile.am): Define EXEEXT.
28527         * tests/test-getprogname.c (main): Use it.
28528         Suggested by Gisle Vanem.
28530 2016-09-07  Gisle Vanem  <gvanem@yahoo.no>
28532         getprogname: fix errors in previous change
28533         * lib/getprogname.c (getprogname) [HAVE_GETEXECNAME]:
28534         s/program_invocation_name/base/
28535         [HAVE_DECL___ARGV]: Handle NULL __argv or __argv[0].
28537 2016-09-08  Pádraig Brady  <P@draigBrady.com>
28539         parse-datetime: restrict debug output to input string
28540         * lib/parse-datetime.y (parse_datetime2): If we parse
28541         all of the input but determine it's invalid, ensure
28542         we don't output the now invalid input pointer.
28543         This issue was seen with `date -d 'now +1'`.
28545 2016-09-07  Paul Eggert  <eggert@cs.ucla.edu>
28547         flexmember: new macro FLEXALIGNOF
28548         * lib/flexmember.h: Include <stddef.h>, for offsetof.
28549         (FLEXALIGNOF): Rename from _GL_XALLOC_ALIGNOF, as Emacs can use
28550         this macro.  Update comments.
28552 2016-09-07  Jim Meyering  <meyering@fb.com>
28554         getprogname: port to systems with __argv (mingw, msvc)
28555         * lib/getprogname.c (getprogname): Include "dirname.h" and use
28556         last_component: more general than open coding it with hard-coded "/".
28557         * lib/getprogname.h (getprogname): Prefer "char const *" consistently.
28558         * modules/getprogname (Depends-on): Add dirname-lgpl.
28559         (configure.ac): Check for __argv in <stdlib.h>.
28560         * modules/getprogname-tests: New file.
28561         * tests/test-getprogname.c: New file.
28562         Suggested by Gisle Vanem in
28563         https://lists.gnu.org/r/bug-gnulib/2016-09/msg00014.html
28565 2016-09-07  Paul Eggert  <eggert@cs.ucla.edu>
28567         flexmember: port better to GCC + valgrind
28568         With a char[] flexible array member in a struct with nontrivial
28569         alignment, GCC-generated code can access past the end of the
28570         array, because GCC assumes there are padding bytes to get the
28571         struct aligned.  So the common idiom of malloc (offsetof (struct
28572         s, m), n) does not properly allocate an n-byte trailing member, as
28573         malloc’s argument should be the next multiple of alignof (struct s).
28574         See GCC Bug#66661: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66661
28575         Although C11 apparently permits this GCC optimization (i.e., there
28576         was a bug in Gnulib not in GCC), possibly this is a defect in C11.
28577         See the thread containing:
28578         https://gcc.gnu.org/ml/gcc-patches/2016-09/msg00317.html
28579         * lib/flexmember.h: New file.
28580         * lib/fnmatch.c, lib/fts.c, lib/glob.c, lib/idcache.c:
28581         * lib/localename.c, lib/time_rz.c:
28582         Include flexmember.h.
28583         * lib/fnmatch_loop.c (struct patternlist):
28584         * lib/localename.c (struct hash_node):
28585         Use FLEXIBLE_ARRAY_MEMBER.
28586         * lib/fnmatch_loop.c (EXT):
28587         * lib/fts.c (fts_alloc):
28588         * lib/glob.c (glob_in_dir):
28589         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
28590         * lib/localename.c (gl_lock_define_initialized):
28591         * lib/time_rz.c (tzalloc):
28592         Use FLEXSIZEOF instead of offsetof.
28593         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
28594         Check that the size of the struct can be taken.
28595         * modules/flexmember (Files): Add lib/flexmember.h.
28596         * modules/fnmatch, modules/glob, modules/localename (Depends-on):
28597         Add flexmember.
28599 2016-09-06  Paul Eggert  <eggert@cs.ucla.edu>
28601         getprogname: port to Solaris 10
28602         * lib/getprogname.c: Include stdlib.h, for getexecname decl.
28603         (getprogname) [HAVE_GETEXECNAME]: Use that, for Solaris 10.
28604         * m4/getprogname.m4 (gl_FUNC_GETPROGNAME): Check for getexecname.
28606         stdalign: correct mistake in alignof doc
28607         Problem reported by Joseph Myers in:
28608         https://gcc.gnu.org/ml/gcc-patches/2016-09/msg00340.html
28609         * doc/posix-headers/stdalign.texi: Do not imply that C11 prohibits
28610         alignof(S) where S is a structure containing a flexible array
28611         member.  The Gnulib substitute does not support this, but C11 does.
28613 2016-08-18  Pino Toscano  <ptoscano@redhat.com>
28615         main.mk: remove sc_program_name, since there is no more need to
28616         use set_program_name in tools (getprogname is enough for most
28617         of the cases).
28618         * cfg.mk (local-checks-to-skip): Remove sc_program_name.
28619         * top/maint.mk (sc_program_name): Remove.
28621 2016-08-18  Pino Toscano  <ptoscano@redhat.com>
28623         Port tests away from progname, since modules that need the
28624         program name already depend on getprogname.
28625         * modules/acl-tests (Depends-on): Remove progname.
28626         * modules/argmatch (Depends-on): Likewise.
28627         * modules/argmatch-tests (Depends-on): Likewise.
28628         * modules/argp-tests (Depends-on): Likewise.
28629         * modules/argp-version-etc-tests (Depends-on): Likewise.
28630         * modules/array-list-tests (Depends-on): Likewise.
28631         * modules/array-oset-tests (Depends-on): Likewise.
28632         * modules/avltree-list-tests (Depends-on): Likewise.
28633         * modules/avltree-oset-tests (Depends-on): Likewise.
28634         * modules/avltreehash-list-tests (Depends-on): Likewise.
28635         * modules/carray-list-tests (Depends-on): Likewise.
28636         * modules/copy-file-tests (Depends-on): Likewise.
28637         * modules/exclude-tests (Depends-on): Likewise.
28638         * modules/fchownat-tests (Depends-on): Likewise.
28639         * modules/fdopendir-tests (Depends-on): Likewise.
28640         * modules/filenamecat-tests (Depends-on): Likewise.
28641         * modules/fstatat-tests (Depends-on): Likewise.
28642         * modules/fstrcmp-tests (Depends-on): Likewise.
28643         * modules/linked-list-tests (Depends-on): Likewise.
28644         * modules/linkedhash-list-tests (Depends-on): Likewise.
28645         * modules/mkdirat-tests (Depends-on): Likewise.
28646         * modules/nonblocking-pipe-tests (Depends-on): Likewise.
28647         * modules/nonblocking-socket-tests (Depends-on): Likewise.
28648         * modules/obstack-printf-tests (Depends-on): Likewise.
28649         * modules/openat-tests (Depends-on): Likewise.
28650         * modules/parse-datetime-tests (Depends-on): Likewise.
28651         * modules/pipe-filter-gi-tests (Depends-on): Likewise.
28652         * modules/pipe-filter-ii-tests (Depends-on): Likewise.
28653         * modules/quotearg-simple-tests (Depends-on): Likewise.
28654         * modules/quotearg-tests (Depends-on): Likewise.
28655         * modules/rbtree-list-tests (Depends-on): Likewise.
28656         * modules/rbtree-oset-tests (Depends-on): Likewise.
28657         * modules/rbtreehash-list-tests (Depends-on): Likewise.
28658         * modules/spawn-pipe-tests (Depends-on): Likewise.
28659         * modules/system-quote-tests (Depends-on): Likewise.
28660         * modules/uniname/uniname-tests (Depends-on): Likewise.
28661         * modules/uninorm/nfc-tests (Depends-on): Likewise.
28662         * modules/uninorm/nfd-tests (Depends-on): Likewise.
28663         * modules/uninorm/nfkc-tests (Depends-on): Likewise.
28664         * modules/uninorm/nfkd-tests (Depends-on): Likewise.
28665         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Likewise.
28666         * modules/unistdio/u16-vsprintf-tests (Depends-on): Likewise.
28667         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Likewise.
28668         * modules/unistdio/u32-vsprintf-tests (Depends-on): Likewise.
28669         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Likewise.
28670         * modules/unistdio/u8-vsprintf-tests (Depends-on): Likewise.
28671         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Likewise.
28672         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Likewise.
28673         * modules/unlinkat-tests (Depends-on): Likewise.
28674         * modules/version-etc-tests (Depends-on): Likewise.
28675         * modules/xalloc-die-tests (Depends-on): Likewise.
28676         * modules/xmemdup0-tests (Depends-on): Likewise.
28677         * modules/xprintf-posix-tests (Depends-on): Likewise.
28678         * modules/xvasprintf-tests (Depends-on): Likewise.
28679         * tests/test-argmatch.c: Do not include progname.h.
28680         (main) Stop calling set_program_name.
28681         * tests/test-argp-version-etc.c: Likewise.
28682         * tests/test-argp.c: Likewise.
28683         * tests/test-argv-iter.c: Likewise.
28684         * tests/test-array_list.c: Likewise.
28685         * tests/test-array_oset.c: Likewise.
28686         * tests/test-avltree_list.c: Likewise.
28687         * tests/test-avltree_oset.c: Likewise.
28688         * tests/test-avltreehash_list.c: Likewise.
28689         * tests/test-carray_list.c: Likewise.
28690         * tests/test-copy-acl.c: Likewise.
28691         * tests/test-copy-file.c: Likewise.
28692         * tests/test-exclude.c: Likewise.
28693         * tests/test-fchownat.c: Likewise.
28694         * tests/test-fdopendir.c: Likewise.
28695         * tests/test-filenamecat.c: Likewise.
28696         * tests/test-fstatat.c: Likewise.
28697         * tests/test-fstrcmp.c: Likewise.
28698         * tests/test-linked_list.c: Likewise.
28699         * tests/test-linkedhash_list.c: Likewise.
28700         * tests/test-mkdirat.c: Likewise.
28701         * tests/test-nonblocking-pipe-main.c: Likewise.
28702         * tests/test-nonblocking-socket-main.c: Likewise.
28703         * tests/test-obstack-printf.c: Likewise.
28704         * tests/test-openat.c: Likewise.
28705         * tests/test-parse-datetime.c: Likewise.
28706         * tests/test-pipe-filter-gi1.c: Likewise.
28707         * tests/test-pipe-filter-gi2-main.c: Likewise.
28708         * tests/test-pipe-filter-ii1.c: Likewise.
28709         * tests/test-pipe-filter-ii2-main.c: Likewise.
28710         * tests/test-quotearg-simple.c: Likewise.
28711         * tests/test-quotearg.c: Likewise.
28712         * tests/test-rbtree_list.c: Likewise.
28713         * tests/test-rbtree_oset.c: Likewise.
28714         * tests/test-rbtreehash_list.c: Likewise.
28715         * tests/test-sameacls.c: Likewise.
28716         * tests/test-set-mode-acl.c: Likewise.
28717         * tests/test-spawn-pipe-main.c: Likewise.
28718         * tests/test-system-quote-main.c: Likewise.
28719         * tests/test-unlinkat.c: Likewise.
28720         * tests/test-version-etc.c: Likewise.
28721         * tests/test-xalloc-die.c: Likewise.
28722         * tests/test-xfprintf-posix.c: Likewise.
28723         * tests/test-xmemdup0.c: Likewise.
28724         * tests/test-xprintf-posix.c: Likewise.
28725         * tests/test-xvasprintf.c: Likewise.
28726         * tests/uniname/test-uninames.c: Likewise.
28727         * tests/uninorm/test-u32-nfc-big.c: Likewise.
28728         * tests/uninorm/test-u32-nfd-big.c: Likewise.
28729         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
28730         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
28731         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
28732         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
28733         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
28734         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
28735         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
28736         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
28737         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
28738         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
28739         * tests/test-c-stack.c: (program_name): Do not define.
28740         (main): Do not set program_name.
28741         * tests/test-closein.c: Likewise.
28742         * tests/test-xstrtol.c: Likewise.
28743         * tests/test-yesno.c: Likewise.
28745 2016-08-18  Pino Toscano  <ptoscano@redhat.com>
28747         Port modules to use getprogname explicitly, instead of requiring
28748         progname to be used (or program_name to be provided).
28749         * lib/argmatch.c: Do not include progname.h.
28750         [TEST] (program_name): Do not define.
28751         [TEST] (main): Call getprogname instead of using program_name.
28752         * lib/c-stack.c: Do not include progname.h.
28753         (program_name): Do not define.
28754         (die): Call getprogname instead of using program_name.
28755         * lib/chdir-long.c: Do not include progname.h.
28756         [TEST_CHDIR] (main): Do not set program_name.
28757         * lib/error.c [!_LIBC]: Include progname.h.
28758         [!_LIBC] (program_name): Define using getprogname.
28759         * lib/euidaccess.c: Do not include progname.h.
28760         [TEST] (main): Do not set program_name.
28761         * lib/git-merge-changelog.c: Include getprogname.h instead of
28762         progname.h.
28763         (usage): Call getprogname instead of using program_name.
28764         (main): Likewise.  Stop calling set_program_name.
28765         * lib/group-member.c: Do not include progname.h.
28766         [TEST] (main): Do not set program_name.
28767         * modules/argmatch (Depends-on): Add getprogname.
28768         * modules/c-stack (Depends-on): Likewise.
28769         * modules/error (Depends-on): Likewise.
28770         * modules/git-merge-changelog (Depends-on): Likewise.
28771         Also remove progname.
28773 2016-09-05  Pino Toscano  <ptoscano@redhat.com>
28775         * NEWS: Document the deprecation of the 'progname' module.
28777 2016-08-18  Pino Toscano  <ptoscano@redhat.com>
28779         getprogname: new module
28780         This provides a LGPL module for getting the name of the current
28781         program, using the same API found on *BSD systems.
28782         * lib/getprogname.c, lib/getprogname.h, m4/getprogname.m4:
28783         * modules/getprogname: New files.
28784         * MODULES.html.sh (Misc): Add getprogname.
28786 2016-09-02  Jim Meyering  <meyering@fb.com>
28788         manywarnings: add -fno-common
28789         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -fno-common
28790         to the list.  Quoting the manual, "Compiling with -fno-common is
28791         useful on targets for which it provides better performance, or if
28792         you wish to verify that the program will work on other systems that
28793         always treat uninitialized variable declarations this way [putting
28794         it in the data section]."  If diffutils had been using this sooner,
28795         it would have prevented this duplicate declaration issue:
28796         http://git.sv.gnu.org/cgit/diffutils.git/commit/?id=v3.4-10-gc2dc91f
28798 2016-08-31  Simon Josefsson  <simon@josefsson.org>
28800         parse-datetime: Fix typo.
28801         * lib/parse-datetime.y (parse_datetime2): Fix typo.
28803 2016-08-30  Paul Eggert  <eggert@cs.ucla.edu>
28805         intprops: tune INT_NEGATE_OVERFLOW for GCC 5 and 6
28806         * lib/intprops.h (INT_NEGATE_OVERFLOW): Tune for platforms like
28807         GCC 5 and 6 that have __builtin_sub_overflow but not
28808         __builtin_sub_overflow_p.  With the recent changes, these
28809         platforms are a tiny bit faster with the INT_NEGATE_RANGE_OVERFLOW
28810         implementation than with INT_SUBTRACT_OVERFLOW implementation,
28811         since the former needs just one runtime comparison whereas the
28812         latter needs two.
28814         strverscmp: sync with glibc
28815         Although this doesn't exactly synchronize with glibc
28816         byte-for-byte, it makes the code behave the same as glibc.
28817         * lib/strverscmp.c (S_I, S_F, S_Z): Now masks, not powers of 2.
28818         (ISDIGIT): Remove, as glibc is sticking with isdigit, and the
28819         difference shouldn't matter in practical use.  All uses changed
28820         back to isdigit.
28821         (__strverscmp, strverscmp): Use new glibc method for weak aliases.
28822         (next_state): Now unsigned char array; redo elements.
28823         (result_type): Now signed char array; redo elements.
28824         (__strverscmp): Fix glibc bug 9913 by using new states.
28825         * tests/test-strverscmp.c (main): Test glibc bug 9913.
28827 2016-08-29  Jim Meyering  <meyering@fb.com>
28829         xalloc-oversized.h: port __builtin_mul_overflow change to GCC 6.2.0
28830         * lib/xalloc-oversized.h: Port this change to GCC 6.2.0, too,
28831         similarly to how it was done to intprops.h.
28833 2016-08-29  Paul Eggert  <eggert@cs.ucla.edu>
28835         intprops.h: port recent changes to GCC 6.2.0
28836         * lib/intprops.h (__has_builtin): Move earlier.
28837         (_GL_HAS_BUILTIN_OVERFLOW): Rename from
28838         _GL_HAS_BUILTIN_OVERFLOW_WITH_NULL and don't worry about whether
28839         the last argument can be null.  All uses changed.
28840         (_GL_HAS_BUILTIN_OVERFLOW_P): Also test __has_builtin.
28841         (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW, _GL_MULTIPLY_OVERFLOW):
28842         Don't try to use 3rd arg null, as this doesn't work on GCC 6.2.0
28843         and it's not clear which GCC versions it works for.
28844         (_GL_INT_OP_WRAPV): Use _GL_HAS_BUILTIN_OVERFLOW instead of
28845         its definiens.
28847         intprops.h: use __typeof__ with GCC 7
28848         * lib/intprops.h (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW)
28849         (_GL_MULTIPLY_OVERFLOW): Use __typeof__ as in the GCC manual.
28850         This avoids computing the expression's value (which might overflow!).
28852 2016-08-29  Jim Meyering  <meyering@fb.com>
28854         intprops.h, xalloc-oversized.h: work with gcc 7
28855         In gcc 6, __builtin_add_overflow, __builtin_sub_overflow and
28856         __builtin_mul_overflow each accept a NULL pointer as the third
28857         argument.  However in gcc 7, that is no longer accepted.
28858         Instead, one must use the "_p"-suffixed names, with which, the
28859         third parameter is no longer a pointer.
28860         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW_WITH_NULL): Correct
28861         the definition: not true for gcc 7 and subsequent.
28862         (_GL_HAS_BUILTIN_OVERFLOW_P): Define.
28863         (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW, _GL_MULTIPLY_OVERFLOW):
28864         Provide new definitions for gcc 7 and subsequent.
28865         * lib/xalloc-oversized.h (xalloc_oversized): Provide a definition
28866         that works with gcc-7.
28868         intprops.h: fix missing-backslash problems
28869         * lib/intprops.h (_GL_ADD_OVERFLOW): Add backslash.
28870         (_GL_SUBTRACT_OVERFLOW,_GL_MULTIPLY_OVERFLOW): Likewise.
28872 2016-08-24  Paul Eggert  <eggert@cs.ucla.edu>
28874         intprops: fix paren typo on old platforms
28875         Problem reported by John E. Malmberg in: https://bugs.gnu.org/24300#13
28876         * lib/intprops.h (_GL_INT_OP_WRAPV_LONGISH)
28877         [__GNUC__ < 5 && !__has_builtin (__builtin_add_overflow)
28878         && (__STDC_VERSION__ < 201112 || _GL__GENERIC_BOGUS)
28879         && !defined LLONG_MAX]:
28880         Remove stray paren.
28882         intprops: port to OpenVMS
28883         Problem reported by John E. Malmberg in: https://bugs.gnu.org/24300
28884         * doc/posix-headers/limits.texi: Document the problem.
28885         * lib/intprops.h (LLONG_MAX, LLONG_MIN) [__INT64_MAX]:
28886         Define if not already defined.
28888 2016-08-19  Assaf Gordon  <assafgordon@gmail.com>
28890         parse-datetime: improve debug implementation
28891         Follow-up to commit 12ad79069 ("add optional debug printing").
28892         Improve parse-datetime's debug implementation: remove macros,
28893         replace global debug flag variable with a function parameter,
28894         use nstrftime for formatting.
28895         See: https://lists.gnu.org/r/bug-gnulib/2016-08/msg00021.html
28896         * lib/parse-datetime.h: (parse_datetime_debug): Remove global extern.
28897         (parse_datetime2): New function, accepts 'flags' parameter, supporting
28898         debug flag. Existing interface 'parse_datetime' left unmodified.
28899         * lib/parse-datetime.c: (parse_datetime_debug): Remove global variable.
28900         (struct parser_control): add 'parse_datetime_debug' member variable.
28901         (parse_datetime): Call new function 'parse_datetime2' without debug.
28902         (parse_datetime2): Adapted from previous 'parse_datetime', initialize
28903         pc.parse_datetime_debug variable as needed.
28904         (to_year): Accept new flags parameter, instead of using global variable.
28905         (debug_print_current_time,debug_print_relative_time,debug_mktime_not_ok):
28906         use struct 'debug' variable instead of global variable.
28907         (DEBUG,DEBUG_PRINT_CURRENT_TIME,DEBUG_PRINT_RELATIVE_TIME,
28908         DEBUG_MKTIME_NOT_OK,PROGRESS,PROGRESS0): Remove macros. Call
28909         correspnding functions directly instead of using macros.
28910         * modules/parse-datetime: Add gnulib's strftime module.
28912 2016-08-19  Daniel Richard G.  <skunk@iSKUNK.ORG>
28914         c-strcase-tests: port to EBCDIC
28915         * tests/test-c-strncasecmp.c: Allow two c_strncasecmp calls
28916         which assume ASCII encoding semantics to run only in ASCII
28917         mode, as they fail in EBCDIC.
28919         sigpipe-tests: fix typo
28920         * tests/test-sigpipe.sh: C, not B.
28922 2016-08-18  Paul Eggert  <eggert@cs.ucla.edu>
28924         canonicalize-lgpl: fix errno after malloca fails
28925         This fixes a typo I recently introduced.  Suggested by Bruno Haible in:
28926         http://lists.gnu.org/r/bug-gnulib/2016-08/msg00039.html
28927         * lib/canonicalize-lgpl.c (__realpath):
28928         Don't assume malloca sets errno on failure.
28930 2016-08-17  Paul Eggert  <eggert@cs.ucla.edu>
28932         strtod: port errno handling to z/OS
28933         * lib/strtod.c (strtod): Save and restore errno more reliably.
28935 2016-08-17  Daniel Richard G.  <skunk@iSKUNK.ORG>
28937         strtod: port to z/OS
28938         * lib/strtod.c (strtod): Address a couple quirks in the z/OS
28939         implementation.
28941 2016-08-17  Paul Eggert  <eggert@cs.ucla.edu>
28943         strtod: port to z/OS
28944         * lib/strtod.c (strtod): Address a couple quirks in the z/OS
28945         implementation.
28947         regex, string: rename to avoid '__string'
28948         * lib/regex.h, lib/string.in.h: Do not use the identifier
28949         '__string', as it is effectively reserved by string.h on z/OS.
28951         c-strcase-tests, wcwidth-tests: depend on c-ctype
28952         * modules/c-strcase-tests, modules/wcwidth-tests (Depends-on):
28953         Add c-ctype.
28955 2016-08-17  Daniel Richard G.  <skunk@iSKUNK.ORG>
28957         thread: port to z/OS
28958         * lib/glthread/thread.c, lib/glthread/thread.h:
28959         Rudimentary gl_thread support for z/OS.
28961         maint: port tests to z/OS errno behavior
28962         * tests/test-nonblocking-reader.h:
28963         * tests/test-nonblocking-writer.h:
28964         Accommodate z/OS errno code preferences. (I believe this should
28965         still be within spec; IBM is good at following the letter if not
28966         the spirit of such things.)
28968         maint: preprocessor changes to support z/OS
28969         * lib/alloca.in.h, lib/fnmatch.c, lib/get-rusage-as.c:
28970         * lib/glob.c, lib/math.in.h, lib/ptsname_r.c:
28971         * tests/infinity.h, tests/nan.h, tests/test-canonicalize-lgpl.c:
28972         * tests/test-nonblocking-pipe.h:
28974         fclose, strstr-simple, wchar: port to z/OS
28975         * m4/fclose.m4, m4/strstr.m4, m4/wchar_h.m4:
28976         Changes to the Autoconf M4 code to support z/OS.  Note that
28977         fclose() is broken in a different way on z/OS than it is on other
28978         systems, thus the special-case in fclose.m4.
28980         iconv_open-utf-tests, iconv-tests: port to EBCDIC
28981         * tests/test-iconv-utf.c, tests/test-iconv.c:
28982         Added appropriately conditional #pragmas so that the test strings
28983         in test-iconv-utf.c are correctly interpreted in ASCII instead of
28984         EBCDIC (i.e. 'J' == 0x4A and not 0xD1). This issue could be
28985         addressed in a more portable way by simply rewriting all the ASCII
28986         literal characters as octal escapes, but then you would lose the
28987         partial readability that the strings have now. Also, iconv_open()
28988         on z/OS does not recognize "ISO-8859-1", but "ISO8859-1" works.
28990         c-strcase-tests, wcwidth-tests: port to EBCDIC
28991         * tests/test-c-strcasecmp.c: Include c-ctype.h.
28992         (main) [!C_CTYPE_ASCII]: Skip tests that assume ASCII.
28993         * tests/test-wcwidth.c: Likewise.
28995 2016-08-17  Paul Eggert  <eggert@cs.ucla.edu>
28997         stdbool: don't require _Bool for C++
28998         Problem reported by David Seifert in:
28999         http://lists.gnu.org/r/bug-gnulib/2016-06/msg00005.html
29000         * NEWS, doc/posix-headers/stdbool.texi (stdbool.h): Document this.
29001         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Make the check
29002         more-forgiving for C++, in that it requires only 'bool'.  Be a bit
29003         stricter about checking that bool and _Bool are compatible in C.
29005 2016-08-16  Paul Eggert  <eggert@cs.ucla.edu>
29007         getdelim: remove dependency on realloc-posix
29008         * lib/canonicalize-lgpl.c (alloc_failed)
29009         [!FUNC_REALPATH_WORKS || defined _LIBC]: New function,
29010         (__realpath) [!FUNC_REALPATH_WORKS || defined _LIBC]: Use it.
29011         Use __set_errno where needed, for consistency.
29012         * lib/getdelim.c (alloc_failed): New function.
29013         (getdelim): Use it.
29015 2016-08-09  Assaf Gordon  <assafgordon@gmail.com>
29017         parse-datetime: add optional debug printing
29018         Print parsing information, warnings, and errors to stderr.
29019         * lib/parse-datetime.h (parse_datetimte_debug): New global variable.
29020         * lib/parse-datetime.y:
29021         (DEBUG_*):  Macros calling debug functions if debugging is enabled.
29022         (PROGRESS*): Same as DEBUG, for progress reporting.
29023         (dbg_printf): Print message to stderr, with 'date' prefix.
29024         (struct parser_control): Add 'debug_*_seen' variables.
29025         (str_days): Converts day ordinal/number to string (e.g. 'last wed').
29026         (debug_print_current_time, debug_print_relateive_time): Prints the
29027         current/relative date/time value of parser_control.
29028         (YACC parser syntax): Print parsed parts with DEBUG_* macros.
29029         (to_year): Warn about 2-digit year parsing.
29030         (yylex):   Warn about unrecognized words.
29031         (get_effective_timezone): Returns current timezone in minutes.
29032         (debug_strf{time,date,datetime}): Convert 'struct tm' to string as
29033         clearly and unambigiously as possible.
29034         (debug_mktime_not_ok): Print detailed information about failed
29035         date/time values.
29036         (parse_datetime): Add DEBUG messages for failures, warnings. Add
29037         PROGRESS messages for status messages.
29038         * modules/parse-datetime: Add 'timegm', 'gettext-h' dependencies.
29040 2016-08-06  Jim Meyering  <meyering@fb.com>
29042         tests/init.sh: exclude dash with bad "local" semantics
29043         * tests/init.sh (gl_shell_test_script_): Add a function to
29044         eliminate a shell like "dash" (unlike bash, zsh) that has
29045         surprising/risky "local var='...'" semantics.  Inspired by
29046         the problem and discussion in https://bugs.gnu.org/24116#11.
29048 2016-08-02  Ján Tomko  <jtomko@redhat.com>
29050         maint.mk: expand the prohibit_doubled_word regex
29051         This check has a static list of words that are checked for
29052         repetitions.  Expand it before running the perl script to
29053         avoid using expensive captures.  This decreases the cost
29054         for libvirt from 1.66s to 0.66s.
29055         * top/maint.mk (prohibit_doubled_word_expanded_): Define.
29056         (sc_prohibit_doubled_word): Use it.
29058 2016-07-26  Ján Tomko  <jtomko@redhat.com>
29060         useless-if-before-free: skip non-matching lines early
29061         * build-aux/useless-if-before-free: First match each line with the
29062         simple/quick /\bif\b/ and reject if there is no match. This often
29063         saves the cost of the much more involved regular expression.
29064         For libvirt, this decreases the cost from 1.44s to 1.02s.
29066 2016-07-26  Ján Tomko  <jtomko@redhat.com>
29068         maint.mk: speed up sc_po_check
29069         sc_po_check would skip files based on their names, or on the
29070         existence of files with derived names. Rewrite it to use perl
29071         instead of shell to make the check faster.
29072         * top/maint.mk (perl_translatable_files_list_): Define.
29073         (sc_po_check): Use it.
29075 2016-07-30  Ján Tomko  <jtomko@redhat.com>
29077         maint.mk: speed up require_config_h_first
29078         Instead of spawning three processes per file,
29079         rewrite the check in perl and run it once for all the files.
29080         * top/maint.mk (perl_config_h_first_): Define.
29081         (sc_require_config_h_first): Use it in place of shell code.
29083 2016-07-26  Ján Tomko  <jtomko@redhat.com>
29085         maint.mk: speed up sc_po_check
29086         sc_po_check would skip files based on their names, or on the
29087         existence of files with derived names. Rewrite it to use perl
29088         instead of shell to make the check faster.
29089         * top/maint.mk (perl_translatable_files_list_): Define.
29090         (sc_po_check): Use it.
29092 2016-07-15  Paul Eggert  <eggert@cs.ucla.edu>
29094         obstack: pacify GCC 6 with -Wnull-dereference
29095         Problem reported by Assaf Gordon in:
29096         http://lists.gnu.org/r/bug-gnulib/2016-07/msg00028.html
29097         * lib/obstack.c, lib/obstack.h (obstack_alloc_failed_handler):
29098         Declare with __attribute_noreturn__.
29099         * lib/obstack.h (__attribute_noreturn__): New macro.
29101 2016-07-13  Eric Blake  <eblake@redhat.com>
29103         doc: mention glibc, OS X, Cygwin [S]SIZE_MAX buglet
29104         * doc/posix-headers/stdint.texi (stdint.h): Document the bugs.
29105         * doc/posix-headers/limits.texi (limits.h): Document the bugs.
29107 2016-07-13  Paul Eggert  <eggert@cs.ucla.edu>
29109         doc: mention glibc SSIZE_MAX buglet
29110         * doc/posix-headers/limits.texi (limits.h): Document the bug.
29112 2016-07-04  Martin Kletzander  <mkletzan@redhat.com>
29114         printf-posix: Fix mingw build
29115         Commit 54615b95ff238e235e806855efc46a9abad09f2e changed the regular
29116         expression for detecting C symbol prefixes but forgot to qoute square
29117         brackets in the command line arguments for grep.  That way when
29118         building with mingw the condition was false although it ought to be
29119         true instead.  In particular scenarios this led to the following
29120         compile error:
29122             Cannot export rpl_printf: symbol not found
29123             Cannot export rpl_scanf: symbol not found
29124             collect2: error: ld returned 1 exit status
29126         Fix this by properly quoting square brackets.
29128 2016-07-03  Paul Eggert  <eggert@cs.ucla.edu>
29130         mktime: call tzset as per POSIX
29131         Problem reported by Ludovic Courtès in:
29132         http://lists.gnu.org/r/bug-gnulib/2016-06/msg00068.html
29133         * lib/mktime.c (mktime) [!_LIBC && HAVE_TZSET]: Call tzset.
29134         * m4/mktime.m4 (gl_FUNC_MKTIME): Check for tzset.
29136 2016-06-26  Pádraig Brady  <P@draigBrady.com>
29138         fts: handle readdir() errors
29139         * lib/fts.c (fts_build): readdir(3) returns NULL when finished,
29140         but also upon error when it will also set errno.  Therefore
29141         flag the error case from readdir().  We treat the case where
29142         no items are read the same as if the dir can't be accessed,
29143         i.e. by setting fts_errno to FTS_DNR.
29145 2016-06-24  Paul Eggert  <eggert@cs.ucla.edu>
29147         intprops: port better to GCC 7
29148         GCC 7 __builtin_add_overflow supports a new usage form, where the
29149         last argument is a null pointer, and which merely returns 1 if an
29150         overflow would occur.  This is a constant expression if all
29151         arguments are constants, and should generate faster code when code
29152         needs to be generated.
29153         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW_WITH_NULL): New macro.
29154         (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW, _GL_MULTIPLY_OVERFLOW):
29155         Use builtin operations if available.
29156         (INT_NEGATE_OVERFLOW): Prefer INT_SUBTRACT_OVERFLOW if builtin
29157         operations are available, as it's almost surely faster.
29159 2016-06-23  Paul Eggert  <eggert@cs.ucla.edu>
29161         intprops-test: port to GCC 6
29162         * tests/test-intprops.c: Ignore -Woverflow if any GCC version,
29163         since the bug is not fixed in GCC 6.1.
29165 2016-06-13  Paul Eggert  <eggert@cs.ucla.edu>
29167         xalloc-oversized: port to GCC 7; fewer warnings
29168         GCC 7 will have a better way to deal with integer overflow.
29169         Plus, fix a warnings problem reported by Tim Ruehsen in:
29170         http://lists.gnu.org/r/bug-gnulib/2016-06/msg00022.html
29171         * lib/xalloc-oversized.h (__xalloc_oversized): New macro.
29172         (xalloc_oversized): Use plain __builtin_mul_overflow if GCC 7 or later.
29173         For GCC 5, use __xalloc_oversized if both args are constants,
29174         or if pedantic.
29176 2016-06-08  Paul Eggert  <eggert@cs.ucla.edu>
29178         regex: port to Sun C
29179         Reported by Daiki Ueno.
29180         * lib/regcomp.c (regcomp, regerror): Use _Restrict_, not
29181         __restrict, in prototype.  This fixes a problem I introduced in
29182         the 2016-02-19 merge from glibc.
29184 2016-05-31  Paul Eggert  <eggert@cs.ucla.edu>
29186         stdbool: Restore __bool_true_false_are_defined check
29187         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL):
29188         __bool_true_false_are_defined is still defined, even with C++11.
29190 2016-05-31  David Seifert  <soap@gentoo.org>  (tiny change)
29192         stdbool: Port AC_CHECK_HEADER_STDBOOL to C++11
29193         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Port to C++11.
29195 2016-05-30  Paul Eggert  <eggert@cs.ucla.edu>
29197         Use GCC_LINT, not lint
29198         FreeBSD and Cygwin #define _Noreturn to empty if 'lint' is defined.
29199         Problem reported by Ken Brown in: http://bugs.gnu.org/23640
29200         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h):
29201         Document problem with lint and _Noreturn.
29202         * lib/diffseq.h (IF_LINT, IF_LINT2):
29203         * lib/fts.c (sccsid):
29204         * lib/getndelim2.c (IF_LINT):
29205         * lib/gl_anylinked_list2.h (gl_linked_iterator)
29206         (gl_linked_iterator_from_to):
29207         * lib/gl_anytree_list2.h (gl_tree_iterator)
29208         (gl_tree_iterator_from_to):
29209         * lib/gl_anytree_oset.h (gl_tree_iterator):
29210         * lib/gl_array_list.c (gl_array_iterator)
29211         (gl_array_iterator_from_to):
29212         * lib/gl_array_oset.c (gl_array_iterator):
29213         * lib/gl_carray_list.c (gl_carray_iterator)
29214         (gl_carray_iterator_from_to):
29215         * lib/idcache.c:
29216         * lib/inet_ntop.c (IF_LINT):
29217         * lib/regcomp.c (build_charclass_op, create_tree):
29218         * lib/regex_internal.c (re_acquire_state)
29219         (re_acquire_state_context):
29220         * lib/trigl.c (rcsid):
29221         * lib/trim.c (IF_LINT):
29222         * lib/vasnprintf.c (IF_LINT):
29223         * lib/verify.h (assume):
29224         Treat GCC_LINT like lint.
29226 2016-05-29  Bruno Haible  <bruno@clisp.org>
29228         secure_getenv: Port to many more platforms.
29229         * m4/secure_getenv.m4 (gl_PREREQ_SECURE_GETENV): Also check for get*id
29230         functions.
29231         * lib/secure_getenv.c (secure_getenv): Add alternate implementations
29232         for non-BSD Unix platforms and for native Windows.
29233         * doc/glibc-functions/secure_getenv.texi: Remove known issue.
29234         Prompted by a request from Nikos Mavrogiannopoulos.
29236 2016-05-27  Eric Blake  <eblake@redhat.com>
29238         canonicalize: Fix broken probe for realpath.
29239         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Fix regression
29240         in logic introduced in 54615b95.
29242 2016-05-26  Eric Blake  <eblake@redhat.com>
29244         unsetenv: relax to LGPLv2+
29245         * modules/unsetenv (License): Match setenv license.
29247 2016-05-20  Ludovic Courtès  <ludo@gnu.org>
29249         gendocs.sh: Set default TOP_NODE_UP_URL in HTML output.
29250         Suggested by Gavin Smith <gavinsmith0123@gmail.com>.
29251         Reported by myglc2 <myglc2@gmail.com> in <http://bugs.gnu.org/22651>.
29252         * build-aux/gendocs.sh (MANUAL_TITLE, PACKAGE, EMAIL)
29253         (commonarg, dirargs, dirs, infoarg, generate_ascii)
29254         (generate_html, generate_info, generate_tex, outdir)
29255         (source_extra, split, srcfile, texarg): Move above 'version'.
29256         (htmlarg): Likewise, and add "-c TOP_NODE_UP_URL=/manual".
29258 2016-05-17  Paul Eggert  <eggert@cs.ucla.edu>
29260         manywarnings: update for GCC 6.1
29261         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
29262         Add GCC 6.1 options that apply to C.
29263         * build-aux/gcc-warning.spec: Add GCC 6.1 options that
29264         do not apply to C, are obsolescent, etc.
29266 2016-05-12  Paul Eggert  <eggert@cs.ucla.edu>
29268         glob: size_t overflow checks
29269         * lib/glob.c (__has_builtin): New macro.
29270         (size_add_wrapv, glob_use_alloca): New static functions.
29271         (glob, glob_in_dir): Check for size_t overflow in several places,
29272         and fix some size_t checks that were not quite right.
29274         glob: don't assume INT_MAX < SIZE_MAX
29275         * lib/glob.c (glob): Prefer SIZE_MAX to ~((size_t) 0), as the
29276         latter is not portable to (probably theoretical) hosts where
29277         SIZE_MAX <= INT_MAX.
29279 2016-05-09  Bruno Haible  <bruno@clisp.org>
29281         Fix undefined behaviour in gettext.h.
29282         * lib/gettext.h (dcpgettext_expr, dcnpgettext_expr): Avoid accessing a
29283         pointer's value after the storage it points to has been freed.
29284         Reported by Michael Pyne in https://savannah.gnu.org/bugs/?47847.
29285         Spotted by Coverity.
29287 2016-05-08  Paul Eggert  <eggert@cs.ucla.edu>
29289         git-version-gen: avoid undefined shift
29290         Problem reported by Mosè Giordano in:
29291         http://lists.gnu.org/r/bug-gnulib/2016-05/msg00012.html
29292         * build-aux/git-version-gen: Avoid undefined behavior if invoked
29293         with --prefix or --fallback but without a later argument.  While
29294         we're at it, omit unnecessary quotes.
29296 2016-05-04  Paul Eggert  <eggert@cs.ucla.edu>
29298         glob: merge glibc changes into lib/glob.c
29299         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c,
29300         dated 2016-05-04 12:09:35 2016 +0200.  Here are the changes:
29301         2016-05-04 CVE-2016-1234: glob: Do not copy d_name field of
29302           struct dirent [BZ #19779]
29303         2016-04-29 glob: Simplify the interface for the GLOB_ALTDIRFUNC
29304           callback gl_readdir
29305         2015-10-20 Convert miscellaneous function definitions to prototype style
29306         2015-10-20 Convert 113 more function definitions to prototype style
29307           (files with assertions)
29308         2015-06-12 Fix getlogin_r namespace (bug 18527).
29309         2014-02-10 Use glibc_likely instead __builtin_expect.
29310         2013-10-20 When glob pattern contains a trailing slash match only
29311           directories. Fixes bug 10278.
29312         2013-09-04 glob: silence -Wattribute warnings
29313         2013-06-07 Avoid use of "register" as optimization hint.
29314         2012-09-25 Use size_t instead of int for internal variables in glob
29315           (bug 14621)
29316         2011-07-20 Check for overflows in expressions
29317         2011-05-28 Remove unused variable
29318         2011-05-22 Add a few more alloca size checks
29319         2010-03-27 Whitespace fixes
29320         2010-03-27 Fix one more issue with the glob patch
29321         2010-03-24 Fix glob with empty pattern
29322         2008-05-27 Remove useless more "if" tests before "free"
29323         * modules/glob (Depends-on): Add stdint.
29325 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
29327         mktime: port to stricter signed overflow checking
29328         * lib/mktime.c: Omit 'pragma GCC optimize ("wrapv")'.
29329         (long_int): Require width for INT_MAX * 3 * (seconds per year),
29330         instead of merely for INT_MAX * 2.  In practice platforms that
29331         do the latter also do the former.
29332         (TIME_T_MIN, TIME_T_MAX, TIME_T_MIDPOINT, SHR): Remove.
29333         (shr): New static function, replacing SHR.  All uses changed.
29334         (mktime_min, mktime_max): New constants, replacing TIME_T_MIN
29335         and TIME_T_MAX.  All uses changed.
29336         (ydhms_diff, guess_time_tm, ranged_convert, __mktime_internal):
29337         Use long_int, not time_t.
29338         (long_int_avg): New static function, replacing time_t_avg.
29339         All uses changed.  Round toward positive infinity, as that
29340         generates slightly better code.
29341         (time_t_add_ok, time_t_int_add_ok): Remove.  All uses replaced
29342         by INT_ADD_WRAPV.
29343         (guess_time_tm): Accept time, not a pointer to it.  All uses changed.
29344         (convert_time): New static function.
29345         (ranged_convert): Use it
29346         (ranged_convert): Check for *T out of [mktime_min, mktime_max] range.
29347         Use simpler test for loop exit.
29348         (__mktime_internal): Store negative of guessed offset, to simplify
29349         overflow checking.  Remove no-longer-needed test for small time_t
29350         overflows.
29352         mktime: speed up DEBUG_MKTIME benchmarks
29353         Call tzset just once, at the start, rather than for every test
29354         case.  This lets us measure the CPU cost of mktime as opposed to
29355         that of tzset.  This is relevant when TZ is not set and glibc is
29356         being used.  This speeds up tests by a factor of 40 on my Fedora
29357         23 x86-64 platform.
29358         * lib/mktime.c (main) [DEBUG_MKTIME]: Call localtime at the start,
29359         to call tzset and as a sanity check.  Later on, use localtime_r
29360         instead of localtime.
29362         mktime: resurrect DEBUG_MKTIME testing
29363         * lib/mktime.c [DEBUG_MKTIME]: Do not include <config.h>.
29364         Include <string.h>, for strcmp.
29366         mktime: simplify DEBUG_MKTIME
29367         * lib/mktime.c (DEBUG_MKTIME): Define to 0 if not defined.
29368         Simplify later usage accordingly.
29370         Port mktime_internal offset to unsigned time_t
29371         This avoids some assumptions about wraparound arithmetic on
29372         signed integer overflow.
29373         * lib/mktime-internal.h (mktime_offset_t): New type.
29374         (mktime_internal): Use it in decl.
29375         * lib/mktime.c, lib/timegm.c (mktime_offset_t) [_LIBC]: New type.
29377         * lib/mktime.c (__mktime_internal, localtime_offset):
29378         * lib/timegm.c (timegm): Use it.
29379         * m4/mktime.m4 (gl_TIME_T_IS_SIGNED): New macro.
29380         (gl_FUNC_MKTIME): Require it.
29382 2016-04-27  Paul Eggert  <eggert@cs.ucla.edu>
29384         xstrtol: prohibit monstrosities like "1bB"
29385         Problem reported by Young Mo Kang in: http://bugs.gnu.org/23388
29386         * lib/xstrtol.c (__xstrtol): Allow trailing second suffixes like
29387         "B" only if the first suffix needs a base.
29388         * tests/test-xstrtol.sh: Test this.
29390 2016-04-21  Pádraig Brady  <P@draigBrady.com>
29392         xstrtod: reinstate setting of *result upon ERANGE
29393         * lib/xstrtod.c (XSTRTOD): The user may decide to use
29394         the returned limits upon ERANGE, so allow and document that.
29396 2016-04-20  Tino Calancha  <f92capac@gmail.com>  (tiny change)
29398         xstrtod: modify *result only if no errors
29399         * lib/xstrtod.c (XSTRTOD).
29401 2016-04-19  Paul Eggert  <eggert@cs.ucla.edu>
29403         btowc: document problems in C locale
29404         * doc/posix-functions/btowc.texi (btowc): Mention incompatibility
29405         with mbrtowc.  See: http://bugs.gnu.org/23269#32
29407 2016-04-13  Paul Eggert  <eggert@cs.ucla.edu>
29409         mktime: improve integer overflow checking
29410         * lib/mktime.c: Include stdbool.h, intprops.h, verify.h.
29411         (WRAPV): Remove; no longer needed.
29412         (verify): Remove.  Replace all uses with call to verify.h 'verify'.
29413         (TYPE_IS_INTEGER, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
29414         Remove.  Use intprops.h defns instead.
29415         (leapyear, isdst_differ, time_t_add_ok, time_t_int_ok):
29416         Use bool for Boolean, for clarity.
29417         (time_t_add_ok, time_t_int_add_ok): Use INT_ADD_WRAPV to
29418         detect integer overflow.
29419         * modules/mktime (Depends-on): Add intprops, stdbool, verify.
29421         intprops: check two's complement assumption
29422         Suggested by Eric Blake in:
29423         http://lists.gnu.org/r/bug-gnulib/2016-04/msg00016.html
29424         * lib/intprops.h: Include <verify.h>.  Verify that signed char,
29425         short, int, long, and (if available) long long are two's complement.
29426         * modules/intprops (Depends-on): Add 'verify'.
29428         intprops, mktime, strtol: assume two's complement
29429         These macros were not portable to every conforming C11 ones'
29430         complement platform.  It's not worth the hassle of porting to some
29431         platforms that use ones' complement or signed magnitude, as such
29432         platforms are almost purely theoretical nowadays and porting even
29433         to some of them makes the code harder to review for little
29434         practical benefit.  Problem reported by Florian Weimer in:
29435         https://sourceware.org/ml/libc-alpha/2016-04/msg00295.html
29436         * lib/intprops.h (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT)
29437         (TYPE_SIGNED_MAGNITUDE, _GL_INT_TWOS_COMPLEMENT):
29438         * lib/mktime.c (TYPE_TWOS_COMPLEMENT):
29439         * lib/strtol.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT)
29440         (TYPE_SIGNED_MAGNITUDE):
29441         Remove.  All uses rewritten to assume two's complement, which is
29442         all we can reasonably test nowadays anyway.
29443         * top/maint.mk (_intprops_names): Remove the removed macros.
29445 2016-04-11  Paul Eggert  <eggert@cs.ucla.edu>
29447         stdint: port to strict C11 left shift
29448         * lib/stdint.in.h (_STDINT_MIN, _STDINT_MAX):
29449         Pacify clang -Wshift-negative-value, which should be an issue only
29450         on clang setups where stdint.h does not conform to C11 or to C++11.
29451         Problem reported by Philipp Stephani in: http://bugs.gnu.org/23261
29453 2016-04-09  Paul Eggert  <eggert@penguin.cs.ucla.edu>
29455         mbrtowc: work around glibc bug#19932
29456         Fix mbrtowc so that it never returns -1 in the C locale,
29457         as this conflicts with a future version of POSIX
29458         http://austingroupbugs.net/view.php?id=663#c2738
29459         and causes problems with GNU grep: http://bugs.gnu.org/23234
29460         See glibc bug 19932:
29461         https://sourceware.org/bugzilla/show_bug.cgi?id=19932
29462         * doc/posix-functions/mbrlen.texi (mbrlen):
29463         * doc/posix-functions/mbrtowc.texi (mbrtowc):
29464         Document the glibc bug.
29465         * lib/mbrtowc.c [C_LOCALE_MAYBE_EILSEQ]:
29466         Include hard-locale.h, locale.h.
29467         (rpl_mbrtowc): Work around the C_LOCALE_MAYBE_EILSEQ bug,
29468         if the bug is possible.
29469         * m4/mbrtowc.m4 (gl_MBRTOWC_C_LOCALE): New macro.
29470         (gl_FUNC_MBRTOWC): Use it, and define C_LOCALE_MAYBE_EILSEQ as needed.
29471         * modules/hard-locale (License): Now LGPLv2+, for mbrtowc.
29472         * modules/mbrtowc (Depends-on): Add hard-locale.
29473         * modules/mbrtowc-tests (Files, TESTS): Add tests/test-mbrtowc5.sh.
29474         * tests/test-mbrtowc.c (main): Test for bug fix if arg is '5'.
29475         * tests/test-mbrtowc5.sh: New file.
29477 2016-04-03  Pedro Alves  <palves@redhat.com>
29479         stdint: detect good enough pre-C++11 stdint.h in C++ mode
29480         When gnulib is configured in C++ mode for a system with a working C99
29481         implementation of stdint.h that predates C++11, gnulib ends up
29482         substituting stdint.h anyway.  This works on most targets, but on e.g.,
29483         64-bit MinGW, it doesn't, as gnulib's substitute assumes LP64, while
29484         MinGW is LLP64.  Instead of trying to detect the right types, detect
29485         good-enough-pre-C++11 stdint.h and in such case define
29486         __STDC_CONSTANT_MACROS/__STDC_LIMIT_MACROS in config.h.
29487         * m4/stdint.m4 (gl_STDINT_H): Always define __STDC_CONSTANT_MACROS
29488         / __STDC_LIMIT_MACROS while checking whether the system stdint.h
29489         conforms to C99.  If it does, check whether it hides symbols
29490         behind the __STDC_{CONSTANT|LIMIT}_MACROS macros.  Then if it
29491         does, define those macros in config.h.
29493 2016-04-03  Paul Eggert  <eggert@cs.ucla.edu>
29495         argp: merge changes from glibc
29496         Among other things, this should fix problems found by a Coverity
29497         scan and reported by Andrei Borzenkov:
29498         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00015.html
29499         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00016.html
29500         * lib/argp-ba.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h:
29501         * lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h:
29502         * lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c:
29503         * lib/argp.h:
29504         Merge changes from glibc.
29505         * tests/test-argp-2.sh: Adjust to match new behavior.
29507 2016-04-01  Paul Eggert  <eggert@cs.ucla.edu>
29509         stddef: support configuring with g++
29510         Problem reported by Ángel González in:
29511         http://lists.gnu.org/r/bug-gnulib/2016-04/msg00003.html
29512         * lib/stddef.in.h (_GL_STDDEF_ALIGNAS, max_align_t):
29513         Do not define if _GCC_MAX_ALIGN_T is defined.
29515 2016-03-25  Paul Eggert  <eggert@cs.ucla.edu>
29517         test-framework-sh: minor cleanups
29518         * tests/init.sh (testdir_prefix_): Output a trailing newline,
29519         since strictly speaking POSIX requires this.
29520         (setup_): Do not use the variable 'fail', as that makes the
29521         trace output harder to read ('fail' is typically used by
29522         tests to mean the test failed).  Treat // portably.
29523         Check that new directory is not merely a sibling of the tmp dir.
29524         Avoid unnecessary invocation of tr.
29526         test-framework-sh: revert port to NetBSD 7.0
29527         It was a false alarm; I misinterpreted Assaf Gordon's report.
29528         * tests/init.sh (testdir_prefix_, pfx_, template_length_):
29529         Restore.
29530         (test_dir_): Adjust to mktempd_ change.
29531         (mktempd_): Restore 2nd arg.  Use -t again.
29532         (base_template_, template_, nx_): Resurrect old code.
29534         Port better to Alpine Linux
29535         Its diff implementation does not support -c, but does support -U3.
29536         Problem reported by Assaf Gordon in: http://bugs.gnu.org/23107#13
29537         * tests/init.sh (diff_opt_): New var.
29538         (compare_): Prefer diff -U3 to diff -c to plain diff.
29540 2016-03-24  Paul Eggert  <eggert@cs.ucla.edu>
29542         test-framework-sh: port to NetBSD 7.0
29543         Problem reported by Assaf Gordon in: http://bugs.gnu.org/23107#13
29544         * tests/init.sh (testdir_prefix_, pfx_, template_length_):
29545         Remove.  All uses removed.
29546         (test_dir_): Adjust to mktempd_ change.
29547         (mktempd_): Omit 2nd arg.  Stop using -t, as it is not portable.
29548         (base_template_, template_, nx_): Simplify by hardcoding.
29550 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
29552         gitlog-to-changelog: suppress ignored chatter
29553         * build-aux/gitlog-to-changelog: Do not warn about skipping
29554         an SHA if it would have been ignored anyway.
29556 2016-03-22  Geert Janssens  <janssens-geert@telenet.be>
29558         setlocale: add "sv" to Windows language table
29559         * lib/setlocale.c (language_table) [W32]: Add "sv".
29560         Reported in <https://savannah.gnu.org/bugs/?44588>.
29562 2016-03-21  Paul Eggert  <eggert@cs.ucla.edu>
29564         sys_select: port to new Cygwin
29565         Problem reported by Ken Brown in:
29566         https://lists.gnu.org/r/bug-gnulib/2016-03/msg00054.html
29567         * lib/sys_select.in.h [__CYGWIN__]: Avoid "unknown type name"
29568         diagnostics.
29570 2016-03-17  Jim Meyering  <meyering@fb.com>
29572         test-userspec.c: do not trigger gcc's new -Wmisleading-indentation
29573         * tests/test-userspec.c (main): Remove unnecessary braces and fix
29574         misleading indentation. Here is the diagnostic gcc-6.0-to-be issued:
29575           test-userspec.c:176:9: error: statement is indented as if it were \
29576             guarded by... [-Werror=misleading-indentation]
29577                    {
29578                    ^
29579           test-userspec.c:173:7: note: ...this 'if' clause, but it is not
29580                  if (!diag && !T[i].result)
29581                  ^~
29583 2016-03-15  Paul Eggert  <eggert@cs.ucla.edu>
29585         time_rz: port to clang -Wunused-const-variable
29586         * lib/time_rz.c (TZ): Remove.  All uses removed.
29588         std-gnu11: improve clang support
29589         * m4/std-gnu11.m4: Sync with autoconf, incorporating:
29590         2016-03-15 Also try clang
29591         2016-03-15 Port C11 and C++11 testing to clang
29593         select: port more to Intel 2016.1.150 compiler
29594         Problem reported by Balázs Hajgató in:
29595         http://lists.gnu.org/r/bug-gnulib/2016-03/msg00036.html
29596         * m4/select.m4 (gl_FUNC_SELECT): Require AC_C_RESTRICT.
29598 2016-03-14  Paul Eggert  <eggert@cs.ucla.edu>
29600         select: try to port to 2016.1.150 compiler
29601         Problem reported by Balázs Hajgató in:
29602         http://lists.gnu.org/r/bug-gnulib/2016-03/msg00026.html
29603         * lib/sys_select.in.h (select): Use 'restrict' on arguments where
29604         POSIX specifies 'restrict'.
29606 2016-03-13  Paul Eggert  <eggert@cs.ucla.edu>
29608         localename-tests: memory allocation fixes
29609         * tests/test-localename.c (test_locale_name)
29610         (test_locale_name_thread): Don't call freelocale on a locale
29611         that was the base of a successful newlocale, as that
29612         results in a double free.  Problem reported by Assaf Gordon.
29613         (test_locale_name_thread): Free saved names after use, to pacify
29614         gcc -fsanitize=address.
29616 2016-03-08  Paul Eggert  <eggert@cs.ucla.edu>
29618         intprops: make .h file license match module
29619         * lib/intprops.h: Change the license wording to match glibc format.
29620         This is what is in modules/intprops anyway.  See:
29621         https://sourceware.org/bugzilla/show_bug.cgi?id=19738#c8
29623 2016-03-08  Eric Blake  <eblake@redhat.com>
29625         acl: fix missing return on Cygwin
29626         * lib/set-permissions.c (set_acls) [HAVE_FACL && GETACL]: Don't
29627         fall off end of function. Fixes http://bugs.gnu.org/22949
29629 2016-03-05  Bruno Haible  <bruno@clisp.org>
29631         extern-inline: port to PGI CC
29632         * m4/extern-inline.m4 (gl_EXTERN_INLINE): For PGI CC, don't use the
29633         keyword 'inline'.
29634         Reported by Adam James Stewart in:
29635         http://lists.gnu.org/r/bug-gnulib/2016-03/msg00006.html
29637 2016-02-20  Paul Eggert  <eggert@cs.ucla.edu>
29639         signbit: port back to pre-C++11 GCC
29640         * lib/math.in.h (signbit): Do previous change only if
29641         __cplusplus < 201103.  See Jonathan Wakely in:
29642         https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/UY3VX3W7XEXYTUKHG5BALU4ACUD7ZLGE/
29644 2016-02-19  Kamil Dudka  <kdudka@redhat.com>
29646         mountlist: recognize autofs-mounted remote file systems, too
29647         Originally reported at: https://bugzilla.redhat.com/1309247
29648         * lib/mountlist.c (ME_REMOTE): Return true if a file system is named
29649         "-hosts" because it is used by autofs to mount remote file systems.
29651 2016-02-19  Paul Eggert  <eggert@cs.ucla.edu>
29653         signbit: port to C++ with GCC 6
29654         * lib/math.in.h (signbit) [__cplusplus]:
29655         Do not replace with GCC builtin.  Reported by Orion Poplawski in:
29656         http://lists.gnu.org/r/bug-gnulib/2016-02/msg00005.html
29658         * lib/regex_internal.h (IDX_MAX) [_REGEX_LARGE_OFFSETS]: Now SSIZE_MAX.
29660         regex: make it closer to libc
29661         Make Idx a signed type, rather than possibly unsigned.
29662         The unsignedness was not really buying us anything, since the code
29663         overflows for other reasons before getting to PTRDIFF_MAX.  Making
29664         it signed allows us to use -1 and -2 with abandon, like libc does,
29665         thus lessening the number of differences between gnulib and libc.
29666         Also, it should help avoid gratuitous warnings like the one
29667         reported by Nelson H. F. Beebe in: http://bugs.gnu.org/22702
29668         * lib/regex.h (__re_idx_t): Remove.  All uses changed to regoff_t.
29671         regex: merge patches from libc
29673         2015-10-21  Joseph Myers  <joseph@codesourcery.com>
29674         2015-10-20  Joseph Myers  <joseph@codesourcery.com>
29675         Convert miscellaneous function definitions to prototype style.
29676         * lib/regcomp.c (re_compile_pattern, re_set_syntax)
29677         (re_compile_fastmap, regcomp, regerror, regfree, re_comp):
29678         * lib/regexec.c (regexec, re_match, re_search, re_match_2, re_search_2)
29679         (re_search_2_stub, re_search_stub, re_set_registers, re_exec)
29680         (re_search_internal):
29681         Convert to prototype-style function definition.
29682         Use internal_function for internal functions.
29684 2016-02-10  Paul Eggert  <eggert@cs.ucla.edu>
29686         stdalign: port to older HP and IBM cc
29687         * lib/stdalign.in.h (_Alignas): Port better to older HP and IBM
29688         C compilers, by checking their version numbers.  These version
29689         numbers appear in MariaDB and in Qt code that dates way back and
29690         that conditiionally uses the 'aligned' attribute.
29692 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
29694         stdalign: port to clang 3.7.0
29695         Problem reported by Herbert J. Skuhra in:
29696         http://lists.gnu.org/r/emacs-devel/2016-02/msg00476.html
29697         * lib/stdalign.in.h (alignas): Fix typo that prevented 'alignas'
29698         from being defined on clang 3.7.0, which has a buggy stdalign.h.  See:
29699         https://llvm.org/bugs/show_bug.cgi?id=26547
29701 2016-02-08  Paul Eggert  <eggert@cs.ucla.edu>
29703         readdir_r: now obsolescent
29704         * doc/posix-functions/readdir_r.texi (readdir_r): Now obsolescent.
29705         * lib/mountlist.c (read_file_system_list): Add a FIXME.
29707 2016-02-06  Paul Eggert  <eggert@cs.ucla.edu>
29709         misc: port better to gcc -fsanitize=address
29710         Without these patches, ./configure CFLAGS='-fsanitize=address'
29711         would compute incorrect values.  This patch fixes some (but not all)
29712         test failures with recent glibc, with this configuration.
29713         * m4/acl.m4 (gl_ACL_GET_FILE):
29714         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF):
29715         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS):
29716         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO):
29717         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE):
29718         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
29719         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
29720         * m4/getgroups.m4 (gl_FUNC_GETGROUPS):
29721         * m4/getline.m4 (gl_FUNC_GETLINE):
29722         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF):
29723         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF):
29724         * m4/regex.m4 (gl_REGEX):
29725         * m4/strndup.m4 (gl_FUNC_STRNDUP):
29726         * tests/test-calloc-gnu.c (main):
29727         * tests/test-duplocale.c (main):
29728         * tests/test-getgroups.c (main):
29729         * tests/test-getline.c (main):
29730         * tests/test-inttostr.c (main):
29731         * tests/test-localename.c (test_locale_name)
29732         (test_locale_name_thread, test_locale_name_environ)
29733         (test_locale_name_default):
29734         * tests/test-regex.c (main):
29735         * tests/test-setlocale1.c (main):
29736         * tests/test-stat.h (test_stat_func):
29737         Free heap-allocated storage before exiting.
29738         * m4/asm-underscore.m4 (gl_ASM_SYMBOL_PREFIX):
29739         Don't match *_foo symbols inserted by AddressSanitizer.
29740         * tests/test-regex.c, tests/test-stat.c: Include stdlib.h, for 'free'.
29742 2016-02-02  Jim Meyering  <meyering@fb.com>
29744         verify-tests: also remove stray test-verify.Tpo
29745         * modules/verify-tests (Makefile.am): Arrange for "make clean"
29746         to remove the test-verify.Tpo file that is left behind by
29747         the automake-generated rule upon compilation failure.
29748         Otherwise, that .Tpo file would cause a failed "make distcheck"
29749         at least for grep.
29751 2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>
29753         std-gnu11: new module
29754         This makes it easier for applications to prefer C11 and C++11
29755         to older variants, when compiling C and C++ code.
29756         Unlike most m4/*.m4 files, m4/std-gnu11.m4 is GPLed, as it copies
29757         a nontrivial chunk of GPLed Autoconf source code.
29758         * COPYING: Mention the m4/*.m4 copyright situation.
29759         * MODULES.html.sh (std-gnu11): New module.
29760         * m4/std-gnu11.m4, modules/std-gnu11: New files.
29762 2016-01-25  Paul Eggert  <eggert@cs.ucla.edu>
29764         get-permissions, strftime: fix grammar in comments
29765         * lib/get-permissions.c, lib/strftime.c: Merge into the comments
29766         some grammar fixes Alan Mackenzie made to GNU Emacs.
29768 2016-01-25  Daiki Ueno  <ueno@gnu.org>
29770         gettext: mark as obsolete
29771         Suggested by Paul Eggert in:
29772         https://lists.gnu.org/r/bug-gnulib/2016-01/msg00101.html
29773         * modules/gettext (Status): Mark as obsolete.
29774         (Notice): Suggest to use 'gettext-h' instead.
29775         * modules/gettext-h (Description): Suggest GNU gettext, instead of
29776         the 'gettext' module.
29778 2016-01-24  Paul Eggert  <eggert@cs.ucla.edu>
29780         gnulib-tool: don't give up on ln -s so easily
29781         * gnulib-tool (func_ln_s): Don't give up on a later ln -s merely
29782         because an earlier one failed.  The targets could be on different
29783         file systems.  Problem reported by KO Myung-Hun in:
29784         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00081.html
29786         closedir: fix OS/2-related typos
29787         Problem reported by KO Myung-Hun in:
29788         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00107.html
29789         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Fix a couple of typos
29790         in the last couple of changes.
29792 2016-01-24  KO Myung-Hun  <komh78@gmail.com>
29794         openat_proc_name: fix that last '/' is overwritten on OS/2 kLIBC
29795         * lib/openat-proc.c (openat_proc_name): Increase dirlen by 1 after
29796         copying a directory.
29798 2016-01-24  Paul Eggert  <eggert@cs.ucla.edu>
29800         regex: treat [x] as x if x is a unibyte encoding error
29801         Problem reported by Aharon Robbins in:
29802         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00091.html
29803         * lib/regcomp.c (parse_byte) [!_LIBC && RE_ENABLE_I18N]: New function.
29804         (build_range_exp) [!_LIBC && RE_ENABLE_I18N]: Use it.
29806         closedir, dirfd, opendir: port to OpenSolaris 5.10
29807         * m4/closedir.m4 (gl_FUNC_CLOSEDIR):
29808         * m4/dirfd.m4 (gl_FUNC_DIRFD):
29809         * m4/opendir.m4 (gl_FUNC_OPENDIR):
29810         Don't use ${word##pat} substitution, as it doesn't work in
29811         OpenSolaris 5.10 /bin/sh.  Problem reported by Assaf Gordon in:
29812         http://bugs.gnu.org/22443#11
29814 2016-01-23  Paul Eggert  <eggert@cs.ucla.edu>
29816         bootstrap: use American spelling
29817         * build-aux/bootstrap: Honor American spelling.
29819 2016-01-22  Karl Berry  <karl@freefriends.org>
29821         * doc/posix-functions/localtime.texi,
29822         * doc/posix-functions/localtime_r.texi: @item needed for @itemize text.
29824 2016-01-21  Bruno Haible  <bruno@clisp.org>
29826         hash-pjw-bare: fix comment
29827         * lib/hash-pjw-bare.h (hash_pjw_bare): Fix comment.
29829         wcwidth: Replace also on OpenBSD 5.8
29830         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check the value of wcwidth(0xFF1A).
29831         * doc/posix-functions/wcwidth.texi: Update.
29833 2016-01-20  Pádraig Brady  <P@draigBrady.com>
29835         gnu-web-doc-update: fix addition of new files
29836         If there were already added (emnpty) dirs,
29837         then cvs aborts the add with the message:
29838           cvs [add aborted]: there is a version in <./dirname> already
29839         * build-aux/gnu-web-doc-update: Add directories separately
29840         to the addition of files, to avoid the above issue
29841         impacting the addition of files.
29843 2016-01-19  Daiki Ueno  <ueno@gnu.org>
29845         utimens-tests: avoid pulling gettext .m4 files
29846         Although this is not the right fix to the original problem:
29847         http://lists.gnu.org/r/bug-gnulib/2013-01/msg00086.html
29848         it makes it possible again for consumer projects to use arbitrary
29849         version of gettext, through the steps described at:
29850         http://www.gnu.org/software/gnulib/manual/html_node/gettextize-and-autopoint.html
29851         See here for details:
29852         https://lists.gnu.org/r/bug-gnulib/2016-01/msg00079.html
29853         * modules/futimens-tests (Depends-on): Add 'gettext-h' in place of
29854         'gettext'.
29855         * modules/utimens-tests (Depends-on): Add 'gettext-h' in place of
29856         'gettext'.
29858 2016-01-18  Paul Eggert  <eggert@cs.ucla.edu>
29860         regex: pacify static checkers
29861         Problem and draft fix reported by Aharon Robbins in:
29862         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00082.html
29863         * lib/regcomp.c (build_charclass_op, create_tree) [lint]:
29864         Clear memory to pacify static checkers.
29866         regex: fix [ diagnostic
29867         Problem and fix reported by Aharon Robbins in:
29868         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00082.html
29869         * lib/regcomp.c (REG_EBRACK_IDX): Fix misleading diagnostic about [.
29871         regex: fix memory leaks
29872         Problem and draft fix reported by Aharon Robbins in:
29873         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00082.html
29874         * lib/regcomp.c (build_range_exp, build_charclass_op)
29875         * lib/regex_internal.c (re_dfa_add_node):
29876         Fix memory leak on failure.
29878 2016-01-18  Pádraig Brady  <P@draigBrady.com>
29880         fts: don't unconditionally use leaf optimization for NFS
29881         NFS st_nlink are not accurate on all implementations,
29882         leading to aborts() if that assumption is made.
29883         See <https://bugzilla.redhat.com/1299169>
29884         * lib/fts.c (leaf_optimization_applies): Remove NFS from
29885         the white list, and document the issue.
29887 2016-01-15  Paul Eggert  <eggert@cs.ucla.edu>
29888             KO Myung-Hun  <komh@chollian.net>
29890         gnulib-tool: don't assume ln -s works
29891         * gnulib-tool (func_ln_s): New function.
29892         (func_ln): Use it.
29894 2016-01-15  KO Myung-Hun  <komh@chollian.net>
29896         utimes: detect utimes() correctly on OS/2 kLIBC
29897         utimes() of OS/2 kLIBC has some limitations.
29898         1. OS/2 itself supports a file date since 1980 year in local time.
29899         2. OS/2 itself supports only even seconds for a file time.
29900         3. utimes() of OS/2 kLIBC does not work on an opened file.
29901         * m4/utimes.m4: Detect utimes() correctly on OS/2 kLIBC.
29902         * doc/posix-functions/utimes.texi: Document the above limitations of
29903         utimes() on OS/2 kLIBC.
29905 2016-01-15  Paul Eggert  <eggert@cs.ucla.edu>
29906             KO Myung-Hun  <komh@chollian.net>
29908         openat_proc_name: port to OS/2 kLIBC
29909         OS/2 kLIBC provides a function to retrive a path from a fd. Use it
29910         instead of /proc/self/fd.
29911         * lib/openat-proc.c (openat_proc_name):
29912         Don't assume file name length is less than INT_MAX.
29913         Port to OS/2 kLIBC with __libc_Back_ioFHToPath().
29915 2016-01-14  KO Myung-Hun  <komh@chollian.net>
29917         stdint: check _INTPTR_T_DECLARED for intptr_t etc.
29918         OS/2 kLIBC's stdint.h defines _INTPTR_T_DECLARED and needs its own
29919         definitions of intptr_t and uintptr_t (which use int and unsigned)
29920         to avoid clashes with declarations of system functions like sbrk.
29921         * lib/stdint.in.h (intptr_t, uintptr_t): Check
29922         _INTPTR_T_DECLARED before defining them.
29924         opendir, closedir, dirfd, fdopendir: port to OS/2 kLIBC
29925         * lib/closedir.c (closedir): Unregister fd if closedir() succeeds.
29926         * lib/dirent.in.h (_gl_register_dirp_fd, _gl_unregister_dirp_fd):
29927         Declare on kLIBC.
29928         * lib/dirfd.c (struct dirp_fd_list): New. Structures to keep track of
29929         fd associated with dirp.
29930         (_gl_register_dirp_fd): New. Register fd associated with dirp to
29931         dirp_fd_list.
29932         (_gl_unregister_dirp_fd): New. Unregister fd with closing it.
29933         (dirfd): Implemented for kLIBC.
29934         * lib/fdopendir.c (fdopendir): Implemented for kLIBC.
29935         * lib/opendir.c (opendir): New. Register fd and dirp pair if open()
29936         succeeds.
29937         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Replace if OS/2.
29938         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
29939         (REPLACE_DIRFD): Define to 1 if replaced.
29940         * m4/opendir.m4 (gl_FUNC_OPENDIR): Likewise.
29941         * modules/closedir (Depends-on): Add dirfd.
29942         * modules/dirfd (Depends-on): Add 'test $REPLACE_DIRFD = 1' to errno
29943         condition.
29944         (configure.ac): Add dirfd to LIBOBJS if $REPLACE_DIRFD = 1 as well.
29945         * modules/opendir (Depends-on): Add dirfd.
29947         dup, dup2, fcntl: support a directory fd on OS/2 kLIBC
29948         On OS/2 kLIBC, dup(), dup2() and fcntl() do not work on a directory fd.
29949         * lib/dup.c (dup_nothrow): New.
29950         * lib/dup2.c (klibc_dup2dirfd): New. dup2() for a directory fd.
29951         (klibc_dup2): New.
29952         * lib/fcntl.c (klibc_fcntl): New.
29953         * m4/dup.m4 (gl_FUNC_DUP): Check if dup() works on a directory fd.
29954         * m4/dup2.m4 (gl_FUNC_DUP2): Check if dup2() works on a directory fd.
29955         * m4/fcntl.m4 (gl_FUNC_FCNTL): Check if F_DUPFD works on a directory
29956         fd.
29958         pipe_filter_ii_execute: port to OS/2 kLIBC
29959         Pipes on kLIBC do not support O_NONBLOCK like Win32.
29960         * lib/pipe-filter-ii.c (start_wrapper, _beginthreadex, CloseHandle,
29961         WaiForSingleObject, WaitForMultipleObjects): New on OS/2 kLIBC.
29962         Reuse Win32 code on OS/2 kLIBC.
29963         * lib/spawn-pipe.c: Reuse Win32 code on OS/2 kLIBC.
29964         * lib/w32spawn.h: Do not include windows.h on OS/2 kLIBC.
29966         wchar: fix "conflicting types" error for __wcwidth on OS/2 kLIBC
29967         On OS/2 kLIBC, wcwidth is a macro that expands to the name of a
29968         static inline function.  The implementation of wcwidth in wcwidth.c
29969         causes a "conflicting types" error.
29970         * lib/wchar.in.h: Undefine wcwidth on OS/2 kLIBC.
29972         w32spawn: clear SHELL_SPECIAL_CHARS and SHELL_SPACE_CHAR on OS/2 kLIBC
29973         spawn() on OS/2 kLIBC is not silly like one on Windows
29974         * libc/w32spawn.h (SHELL_SPECIAL_CHARS, SHELL_SPACE_CHAR): Set both to
29975         empty string on OS/2 kLIBC.
29977         pipe-filter-aux: undefine HAVE_SELECT on KLIBC
29978         On OS/2 kLIBC, select() works only on sockets.
29979         * lib/pipe-filter-aux.h (HAVE_SELECT): Undefine on OS/2 kLIBC.
29981         binary-io: don't put fd in binary mode if it is a console on EMX
29982         * lib/binary-io.h (SET_BINARY): Don't put fd in binary mode if it is
29983         a console on EMX.
29985 2016-01-15  Pádraig Brady  <P@draigBrady.com>
29987         doc: mention unfixed issues with unsupported localtime() values
29988         * doc/posix-functions/localtime.texi: Mention that FreeBSD 10
29989         returns nonsense for localtime(2^56).
29990         * doc/posix-functions/localtime_r.texi: Likewise.
29992 2016-01-14  Pádraig Brady  <P@draigBrady.com>
29994         doc: mention setlocale() issues on OpenBSD
29995         * doc/posix-functions/setlocale.texi: Mention setlocale(LC_ALL,"")
29996         never fails, and the need to check categories individually.
29998 2016-01-14  Pádraig Brady  <P@draigBrady.com>
30000         sig2str: list all signals on FreeBSD >= 7
30001         FreeBSD >= 7 is contravening POSIX by not defining NSIG
30002         to the maximal statically defined signal value.
30003         It does define _SIG_MAXSIG though, so base SIGNUM_BOUND on that.
30004         * lib/sig2str.h (SIGNUM_BOUND): Define to (_SIG_MAXSIG - 2)
30005         where available, even when NSIG is defined.
30007 2016-01-13  Paul Eggert  <eggert@cs.ucla.edu>
30009         acl-permissions: port to USE_ACL==0 platforms
30010         I ran into this problem when building bleeding-edge GNU Emacs
30011         with gcc -fsanitize=address on Fedora 23.  On this platform
30012         the ACL library does not pass the 'configure' test and Emacs
30013         then does not build due in part to what appear to be typos in the
30014         ACL part of Gnulib.
30015         * lib/acl-internal.c (free_permission_context):
30016         * lib/acl-internal.h (struct permission_context):
30017         Test whether USE_ACL is nonzero, not whether it is defined.
30019 2016-01-12  Martin Sebor  <msebor@redhat.com>
30021         mktime: rename macro to avoid glibc clash
30022         * lib/mktime.c [DEBUG] (DEBUG): Rename to DEBUG_MKTIME.  See:
30023         https://sourceware.org/ml/libc-alpha/2016-01/msg00267.html
30025 2016-01-12  Paul Eggert  <eggert@cs.ucla.edu>
30027         Port "$@" to OpenIndiana ksh93
30028         In http://lists.gnu.org/r/bug-autoconf/2015-12/msg00000.html
30029         Pavel Raiskup reports that ${1+"$@"} runs afoul of a bug in /bin/sh
30030         (derived from ksh 93t+ 2010-03-05).  ${1+"$@"} works around an ancient
30031         bug long-dead shells, so remove the workaround.
30032         * build-aux/announce-gen, build-aux/do-release-commit-and-tag:
30033         * build-aux/gitlog-to-changelog, build-aux/gnu-web-doc-update:
30034         * build-aux/prefix-gnulib-mk, build-aux/update-copyright:
30035         * build-aux/useless-if-before-free, tests/test-update-copyright.sh:
30036         Use "$@" instead of ${1+"$@"}.
30038         Port Universal Time settings to strict POSIX
30039         * build-aux/announce-gen, build-aux/bootstrap:
30040         * build-aux/do-release-commit-and-tag, build-aux/git-version-gen:
30041         * build-aux/gitlog-to-changelog, build-aux/gnu-web-doc-update:
30042         * build-aux/gnupload, build-aux/mkinstalldirs:
30043         * build-aux/move-if-change, build-aux/prefix-gnulib-mk:
30044         * build-aux/update-copyright, build-aux/useless-if-before-free:
30045         * build-aux/vc-list-files, tests/test-strftime.c:
30046         Use TZ="UTC0", not TZ="UTC".  Either works on GNU platforms,
30047         but POSIX says the behavior of TZ="UTC" is undefined.
30049 2016-01-02  Paul Eggert  <eggert@cs.ucla.edu>
30051         msvc-inval: fix problem with unset shell var
30052         Problem reported by Karl Berry in:
30053         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00004.html
30054         * modules/msvc-inval (Depends-on):
30055         AC_REQUIRE gl_MSVC_INVAL instead of merely calling it.
30056         * modules/msvc-nothrow (Depends-on): Likewise for gl_MSVC_NOTHROW.
30058 2016-01-01  Pádraig Brady  <P@draigBrady.com>
30060         tests: for compare_(), use cmp -s where available
30061         * tests/init.sh (compare_): Only fall back to cmp without
30062         the POSIX defined -s option, where this is not available.
30064 2016-01-01  Paul Eggert  <eggert@cs.ucla.edu>
30066         version-etc: new year
30067         * build-aux/gendocs.sh (version):
30068         * doc/gendocs_template:
30069         * doc/gendocs_template_min:
30070         * doc/gnulib.texi:
30071         * lib/version-etc.c (COPYRIGHT_YEAR):
30072         Update copyright dates by hand in templates and the like.
30073         * all files: Run 'make update-copyright'.
30075 2015-12-31  Paul Eggert  <eggert@cs.ucla.edu>
30077         human: fix output buffer overrun by 1
30078         * lib/human.c (human_readable): Fix off-by-one typo in buffer
30079         calculation that could lead to a one-byte buffer overrun.
30081 2015-12-28  Daiki Ueno  <ueno@gnu.org>
30083         maint: fix operator precedence in mbrtowc test
30084         This is a fix for test breakage introduced by commit 45228d96; the
30085         equality expression must be parenthesized when negated with '!',
30086         otherwise we always get:
30088           test-mbrtowc.c:49: assertion 'ret == (size_t)(-2)' failed
30090         * m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT): Negate the entire expression.
30091         * m4/mbrlen.m4 (gl_MBRLEN_EMPTY_INPUT): Likewise.
30093 2015-12-23  James Youngman  <jay@gnu.org>
30095         regexprops-generic: update from regex.h
30096         * doc/regexprops-generic.texi: update by running the regexprops binary
30097         from findutils (the command line is 'regexprops "Regular Expressions"
30098         generic').  The recent (ish) change (5a5a9388) to regex.h aligning
30099         gnulib with GNU grep had made this document out-of-date.
30101 2015-12-23  Pádraig Brady  <P@draigBrady.com>
30103         strftime-tests: avoid false failure on OS X
30104         * tests/test-strftime.c (struct localtime_rz_test): Add an
30105         ahistorical member which is used to warn rather than fail
30106         when tm_isdst isn't set for such entries.  This is the case for
30107         "1970-01-01 13:00:00 +1300 (NZDT)" on Darwin 13/14 at least.
30109 2015-12-20  Kamil Dudka  <kdudka@redhat.com>
30111         fts: ensure leaf optimization is used for NFS
30112         NFS provides usable dirent.d_type but not necessarily for all entries
30113         of large directories.  See <https://bugzilla.redhat.com/1252549>
30114         * lib/fts.c (leaf_optimization_applies): Append NFS on the white list.
30116 2015-12-20  Pádraig Brady  <P@draigBrady.com>
30118         fts: enable leaf optimization for XFS
30119         XFS provides usable dirent.d_type only for DT_DIR,
30120         but the noleaf optimization still applies.
30121         * lib/fts.c (leaf_optimization_applies): Add XFS to the white list.
30123 2015-12-17  Paul Eggert  <eggert@cs.ucla.edu>
30125         intprops: comment fix
30126         * lib/intprops.h: Fix comment.  Reported by Pádraig Brady in:
30127         http://lists.gnu.org/r/bug-gnulib/2015-12/msg00013.html
30129         intprops-test: work around GCC bug 68971
30130         Problem reported by Pádraig Brady in:
30131         http://lists.gnu.org/r/bug-gnulib/2015-12/msg00011.html
30132         * tests/test-intprops.c: Ignore -Woverflow in GCC 6 and earlier.
30133         (main): Add a case that better tests 64-bit long in this area.
30135 2015-12-09  Pavel Raiskup  <praiskup@redhat.com>
30137         gnulib-tool: allow multiple --local-dir usage
30138         * gnulib-tool: Use --local-dir to construct compound
30139         $local_gnulib_path path instead of $local_gnulib_dir.  Determine
30140         PATH_SEPARATOR early.
30141         (local_gnulib_dir): Rename into $local_gnulib_path everywhere.
30142         (func_gnulib_dir): Cut out PATH_SEPARATOR detection code into
30143         func_determine_path_separator because that needs to be detected
30144         earlier now.
30145         (func_determine_path_separator): New function.
30146         (func_path_foreach, func_path_foreach_inner): New functions.
30147         (func_path_prepend, func_path_append): Likewise.
30148         (func_lookup_local_file, func_lookup_local_file_cb): Likewise.
30149         (func_lookup_file, func_all_modules): Use new functions to work
30150         with local_gnulib_path.
30151         (func_modules_in_dir, func_exists_module): New callbacks for
30152         func_path_foreach.
30153         (func_exists_module, func_get_tests_module): Likewise.
30154         (func_is_local_file, func_should_symlink): New helper methods.
30155         (func_add_file, func_update_file): Use new func_should_symlink
30156         instead, DRY.
30157         (func_reconstruct_cached_local_gnulib_path): New helper.
30158         (func_reconstruct_cached_dir): New callback.
30159         (func_import): The cached_local_gnulib_dir renamed to
30160         cached_local_gnulib_path similarly to local_gnulib_dir.
30161         Use new func_reconstruct_cached_local_gnulib_path.
30162         (func_count_relative_local_gnulib_path): New sub-method.
30163         (func_create_testdir): Use func_should_symlink, DRY.
30164         (func_create_megatestdir): Use new functions to work with
30165         local_gnulib_path correctly.
30166         (func_append_local_dir): New helper.
30168 2015-12-08  Pádraig Brady  <P@draigBrady.com>
30170         fix freadptr to work with ungetc on all uClibc configs
30171         Reported at https://bugs.busybox.net/show_bug.cgi?id=4099
30172         where GNU coreutils cut(1) generates invalid output on uClibc
30173         when __UCLIBC_HAS_STDIO_GETC_MACRO__ is not defined.
30174         * lib/freadptr.c (freadptr): Return NULL if there are
30175         ungotten chars.  In this case freadseek() will iterate
30176         again to process the ungotten character.
30178 2015-11-13  Paul Eggert  <eggert@cs.ucla.edu>
30180         xalloc-oversized: improve performance with GCC 5
30181         * lib/xalloc-oversized.h (xalloc_oversized):
30182         Improve performance with GCC 5 by using __builtin_mul_overflow.
30184 2015-11-10  Paul Eggert  <eggert@cs.ucla.edu>
30186         intprops: new public macro EXPR_SIGNED
30187         Emacs can use this macro, so make it public.
30188         * doc/intprops.texi (Arithmetic Type Properties): Rename from
30189         'Integer Type Determination', since some of these macros apply
30190         to non-integer types.  Clarify what kinds of constant expressions
30191         these macros return.  Say when the arguments can be non-integers.
30192         Mention newly published macro EXPR_SIGNED.
30193         * lib/intprops.h (EXPR_SIGNED): Rename from _GL_INT_SIGNED, to
30194         make it public.  All uses changed.
30196         intprops: fix typo in clang port
30197         * lib/intprops.h (_GL_INT_OP_WRAPV): Fix misspelling of
30198         '__builtin_add_overflow' that is not caught by compiler.
30200 2015-11-05  Paul Eggert  <eggert@cs.ucla.edu>
30202         test-timespec: fix typo in previous change
30203         * tests/test-timespec.c (main): Fix typo that reduced test quality.
30205         timespec-sub: fix overflow bug; add tests
30206         * lib/timespec-add.c (timespec_add):
30207         * lib/timespec-sub.c (timespec_sub):
30208         Work even if time_t is narrower than int (a theoretical
30209         possibility).  Redo code for a bit more clarity.
30210         * lib/timespec-sub.c (timespec_sub):
30211         Fix off-by-2 bug if a.tv_sec == TYPE_MINIMUM (time_t) and 0 < b.tv_sec.
30212         * modules/timespec-tests, tests/test-timespec.c: New files.
30214         intprops-test: suppress -Woverlength-strings
30215         Problem reported by Pádraig Brady in:
30216         http://lists.gnu.org/r/bug-gnulib/2015-11/msg00008.html
30217         It is not worth the hassle to port this test to compilers that
30218         cannot handle long strings in diagnostics.
30219         * tests/test-intprops.c [__GNUC__]: Ignore -Woverlength-strings.
30221 2015-11-03  Pádraig Brady  <P@draigBrady.com>
30223         quotearg: add quotearg_n_style_colon()
30224         This quotes with default options of the specified style,
30225         but with quoting enabled for instances of ':'.
30226         * lib/quotearg.h (quotearg_n_style_colon): Description and declaration.
30227         * lib/quotearg.c (quotearg_n_style_colon): New function implementation.
30229 2015-11-04  Paul Eggert  <eggert@cs.ucla.edu>
30231         intprops: revise _WRAPV macros, revert _OVERFLOW
30232         The incompatible changes to the _OVERFLOW macros were too much of
30233         a hassle in practice, so revert them.  Instead, change the new
30234         _WRAPV macros to make them closer in behavior to GCC 5's new
30235         builtin_add_overflow etc. functions.  No other software was using
30236         these newly-added macros yet, so this should be OK.
30237         * NEWS: Revert previous change, since the incompatible change
30238         has been reverted, and nobody used the incompatible version.
30239         * doc/intprops.texi (Wraparound Arithmetic, Integer Type Overflow):
30240         Document revised behavior.
30241         (Integer Range Overflow): Adjust example to match above revisions.
30242         * lib/intprops.h (INT_ADD_OVERFLOW, INT_SUBTRACT_OVERFLOW)
30243         (INT_MULTIPLY_OVERFLOW): Revert previous change, so that
30244         these can be used in integer constant expressions again.
30245         (INT_CONST_ADD_OVERFLOW, INT_CONST_SUBTRACT_OVERFLOW)
30246         (INT_CONST_MULTIPLY_OVERFLOW): Remove, as these are no longer
30247         needed.
30248         (INT_CONST_ADD_WRAPV, INT_CONST_SUBTRACT_WRAPV)
30249         (INT_NEGATE_WRAPV, INT_CONST_MULTIPLY_WRAPV, INT_DIVIDE_WRAPV)
30250         (INT_REMAINDER_WRAPV, INT_LEFT_SHIFT_WRAPV):
30251         Remove, as they did not seem that useful.
30252         (INT_ADD_WRAPV, INT_SUBTRACT_WRAPV, INT_MULTIPLY_WRAPV)
30253         (_GL_INT_OP_WRAPV, _GL_INT_OP_WRAPV_LONGISH)
30254         (_GL_INT_OP_WRAPV_VIA_UNSIGNED):
30255         Support new semantics.
30256         (__has_builtin): New macro, if not alreay defined.
30257         (_GL__GENERIC_BOGUS, _GL_INT_OP_CALC, _GL_INT_OP_CALC1): New macros.
30258         * tests/test-intprops.c (INT_CONST_DIVIDE_OVERFLOW)
30259         (INT_CONST_REMAINDER_OVERFLOW, INT_CONST_LEFT_SHIFT_OVERFLOW)
30260         (INT_CONST_DIVIDE_WRAPV, INT_CONST_REMAINDER_WRAPV)
30261         (INT_CONST_LEFT_SHIFT_WRAPV): Remove.
30262         (CHECK_SBINOP, CHECK_SSUM, CHECK_SUM1, CHECK_SSUM1)
30263         (CHECK_SDIFFERENCE, CHECK_SPRODUCT, CHECK_PRODUCT1, CHECK_SPRODUCT1):
30264         New macros.
30265         (CHECK_BINOP, CHECK_UNOP, main, CHECK_SUM): Test new behavior.
30267 2015-11-03  Jim Meyering  <meyering@fb.com>
30269         intprops: add parentheses for when OP has precedence lower than "-"
30270         * lib/intprops.h (_GL_INT_OP_WRAPV_VIA_UNSIGNED): In "a OP b - c",
30271         "a OP b" must be parenthesized for when OP is like "<<", which has
30272         lower precedence than the following "-". Reported by Pádraig Brady.
30274 2015-11-03  Pádraig Brady  <P@draigBrady.com>
30276         quotearg: constify get_quoting_style parameters
30277         * lib/quotearg.h (get_quoting_style): Mark parameter as const.
30278         * lib/quotearg.c (get_quoting_style): Likewise.
30280 2015-11-02  Pádraig Brady  <P@draigBrady.com>
30282         quotearg: add support for $'' shell escaping
30283         * lib/quotearg.h: Add "shell-escape" and "shell-escape-always"
30284         items and descriptions.
30285         * lib/quotearg.c (quotearg_buffer_restyled): Add support for the
30286         above types by quoting like "shell", but using $'...' syntax
30287         for non printable characters, which should provide unambiguous
30288         printable output for any input.
30289         * tests/test-quotearg-simple.c: Update accordingly.
30291 2015-11-02  Pádraig Brady  <P@draigBrady.com>
30293         maint: use a more standard return from mbrtowc test
30294         * m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT): Don't return 1
30295         from the test program as this is non standard and often
30296         indicates an unhandled case in the test program.
30297         * m4/mbrlen.m4 (gl_MBRLEN_EMPTY_INPUT): Likewise.
30299 2015-10-30  Paul Eggert  <eggert@cs.ucla.edu>
30301         intprops: add WRAPV and const flavors for GCC 5
30302         If available, use GCC 5's builtin functions for efficient integer
30303         overflow checking.  Also, add macros like INT_ADD_WRAPV efficently
30304         and safely compute the low-order bits of the correct answer.
30305         A downside of these efficient functions is that they cannot be
30306         used in constant expressions, so add macros like INT_CONST_ADD_OVERFLOW
30307         and INT_CONST_ADD_WRAPV that can be used even in constant expressions.
30308         * NEWS: Document the incompatible changes to INT_ADD_OVERFLOW etc.
30309         * doc/intprops.texi (Integer Properties, Integer Type Overflow):
30310         Document the changes.
30311         (Wraparound Arithmetic): New section.
30312         (Integer Range Overflow):
30313         Put this subsection last, since it's least useful.
30314         * lib/intprops.h (INT_CONST_ADD_OVERFLOW)
30315         (INT_CONST_SUBTRACT_OVERFLOW, INT_CONST_MULTIPLY_OVERFLOW):
30316         New macros, with the meaning that INT_ADD_OVERFLOW etc. used to have.
30317         (INT_CONST_ADD_WRAPV, INT_CONST_SUBTRACT_WRAPV)
30318         (INT_NEGATE_WRAPV, INT_CONST_MULTIPLY_WRAPV, INT_DIVIDE_WRAPV)
30319         (INT_REMAINDER_WRAPV, _GL_INT_OP_WRAPV, _GL_EXPR_CAST)
30320         (_GL_INT_OP_WRAPV_LONGISH, INT_ADD_WRAPV, INT_SUBTRACT_WRAPV)
30321         (INT_MULTIPLY_WRAPV, _GL_OP_OVERFLOW, _GL_OP_WRAPV, _GL_OP_WRAPV_GENSYM):
30322         New macros.
30323         (INT_ADD_OVERFLOW, INT_SUBTRACT_OVERFLOW, INT_MULTIPLY_OVERFLOW):
30324         Generate calls to GCC builtins if available, for speed.
30325         * tests/test-intprops.c (INT_CONST_DIVIDE_OVERFLOW)
30326         (INT_CONST_REMAINDER_OVERFLOW, INT_CONST_LEFT_SHIFT_OVERFLOW)
30327         (INT_CONST_DIVIDE_WRAPV, INT_CONST_REMAINDER_WRAPV)
30328         (INT_CONST_LEFT_SHIFT_WRAPV): New macros.
30329         (main, CHECK_BINOP, CHECK_UNOP, CHECK_SUM, CHECK_PRODUCT)
30330         (CHECK_QUOTIENT, CHECK_REMAINDER):
30331         Test WRAPV and CONST flavors (when available) too.
30333 2015-10-30  Pádraig Brady  <P@draigBrady.com>
30335         doc: use extended timezone format in iso-8601 example
30336         * doc/parse-datetime.texi: The standard states that extended format
30337         is to be used consistently throughout.
30338         Note that lib/parse-datetime.y can handle either tz format.
30340 2015-10-25  Paul Eggert  <eggert@cs.ucla.edu>
30342         stdalign: port to Sun C 5.9
30343         * doc/posix-headers/stdalign.texi: Document this.
30344         * lib/stdalign.in.h (_Alignas): Sun C 5.9 also supports
30345         __attribute__ ((__aligned__ (...))).
30347 2015-10-20  Paul Eggert  <eggert@cs.ucla.edu>
30349         time_rz: fix comment about tzalloc
30350         * lib/time_rz.c (tzalloc): Fix comment.
30352 2015-10-18  Paul Eggert  <eggert@cs.ucla.edu>
30354         stdalign: work around pre-4.9 GCC x86 bug
30355         * lib/stdalign.in.h (_Alignof): Work around bug in pre-4.9 GCC on
30356         x86, when -std=gnu11 is used.  Problem reported by Jim Meyering in:
30357         http://lists.gnu.org/r/bug-gnulib/2015-10/msg00038.html
30359 2015-10-18  Pádraig Brady  <P@draigBrady.com>
30361         maint.mk: sc_tight_scope: remove extraneous expressions
30362         * top/maint.mk (tight_scope): This is not really required since
30363         commit 3ef58f46 as sed_wrap ensures we don't get an empty expression
30364         that matches all nm entries.  But it does remove extraneous entries
30365         that may be confusing or cause issue in future maintenance.
30367 2015-10-18  Paul Eggert  <eggert@cs.ucla.edu>
30369         time_rz: return NULL if localtime_r fails
30370         * lib/time_rz.c (localtime_rz): Return NULL if localtime_r fails,
30371         while still attempting to pacify bleeding-edge GCC.
30373         fts: port to C11 alignof
30374         * doc/posix-headers/stdalign.texi (stdalign.h):
30375         Document the C11 restriction.
30376         * lib/fts.c: Include stddef.h, for max_align_t.
30377         (fts_alloc): Align using max_align_t, not FTSENT.
30378         * modules/fts (Depends-on): Add stddef.
30380 2015-10-18  Jim Meyering  <meyering@fb.com>
30382         time_rz: avoid warning from bleeding-edge gcc's -Wnonnull
30383         Compiling with gcc version 6.0.0 20151017 (experimental) (GCC), I
30384         would see this:
30386         lib/time_rz.c: In function 'localtime_rz':
30387         lib/time_rz.c:292:15: error: nonnull argument 'tm' compared to NULL \
30388           [-Werror=nonnull]
30389                    if (tm && !save_abbr (tz, tm))
30390                        ^
30392         That was complaining about "tm" because it is a parameter that was
30393         declared with the __nonnull__ attribute.
30394         * lib/time_rz.c (localtime_rz): Don't bother setting "tm" to the
30395         result of localtime_r.
30397 2015-10-17  Jim Meyering  <meyering@fb.com>
30399         maint.mk: _gl_TS_function_match: fix "extern" name extracting regexp
30400         * top/maint.mk (_gl_TS_function_match): This heuristic extern-function-
30401         name-extraction regexp mistakenly used \S+, and would mistakenly
30402         extract "*F" from "extern int *F()" rather than the desired "F".
30403         Use \w+ instead.
30405 2015-10-17  Jim Meyering  <meyering@fb.com>
30407         maint.mk: sc_tight_scope: factor and support OS X
30408         * top/maint.mk (_gl_tight_scope): Address three issues:
30409         - factor out four instances of code that wraps a string in "^...$"
30410         - allow nm-reported symbol names to have an optional leading "_"
30411         - add "main" to the list of ignored variable names, because on os x,
30412         "main" has nm-reported type "S" in the variable-checking section.
30414 2015-10-16  Dmitry Smirnov  <onlyjob@member.fsf.org>
30416         safe-alloc-tests: fix typo in license header
30417         * tests/test-safe-alloc.c: Mention LGPL 2.1, not 3.1
30419 2015-10-15  Simon Reinhardt  <simon@keinstein.org>
30421         copy-file: fix mem leak in error case
30422         * lib/copy-file.c (qcopy_file_preserving): Free the 32KiB buffer
30423         upon error opening or performing I/O to the src and dest files.
30425 2015-10-15  Mike Frysinger  <vapier@chromium.org>
30427         localename: control langinfo.h inclusion
30428         This header is only used to work around buggy behavior in old
30429         versions of glibc, so do not include it all the time.  Otherwise
30430         we get build failures on systems that do not provide langinfo.h.
30431         * lib/localename.c: Wrap langinfo.h include with same ifdefs used
30432         in the source later on.
30433         The patch was originally submitted to gettext as:
30434         https://lists.gnu.org/r/bug-gettext/2015-10/msg00011.html
30436 2015-10-13  Paul Eggert  <eggert@cs.ucla.edu>
30438         binary-io, math, pthread, sys_socket, u64, unistd: port to strict C
30439         * lib/binary-io.c, lib/math.c, lib/pthread.c, lib/sys_socket.c:
30440         * lib/u64.c, lib/unistd.c:
30441         Append 'typedef int dummy;', to pacify compilers that are picky
30442         about empty translation units.
30444 2015-10-12  Pino Toscano  <ptoscano@redhat.com>
30446         accept4-tests: fix to avoid non portable flags
30447         * tests/test-accept4.c (main): Pass only SOCK_* flags to accept4(),
30448         as they are the only documented ones, and passing others may trigger
30449         EINVAL (seen on FreeBSD 10.1-RELEASE).
30450         * doc/glibc-functions/accept4.texi: Mention that we don't provide
30451         the SOCK_CLOEXEC or SOCK_NONBLOCK defines.
30453 2015-10-06  Pavel Raiskup  <praiskup@redhat.com>
30455         gnulib-tool: fix tests of 'extensions' module
30456         This complements f8fe25fab60e3c687a124 commit.
30457         * gnulib-tool (func_emit_pre_early_macros): New function, it wraps
30458         emitting of initial gl_EARLY macros.
30459         (func_import, func_create_testdir): All dumps of gl_PROG_AR_RANLIB
30460         replaced with func_emit_pre_early_macros call.
30462 2015-10-06  Paul Eggert  <eggert@cs.ucla.edu>
30464         unicase/locale-language: fix typo in utf-8 cookie
30465         * lib/unicase/locale-languages.gperf: Fix gperf input file format.
30466         Problem reported by Zbigniew Jędrzejewski-Szmek.
30468 2015-10-02  Paul Eggert  <eggert@cs.ucla.edu>
30470         xalloc: do not worry about GCC 5 warning on 32 bit
30471         * lib/xalloc.h: Revert previous change.
30472         I found a better way to fix this in coreutils.
30474 2015-10-02  Pádraig Brady  <P@draigBrady.com>
30476         xalloc: avoid GCC 5.1 warning on 32 bit
30477         * lib/xalloc.h: Disable -Wstrict-overflow for uses of
30478         xalloc_oversized(), which was seen to give this warning
30479         on GCC 5.1 on 32 bit: "assuming signed overflow does not occur
30480         when simplifying conditional".
30482 2015-10-02  Daiki Ueno  <ueno@gnu.org>
30484         uniname/uniname-tests: avoid compiler warnings
30485         * tests/uniname/test-uninames.c (fill_names, fill_aliases): Remove
30486         unused local variables.
30487         (test_alias_lookup): Fix alias name display in failure cases.
30489 2015-09-26  Paul Eggert  <eggert@cs.ucla.edu>
30491         c-ctype: do not worry about EBCDIC + char signed
30492         Drop support for EBCDIC with char being signed, as this breaks too
30493         many programs.  Problem reported by Ben Pfaff in:
30494         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00053.html
30495         * lib/c-ctype.h: Verify that we are not using EBCDIC with
30496         char being signed.
30497         (_C_CTYPE_LOWER_A_THRU_F_N): New macro.
30498         (_C_CTYPE_LOWER_N, _C_CTYPE_A_THRU_F): Use it.
30499         (_C_CTYPE_DIGIT, _C_CTYPE_LOWER, _C_CTYPE_PUNCT, _C_CTYPE_UPPER):
30500         (c_isascii, c_isgraph, c_isprint, c_ispunct, c_tolower, c_toupper):
30501         * tests/test-c-ctype.c (test_all):
30502         Simplify by assuming standard char values cannot be negative.
30503         * tests/test-c-ctype.c (NCHARS, to_char): Remove; all uses removed.
30505 2015-09-25  Paul Eggert  <eggert@cs.ucla.edu>
30507         c-ctype: port better to z/OS EBCDIC
30508         Problems reported by Daniel Richard G. in:
30509         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00050.html
30510         * lib/c-ctype.h (_C_CTYPE_CNTRL): Rewrite in terms of
30511         the C standard escapes and _C_CTYPE_OTHER_CNTRL.
30512         (_C_CTYPE_OTHER_CNTRL): New macro.
30513         * tests/test-c-ctype.c (test_all): Test from CHAR_MIN, not
30514         from SCHAR_MIN, as the functions are defined only from values
30515         promoted from char or from unsigned char, not necessarily from
30516         signed char.
30518 2015-09-25  Pavel Raiskup  <praiskup@redhat.com>
30520         gnulib-common.m4: fix gl_PROG_AR_RANLIB/AM_PROG_AR clash
30522         The gl_PROG_AR_RANLIB (it is always called by gl_EARLY) sets AR
30523         and ARFLAGS variables.  Doing this unconditionally could break
30524         later Automake's AM_PROG_AR invocation (at least it's
30525         AC_CHECK_TOOLS call to detect correct 'ar' binary).
30527         Original purpose of the gl_PROG_AR_RANLIB was only to handle the
30528         Amsterdam Compiler Kit, so make the previous code to have effects
30529         only on ACK, and rather automatically call the Automake's
30530         AM_PROG_AR as soon as possible to decide other cases.
30532         References:
30533         http://lists.gnu.org/r/bug-gnulib/2015-07/msg00001.html
30535         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): AC_BEFORE AM_PROG_AR.
30536         Set the AR/ARFLAGS to ACK defaults OR call AM_PROG_AR.  If neither
30537         is possible, keep setting AR/ARFLAGS to reasonable defaults.
30538         * gnulib-tool (func_import): Put the gl_USE_SYSTEM_EXTENSIONS
30539         right before gl_PROG_AR_RANLIB into gnulib-comp.m4 (if the
30540         'extensions' module is used.
30541         * modules/extensions (configure.ac-early): Remove as this snippet
30542         is added to gnulib-comp.m4 earlier anyway.
30544 2015-09-25  Paul Eggert  <eggert@cs.ucla.edu>
30546         sockets: MS Windows initalization fixes
30547         Problem reported by Test User in:
30548         http://lists.gnu.org/r/help-shishi/2015-09/msg00001.html
30549         * lib/sockets.h (SOCKETS_1_0, SOCKETS_2_0, SOCKETS_2_1):
30550         Correct the endianness.
30551         * lib/sockets.c (gl_sockets_startup): Return 2 on any version
30552         number mismatch, not just on <.  Cleanup before any such failure.
30554 2015-09-25  Mats Erik Andersson  <gnu@gisladisker.se>
30556         gc: fix detection of installed libgcrypt version
30557         * m4/gc.m4: Use AM_PATH_LIBCRYPT to test for libcrypt versions
30558         at least as recent as 1.4.4.  The previously used macro is not
30559         available now, since modules were removed in version 1.6.0.
30561 2015-09-25  Paul Eggert  <eggert@cs.ucla.edu>
30563         c-ctype: rewrite to use inline functions
30564         This simplifies maintenance, since it makes for just one
30565         implementation of each function, letting the compiler have the fun
30566         of optimization.  In practice this works well nowadays with GCC.
30567         E.g., c_isascii might need only three instructions even though the
30568         source code lists every ASCII character individually in a large
30569         switch statement.
30570         Also, fix some z/OS porting bugs reported by Daniel Richard G. in:
30571         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00037.html
30572         * NEWS: Document the API change.
30573         * lib/c-ctype.c: Drastically simplify, since this now just expands
30574         inline functions.
30575         * lib/c-ctype.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
30576         (C_CTYPE_INLINE): New macro.
30577         (C_CTYPE_CONSECUTIVE_DIGITS, C_CTYPE_CONSECUTIVE_LOWERCASE)
30578         (C_CTYPE_CONSECUTIVE_UPPERCASE): Remove.
30579         Verify that either ASCII or EBCDIC is being used.
30580         (_C_CTYPE_SIGNED_EBCDIC, _C_CTYPE_CNTRL, _C_CTYPE_A_THRU_F_N)
30581         (_C_CTYPE_DIGIT_N, _C_CTYPE_LOWER_N, _C_CTYPE_UPPER_N)
30582         (_C_CTYPE_CASES, _C_CTYPE_A_THRU_F, _C_CTYPE_DIGIT, _C_CTYPE_LOWER)
30583         (_C_CTYPE_UPPER, _C_CTYPE_PUNCT_PLAIN):
30584         New private macros.
30585         (_C_CTYPE_CNTRL): In EBCDIC, '\x07' is a control, not '\xff'.
30586         (c_isalnum, c_isalpha, c_isascii, c_isblank, c_iscntrl, c_isdigit)
30587         (c_isgraph, c_islower, c_isprint, c_ispunct, c_isspace, c_isupper)
30588         (c_isxdigit, c_tolower, c_toupper): Now inline functions.
30589         (c_tolower, c_toupper): When converting, return the unsigned char,
30590         as that is what z/OS does.
30591         * lib/c-strcaseeq.h (CASEEQ): Simplify in the light of the removal
30592         of some c-ctype.h macros.
30593         * modules/c-ctype (Depends-on): Add extern-inline; remove verify.
30594         * tests/test-c-ctype.c (test_all): Fix test for c_toupper and
30595         c_tolower promotion to be compatible with z/OS.
30597 2015-09-24  Pavel Raiskup  <praiskup@redhat.com>
30599         gitlog-to-changelog: trim only trailing whitespaces
30600         This is fix for --format regression introduced by commit
30601         2b93079a5d1baa4d;  it caused that --format='%s%n%n%b%n' (see the
30602         doubled %n string) had no effect anymore.  This format
30603         specification has been used e.g. by GNU paxuitils (commit
30604         edfd8bcc3).
30606         * build-aux/gitlog-to-changelog (main): Stop squashing multiple
30607         newlines in commmit messages.
30609 2015-09-23  Paul Eggert  <eggert@cs.ucla.edu>
30611         Test that c_iscntrl agrees with iscntrl, etc.
30612         Suggested by Daniel Richard G. in:
30613         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00034.html
30614         * modules/c-ctype-tests (Depends-on): Add ctype.
30615         * tests/test-c-ctype.c: Include <ctype.h>.
30616         (NCHARS): New constant.
30617         (test_agree_with_C_locale): New function.
30618         (main): Use it.
30619         (test_all): Use named constants.
30621         c-ctype: improve c_isascii testing
30622         * tests/test-c-ctype.c (test_all): Port c_isascii test to EBCDIC.
30623         Add a test to count the number of ASCII characters.
30625 2015-09-22  Paul Eggert  <eggert@cs.ucla.edu>
30627         savewd: remove SAVEWD_CHDIR_READABLE
30628         It was problematic in the light of file systems that ignore umask.
30629         Problem reported by Sebastian Unger in: http://bugs.gnu.org/21534
30630         * NEWS: Document this.
30631         * lib/mkancesdirs.c (mkancesdirs): MAKE_DIR now returns 0 if
30632         successful, -1 (setting errno) on failure, rather than something
30633         more complicated than that.
30634         * lib/mkdir-p.c (make_dir_parents):
30635         Do not use SAVEWD_CHDIR_READABLE.
30636         * lib/savewd.c (savewd_chdir):
30637         Remove support for SAVEWD_CHDIR_READABLE.
30638         * lib/savewd.h (SAVEWD_CHDIR_READABLE): Remove.
30640         c-ctype: port better to EBCDIC
30641         Problems reported by Daniel Richard G. in
30642         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00020.html
30643         * lib/c-ctype.c: Include <limits.h>, for CHAR_MIN and CHAR_MAX.
30644         Include "verify.h".
30645         (C_CTYPE_ASCII, C_CTYPE_CONSECUTIVE_DIGITS)
30646         (C_CTYPE_CONSECUTIVE_LOWERCASE, C_CTYPE_CONSECUTIVE_UPPERCASE):
30647         Define as enum constants with value false, if not defined, so that
30648         code can use 'if' instead of 'ifdef'.  Using 'if' helps make the
30649         code more portable, as both branches of the 'if' are compiled on
30650         all platforms.
30651         (C_CTYPE_EBCDIC): New constant.
30652         Verify that the character set is either ASCII or EBCDIC.
30653         (to_char): New static function.
30654         (c_isascii, c_iscntrl):
30655         Assume standard control-character assignments for EBCDIC.
30656         (c_isalnum, c_isalpha, c_isdigit, c_islower, c_isgraph, c_isprint)
30657         (c_ispunct, c_isupper, c_isxdigit, c_tolower, c_toupper):
30658         Rewrite to use 'if' instead of 'ifdef'.
30659         Use to_char if non-ASCII.  Prefer <= to >=.
30660         Prefer true and false to 1 and 0, for booleans.
30661         (c_iscntrl): Use 'if', not 'ifdef'.
30662         * modules/c-ctype (Depends-on): Add verify.
30663         * tests/test-c-ctype.c: Include <limits.h>, for CHAR_MIN
30664         (to_char): New function.
30665         (test_all): Port to EBCDIC.  Add some more tests, e.g., for c_ispunct.
30667 2015-09-21  Pádraig Brady  <P@draigBrady.com>
30669         nanosleep: fix return code for interrupted replacement
30670         * lib/nanosleep.c (nanosleep): In the replaced nanosleep, ensure
30671         that we return -1 in the case the call is interrupted by a signal,
30672         rather than the current value of 1.
30673         Diagnosed and tested by Daniel Richard G.
30675 2015-09-19  Paul Eggert  <eggert@cs.ucla.edu>
30677         Diagnose ERE '()|\1'
30678         Problem reported by Hanno Böck in: http://bugs.gnu.org/21513
30679         * lib/regcomp.c (parse_reg_exp): While parsing alternatives, keep
30680         track of the set of previously-completed subexpressions available
30681         before the first alternative, and restore this set just before
30682         parsing each subsequent alternative.  This lets us diagnose the
30683         invalid back-reference in the ERE '()|\1'.
30685         regex: merge patches from libc
30687         2015-09-08  Joseph Myers  <joseph@codesourcery.com>
30688         Move bits/libc-lock.h and bits/libc-lockP.h out of bits/ (bug 14912).
30689         * lib/regex_internal.h:
30690         Include <libc-lock.h> instead of <bits/libc-lock.h>.
30692         2015-06-09  Joseph Myers  <joseph@codesourcery.com>
30693         Fix regcomp wcscoll, wcscmp namespace (bug 18497).
30694         * lib/regcomp.c (build_range_exp): Call __wcscoll instead of
30695         wcscoll.
30696         * lib/regexec.c (check_node_accept_bytes): Likewise.
30698         2015-06-05  Joseph Myers  <joseph@codesourcery.com>
30699         Fix regex wcrtomb namespace (bug 18496).
30700         * lib/regex_internal.c (build_wcs_upper_buffer): Call __wcrtomb
30701         instead of wcrtomb.
30703         2015-06-05  Joseph Myers  <joseph@codesourcery.com>
30704         Fix regex wctype namespace (bug 18495).
30705         * lib/regcomp.c (re_compile_fastmap_iter): Call __towlower
30706         instead of towlower.
30707         * lib/regex_internal.c (build_wcs_upper_buffer): Call __iswlower
30708         instead of iswlower.  Call __towupper instead of towupper.
30709         * lib/regex_internal.h (IS_WIDE_WORD_CHAR): Call __iswalnum
30710         instead of iswalnum.
30712         2015-01-07  Chris Metcalf  <cmetcalf@ezchip.com>
30713         * lib/regcomp.c (parse_bracket_exp): Initialize type to
30714         COLL_SYM in a couple of places to avoid uninitialized variable
30715         wanings on tilegx gcc 4.8.2.
30717         2014-11-24  Siddhesh Poyarekar  <siddhesh@redhat.com>
30718         * lib/regex_internal.h: Remove NOT_IN_libc.
30720         2014-11-17  Andreas Schwab  <schwab@suse.de>
30721         * lib/regex_internal.h: Don't include <locale/elem-hash.h>.
30723         2014-09-11  Roland McGrath  <roland@hack.frob.com>
30724         Move findidx nested functions to top-level.
30725         * lib/regcomp.c [_LIBC]: #include <locale/weight.h>.
30726         (build_equiv_class) [_LIBC]: Don't #include it inside the function.
30727         Pass new arguments to findidx.
30728         * lib/regexec.c [RE_ENABLE_I18N] [_LIBC]: #include <locale/weight.h>.
30729         [RE_ENABLE_I18N] (check_node_accept_bytes) [_LIBC]:
30730         Don't #include it inside the function.  Pass new arguments to findidx.
30731         * lib/regex_internal.h:
30732         [!NOT_IN_libc] [_LIBC]: #include <locale/weight.h>.
30733         (re_string_elem_size_at): Don't #include it inside the function.
30734         Pass new arguments to findidx.
30736         2014-08-01  Siddhesh Poyarekar  <siddhesh@redhat.com>
30737         Check if DEBUG is defined in regex_internal.c
30738         * lib/regex_internal.c: Check if DEBUG is defined and is set.
30740 2015-09-08   Assaf Gordon  <assafgordon@gmail.com>
30742         ceill: detect buggy OpenBSD implementation
30743         * m4/ceill.m4 (gl_FUNC_CEILL): Detect buggy openBSD implementation
30744         which returns zero for small values.  Discussed here:
30745         http://lists.gnu.org/r/bug-gnulib/2015-08/msg00010.html
30747 2015-09-08  Dave Chiluk  <chiluk@canonical.com>
30749         mountlist: add me_mntroot field on Linux machines
30750         * lib/mountlist.c (read_file_system_list): Populate me_mntroot in
30751         mount_entry so Linux machines based on /proc/self/mountinfo can
30752         distinguish between bind mounts and original mounts.  In reality bind
30753         mounts aren't treated differently than mountroot=/ mounts by the
30754         kernel, but the user often wants these bind mounts distinguished.
30755         * lib/mountlist.h (struct mount_entry): Add me_mntroot element.
30756         More details at https://pad.lv/1432871
30758 2015-09-08  Christian Egli  <christian.egli@sbs.ch>
30760         doc: Describe to use multiple instances of gnulib
30761         * doc/gnulib-tool.texi: Add a section to the manual outlining how two
30762         instances of gnulib with different modules can be used, for example one
30763         for a lib and another one for associated tools.
30765 2015-09-01  Pádraig Brady  <P@draigBrady.com>
30767         base32: mark function as __attribute__ const
30768         * lib/base32.h (isbase32): Mark __attribute__ const as
30769         suggested by GCC, and consistent with the base64 module.
30771 2015-08-20  Daiki Ueno  <ueno@gnu.org>
30773         gnulib-tool: don't transform binary files with sed
30774         * gnulib-tool (func_add_or_update): Don't apply sed_transform_* to
30775         .mo and .class files.
30776         Reported by Denis Denisov.
30778 2015-08-10  Daiki Ueno  <ueno@gnu.org>
30780         gperf: respect silent rules
30781         * modules/gperf (Makefile.am): Define V_GPERF, V_GPERF_, and
30782         V_GPERF_0 for silent rules.
30783         * modules/iconv_open (Makefile.am): Use V_GPERF.
30784         * modules/unicase/locale-language (Makefile.am): Likewise.
30785         * modules/unicase/special-casing (Makefile.am): Likewise.
30786         * modules/unictype/category-byname (Makefile.am): Likewise.
30787         * modules/unictype/combining-class-byname (Makefile.am): Likewise.
30788         * modules/unictype/joininggroup-byname (Makefile.am): Likewise.
30789         * modules/unictype/joiningtype-byname (Makefile.am): Likewise.
30790         * modules/unictype/property-byname (Makefile.am): Likewise.
30791         * modules/unictype/scripts (Makefile.am): Likewise.
30792         * modules/uninorm/composition (Makefile.am): Likewise.
30794 2015-08-03  Paul Eggert  <eggert@cs.ucla.edu>
30796         Improve port of stdalign to C++11
30797         Problem reported by Sundaram in:
30798         http://lists.gnu.org/r/bug-gnulib/2015-08/msg00003.html
30799         * lib/stdalign.in.h (alignof, alignas): Don't define if C++11 or newer.
30800         (__alignas_is_defined): Define if C++11 or newer.
30802 2015-08-01  Assaf Gordon  <assafgordon@gmail.com>  (tiny change)
30804         pmccabe2html: fix gawk regex escaping
30805         * build-aux/pmccabe2html: Add one more backslash to properly
30806         escape the gsub replacement value.  Fixes this error:
30807         gawk: ./build-aux/pmccabe2html:425: \
30808         warning: escape sequence `\&' treated as plain `&'
30810 2015-07-29  Paul Eggert  <eggert@cs.ucla.edu>
30812         time_rz: port to pedantic memcpy
30813         * lib/time_rz.c (tzalloc): Pacify pedantic memcpy implementations
30814         that reject memcpy (..., NULL, 0).
30816 2015-07-27  Paul Eggert  <eggert@cs.ucla.edu>
30818         time_rz: port better to MinGW
30819         Don't change tzname, as this makes MinGW dump core (Bug#21020).
30820         Instead, store the tzname copy in the struct tm_zone object.
30821         Problem reported by Eli Zaretskii in: http://bugs.gnu.org/21020#48
30822         * lib/strftime.c [!_LIBC]:
30823         * lib/time_rz.c: Include time-internal.h.
30824         * lib/strftime.c (strftime_case_) [!HAVE_TM_ZONE]: Infer the zone
30825         name from *TZ rather than from TZNAME, doable because *TZ now has
30826         a tzname_copy member.
30827         * lib/time-internal.h: New file, with contents taken from
30828         lib/time_rz.c.  It's separate because strftime.c now accesses
30829         struct tm_zone members.
30830         (struct tm_zone) [HAVE_TZNAME && !HAVE_TM_ZONE]:
30831         New member tzname_copy.
30832         * lib/time_rz.c (struct tm_zone): Move to time-internal.h.
30833         (tzalloc) [HAVE_TZNAME && !HAVE_TM_ZONE]:
30834         Initialize tzname_copy member.
30835         (save_abbr) [HAVE_TZNAME && !HAVE_TM_ZONE]: Save abbreviation
30836         in tzname_copy member.
30837         (revert_tz) [HAVE_TZNAME]: Remove no-longer-needed tzname saving.
30838         (restore_tzname): Remove; no longer needed.  All calls removed.
30839         * modules/time_rz (Files): Add lib/time-internal.h.
30841         time: port __need_time_t to MinGW
30842         * lib/time.in.h (__need_time_t): Do not treat specially on MinGW.
30843         Fix reported by Eli Zaretskii in: http://bugs.gnu.org/21020#36
30845 2015-07-25  Paul Eggert  <eggert@cs.ucla.edu>
30847         strftime: fix newly-introduced bug on Solaris
30848         * lib/strftime.c (strftime_case_): Set the local variable 'zone'
30849         consistently at the start, rather than doing some of the setup at
30850         the start and some in the %Z format spec.  This is cleaner, and
30851         works better with time_rz on platforms like Solaris where struct
30852         tm lacks a tm_zone member, as when !HAVE_TM_GMTOFF %z's calls to
30853         mktime_z and localtime_rz can mess up the tzname cache.
30855         test-strftime: test for Solaris bug
30856         * modules/strftime-tests (Depends-on): Add strerror.
30857         * tests/test-strftime.c: Include <errno.h>.
30858         (posixtm_test): New function, containing the old 'main'.
30859         (struct tzalloc_test, struct localtime_rz_test): New types.
30860         (TZ, LT): New static vars.
30861         (tzalloc_test): New function.
30862         (main): Rewrite in terms of posixtm_test and tzalloc_test.
30864         time_rz: port to Solaris etc.
30865         Works around a tzname problem on platforms like Solaris that have
30866         tzname but not tm_zone, by setting tzname at the appropriate time
30867         and restoring it later.
30868         * lib/time_rz.c (tzname_address, tzname_value) [HAVE_TZNAME]:
30869         New static vars.
30870         (save_abbr) [HAVE_TZNAME]: Set them.
30871         (revert_tz) [HAVE_TZNAME]: Clear or use them.
30872         (restore_tzname): New function.
30873         (localtime_rz, mktime_z): Use it.
30875         time_rz: now LGPL
30876         * modules/time_rz (License): Now LGPL, because strftime depends on it.
30878         time_rz: make a constant 'const'
30879         * lib/time_rz.c (local_tz): Now const.
30881         time_rz: fix off-by-one typo
30882         * lib/time_rz.c (extend_abbrs): Fix off-by-one typo.
30884 2015-07-23  Paul Eggert  <eggert@cs.ucla.edu>
30886         fprintftime, strftime: use timezone_t args
30887         * NEWS: Document the change.
30888         * lib/fprintftime.h (fprintftime):
30889         * lib/strftime.c (extra_args) [my_strftime]:
30890         * lib/strftime.h (nstrftime):
30891         Time zone arg is now of type timezone_t, not int.
30892         * lib/strftime.c (mktime_z) [_LIBC]: New macro.
30893         (__gmtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: Remove; no longer used.
30894         (my_strftime) [emacs && !my_strftime]:
30895         (emacs_strftimeu) [emacs && !FPRINTFTIME]:
30896         Remove; Emacs doesn't need this any more.
30897         (HAVE_TZSET) [my_strftime]: Unset, since we no longer want
30898         fprintftime and nstrftime to call tzset.
30899         (ut) [!my_strftime]: Remove, replacing with ...
30900         (tz) [!my_stftime]: ... this new macro.  All uses changed.
30901         (strftime_case_): Use localtime_rz and mktime_z instead
30902         of localtime_r and mktime.
30903         * modules/fprintftime (Depends-on): Add time_rz.
30904         * modules/strftime (Depends-on): Add time_rz.  Remove time_r.
30905         * tests/test-strftime.c (main): Adjust to new nstrftime API.
30907         time_rz: new module
30908         * MODULES.html.sh: Add time_rz.
30909         * lib/time_rz.c, m4/time_rz.m4, modules/time_rz: New files.
30910         * lib/time.in.h (timezone_t, tzalloc, tzfree, localtime_rz, mktime_z):
30911         New decls if _GNU_SOURCE && @GNULIB_TIME_RZ@ && ! @HAVE_TIMEZONE_T@.
30912         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS):
30913         New var HAVE_TIMEZONE_T (default 0).
30914         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS):
30915         New var GNULIB_TIME_RZ (default 0).
30916         * modules/time (time.h): Substitute the new vars.
30918         flexmember: license is now unlimited
30919         * modules/flexmember (License): Change to unlimited,
30920         since its only source file gives an unlimited license.
30922 2015-07-15  Eric Blake  <eblake@redhat.com>
30924         maint: update copyright paper procedures
30925         * config/srclist.txt: Drop outdated files.
30926         * doc/Copyright/conditions.txt: Update to latest.
30927         * doc/Copyright/assign.changes.manual: Delete.
30928         * doc/Copyright/assign.future.manual: Likewise.
30929         * doc/Copyright/assign.manual: Likewise.
30930         * doc/Copyright/assign.translation.manual: Likewise.
30931         * doc/Copyright/disclaim.changes.manual: Likewise.
30932         * doc/Copyright/disclaim.manual: Likewise.
30933         * doc/Copyright/disclaim.program: Likewise.
30935 2015-07-07  Daiki Ueno  <ueno@gnu.org>
30937         localename: fix link error on Illumos
30938         Illumos defines __sun, but does not have getlocalename_l nor the
30939         equivalent.  This partially reverts commit 387c214.
30940         * m4/localename.m4 (gl_LOCALENAME): Check if getlocalename_l is
30941         available, as well as uselocale.
30942         * lib/localename.c [HAVE_USELOCALE && __sun]: Don't fallback to
30943         use getlocalename_l if it is not available.
30945 2015-07-07  Daiki Ueno  <ueno@gnu.org>
30947         unistr/uN-strtok-tests: avoid a trivial leak
30948         * tests/unistr/test-u-strtok.h (test_u_strtok): Untabify.  Free
30949         input and delim after the multibyte delimiter tests.
30951 2015-07-04  Paul Eggert  <eggert@cs.ucla.edu>
30953         file-has-acl, acl-permissions: fix HP-UX typos
30954         Problem reported by John David Anglin in: http://bugs.gnu.org/20979
30955         * lib/file-has-acl.c (file_has_acl):
30956         * lib/set-permissions.c (context_acl_from_mode)
30957         (context_aclv_from_mode, set_acls):
30958         Fix some obvious typos when HAVE_GETCL /* HP-UX */.
30959         They were introduced by the recent ACL changes.
30961         regex: match current GNU grep behavior
30962         These symbols have not matched GNU grep behavior for quite some time.
30963         Fix prompted by Balazs Kezes bug report at: http://bugs.gnu.org/20974
30964         * lib/regex.h (RE_SYNTAX_GREP, RE_SYNTAX_EGREP):
30965         Change to match current GNU behavior.
30966         Simplify by expressing it as differences from POSIX BREs and EREs.
30967         (RE_SYNTAX_POSIX_EGREP): No longer differs from GNU behavior.
30969 2015-07-03  Jim Meyering  <meyering@fb.com>
30971         set-permissions.c: adjust acl_from_mode's cpp guard
30972         * lib/set-permissions.c (acl_from_mode): Guard with #ifdef
30973         directives identical to those guarding the sole use.
30974         Otherwise, on some systems, we'd get a warning about
30975         the function being defined but not used.
30976         Also, filter through cppi to correct misleading indentation
30977         of cpp directives.
30979 2015-07-03  Pádraig Brady  <P@draigBrady.com>
30981         tests: restrict shells to those that support 'local'
30982         The local keyword is very widely supported and used
30983         in tests in coreutils and grep at least.  Therefore
30984         restrict to testing with shells that support it.
30985         This mainly excludes /bin/sh on Solaris.
30986         * tests/init.sh (gl_shell_test_script_): Add a test for 'local'.
30988 2015-07-03  Seiya Kawashima  <skawashima@uchicago.edu>  (tiny change)
30989         and Daiki Ueno  <ueno@gnu.org>
30991         unistr/uN-strtok: handle multibyte delimiters
30992         Previously, uN_strtok moved PTR to the next unit to the token end.
30993         When DELIM contained a multibyte character, the new position could
30994         be a middle of a multibyte character.
30995         * lib/unistr/u-strtok.h (FUNC): Place PTR at the next character
30996         after the token.
30997         * lib/unistr/u8-strtok.c (U_STRMBLEN): New macro.
30998         * lib/unistr/u16-strtok.c (U_STRMBLEN): New macro.
30999         * lib/unistr/u32-strtok.c (U_STRMBLEN): New macro.
31000         * modules/unistr/u8-strtok (Depends-on): Depend on
31001         unistr/u8-strmblen.
31002         * modules/unistr/u16-strtok (Depends-on): Depend on
31003         unistr/u16-strmblen.
31004         * modules/unistr/u32-strtok (Depends-on): Depend on
31005         unistr/u32-strmblen.
31006         * tests/unistr/test-u-strtok.h: New file.
31007         * tests/unistr/test-u8-strtok.c: New file.
31008         * tests/unistr/test-u16-strtok.c: New file.
31009         * tests/unistr/test-u32-strtok.c: New file.
31010         * modules/unistr/u8-strtok-tests: New file.
31011         * modules/unistr/u32-strtok-tests: New file.
31012         * modules/unistr/u16-strtok-tests: New file.
31014 2015-07-02  Friedrich Haubensak  <hsk@fli-leibniz.de>
31016         update-copyright: fix test failure with perl >= 5.22 (trivial)
31017         * build-aux/update-copyright: Escape a literal left curly bracket,
31018         required with perl >= 5.22
31020 2015-07-02  Daiki Ueno  <ueno@gnu.org>
31022         u{16,32}-strstr-tests: relax timeout condition
31023         On slower platforms (e.g., Solaris 10/SPARC), u{16,32}-strstr
31024         tests can take longer than 5 seconds to complete.
31025         Reported by Dagobert Michelsen in:
31026         https://lists.gnu.org/r/bug-libunistring/2015-06/msg00006.html
31027         * tests/unistr/test-u16-strstr.c (main): Increase timeout from 5
31028         seconds to 10 seconds.
31029         * tests/unistr/test-u32-strstr.c (main): Likewise.
31031 2015-07-01  Pavel Raiskup  <praiskup@redhat.com>
31033         gnulib-common.m4: change the ARFLAGS default to 'cr'
31034         In some GNU/Linux distributions people started to compile 'ar'
31035         binary with --enable-deterministic-archives (binutils project).
31036         That, however, in combination with previous autotools long time
31037         working default AR{_,}FLAGS=cru causes warnings on such
31038         installations:
31039         ar: `u' modifier ignored since `D' is the default (see `U')
31040         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Set ARFLAGS='cr' if not
31041         set already.
31043 2015-07-01  Pavel Raiskup  <praiskup@redhat.com>
31045         selinux-h: avoid double free after *getfilecon()
31046         Originally reported by Ben Shelton on bug-tar:
31047         http://lists.gnu.org/r/bug-tar/2015-04/msg00009.html
31048         * lib/getfilecon.c (map_to_failure): Set the already freed '*con'
31049         pointer to NULL.  Man getfilecon(3) says that any non-NULL '*con'
31050         param should be freed by freecon(3) (regardless the return value).
31052 2015-07-01  Pavel Fedin  <p.fedin@samsung.com>
31054         fix pty related tests issues on Windows (trivial)
31055         * lib/grantpt.c (grantpt): grantpt.c seems to be never used on Windows,
31056         however it's still present in tests/ subdirectory of the final project.
31057         Therefore avoid it to pass `make check`.
31058         * tests/test-openpty.c (main): Windows has no PTYs and gnulib's openpty()
31059         will just return -ENOSYS, so avoid this non applicable test allowing
31060         the build to proceed.
31062 2015-07-01  Pádraig Brady  <P@draigBrady.com>
31064         acl: fix definition of acl_from_mode on FreeBSD
31065         This was causing basic coreutils copy operations to fail
31066         with ENOTSUP or ENOENT error messages.
31067         * lib/acl-internal.h (acl_from_mode): Only define when
31068         ! defined HAVE_ACL_FROM_TEXT.  That allows the version
31069         of acl_from_mode() defined in lib/set-permissions.c to
31070         be used on FreeBSD at least.
31071         * lib/set-permissions.c: Fix up comment spelling,
31072         and a redundant variable assignment; noticed in passing.
31074 2015-06-30  Pádraig Brady  <P@draigBrady.com>
31076         readutmp: port to FreeBSD >= 9
31077         * lib/readutmp.h: Map utmpxname() to setutxdb().
31078         With that coreutils who(1) and pinky(1) tests pass.
31080 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
31082         mgetgroups: port to strict OS X
31083         The previous fix wasn't working, so use a bigger hammer (Bug#20923).
31084         * lib/mgetgroups.c: Ignore -Wpointer-sign diagnostics.
31085         (getgrouplist_gids) [HAVE_GETGROUPLIST]: Remove.  All uses removed.
31086         * m4/mgetgroups.m4 (gl_MGETGROUPS): Revert recent changes.
31088 2015-06-29  Paul Eggert  <eggert@cs.ucla.edu>
31090         mgetgroups: port to strict OS X
31091         * doc/glibc-functions/getgrouplist.texi (getgrouplist):
31092         Document the getgrouplist problem.
31093         * lib/mgetgroups.c (getgrouplist_gids) [HAVE_GETGROUPLIST]:
31094         New macro.
31095         (mgetgroups): Use it.
31096         * m4/mgetgroups.m4 (gl_MGETGROUPS):
31097         Check for OS X signature for getgrouplist.
31099 2015-06-29  Jim Meyering  <meyering@fb.com>
31101         linkat: fix invalid definition of LINKAT_SYMLINK_NOTSUP on OS X
31102         It started like this when building coreutils' latest on OS X,
31103         invoking ./configure with a nonempty --cache=.cache:
31105           lib/linkat.c:46:42: error: operator '||' has no right operand
31106           lib/linkat.c: In function 'rpl_linkat':
31107           lib/linkat.c:330:27: error: #if with no expression
31109         Here's linkat.c's line 46:
31111           #if !HAVE_LINKAT || LINKAT_SYMLINK_NOTSUP
31113         Here's some context:
31115           $ grep linkat_nofoll .cache
31116           gl_cv_func_linkat_nofollow=${gl_cv_func_linkat_nofollow=no}
31117           $ grep LINKAT_SYM lib/config.h
31118           #define LINKAT_SYMLINK_NOTSUP
31120         The problem is that m4/linkat.m4's gl_FUNC_LINKAT
31121         uses AC_CACHE_CHECK to set LINKAT_SYMLINK_NOTSUP,
31122         but that violates a tenet of AC_CACHE_CHECK: it must
31123         have no side effect other than setting its cache variable.
31125         What happens is that when the cache is set, we'd skip the
31126         code in that AC_CACHE_CHECK call, and leave LINKAT_SYMLINK_NOTSUP
31127         defined to whatever value it happened to have in configure's
31128         environment.  In my case, it was not defined, so this later code:
31130           AC_DEFINE_UNQUOTED([LINKAT_SYMLINK_NOTSUP], [$LINKAT_SYMLINK_NOTSUP],
31131             [Define to 1 if linkat can create hardlinks to symlinks])
31133         would emit code with an empty RHS.
31135         * m4/linkat.m4 (gl_FUNC_LINKAT): Move the setting of
31136         $LINKAT_SYMLINK_NOTSUP out of the AC_CACHE_CHECK code block.
31138 2015-06-28  Jim Meyering  <meyering@fb.com>
31140         mountlist: avoid an unused-label warning on OS X
31141         * lib/mountlist.c (read_file_system_list) [MOUNTED_GETMNTINFO]:
31142         Building on OS X, I saw a warning about the "free_then_fail" label
31143         being unused.  Give it the _GL_UNUSED_LABEL attribute.
31145         error.c: correct printf-style format: %d -> %u
31146         * lib/error.c (error_at_line): Correct __fxprintf format to use %u,
31147         rather than %d, to match the type of "line_number", unsigned int.
31149 2015-06-25  Pádraig Brady  <P@draigBrady.com>
31151         fts: avoid reading beyond the heap allocation
31152         GCC 5.1.1 with -O2 and -fsanitize=address reports
31153         a read of size 4 from a heap object of size 3 is indeed invalid,
31154         though this may be due to incorrect padding assumptions by GCC, see:
31155         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66661
31156         * lib/fts.c (fts_alloc): Increase allocation to alignof(FTSENT).
31157         * modules/fts: Depend on stdalign.
31159 2015-06-24  Pádraig Brady  <P@draigBrady.com>
31161         savedir: avoid undefined behavior in qsort call
31162         GCC 5.1.1 -fsanitize=undefined with glibc 2.21 is returning:
31163         "runtime error: null pointer passed as argument 1,
31164          which is declared to never be null"
31165         * lib/savedir.c (streamsavedir): Avoid the call with no entries.
31167 2015-06-24  Pádraig Brady  <P@draigBrady.com>
31169         userspec: avoid undefined behavior in gettext call
31170         GCC 5.1.1 -fsanitize=undefined with glibc 2.21 is returning:
31171         "runtime error: null pointer passed as argument 2,
31172          which is declared to never be null"
31173         * lib/userspec.c (parse_with_separator): Avoid passing NULL to gettext()
31175 2015-06-20  Glenn Morris  <rgm@gnu.org>
31177         gitlog-to-changelog: improve gitmerge.el commits
31178         Let the Emacs ChangeLog generation process exclude "skipped"
31179         messages from merge commits (Bug#20717).
31180         * build-aux/gitlog-to-changelog: Handle gitmerge.el skipped commits.
31182 2015-06-20  Paul Eggert  <eggert@cs.ucla.edu>
31184         wchar: fix MinGW compilation warnings
31185         This lets Texinfo compile cleanly.  See Eli Zaretskii in:
31186         http://lists.gnu.org/r/bug-gnulib/2015-06/msg00050.html
31187         * lib/wchar.in.h: Do not use special invocation convention on MinGW.
31189 2015-06-20  Daiki Ueno  <ueno@gnu.org>
31191         uniname/uniname-tests: use pristine data files
31192         For copyright and maintenance reasons, use the data files from UCD
31193         without modification.
31194         * tests/uniname/test-uninames.c (FIELDLEN): Remove.
31195         (getfield): Remove.
31196         (aliases_count): New global variable.
31197         (fill_names): Skip comments and empty lines in the input.  Don't
31198         use getfield.
31199         (fill_aliases): Likewise.
31200         (main): Change the expected command line arguments to:
31201         NAMES... ["--" ALIASES...].
31202         * tests/uniname/test-uninames.sh: Adjust to the change in
31203         test-uninames.c.
31204         * tests/uniname/UnicodeDataNames.txt: Remove.
31205         * tests/uniname/UnicodeData.txt: New file, from Unicode 8.0.0.
31206         * tests/uniname/NameAliases.txt: Use the pristine copy of the data
31207         file from Unicode 8.0.0.
31209 2015-06-19  Pádraig Brady  <P@draigBrady.com>
31211         linked-list, linkedhash-list: avoid compiler warnings
31212         * lib/gl_anytree_list2.h: Add _GL_ATTRIBUTE_PURE to avoid
31213         -Werror=suggest-attribute=pure (from GCC 5.1.1).
31215 2015-06-19  Daiki Ueno  <ueno@gnu.org>
31217         libunistring: bump minimum version to 0.9.6
31218         * all modules depending on updated Unicode data: Regenerate.
31219         The modules are listed by a script that does:
31220         - for each file listed by: git show --oneline --name-only 705f4efc
31221           - deduce the containing modules, based on "Files:"
31222         - deduce the modules which depend on the containing modules, based
31223           on "Depends-on:"
31225 2015-06-18  Daiki Ueno  <ueno@gnu.org>
31227         uniname/uniname: update to Unicode 8.0.0
31228         * lib/uniname/uninames.h: Regenerate.
31229         * tests/uniname/NameAliases.txt: Update from Unicode 8.0.0.
31230         * tests/uniname/UnicodeDataNames.txt: Update from Unicode 8.0.0.
31232 2015-06-18  Daiki Ueno  <ueno@gnu.org>
31234         libunistring: update to Unicode 8.0.0
31235         * lib/gen-uni-tables.c (SIZEOF): New macro.
31236         (output_numeric): Increase the maximum number of fractions from
31237         128 to 160.  Increase the level3 value width from 7 bits to 8
31238         bits.  Use SIZEOF instead of a hard-coded integer.
31239         (output_blocks): Decrease the cut-off threshold from 0x30000 to
31240         0x28000.
31241         (fill_blocks): Increase the maximum number of blocks from 256 to
31242         384.  Use SIZEOF instead of a hard-coded integer.
31243         (get_lbp): Adjust to new characters added in Unicode 8.0.0.
31244         * lib/unictype/numeric.c (uc_numeric_value): Adjust the level3
31245         value width.
31246         * lib/unilbrk/lbrktables.c (unilbrk_table): Implement LBP21b and
31247         a new case added to LBP22.
31248         * lib/uniwidth/width.c (nonspacing_table_data): Add U+08E3,
31249         U+A69E, U+FE2E..U+FE2F, U+111CA..U+111CC, U+11300,
31250         U+115DC..U+115DD, U+1171D..U+1171F, U+11722..U+11725,
31251         U+11727..U+1172B, U+1DA00..U+1DA36, U+1DA3B..U+1DA6C, U+1DA75,
31252         U+1DA84, U+1DA9B..U+1DA9F, and U+1DAA1..U+1DAAF.
31253         * tests/uniwidth/test-uc_width2.sh: Same updates as in
31254         lib/uniwidth/width.c.
31255         * all generated files under lib/uni* and tests/uni*: Regenerate.
31257 2015-06-16  Pádraig Brady  <P@draigBrady.com>
31259         gnu-web-doc-update: add --mirror to remove stale files
31260         * build-aux/gnu-web-doc-update: Add a --mirror option to remove
31261         out of date files from the CVS server.  Since this is usually
31262         appropriate, a prompt is given when the option is not specified,
31263         along with the `cvs remove` command that would be run.
31265 2015-06-06  Paul Eggert  <eggert@cs.ucla.edu>
31267         acl-permissions: pacify -Wsuggest-attribute=const
31268         Problem reported by Masanari Iida in: http://bugs.gnu.org/20753
31269         * lib/acl-internal.h (free_permission_context):
31270         Declare with attribute const if ! (defined USE_ACL &&
31271         (HAVE_ACL_GET_FILE || defined GETACL)).
31273         fsync: document AIX misbehavior
31274         * doc/posix-functions/fsync.texi (fsync):
31275         Document failure on AIX with read-only file descriptor.
31277 2015-06-05  Jonathan Perkin  <jperkin@joyent.com>  (tiny change)
31279         stdio: Don't redefine gets when using C++
31280         * lib/stdio.in.h (gets): Disable warning on C++.
31282 2015-06-05  Paul Eggert  <eggert@cs.ucla.edu>
31284         acl-permissions: port to AIX, C89 HP-UX
31285         Problems reported by Michael Felt.
31286         * lib/file-has-acl.c (file_has_acl) [HAVE_STATACL]:
31287         * lib/get-permissions.c (get_permissions) [USE_ACL && HAVE_STATACL]:
31288         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]:
31289         * lib/set-permissions.c (set_acls) [HAVE_ACLX_GET && ACL_AIX_WIP]:
31290         Add cast for AIX, whose system calls are declared to accept
31291         char * even though the arguments are really char const *.
31292         * lib/get-permissions.c (get_permissions):
31293         If USE_ACL && HAVE_GETACL /* HP-UX */, don't assume C99.
31294         If USE_ACL && HAVE_STATACL /* older AIX */, add missing decl
31295         that broke a build.
31296         * lib/mountlist.c (read_file_system_list) [MOUNTED_VMOUNT]:
31297         Rework types to pacify xlc.
31299 2015-06-03  Pádraig Brady  <P@draigBrady.com>
31301         vasprintf-posix: avoid compiling vasnprintf where possible
31302         * modules/vasprintf-posix: Avoid compiling the large vasnprintf
31303         module where not required.  For example on a GNU/Linux system
31304         when gnulib-tool is run with the --conditional-dependencies option.
31306 2015-06-02  Pádraig Brady  <P@draigBrady.com>
31308         file-has-acl: fix build on Mac OS X 10
31309         This reverts commit f1b37e3a which doesn't work on Mac OS X >= 10.4
31310         which has an incompatible 6 parameter getxattr() call.
31311         * doc/glibc-functions/getxattr.texi: Mention the divergent getxattr()
31312         call on Mac OS X >= 10.4.
31313         * doc/glibc-functions/fgetxattr.texi: Likewise.
31314         * lib/file-has-acl.c: Revert to more complete combined check.
31315         * m4/acl.m4 (gl_FILE_HAS_ACL): Likewise.
31316         Reported by Jack Howarth.
31318 2015-06-02  Pádraig Brady  <P@draigBrady.com>
31320         prefix-gnulib-mk: remove no longer needed special case
31321         * build-aux/prefix-gnulib-mk (prefix): Since commit e3704b9c,
31322         continued lib_SOURCES lines are no longer present,
31323         so special case handling of such entries is not required.
31325 2015-06-01  Pádraig Brady  <P@draigBrady.com>
31327         acl: don't depend on the deprecated qacl module
31328         * modules/acl (Depends-on): Use q{copy,set}-acl instead.
31330 2015-06-01  Pádraig Brady  <P@draigBrady.com>
31332         gnulib-tool: concatenate lib_SOURCES to a single line
31333         * gnulib-tool: Refactor the line merging sed logic,
31334         and use that to output a single lib_SOURCES line for each module.
31335         gnulib using projects often postprocess this output to prepend
31336         subdir paths to each item, and having a single line simplifies this
31337         processing allowing better decoupling from the gnulib-tool output.
31339 2015-06-01  Pavel Fedin  <p.fedin@samsung.com>
31341         pthread_sigmask: discount system version if a simple macro (trivial)
31342         MinGW64 has: #define pthread_sigmask(H, S1, S2) 0
31343         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Call the
31344         function to ensure it's available.
31346 2015-05-31  Pádraig Brady  <P@draigBrady.com>
31348         readlinkat: avoid OS X 10.10 trailing slash bug
31349         * doc/posix-functions/readlink.texi: Mention that OS X 10.10
31350         has this bug.
31351         * doc/posix-functions/readlinkat.texi: Likewise.  Also mention
31352         that OS X 10.10 has this function.
31353         * lib/readlinkat.c (rpl_readlinkat): Handle the trailing slash bug,
31354         as done for readlink().
31355         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Check for the readlink()
31356         trailing slash bug, and assume readlinkat() has the same issue.
31357         Also fix a typo where $gl_cv_decl_readlink_works was tested,
31358         rather than the correct $gl_cv_decl_readlinkat_works.
31360 2015-05-29  Andreas Gruenbacher  <andreas.gruenbacher@gmail.com>
31362         acl-permissions: Fix build on Mac OS X and older AIX (Bug#20681)
31363         * lib/set-permissions.c (set_acls): Fix more errors introduced in the acl
31364         module rewrite.
31366         acl-permissions: Fix build on Solaris and Cygwin
31367         Reported by Tom G. Christensen <tgc@jupiterrise.com>:
31368         * lib/set-permissions.c (set_acls): The count, entries, ace_count, and
31369         ace_entries variables have moved into struct permission_context but
31370         they were still accessed as local variables here.
31372 2015-05-29  Pádraig Brady  <P@draigBrady.com>
31374         linkat: avoid OS X 10.10 trailing slash with symlink bug
31375         On Darwin 14.3.0 linkat(,"path1",,"dangling_symlink/",)
31376         causes the symlink to be dereferenced, and if it points
31377         to a non existent file, that file will be created as
31378         a hard link to "path1".
31379         This fixes a test failure in test-linkat.c.
31380         * m4/linkat.m4 (gl_FUNC_LINKAT): Augment the test with
31381         this case.  The existing workaround in linkat.c for
31382         trailing slash issues, suffices for this case.
31383         * doc/posix-functions/linkat.texi: Add OS X 10.10 to
31384         the list of platforms with trailing slash issues.
31386 2015-05-28  Pádraig Brady  <P@draigBrady.com>
31388         unlinkat: handle ignoring of ".." on Darwin 14
31389         * lib/unlinkat.c: unlinkat() has the same bug as unlink()
31390         on Mac OS X 10.10, where it ignores paths with a trailing "..",
31391         so handle in the same manner.
31392         * m4/unlinkat.m4: Comment on this Darwin issue.
31393         * doc/posix-functions/unlink.texi: Update the latest version
31394         where the issue was seen.
31395         * doc/posix-functions/unlinkat.texi: Mention this issue.
31396         Fixes a test failure in test-unlinkat.c.
31398 2015-05-27  Paul Eggert  <eggert@cs.ucla.edu>
31400         qacl: split into qcopy-acl and qset-acl
31401         Emacs needs the former, but not the latter.
31402         * modules/acl-permissions: New file, containing most of the old qacl.
31403         * modules/file-has-acl (Depends-on): Depend on acl-permissions, not qacl.
31404         * modules/qacl: Now merely depends on qcopy-acl and qset-acl.
31405         * modules/qcopy-acl, modules/qset-acl: New files.
31406         * MODULES.html.sh (File system functions):
31407         Mention the new modules, and mention qacl while we're at it.
31409 2015-05-27  Glenn Morris  <rgm@gnu.org>
31411         gitlog-to-changelog: new option --ignore-line
31412         (This patch is imported from the GNU Emacs master.)
31413         This option ignores individual commit lines matching a pattern.
31414         * build-aux/gitlog-to-changelog: Add --ignore-line option.
31416 2015-05-27  Andreas Gruenbacher  <agruenba@redhat.com>
31418         qacl: Reimplement qset_acl and qcopy_acl (Bug#20666)
31419         Implement get_permissions and set_permissions primitives for getting all
31420         the permissions of a file, storing them, and later setting them. (In the
31421         minimal case, the permissions consist only of a file mode.) Reimplement
31422         qset_acl and qcopy_acl based on these new primitives: this avoids code
31423         duplication and makes error handling more consistent.
31424         The Solaris and Cygwin code still uses duplicate code paths for setting
31425         a file mode while making sure that no acls exist and setting an explicit
31426         acl; this is no worse than before, but could be cleaned up.  The AIX
31427         code still doesn't read ACLs, it only makes sure that acls don't get in
31428         the way when setting a file mode.
31429         * lib/acl-internal.h (struct permission_context): New data structure.
31430         (get_permissions, set_permissions, free_permission_context): Declare.
31431         * lib/acl-internal.c (free_permission_context): New helper function.
31432         * lib/get-permissions.c (get_permissions): New helper function split off
31433         from qcopy_acl.
31434         * lib/set-permissions.c: (set_acls_from_mode): On Solaris, Cygwin, and
31435         AIX, set a file's permissions based only on a file mode.
31436         (acl_from_mode, context_acl_from_mode, context_aclv_from_mode): All
31437         other platforms construct a temporary acl from the file mode and set
31438         that acl in the same way as setting an acl read from the source file.
31439         This should help avoid code duplication and inconsistent / buggy
31440         behavior.
31441         (set_acls): New helper function Split off from qcopy_acl.
31442         (chmod_or_fchmod): Moved here from qset-acl.c.
31443         (set_permissions): New helper function.
31444         * lib/qcopy-acl.c (qcopy_acl): Rewrite using get_permissions and
31445         set_permissions.
31446         * lib/qset-acl.c (qset_acl): Rewrite using set_permissions.
31447         * modules/qacl: Add get-permissions.c and set-permissions.c.
31449         file-has-acl: Split feature tests again (Bug#20667)
31450         * lib/file-has-acl.c: Instead of testing for
31451         XATTR_NAME_POSIX_ACL_ACCESS and XATTR_NAME_POSIX_ACL_DEFAULT,
31452         define them when needed.
31453         * m4/acl.m4 (gl_FILE_HAS_ACL): With that, Paul's
31454         GETXATTR_WITH_POSIX_ACLS change shouldn't be needed anymore.
31456 2015-05-27  Pádraig Brady  <P@draigBrady.com>
31458         string: fix build failure on BSD/OSX with FORTIFY_SOURCE
31459         This avoids a conflict with "FORTIFY_SOURCE" variants
31460         of the string functions when they're replaced on NetBSD-6.0.1
31461         and Darwin-14.3.0 at least.
31462         * lib/string.in.h: Avoid including our "lib/string.h" while
31463         including the system <string.h>.
31465 2015-05-26  Eric Blake  <eblake@redhat.com>
31467         stdio: limit __gnu_printf__ witness to gcc 4.4+
31468         * lib/error.h (_GL_ATTRIBUTE_SPEC_PRINTF): Move gcc version probe...
31469         * m4/stdio_h.m4 (gl_STDIO_H): ...here.
31471         error: use correct printf attributes on mingw
31472         * lib/stdio.in.h (_GL_ATTRIBUTE_SPEC_PRINTF): New define.
31474         inttypes: force correct mingw PRIdMAX even without <stdio.h>
31475         * modules/inttypes (Depends-on): Require extensions, so that mingw
31476         always uses GNU style inttypes.
31477         * lib/inttypes.in.h: On mingw, include <stdio.h>.
31479         stdio: fix probe on mingw under gcc 5.1
31480         * m4/stdio_h.m4 (gl_STDIO_H): Change to compile test, to work
31481         around new gcc preprocessor rules.
31483 2015-05-07  Glenn Morris  <rgm@gnu.org>
31485         gitlog-to-changelog: parse "Tiny-change"
31486         * build-aux/gitlog-to-changelog: Treat "Tiny-change" like
31487         "Copyright-paperwork-exempt".  (Bug#20324)
31489 2015-05-06  Pádraig Brady  <P@draigBrady.com>
31491         doc: document glibc posix_fallocate() issues
31492         * doc/posix-functions/posix_fallocate.texi: Mention the
31493         glibc efficiency problems and issues with NFS.
31495 2015-05-05  Karl Berry  <karl@freefriends.org>
31497         * build-aux/gendocs.sh (usage): document new css default
31498         for HTML (--htmlarg).
31500 2015-04-29  Paul Eggert  <eggert@cs.ucla.edu>
31502         extern-inline: no need for workaround in GCC 5.1
31503         * doc/extern-inline.texi (extern inline):
31504         * m4/extern-inline.m4 (gl_EXTERN_INLINE):
31505         GCC bugs 54113 and 63877 are fixed in GCC 5.1, so don't work
31506         around these bugs in GCC 5.1 and later.  Maybe in a decade or
31507         two we can remove these workarounds.
31509 2015-04-28  Pádraig Brady  <P@draigBrady.com>
31511         eealloc, pagealign_alloc, xalloc: avoid clang warnings
31512         Avoid [-Wunknown-attributes] warnings like:
31513         warning: unknown attribute '__alloc_size__' ignored
31514         * lib/xalloc.h: Don't use the __alloc_size__  attribute
31515         with clang, as support has been fully removed as of clang 3.5:
31516         https://github.com/llvm-mirror/clang/commit/c047507a
31517         * lib/eealloc.h: Likewise.
31518         * lib/pagealign_alloc.h: Likewise.
31520 2015-04-27  Paul Eggert  <eggert@cs.ucla.edu>
31522         tests: pacify GCC 5.1's stricter printf checking
31523         * tests/test-dirname.c (main):
31524         * tests/test-getaddrinfo.c (simple):
31525         * tests/test-getlogin.c (main):
31526         * tests/test-getndelim2.c (main):
31527         * tests/test-inttostr.c (CK):
31528         * tests/test-md5.c (main):
31529         * tests/test-read-file.c (main):
31530         * tests/test-sha1.c (main):
31531         Fix mismatches between printf format and value signedness.
31532         * tests/test-inttostr.c (FMT, CAST_VAL, V_min, V_max):
31533         Remove, as CAST_VAL always returned a value of type uintmax_t.
31535         fts: port to GCC 5.1 with --enable-gcc-warnings
31536         Without this fix, GCC 5.1 (correctly) warns about a subscript
31537         error on the fts_name component of FTSENT.  It's actually a
31538         flexible member, so define it that way on C99 or later hosts.
31539         * lib/fts.c (fts_alloc): Use offsetof, not sizeof, for a
31540         structure that now has a flexible array member.
31541         * lib/fts_.h (__FLEXIBLE_ARRAY_MEMBER): New macro.
31542         (FTSENT): fts_name is now flexible on C99-or-later platforms.
31543         * modules/fts (Depends-on): Add flexmember.
31545 2015-04-26  Paul Eggert  <eggert@cs.ucla.edu>
31547         file-has-acl: port to CentOS 6
31548         Problem reported by Tom G. Christensen in:
31549         http://lists.gnu.org/r/bug-gnulib/2015-04/msg00074.html
31550         * lib/file-has-acl.c: Use GETXATTR_WITH_POSIX_ACLS instead of a
31551         combination of HAVE_SYS_XATTR_H, HAVE_LINUX_XATTR_H, and
31552         HAVE_GETXATTR.
31553         * m4/acl.m4 (gl_FILE_HAS_ACL): Test fot the entire combination of
31554         linux/xattr.h, sys/xattr.h, getxattr, XATTR_NAME_POSIX_ACL_ACCESS,
31555         and XATTR_NAME_POSIX_ACL_DEFAULT, since that's what
31556         file-has-acl.c actually needs.
31558 2015-04-26  Pádraig Brady  <P@draigBrady.com>
31560         file-has-acl: always return false when ACLs aren't supported
31561         * lib/file-has-acl.c (file_has_acl): Consistent with other paths,
31562         change the GNU/Linux getxattr path, to transform "not supported"
31563         errors to a false return rather than an error.  This is handled
31564         within file_has_acl() due to the platform specific tests to
31565         determine if ACLs are not supported.
31567 2015-04-25  Paul Eggert  <eggert@cs.ucla.edu>
31569         gettext: propagate po/Makefile.in.in too
31570         * build-aux/po/Makefile.in.in: Copy from latest gettext.
31571         * config/srclist.txt: In build-aux/po, copy Makefile.in.in and
31572         remove-potcdate.sin from $GETTEXT.  This fixes a version mismatch
31573         between Makefile.in.in and the gettext-runtime m4 files.
31575 2015-04-24  Paul Eggert  <eggert@cs.ucla.edu>
31577         file-has-acl: new module, split from acl
31578         And add a new module file-has-acl-tests to match.
31579         I ran into a problem with the recent changes to the acl module,
31580         as they introduced a typo 'test use_xattrs = 0' into 'configure'.
31581         When using the fixed version with Emacs, I discovered that
31582         file-has-acl wasn't separated out well enough for Emacs (e.g., it
31583         had multiple libraries, but needed only one), so I fixed that too.
31584         * NEWS: Document this incompatible change.
31585         * modules/file-has-acl, modules/file-has-acl-tests: New files.
31586         * m4/acl.m4 (gl_FUNC_ACL_ARG): New macro, split from gl_FUNC_ACL.
31587         Initialize gl_need_lib_has_acl.
31588         (gl_FUNC_ACL): Require it.
31589         Simplify use of 'test'.  Set LIB_HAS_ACL if gl_need_lib_has_acl.
31590         Move the file-has-acl.c-relevant stuff to ...
31591         (gl_FILE_HAS_ACL): ... this new macro.  Rewrite to fix 'test
31592         use_xattrs = 0' typo, and omit some needless work.  Set
31593         gl_need_lib_has_acl=1 if we'll need LIB_HAS_ACL to be set
31594         when gl_FUNC_ACL is called.
31595         * modules/acl (Files, lib_SOURCES): Remove lib/file-has-acl.c.
31596         (Link): Remove $(LIB_HAS_ACL).
31597         * modules/acl-tests (Files, Depends-on, configure.ac, TESTS)
31598         (check_PROGRAMS): Move stuff relevant to file-has-acl to
31599         modules/file-has-acl-tests.
31600         (test_file_has_acl_LDADD): Move to modules/file-has-acl-tests.
31602         manywarnings: add GCC 5.1 warnings
31603         * build-aux/gcc-warning.spec: Add -Wabi=, -Warray-bounds,
31604         -Warray-bounds=, -Wc++14-compat, -Wc90-c99-compat,
31605         -Wc99-c11-compat, -Wshadow-ivar, -Wsized-deallocation,
31606         -Wsuggest-override, -Wuse-without-only.  Change
31607         -Wnormalized=... operands to match 5.1.
31608         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -Wbool-compare,
31609         -Wchkp, -Wdesignated-init, -Wdiscarded-array-qualifiers,
31610         -Wdiscarded-qualifiers, -Wformat-signedness,
31611         -Wincompatible-pointer-types, -Wint-conversion,
31612         -Wlogical-not-parentheses, -Wmemset-transposed-args, -Wodr,
31613         -Wshift-count-negative, -Wshift-count-overflow,
31614         -Wsizeof-array-argument, -Wsuggest-final-methods,
31615         -Wsuggest-final-types, -Wswitch-bool.  Remove -Warray-bounds,
31616         and add -Warray-bounds=2 as a special case.
31618 2015-04-21  Simon Josefsson  <simon@josefsson.org>
31620         doc: update FDL template to match FDL examples.
31621         * doc/alloca-opt.texi:
31622         * doc/alloca.texi:
31623         * doc/c-ctype.texi:
31624         * doc/c-strcase.texi:
31625         * doc/c-strcaseeq.texi:
31626         * doc/c-strcasestr.texi:
31627         * doc/c-strstr.texi:
31628         * doc/c-strtod.texi:
31629         * doc/c-strtold.texi:
31630         * doc/ctime.texi:
31631         * doc/error.texi:
31632         * doc/gcd.texi:
31633         * doc/gnulib-tool.texi:
31634         * doc/inet_ntoa.texi:
31635         * doc/intprops.texi:
31636         * doc/lib-symbol-visibility.texi:
31637         * doc/maintain.texi:
31638         * doc/parse-datetime.texi:
31639         * doc/quote.texi:
31640         * doc/regexprops-generic.texi:
31641         * doc/standards.texi: Remove spurious 'with' in FDL license
31642         template.
31644 2015-04-21  Paul Eggert  <eggert@cs.ucla.edu>
31646         lstat: fix cross-compilation 'ln -s' problem
31647         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
31648         Have the test program call 'symlink' rather than a separate
31649         script run 'ln -s'; this is more likely to work in
31650         cross-compilation environments.  Reported by Pavel Fedin in:
31651         http://lists.gnu.org/r/bug-gnulib/2015-04/msg00060.html
31653 2015-04-16  Ludovic Courtès  <ludo@gnu.org>
31655         gendocs.sh: default to a common CSS style sheet for HTML output
31656         * build-aux/gendocs.sh (htmlarg): Change default value.
31658 2015-04-15  Mats Erik Andersson  <gnu@gisladisker.se>
31660         gnulib-tool: output bold attribute more portably
31661         * gnulib-tool (func_show_module_list): Change hexadecimal
31662         numbers to octal in BOLD_ON and BOLD_OFF.  The use of hex
31663         encoded numbers as arguments to `printf' is not portable,
31664         and is not claimed by POSIX.  This is the case with FreeBSD.
31666 2015-04-15  Andreas Gruenbacher  <andreas.gruenbacher@gmail.com>
31668         qacl: Simplify HP-UX acl_nontrivial check
31669         * lib/acl-internal.c: Remove struct stat parameter from HP-UX's version of
31670         acl_nontrivial. Check if the acl has at most three entries instead (it must
31671         have exactly three entries according to the HP-UX documentation). Ignore
31672         uids and gids as long as an entry is either for a user (i.e., the owner),
31673         a group (i.e., the owning group), or others.
31674         * lib/acl-internal.h: Change HP-UX's acl_nontrivial prototype.
31675         * lib/qcopy-acl.c (qcopy_acl): With that, we no longer need to stat the file.
31677 2015-04-15  Andreas Gruenbacher   <andreas.gruenbacher@gmail.com>
31679         acl: On Linux, check for acls without libacl
31680         On Linux, use the getxattr syscall instead of the acl_extended_file libacl
31681         library function to check for the presence of acls, avoiding a library.
31682         * lib/file-has-acl.c: Include xattr headers if we have them.
31683         (file_has_acl): On Linux, use getxattr().
31684         * m4/acl.m4 (gl_FUNC_ACL): Define LIB_HAS_ACL as the libraries to link with for
31685         file_has_acl(). Check for xattr headers and getxattr().
31687 2015-04-14  Ángel González  <keisial@gmail.com>
31689         tempname: avoid unused parameter warnings (trivial)
31690         * lib/tempname.c (try_dir): Tag with __GL_UNUSED.
31691         (try_nocreate): Likewise.
31693 2015-04-14  HIRAMATSU Yoshifumi  <hiramatu@boreas.dti.ne.jp>
31695         fseeko: fix build failure on NetBSD >= 6 (trivial)
31696         * lib/fseeko.c (feeko): NetBSD 6 changed the definition of _offset
31697         from 'fpos_t struct' to __off_t, which is a typedef of __int64_t.
31699 2015-04-09  Paul Eggert  <eggert@cs.ucla.edu>
31701         gitlog-to-changelog: port to MS-Windows
31702         * build-aux/gitlog-to-changelog (git_dir_option):
31703         Use strftime with "%Y-%m-%d", not "%F", to avoid a bug in
31704         MS-Windows Perl.  Reported by Eli Zaretskii in:
31705         http://lists.gnu.org/r/emacs-devel/2015-04/msg00504.html
31707 2015-04-07  Karl Berry  <karl@gnu.org>
31709         gendocs: new option --tex for passing args to texi2dvi.
31710         * build-aux/gendocs.sh: new option --tex, default -t @finalout.
31711         (TEXI2DVI): cut to just command name.
31712         (usage): mention new option, and update copyright.
31713         <generate_tex>: use it.
31715 2015-04-07  Karl Berry  <karl@gnu.org>
31717         * config/srclistvars.sh (GETTEXT): new definition.
31718         * config/srclist.txt: use it for gettext .m4 files.
31719         Thread starting at http://lists.gnu.org/r/bug-gnulib/201
31720         and confirmed at http://lists.gnu.org/r/bug-gnulib/2015-02/msg00146.html
31721         and continuing into April.
31723 2015-04-07  Daiki Ueno  <ueno@gnu.org>
31725         uniname/uniname-tests: fix failure due to alias
31726         Reported by Jack Howarth in:
31727         <https://lists.gnu.org/r/bug-libunistring/2015-04/msg00000.html>.
31728         * tests/uniname/test-uninames.c (name_has_alias): New function.
31729         (test_inverse_lookup): Exclude character name with valid alias,
31730         from randomly generated character names.
31731         (main): Fill unicode_aliases before calling test functions.
31733 2015-04-03  Giuseppe Scrivano  <gscrivan@redhat.com>
31735         hash: remove deprecated hash_insert0 function
31736         * lib/hash.h (hash_insert0): Remove deprecated function.
31737         * lib/hash.c (hash_insert0): Likewise.
31739 2015-04-02  Pádraig Brady  <P@draigBrady.com>
31741         mountlist: remove dependency on libmount
31742         * lib/mountlist.c (read_file_system_list): Parse /proc/self/mountinfo
31743         directly, rather than depending on libmount, which has many
31744         dependencies due to its dependence on libselinux, as detailed at:
31745         http://lists.gnu.org/r/bug-gnulib/2015-01/msg00063.html
31746         Note we restrict this to __linux__ as that's probably where this
31747         interface will remain.  If ever porting, it would be best
31748         to first pull the makedev() wrapper from coreutils to a gnulib module.
31749         Note also we don't add a getline dependency to the mountlist module,
31750         as all Linux versions are sufficient.
31752 2015-04-02  Paul Eggert  <eggert@cs.ucla.edu>
31754         stddef: port to pre-C11 GCC on x86
31755         On this platform, max_align_t should have an alignment of 8 even
31756         though the storage alignments of double, long, etc. max out at 4.
31757         Inspired by a comment of Andreas Schwab's here:
31758         https://sourceware.org/ml/libc-alpha/2015-04/msg00017.html
31759         * lib/stddef.in.h (_GL_STDDEF_ALIGNAS) [!HAVE_MAX_ALIGN_T]: New macro.
31760         (max_align_t) [!HAVE_MAX_ALIGN_T]: Use it.
31761         * tests/test-stddef.c: Test __alignof__ too, if available.
31763 2015-03-24  Pádraig Brady  <P@draigBrady.com>
31765         quotearg-simple-tests: add missing gl_FUNC_MMAP_ANON dependency
31766         * modules/quotearg-simple-tests: Reference m4/mmap-anon.m4
31768 2015-03-24  Tobias Stoeckmann  <tobias@stoeckmann.org>
31770         yesno: make EOL optional in ENABLE_NLS case also (trival)
31771         * lib/yesno.c (yesno): Check for EOL before replacing.
31772         * tests/test-yesno.sh: Add a test case (test along with gettext).
31774 2015-03-22  Paul Eggert  <eggert@cs.ucla.edu>
31776         fdopendir-tests: test it does not close its arg
31777         * tests/test-fdopendir.c (main): Test that fdopendir does not
31778         close its argument.  From a suggestion by David Grayson in:
31779         http://lists.gnu.org/r/bug-gnulib/2015-03/msg00039.html
31781 2015-03-20  Paul Eggert  <eggert@cs.ucla.edu>
31783         gitlog-to-changelog: trim trailing white space
31784         * build-aux/gitlog-to-changelog (main):
31785         Trim trailing white space from commit message lines.
31786         This is helpful for processing the GNU Emacs repository,
31787         which dates back to 1985 and contains a lot of such lines.
31789         gitlog-to-changelog: new option --ignore-matching
31790         * build-aux/gitlog-to-changelog (usage, git_dir_option, main):
31791         Support new option --ignore-matching=PAT, which ignores all
31792         commit messages whose first line matches PAT.
31794 2015-03-19  Paul Eggert  <eggert@cs.ucla.edu>
31796         fdopendir: port better to MinGW
31797         * lib/fdopendir.c (fd_clone_opendir) [REPLACE_FCHDIR]:
31798         Use 'dup' if dirfd fails.  Suggested by Eli Zaretskii in:
31799         http://lists.gnu.org/r/bug-gnulib/2015-03/msg00033.html
31800         * modules/fdopendir (Depends-on): Add dirfd.
31802 2015-03-18  Paul Eggert  <eggert@cs.ucla.edu>
31804         fdopendir: fix typo in comment
31805         * lib/fdopendir.c (fdopendir_with_dup): REPLACE_FCHDIR was misspelled.
31807 2015-03-09  Eric Blake  <eblake@redhat.com>
31809         error: document all entry points provided
31810         * doc/glibc-functions/error_print_progname.texi
31811         (error_print_progname): Mention the error module.
31812         * doc/glibc-functions/error_at_line.texi (error_at_line):
31813         Likewise.
31814         * doc/glibc-functions/error_message_count.texi
31815         (error_message_count): Likewise.
31816         * doc/glibc-functions/error_one_per_line.texi
31817         (error_one_per_line): Likewise.
31819 2015-03-03  Paul Eggert  <eggert@cs.ucla.edu>
31821         vasnprintf: pacify clang 3.5.0
31822         Problem reported by Werner Lemberg in:
31823         http://lists.gnu.org/r/bug-gnulib/2015-03/msg00000.html
31824         * lib/vasnprintf.c (VASNPRINTF): Omit casts that clang objects to.
31825         The casts aren't needed, since the characters in question are ASCII.
31827 2015-02-24  Paul Eggert  <eggert@cs.ucla.edu>
31829         glob, etc.: port to MSVC v18 on MS-Windows 8.1
31830         * lib/dirent--.h (GNULIB_defined_opendir):
31831         * lib/dirent.in.h (GNULIB_defined_opendir)
31832         (GNULIB_defined_closedir):
31833         * lib/getcwd.c, lib/glob.c, lib/mountlist.c (opendir, closedir):
31834         #undef only if Gnulib defined it.
31836         poll: port to MSVC v18 on MS-Windows 8.1
31837         Problem reported by Gisle Vanem in:
31838         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00139.html
31839         * lib/poll.c: Always include <sys/select.h> and <sys/socket.h>.
31840         * modules/poll (Depends-on) [!HAVE_POLL || REPLACE_POLL]:
31841         Add sys_socket.
31843 2015-02-24  Pádraig Brady  <P@draigBrady.com>
31845         tests: support stderr verification with returns_()
31846         * tests/init.sh (returns_): Disable tracing for this wrapper
31847         function, so that stderr of the wrapped command is unchanged,
31848         allowing for verification of the contents.
31850 2015-02-24  Pavel Hrdina  <phrdina@redhat.com>
31852         passfd: avoid valgrind uninitalised data warning
31853         * lib/passfd.c (sendfd): Reset the msg_controllen of msghdr,
31854         to include just the fd we've initialized, rather than including
31855         the extra space used for alignment.
31857 2015-02-23  Paul Eggert  <eggert@cs.ucla.edu>
31859         uniwbrk/u32-wordbreaks-tests: fix copyright
31860         * tests/uniwbrk/test-uc-wordbreaks.c: Fix copyright date.
31862         dup2: doc and test for Android bug
31863         Reported by Kevin Cernekee in:
31864         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00125.html
31865         * doc/posix-functions/dup2.texi (dup2): Document the bug.
31866         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the bug.
31868 2015-02-23  Kevin Cernekee  <cernekee@google.com>
31870         Replace dup2() on Android
31871         * m4/dup2.m4 (gl_FUNC_DUP2): Android implements dup2() using dup3().
31872         Since dup3(fd, fd) fails but dup2(fd, fd) should pass, test-dup2
31873         fails.  Using rpl_dup2() fixes this because it has an explicit test
31874         for this condition.
31876 2015-02-22  Paul Eggert  <eggert@cs.ucla.edu>
31878         Android doesn't define RLIM_SAVED_*
31879         Portability problem reported by Kevin Cernekee in:
31880         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00122.html
31881         * doc/posix-headers/sys_resource.texi (sys/resource.h):
31882         Mention the portability problem.
31883         * lib/getdtablesize.c (RLIM_SAVED_CUR, RLIM_SAVED_MAX):
31884         Define if not defined.
31885         * m4/dup2.m4 (gl_FUNC_DUP2):
31886         * m4/fcntl.m4 (gl_FUNC_FCNTL):
31887         Likewise.
31889 2015-02-21  Paul Eggert  <eggert@cs.ucla.edu>
31891         vasnprintf-posix-tests: use consistent test
31892         * tests/test-vasnprintf-posix.c (test_function):
31893         Use "<" in assert instead of "<=", for consistency with other tests.
31895 2015-02-20  Paul Eggert  <eggert@cs.ucla.edu>
31897         printf, isinf, etc.: noncanonical != NaN
31898         Do not require that isinf, printf, etc. treat noncanonical
31899         values as NaNs.  Instead, require only that they do not crash.
31900         Problem reported by Joseph Myers in:
31901         https://sourceware.org/ml/libc-alpha/2015-02/msg00244.html
31902         * doc/posix-functions/dprintf.texi (dprintf):
31903         * doc/posix-functions/fprintf.texi (fprintf):
31904         * doc/posix-functions/isfinite.texi (isfinite):
31905         * doc/posix-functions/isinf.texi (isinf):
31906         * doc/posix-functions/isnan.texi (isnan):
31907         * doc/posix-functions/printf.texi (printf):
31908         * doc/posix-functions/snprintf.texi (snprintf):
31909         * doc/posix-functions/sprintf.texi (sprintf):
31910         * doc/posix-functions/vdprintf.texi (vdprintf):
31911         * doc/posix-functions/vfprintf.texi (vfprintf):
31912         * doc/posix-functions/vprintf.texi (vprintf):
31913         * doc/posix-functions/vsnprintf.texi (vsnprintf):
31914         * doc/posix-functions/vsprintf.texi (vsprintf):
31915         Document this.
31916         * m4/isfinite.m4 (gl_ISFINITEL_WORKS):
31917         * m4/isinf.m4 (gl_ISINFL_WORKS):
31918         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS):
31919         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE):
31920         * tests/test-isfinite.c (test_isfinitel):
31921         * tests/test-isinf.c (test_isinfl):
31922         * tests/test-isnan.c (test_long_double):
31923         * tests/test-isnanl.h (main):
31924         * tests/test-snprintf-posix.h (test_function):
31925         * tests/test-sprintf-posix.h (test_function):
31926         * tests/test-vasnprintf-posix.c (test_function):
31927         * tests/test-vasprintf-posix.c (test_function):
31928         Test only that noncanonical values do not cause crashes, not that
31929         they are treated as NaNs.  In some cases this means a larger
31930         output buffer is needed.
31932 2015-02-20  Jaroslav Skarvada  <jskarvad@redhat.com>
31934         fts: remove redundant close() (trivial)
31935         * lib/fts.c (fts_read): Remove redundant call to close().
31936         Spotted by coverity.
31938 2015-02-20  Paul Eggert  <eggert@cs.ucla.edu>
31940         getdtablesize: port better for Android
31941         Problem reported by Kevin Cernekee in:
31942         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00112.html
31943         * doc/glibc-functions/getdtablesize.texi (getdtablesize): Mention bug.
31944         * lib/getdtablesize.c (getdtablesize): Don't fall back on _SC_OPEN_MAX.
31945         Instead, just use getrlimit, taking care to avoid Cygwin bug.
31947         poll: fixes for large fds
31948         * lib/poll.c (poll): Don't check directly for NFD too large.
31949         Don't rely on undefined behavior in FD_SET when an arg exceeds
31950         FD_SETSIZE.  Always set revents afterwards, even if to zero.
31951         * tests/test-poll.c (poll1): Set revents to -1 instead of 0,
31952         as that makes the test a bit stricter.
31954 2015-02-19  Kevin Cernekee  <cernekee@google.com>
31956         fcntl: Fix cross compiling
31957         * m4/fcntl.m4 (gl_FUNC_FCNTL): Assign the guessed result to the
31958         correct variable name (gl_cv_func_fcntl_f_dupfd_works).
31960 2015-02-18  Paul Eggert  <eggert@cs.ucla.edu>
31962         dup2, fcntl: cross-compile better for Android
31963         Problem reported by Kevin Cernekee in:
31964         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00109.html
31965         * m4/dup2.m4 (gl_FUNC_DUP2): Don't guess no when cross-compiling
31966         for a Linux kernel.  That kernel bug was fixed on 2009-05-11, and
31967         there's little need to cross-compile for older kernels nowadays.
31968         * m4/fcntl.m4 (gl_FUNC_FCNTL): When cross-compiling, guess no only
31969         for systems where the bug is known to occur (AIX, Cygwin, Haiku).
31971 2015-02-18  Pádraig Brady  <P@draigBrady.com>
31973         getopt: don't crash on memory exhaustion
31974         * lib/getopt.c (_getopt_internal_r): Use degraded diagnostics on
31975         memory exhaustion.  In the _LIBC case we use alloca() as is
31976         already done in glibc, so we don't need to consider the separate
31977         error path in that awkward case.  Also fix a memory leak when
31978         ambiguous options are present.
31979         Reported by Tobias Stoeckmann
31981 2015-02-17  Mike Miller  <mtmiller@ieee.org>
31983         tempname: allow compilation with C++ (trivial)
31984         * lib/tempname.h [C++]: Specify extern "C" linkage.
31985         * lib/tempname.h (try_tempname):
31986         * lib/tempname.c (__try_tempname, __gen_tempname):
31987         Rename 'try' to 'tryfunc'.
31989 2015-02-17  Paul Eggert  <eggert@cs.ucla.edu>
31991         dup2, fcntl: port to AIX
31992         * m4/dup2.m4 (gl_FUNC_DUP2):
31993         * m4/fcntl.m4 (gl_FUNC_FCNTL):
31994         Prefer getrusage (RLIM_NOFILE ...)/rlim_cur to sysconf (_SC_OPEN_MAX).
31995         The former works on AIX 7.1 but the latter does not.
31996         Also, this may work better with Android; see:
31997         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00100.html
31999 2015-02-16  Paul Eggert  <eggert@cs.ucla.edu>
32001         getdtablesize, dup2, fcntl: port to Android
32002         Problem reported by Kevin Cernekee in:
32003         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00092.html
32004         * doc/glibc-functions/getdtablesize.texi (getdtablesize):
32005         Mention that getdtablesize doesn't work on Android.
32006         * lib/getdtablesize.c: Use getrlimit substitute only if
32007         getdtablesize is declared.  This should suffice for Cygwin
32008         while not breaking Android.
32009         * m4/dup2.m4 (gl_FUNC_DUP2):
32010         * m4/fcntl.m4 (gl_FUNC_FCNTL):
32011         Prefer sysconf (_SC_OPEN_MAX) to getdtablesize, as the former is
32012         standardized but the latter is not, and sysconf works on Android.
32013         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE):
32014         Also check that getdtablesize is declared.
32015         This removes the need for a special case for Android.
32017 2015-02-16  Kevin Cernekee  <cernekee@google.com>
32019         localename: Implement gl_locale_name_thread_unsafe for Android
32020         * lib/localename.c: Android API level >= 21 supports two hardcoded
32021         locales: C (POSIX) and C.UTF-8.  Distinguish them by checking
32022         the internal __locale_t struct.
32024 2015-02-16  Kamil Dudka  <kdudka@redhat.com>
32026         fts: avoid crash when a cycle is added while traversing
32027         This could be triggered by auto-mounting a recursive bind mount.
32028         Reported by Michael Chapman in: https://bugzilla.redhat.com/1188498
32029         * lib/fts.c (fts_read): Avoid removing the original hash table item
32030         when leaving a directory that caused a cycle, and preserve the FTS_DC
32031         flag.
32033 2015-02-16  Daiki Ueno  <ueno@gnu.org>
32035         uniname/uniname: support character alias
32036         * lib/uniname/gen-uninames.lisp (main): New argument ALIASFILE.
32037         Generate one-way mapping from aliases to codepoints in the
32038         generated tables.  Special case variation selectors to reduce
32039         table size.
32040         * lib/uniname/uniname.c (unicode_character_name): Special case
32041         variation selectors.
32042         (unicode_name_character): Special case variation selectors and
32043         their aliases.
32044         * lib/uniname/uninames.h: Regenerate.
32045         * tests/uniname/NameAliases.txt: New file, taken from UCD 7.0.0.
32046         * modules/uniname/uniname-tests (Files): Add
32047         tests/uniname/NameAliases.txt.
32048         * tests/uniname/test-uninames.c: Mark as static.
32049         (ALIASLEN): Define.
32050         (struct unicode_alias): New struct.
32051         (unicode_aliases): New variable.
32052         (fill_aliases): New function.
32053         (test_alias_lookup): New test function.
32054         (main): Run the 'test_alias_lookup' test if the second argument is
32055         given.
32056         * tests/uniname/test-uninames.sh: Supply NameAliases.txt as the
32057         second argument.
32059 2015-02-11  Kevin Cernekee  <cernekee@google.com>
32061         Fix FILE struct compatibility with Android API level >= 21
32062         * lib/stdio-impl.h: Test explicitly for __ANDROID__ instead of
32063         __sferror.  Recent versions of Bionic's stdio.h no longer define
32064         __sferror.
32065         * lib/fbufmode.c: Likewise.
32066         * lib/fflush.c: Likewise.
32067         * lib/fpurge.c: Likewise.
32068         * lib/freadable.c: Likewise.
32069         * lib/freadahead.c: Likewise.
32070         * lib/freading.c: Likewise.
32071         * lib/freadptr.c: Likewise.
32072         * lib/freadseek.c: Likewise.
32073         * lib/fseeko.c: Likewise.
32074         * lib/fseterr.c: Likewise.
32075         * lib/fwritable.c: Likewise.
32077         Assume unbroken ungetc() on Android
32078         * m4/ungetc.m4: Add Android case to host OS check.  The ungetc()
32079         test case passed when running on an Android host, and the code
32080         hasn't really changed since 2009.
32082         getdtablesize: Fix Android build
32083         * m4/getdtablesize.m4: Add Android case to host OS check.  Recent NDK
32084         versions have this symbol in the .so library (at least 32-bit
32085         platforms) but are missing the declaration in the header file,
32086         causing the m4 logic to guess incorrectly.
32088         localename: Fix Android build
32089         * modules/localename (Depends-on): Add langinfo.
32091         getugroups: Fix Android build
32092         * lib/getugroups.c: Don't reference unsupported {get,set,end}grent
32093         functions.
32095         euidaccess: Fix Android build
32096         * modules/euidaccess (Depends-on): Add fcntl-h to ensure that
32097         AT_EACCESS gets declared.
32099         linkat_nofollow: Add fallback case for cross compiling
32100         * m4/linkat.m4: Guess no for Darwin, yes otherwise.
32102         net_if: Handle content-free <net/if.h> system headers
32103         * m4/net_if_h.m4: Check to make sure <net/if.h> actually defines
32104         struct if_nameindex.  If not, enable the replacement header.
32106         signal_h: Fix Android build
32107         * lib/signal.in.h: Add Android to the list of platforms that declare
32108         pthread_sigmask() in <pthread.h> instead of <signal.h>.
32110         duplocale: Fix Android build of duplocale-tests
32111         * modules/duplocale-tests (Depends-on): Add langinfo, as the header
32112         is included by test-duplocale.c (but not by duplocale.c).
32113         * modules/duplocale-tests (configure.ac): Check for monetary.h.
32114         * tests/test-duplocale.c: Skip test if monetary.h is absent.
32115         * doc/posix-headers/monetary.texi: Add Android to the list of
32116         platforms missing monetary.h.
32118 2015-02-11  Pádraig Brady  <P@draigBrady.com>
32120         tests: avoid recent -Werror=unused-variable regression in test-locale
32121         * tests/test-locale.c (main): Reference the variable to avoid the
32122         "unused variable" warning.
32124 2015-02-11  Pádraig Brady  <P@draigBrady.com>
32126         maint: various whitespace cleanups in tempname
32127         * lib/tempname.c: Normalize spacing and line length.
32128         * lib/tempname.h: Likewise.
32129         * modules/tempname: Likewise.
32131 2015-02-11  Pádraig Brady  <P@draigBrady.com>
32133         tests: provide returns_() to simplify exit status checking
32134         * tests/init.sh (returns_): A new function for use in tests,
32135         to allow for easier checking of return values, where you expect
32136         a command to exit with failure status.  By checking for a particular
32137         exit code, you don't hide any crashes for example.
32139 2015-02-11  Pádraig Brady  <P@draigBrady.com>
32141         mountlist: only use libmount when specified
32142         There are currently many shared libs dependencies introduced by
32143         libmount with associated runtime and virt mem overhead.
32144         Therefore don't enable by default.
32145         * m4/ls-mntd-fs.m4: Use --with-libmount to enable at build time.
32147 2015-02-08  Daiki Ueno  <ueno@gnu.org>
32149         uniname/unimame-tests: don't link with -lunistring
32150         * modules/uniname/uniname-tests (Makefile.am): Don't link against
32151         $(LIBUNISTRING).  Document the rationale why we need to
32152         conditionalize the test.
32154 2015-02-07  Paul Eggert  <eggert@cs.ucla.edu>
32156         fstrcmp: don't assume strlen < INT_MAX
32157         * lib/fstrcmp.c: Include stddef.h and stdint.h.
32158         (uintptr_t): Remove, as we're now assuming stdint.
32159         (OFFSET, EXTRA_CONTEXT_FIELDS, fstrcmp_bounded):
32160         Prefer ptrdiff_t to int when the value could exceed INT_MAX
32161         if the input string is long.
32162         (fstrcmp_bounded): Check for size-calculation overflow.  Prefer
32163         uintptr_t to size_t when the underlying value is a pointer casted
32164         to an unsigned integer.  Avoid unnecessary 'buffer != NULL' test.
32165         * modules/fstrcmp (Depends-on): Add stdint.
32167         diffseq: prefer ptrdiff_t to ssize_t
32168         * lib/diffseq.h: In commentary, prefer ptrdiff_t to ssize_t.
32169         ptrdiff_t is the natural type for signed indexes.
32170         On a few older platforms, ssize_t is narrower than size_t.
32172         xalloc: fix typo that suppressed warnings
32173         * lib/xalloc.h: Add missing _GL_INLINE_HEADER_END.
32174         This typo, introduced a couple of years ago, mistakenly suppressed
32175         some -Wsuggest-attribute=const, -Wmissing-prototypes, and
32176         -Wmissing-declarations warnings.
32178         full-read: fix license notice typo
32179         * lib/full-read.h: Remove a stray line in the license notice.
32180         Reported by Sam Ellis in: http://bugs.gnu.org/19808
32182         crypto/gc: fix a -Wswitch warning
32183         Reported by Bruce Korb in:
32184         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00046.html
32185         * lib/gc-gnulib.c (gc_hash_open): Fail faster if MODE is nonzero.
32187 2015-02-03  Pádraig Brady  <P@draigBrady.com>
32189         gnulib-tool: fix handling of patch(1) diagnostics
32190         * gnulib-tool: Send diagnostics from patch(1) to stderr,
32191         as otherwise gnulib-tool will reparse that output and attempt
32192         to lookup modules.
32194 2015-02-03  Pádraig Brady  <P@draigBrady.com>
32196         bootstrap: exit immediately upon gnulib-tool failure
32197         * build-aux/bootstrap: Exit immediately if gnulib-tool fails.
32198         This was noticed when gnulib-tool exited early due to failure
32199         to apply a patch in coreutils at http://hydra.nixos.org/eval/1172233,
32200         but various confusing errors were then given as the build proceeded.
32202 2015-02-02  Andreas Gruenbacher  <agruen@gnu.org>
32204         symlinkat: include all required header files
32205         * lib/symlinkat.c (HAVE_SYMLINK_AT): Add <sys/stat.h> for fstatat(),
32206         and string.h for strlen(), required at least on OS X 10.10 (Yosemite).
32207         Reported at https://savannah.gnu.org/bugs/index.php?44151
32208         and by Jack Howarth.
32210 2015-01-29  Pádraig Brady  <P@draigBrady.com>
32212         localename: support Solaris 12 and illumos
32213         * lib/localename.c (gl_locale_name_thread_unsafe): call
32214         getlocalename_l() on newer __sun platforms.
32215         Reported by Alexander Pyhalov.
32216         Fix suggested by Rich Burridge.
32218 2015-01-29  Alexander Pyhalov  <alp@rsu.ru>
32220         locale: fix tests on illumos (trivial)
32221         * tests/test-locale.c: LC_GLOBAL_LOCALE is a function call on illumos,
32222         so move from global scope to main().
32224 2015-01-24  Daiki Ueno  <ueno@gnu.org>
32226         unictype: avoid undefined left-shift behavior
32227         * lib/unictype/bidi_of.c (uc_bidi_class): Building libunistring with
32228         gcc's -fsanitize=shift and running its tests triggered:
32229           unictype/bidi_of.c:43:60: runtime error: left shift of 40167 by 16 \
32230             places cannot be represented in type 'int'
32231         Cast LHS to 'unsigned int' after integer promotion.
32232         * lib/unictype/categ_of.c (lookup_withtable): Likewise.
32233         * lib/unictype/joininggroup_of.c (uc_joining_group): Likewise.
32235 2015-01-20  Daiki Ueno  <ueno@gnu.org>
32237         libunistring: bump version of unitypes dependants
32238         Due to the header file search order, all the headers which depend
32239         on unitypes.h need to be generated, when the preinstalled
32240         libunistring is older.
32241         * modules/unicase/base (configure.ac): Bump minimum version to
32242         0.9.4.
32243         * modules/uniconv/base (configure.ac): Likewise.
32244         * modules/unilbrk/base (configure.ac): Likewise.
32245         * modules/uninorm/base (configure.ac): Likewise.
32246         * modules/unistdio/base (configure.ac): Likewise.
32247         * modules/unistr/base (configure.ac): Likewise.
32248         * modules/uniwbrk/base (configure.ac): Likewise.
32249         * modules/uniwidth/base (configure.ac): Likewise.
32251 2015-01-20  Daiki Ueno  <ueno@gnu.org>
32253         unictype/category-none: fix link with libunistring
32254         Since _UC_CATEGORY_NONE is not a public symbol, it will be
32255         prefixed with "libstring_" when compiled as part of libunistring.
32256         To avoid undefined symbol at link time, increase the minimum
32257         version when the dependant modules are updated.
32258         * modules/unictype/category-none (configure.ac): Bump minimum
32259         version to 0.9.5.
32261 2015-01-20  Daiki Ueno  <ueno@gnu.org>
32263         unitypes: fix build with installed libunistring
32264         The minimum version has not bumped after _UC_ATTRIBUTE_CONST and
32265         _UC_ATTRIBUTE_PURE were added to unitypes.in.h.
32266         * modules/unitypes (configure.ac): Bump minimum version to 0.9.4.
32268 2015-01-15  Paul Eggert  <eggert@cs.ucla.edu>
32270         time: port to MinGW32 3.21
32271         Problem reported by Eli Zaretskii in:
32272         http://lists.gnu.org/r/bug-gnulib/2015-01/msg00042.html
32273         * lib/time.in.h:
32274         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC):
32275         * modules/time (Depends-on):
32276         Fall back on unistd.h if the other include files don't define
32277         struct timespec.
32279         update-copyright: apply to self
32280         * build-aux/update-copyright: Fix copyright date.  How ironic!
32282 2015-01-15  Daiki Ueno  <ueno@gnu.org>
32284         libunistring: update to Unicode 7.0.0
32285         * lib/unictype/joininggroup_byname.gperf: Add Straight Waw and
32286         Manichaean names.
32287         * lib/unictype/joininggroup_name.h: Likewise.
32288         * lib/unictype.in.h (UC_JOINING_GROUP_STRAIGHT_WAW)
32289         (UC_JOINING_GROUP_MANICHAEAN_ALEPH): New enumeration values.
32290         * lib/gen-uni-tables.c (UC_JOINING_GROUP_STRAIGHT_WAW)
32291         (UC_JOINING_GROUP_MANICHAEAN_*): New enumeration values.
32292         (fill_arabicshaping, joining_group_as_c_identifier): Support those
32293         enum values.
32294         (is_property_alphabetic): Accept newly added characters to
32295         cuneiform numeric signs.
32296         (is_property_default_ignorable_code_point): Reject U+0605.
32297         (FIELDLEN): Increase from 120 to 160.
32298         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0605,
32299         U+08FF, U+0C00, U+0C81, U+0D01, U+1AB0..U+1ABE, U+1BAC..U+1BAD,
32300         U+1CF8..U+1CF9, U+1DE7..U+1DF5, U+A9E5, U+AA7C, U+FE27..U+FE2D,
32301         U+102E0, U+10376..U+1037A, U+10AE5..U+10AE6, U+1107F, U+11173,
32302         U+1122F..U+11231, U+11234, U+11236..U+11237, U+112DF,
32303         U+112E3..U+112EA, U+11301, U+1133C, U+11340, U+11366..U+1136C,
32304         U+11370..U+11374, U+114B3..U+114B8, U+114BA, U+114BF..U+114C0,
32305         U+114C2..U+114C3, U+115B2..U+115B5, U+115BC..U+115C0,
32306         U+11633..U+1163A, U+1163D, U+1163F..U+11640, U+16AF0..U+16AF4,
32307         U+16B30..U+16B36, U+1BC9D..U+1BC9E, U+1BCA0..U+1BCA3, and
32308         U+1E8D0..U+1E8D6.
32309         (uc_width): Adjust nonspacing_table_ind boundary from 240 to 248.
32310         * tests/uniwidth/test-uc_width2.sh: Same updates as in
32311         lib/uniwidth/width.c.
32312         * all generated files under lib/uni* and tests/uni*: Regenerate.
32314 2015-01-14  Daiki Ueno  <ueno@gnu.org>
32316         libunistring: update to Unicode 6.3.0
32317         * lib/uniwbrk.in.h (WBP_DQ, WBP_SQ, WBP_HL): New enumeration values.
32318         * lib/uniwbrk/u-wordbreaks.h (FUNC): Support WB7a, WB7b, and WB7c.
32319         Update WB5, WB6, WB7, WB9, WB11, WB12, WB13a, and WB13b.
32320         * lib/uniwbrk/wbrktable.h (uniwbrk_table): Adjust table size.
32321         * lib/uniwbrk/wbrktable.c (uniwbrk_table): Support rule WB7a.
32322         Update WB5, WB9, WB10, WB13a, and WB13b.
32323         * tests/uniwbrk/test-uc-wordbreaks.c
32324         (wordbreakproperty_to_string): Support WBP_DQ, WBP_SQ, and WBP_HL.
32325         * lib/gen-uni-tables.c (UC_BIDI_LRI, UC_BIDI_RLI, UC_BIDI_FSI)
32326         (UC_BIDI_PDI): New enumeration values.
32327         (bidi_category_byname): Support those enum values.
32328         (is_WBP_MIDNUMLET): Exclude 0x0027 (SINGLE QUOTE), which is now a
32329         dedicated property assigned.
32330         (is_property_case_ignorable): Check 0x0027.
32331         (WBP_DQ, WBP_SQ, WBP_HL): New enumeration values.
32332         (get_wbp, debug_output_wbp, fill_org_wbp, debug_output_org_wbp)
32333         (output_wbp): Support those enum values.
32334         * lib/unictype.in.h (UC_BIDI_LRI, UC_BIDI_RLI, UC_BIDI_FSI)
32335         (UC_BIDI_PDI): New enumeration values.
32336         * lib/unictype/bidi_byname.gperf: Add those property names.
32337         * lib/uniwidth/width.c (nonspacing_table_data): Add U+061C,
32338         U+180E, U+1A1B, and U+2066..U+2069.
32339         * tests/uniwidth/test-uc_width2.sh: Same updates as in
32340         lib/uniwidth/width.c.
32341         * all generated files under lib/uni* and tests/uni*: Regenerate.
32343 2015-01-14  Daiki Ueno  <ueno@gnu.org>
32345         libunistring: update to Unicode 6.2.0
32346         * lib/unilbrk/lbrktables.h (LBP_RI): New enumeration value.
32347         (unilbrk_table): Adjust table size.
32348         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column
32349         for LBP_RI.
32350         * lib/uniwbrk.in.h (WBP_RI): New enumeration value.
32351         * lib/uniwbrk/u-wordbreaks.h (FUNC): Support rule WB13c.
32352         Normalize table index skipping ignored properties.
32353         * lib/uniwbrk/wbrktable.c (uniwbrk_table): Support WBP_RI.  Remove
32354         WBP_EXTEND and WBP_FORMAT, which are now computed without using
32355         the table.
32356         * lib/uniwbrk/wbrktable.h: Adjust table size.
32357         * lib/unigbrk.in.h (GBP_RI): New enumeration value.
32358         * lib/unigbrk/uc-is-grapheme-break.c (UC_IS_GRAPHEME_BREAK):
32359         Support rule GB8a.
32360         (UC_GRAPHEME_BREAKS_FOR, gb_table): Support GBP_RI.
32361         * tests/unigbrk/test-uc-is-grapheme-break.c
32362         (graphemebreakproperty_to_string): Support GBP_RI.
32363         * tests/uniwbrk/test-uc-wordbreaks.c
32364         (wordbreakproperty_to_string): Support WBP_RI.
32365         * lib/gen-uni-tables.c (LBP_RI): New enumeration value.
32366         (get_lbp, debug_output_lbp, fill_org_lbp, debug_output_org_lbp)
32367         (output_lbp): Support LBP_RI.  Adjust some characters changed from
32368         LBP_AL to LBP_ID.
32369         (output_lbp): Support LBP_RI.
32370         (WBP_RI): New enumeration value.
32371         (debug_output_wbp, fill_org_wbp, debug_output_org_wbp)
32372         (output_wbp): Support WBP_RI.
32373         (GBP_RI): New enumeration value.
32374         (output_gbp_test, fill_org_gbp): Support GBP_RI.
32375         * all generated files under lib/uni* and tests/uni*: Regenerate.
32377 2015-01-14  Daiki Ueno  <ueno@gnu.org>
32379         libunistring: update to Unicode 6.1.0
32380         * lib/gen-uni-tables.c (output_joining_group): Switch to
32381         3-level table to accommodate joining groups defined with higher
32382         codepoint value.  Since there are only 88 groups defined in
32383         Unicode 7.0.0, use 7-bit packed format for level3 entries.
32384         (get_lbp): Update for Unicode 6.1.0.
32385         * lib/unictype/joininggroup_of.c (uc_joining_group): Adjust to use
32386         3-level table.
32387         * lib/unictype/joininggroup_byname.gperf: Add Rohingya Yeh
32388         joining group name.
32389         * lib/unictype/joininggroup_name.h: Likewise.
32390         * lib/unilbrk/lbrktables.h (LBP_HL): New enumeration value.
32391         (unilbrk_table): Adjust table size.
32392         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column
32393         for LBP_HL.
32394         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0604,
32395         U+08E4..U+08FE, U+1BAB, U+1CF4, U+A674..U+A67B, U+A69F,
32396         U+AAEC..U+AAED, U+AAF6, U+11100..U+11102, U+11127..U+1112B,
32397         U+1112D..U+11134, U+11180..U+11181, U+111B6..U+111BE, U+116AB,
32398         U+116AD, U+116B0..U+116B5, U+116B7, U+16F8F..U+16F92.  Remove
32399         U+302E..U+302F.
32400         * tests/uniwidth/test-uc_width2.sh: Same updates as in
32401         lib/uniwidth/width.c.
32402         * all generated files under lib/uni* and tests/uni*: Regenerate.
32403         * modules/uni*/* (configure.ac): Bump minimum version to 0.9.5.
32405 2015-01-15  Daiki Ueno  <ueno@gnu.org>
32407         uniwbrk/u32-wordbreaks-tests: add conformance test
32408         * modules/uniwbrk/u32-wordbreaks-tests (Files): Add
32409         tests/uniwbrk/test-uc-wordbreaks.c,
32410         tests/uniwbrk/test-uc-wordbreaks.sh, and
32411         tests/uniwbrk/WordBreakTest.txt.
32412         (Makefile.am): Add uniwbrk/test-uc-wordbreaks.sh to $(TESTS), add
32413         test-uc-wordbreaks to $(check_PROGRAMS), and define
32414         test_uc_wordbreaks_SOURCES and test_uc_wordbreaks_LDADD.
32415         * tests/uniwbrk/test-uc-wordbreaks.sh: New file.
32416         * tests/uniwbrk/test-uc-wordbreaks.c: New file.
32418 2015-01-15  Daiki Ueno  <ueno@gnu.org>
32420         uniwbrk: ignore Extended/Format characters at BOL not BOS
32421         * lib/uniwbrk/u-wordbreaks.h (FUNC): Ignore Extend and Format
32422         characters if the previous character property is one of
32423         WBP_NEWLINE, WBP_CR, and WBP_LF.
32425 2015-01-11  Jim Meyering  <meyering@fb.com>
32427         test-strstr.c: avoid a trivial leak
32428         * tests/test-strstr.c (main): Free haystack.
32430         update-copyright: recognize groff's \(co marker
32431         * build-aux/update-copyright (circle_c_re): Also accept
32432         uses of \(co, as found in gzip.1.
32434 2015-01-08  Pádraig Brady  <P@draigBrady.com>
32436         maint.mk: fix compatibility with OS X nm
32437         * top/maint.mk (_gl_tight_scope): Use the -g option to
32438         show exported items rather than the -e option which is
32439         ignored on all platforms except OS X where it gives an error.
32440         Reported by Assaf Gordon.
32442 2015-01-07  KO Myung-Hun  <komh@chollian.net>
32444         localcharset: improve charset detection on OS/2
32445         Use system codepage when appropriate.  Map OS/2 codepages to
32446         GNU canonical charset names if possible.
32447         * lib/config.charset: Don't output aliases if "$os" is os2*.
32448         * lib/localcharset.c (get_charset_aliases) [OS2]: Hardcode the
32449         result for OS/2.
32450         (locale_charset) [OS2]: Use system codepage if codeset is omitted
32451         from the locale name which is neither "C" nor "POSIX".
32453 2015-01-06  Paul Eggert  <eggert@cs.ucla.edu>
32455         count-leading-zeros: use 64-bit intrinsics on 32-bit Windows
32456         This reverts the last patch but one, as it shouldn't be needed now
32457         that the typo is fixed.
32458         * lib/count-leading-zeros.h (count_leading_zeros_ll):
32459         * lib/count-trailing-zeros.h:
32460         * lib/count-one-bits.h:
32461         Go back to using 64-bit intrinsics.
32463         count-leading-zeros: fix pragma typos
32464         * lib/count-leading-zeros.h (_BitScanReverse, _BitScanReverse64):
32465         Fix typos in declaration of intrinsics when _MSC_VER.
32467 2015-01-06  Pádraig Brady  <P@draigBrady.com>
32469         count-leading-zeros: avoid 64-bit intrinsics on 32-bit Windows
32470         * lib/count-leading-zeros.h (count_leading_zeros_ll): Use 32 bit
32471         intrinsics in this case.
32472         * lib/count-trailing-zeros.h: Likewise.
32473         * lib/count-one-bits.h: Likewise.
32475 2015-01-06  Daiki Ueno  <ueno@gnu.org>
32477         uniname/uniname: update to Unicode 7.0.0
32478         To accommodate new characters added since Unicode 5.1.0, this
32479         changes the internal representation of codepoint ranges.
32480         Previously, we grouped codepoint ranges by manually assigned 4-bit
32481         tag, which only allowed 16 groups.  This removes the limitation by
32482         switching to binary search on a table.  For the detail rationale
32483         and the benchmark results, see:
32484         https://lists.gnu.org/r/bug-libunistring/2014-06/msg00001.html
32485         * lib/uniname/gen-uninames.lisp (unicode-char): Rename CODE member
32486         to INDEX, as it no longer represents a codepoint.
32487         (range): New struct.
32488         (main): Switch to intervals list from a bit-pattern based
32489         classification.
32490         * lib/uniname/uninames.h: Regenerate.
32491         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 7.0.0.
32492         * modules/uniname/base (configure.ac): Bump minimum version to
32493         0.9.5.
32494         * modules/uniname/uniname (configure.ac): Bump minimum version to
32495         0.9.5.
32497 2015-01-05  Eric Blake  <eblake@redhat.com>
32499         doc: update INSTALL from autoconf
32500         * doc/install.texi: Resync from autoconf.
32501         * doc/INSTALL: Reflect recent autoconf update.
32502         * doc/INSTALL.ISO: Likewise.
32503         * doc/INSTALL.UTF-8: Likewise.
32505         stdio: fix use of PRIdMAX on modern mingw
32506         * m4/stdio_h.m4 (gl_STDIO_H): Probe for printf flavor via inttypes.
32507         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): Use result
32508         to work with modern mingw.
32510 2015-01-05  Daniel P. Berrange  <berrange@redhat.com>  (tiny change)
32512         pthread: detect git mingw builds with only partial pollution
32513         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for additional
32514         pollution, as seen temporarily in Fedora 21.
32516 2015-01-04  Paul Eggert  <eggert@cs.ucla.edu>
32518         lib-symbol-versions: cache script check
32519         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT):
32520         Cache the check for linker version scripts.
32521         From a suggestion by Christophe Curis in:
32522         http://lists.gnu.org/r/bug-gnulib/2015-01/msg00011.html
32524 2015-01-04  Benno Schulenberg  <bensberg@justemail.net>
32526         maint: fix grammar nits in propername (trivial change)
32527         * lib/propername.h: Remove a mistaken comma and a duplicate "from",
32528         and use an adequate verb and tense.
32530 2015-01-02  Ludovic Courtès  <ludo@gnu.org>
32532         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
32533         * module/gendocs: Add 'doc/gendocs_template_min'.
32535         * build-aux/gendocs.sh: Change email addresses and upstream URLs
32536         from to Gnulib's.
32537         (scripturl, templateurl): Adjust accordingly.
32539 2015-01-01  Paul Eggert  <eggert@cs.ucla.edu>
32541         gendocs: copyright date and version fix
32542         Reported by Karl Berry in:
32543         http://lists.gnu.org/r/bug-gnulib/2015-01/msg00002.html
32544         * build-aux/gendocs.sh, doc/gendocs_template, doc/gendocs_template_min:
32545         Fix copyright date.
32546         * build-aux/gendocs.sh (scriptversion): Update.
32548 2015-01-01  Karl Berry  <karl@gnu.org>
32550         * doc/install.texi,
32551         * build-aux/mdate-sh,
32552         * build-aux/depcomp,
32553         * build-aux/config.guess,
32554         * build-aux/config.sub,
32555         * build-aux/ar-lib,
32556         * build-aux/compile: revert copyright updates (some from last
32557         year) in slaved files.
32559 2015-01-01  Paul Eggert  <eggert@cs.ucla.edu>
32561         version-etc: new year
32562         * doc/gnulib.texi:
32563         * lib/version-etc.c (COPYRIGHT_YEAR): Update copyright date.
32564         * all files: Run 'make update-copyright'.
32566 2014-12-30  Pádraig Brady  <P@draigBrady.com>
32568         xstrtol: ensure errno is reset
32569         Since commit 3bf75404, on 26-09-1998, errno may not have been reset.
32570         Noticed with a spurious coreutils test failure on Darwin 14.0.0.
32572         * lib/xstrtol.c (__xstrtol): Always reset errno before returning.
32574 2014-12-28  Paul Eggert  <eggert@cs.ucla.edu>
32576         utimens: fix dependency typo
32577         * modules/utimens (Depends-on): Remove 'assure'.
32578         This bug was introduced in the recent 'assure' patch.
32580 2014-12-22  Eric Blake  <eblake@redhat.com>
32582         docs: mention why libgen.h is bad
32583         * doc/posix-headers/libgen.texi (libgen.h): Refer to dirname module.
32585 2014-12-20  Paul Eggert  <eggert@cs.ucla.edu>
32587         assure: new module
32588         This works better than 'assert' when compiling with -DNDEBUG,
32589         as it avoids some compiler diagnostics in that case.
32590         Reported by Norihiro Tanaka in:
32591         http://lists.gnu.org/r/bug-gnulib/2014-12/msg00215.html
32592         * MODULES.html.sh (func_all_modules): Add 'assure'.
32593         * lib/assure.h, modules/assure: New files.
32594         * lib/chdir-long.c, lib/cycle-check.c, lib/fchdir.c, lib/fts.c:
32595         * lib/poll.c, lib/savewd.c, lib/xstrtol.c:
32596         Prefer 'assure' to 'assert'.
32597         * lib/utimens.c: Stop using 'assert'; it wasn't helpful.
32598         * modules/chdir-long, modules/cycle-check, modules/fchdir:
32599         * modules/poll, modules/savewd, modules/utimens, modules/xstrtol:
32600         Depend on 'assure'.
32602 2014-12-16  Paul Eggert  <eggert@cs.ucla.edu>
32604         stdalign: port better to HP compilers
32605         * m4/stdalign.m4 (gl_STDALIGN_H): Try the test if __HP_cc or
32606         __HP_aCC are nonzero, to be consistent with the 2014-01-20 patch.
32608         stdalign: work around Apple GCC 4.0 bug
32609         Reported by David Fang in:
32610         http://lists.gnu.org/r/bug-gnulib/2014-12/msg00194.html
32611         * lib/stdalign.in.h (_Alignas):
32612         * m4/stdalign.m4 (gl_STDALIGN_H):
32613         Do not use aligned attribute with GCC 4.0 on Apple.
32615 2014-12-16  Pádraig Brady  <P@draigBrady.com>
32617         getcwd: fix test failure on OS X 10.9
32618         * m4/getcwd-path-max.m4: Avoid the replacement if it
32619         won't be effective due to the PATH_MAX limitation of lstat().
32620         (gl_cv_func_getcwd_path_max): Adjust to indicate this case.
32621         * m4/getcwd.m4 (gl_FUNC_GETCWD): Define HAVE_GETCWD_SHORTER
32622         for this case for use in tests, and also exclude this
32623         case when setting REPLACE_GETCWD.
32624         * tests/test-getcwd.c (test_long_name): Restrict the
32625         tested path length so that lstat() will not be passed
32626         a path greater than PATH_MAX.
32627         Also key a test condition on HAVE_OPENAT_SUPPORT rather
32628         than AT_FDCWD, since the latter is set unconditionally
32629         since Sep 2009 in commit 52c658e9.
32631 2014-12-14  Tim Rühsen  <tim.ruehsen@gmx.de>
32633         parse-datetime: avoid a compiler warning with byacc (trivial)
32634         * lib/parse-datetime.y (yylex): Use the same prototype in the
32635         function definition as the declaration, to avoid a -Wstrict-prototypes
32636         warning seen when using byacc.
32638 2014-12-12  Daiki Ueno  <ueno@gnu.org>
32640         unicase/locale-language-tests: fix LOCALE_FR test
32641         * tests/unicase/test-locale-language.sh: Really use $LOCALE_FR for
32642         a French locale with traditional encoding.
32643         Reported by umerqayam in:
32644         http://lists.gnu.org/r/bug-libunistring/2014-12/msg00000.html
32646 2014-12-12  Paul Eggert  <eggert@cs.ucla.edu>
32648         stddef: support C11's max_align_t
32649         * doc/posix-headers/stddef.texi (stddef.h): Document max_align_t.
32650         * lib/stddef.in.h (_@GUARD_PREFIX@_STDDEF_H) [__need_wint_t]:
32651         Do not undef, as that might cause max_align_t to be defined twice.
32652         Instead, change use to check for _GL_STDDEF_WINT_T too.
32653         (max_align_t) [!HAVE_MAX_ALIGN_T]: New decl.
32654         * m4/stddef_h.m4 (gl_STDDEF_H, gl_STDDEF_H_DEFAULTS):
32655         Check for max_align_t.
32656         * modules/stddef (stddef.h): Substitute HAVE_MAX_ALIGN_T.
32657         * modules/stddef-tests (Depends-on): Add stdalign.
32658         * tests/test-stddef.c: Test max_align_t.
32660 2014-12-11  Daiki Ueno  <ueno@gnu.org>
32662         unistd: fix iOS check conditional
32663         On Mac OS X 10.8, the TARGET_* macros are unconditonally defined
32664         as 0 or 1 in <TargetConditionals.h>, and the previous check always
32665         yielded true on non-iOS environment.
32666         * lib/unistd.in.h (environ) [__APPLE__]: Check the values of
32667         TARGET_OS_IPHONE and TARGET_IPHONE_SIMULATOR, instead of whether
32668         they are defined.
32670 2014-12-09  Paul Eggert  <eggert@cs.ucla.edu>
32672         posixtm: avoid compiler warning in a better way
32673         * lib/posixtm.c (IF_LINT): Remove.
32674         (year, posix_time_parse):
32675         Return true (not 0) if successful.  All callers changed.
32676         (posix_time_parse): Simplify to pacify GCC without need for IF_LINT.
32678 2014-12-08  KO Myung-Hun  <komh78@gmail.com>
32680         * lib/relocatable.c (relocate): Prepend $UNIXROOT to pathname if it is
32681         started with '/' on EMX.
32683 2014-12-08  KO Myung-Hun  <komh78@gmail.com>
32685         freopen: workaround freopen() on OS/2 kLIBC
32686         * lib/freopen.c (rpl_freopen): Workaround.
32687         * m4/freopen.m4: Add os2* case.
32689         get_shared_library_fullname: port to EMX
32690         * lib/relocatable.c: Define strcmp and strncmp to stricmp and strnicmp
32691         on EMX, respectively.
32692         (_DLL_InitTerm): New on EMX.
32693         (get_shared_library_fullname): Implement on EMX.
32695         find_executable: port to EMX
32696         * lib/progreloc.c (find_executable): Implement on EMX.
32698         sched: check struct sched_param in spawn.h as well
32699         * lib/sched.in.h: Include spawn.h on kLIBC.
32700         * lib/sched_h.m4: Check struct sched_param in spawn.h as well.
32702 2014-12-08  Martin Kletzander  <mkletzan@redhat.com>  (tiny change)
32704         bootstrap: Allow perl modules in $buildreq
32705         * build-aux/bootstrap: Add case for perl modules.
32707 2014-12-08  Pádraig Brady  <P@draigBrady.com>
32709         apply _GL_ATTRIBUTE_PURE to some inline functions
32710         clang 3.4.2 flagged these inline functions as pure
32711         * lib/savewd.h (savewd_errno): Set _GL_ATTRIBUTE_PURE.
32712         * lib/sig-handler.h (get_handler): Likewise.
32713         * lib/stat-time.h (get_stat_{a,c,m,birth}time{,_ns}): Likewise.
32714         * lib/timespec.h (timespec_cmp, timespec_sign): Likewise.
32716 2014-12-06  Pádraig Brady  <P@draigBrady.com>
32718         vasnprintf: fix potential use after free
32719         * lib/vasnprintf.c (VASNPRINTF): Fix free-memory read,
32720         flagged by clang-analyzer 3.4.2.
32722 2014-12-05  Pádraig Brady  <P@draigBrady.com>
32724         filevercmp, posixtm: avoid compiler warnings with -O3
32725         * lib/filevercmp.h (filevercmp): Tag with _GL_ATTRIBUTE_PURE
32726         * lib/posixtm.c: (IF_LINT): Define.
32727         (posix_time_parse): Use it to void a "may be used uninitialized"
32728         warning, seen only with -O3.
32730 2014-12-05  Bruno Haible  <bruno@clisp.org>
32732         Fix LDBL80_WORDS macro on big endian platforms.
32733         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Add missing parenthesis in
32734         LDBL80_WORDS macro.
32735         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
32736         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
32737         * tests/test-isfinite.c (test_isfinitel): Likewise.
32738         * tests/test-isinf.c (test_isinfl): Likewise.
32739         * tests/test-isnan.c (test_long_double): Likewise.
32740         * tests/test-isnanl.h (main): Likewise.
32741         * tests/test-snprintf-posix.h (LDBL80_WORDS): Add missing parenthesis.
32742         * tests/test-sprintf-posix.h (LDBL80_WORDS): Likewise.
32743         * tests/test-vasnprintf-posix.c (LDBL80_WORDS): Likewise.
32744         * tests/test-vasprintf-posix.c (LDBL80_WORDS): Likewise.
32745         Reported by Pádraig Brady.
32747 2014-12-02  KO Myung-Hun  <komh78@gmail.com>
32749         git-version-gen: do not print new line characters
32750         * build-aux/git-version-gen: Use printf instead of echo and tr.
32752         gnulib-tool: recognize x:* as an absolute path
32753         * gnulib-tool (func_gnulib_dir): Add ?:* case.
32754         (func_relconcat): Likewise.
32756 2014-12-02  Andrei Borzenkov  <arvidjaar@gmail.com>
32758         argp: avoid extraneous translation and mem leak with empty pre doc
32759         * lib/argp-help.c (argp_doc): Never translate the empty string,
32760         when "\v" is the first or last character of the string, as that
32761         has a reserved meaning to return the header info from a po file.
32762         This also fixes a small memory leak in the !post case.
32763         The issue can be seen with this command for example:
32764         LC_MESSAGES=en_US grub2-mknetdir --help
32766 2014-11-27  Daiki Ueno  <ueno@gnu.org>
32768         uniname/uniname-tests: skip if system's libunistring is used
32769         * modules/uniname/uniname-tests (Makefile.am): Skip test if
32770         uniname/uniname module is not compiled.
32772 2014-11-27  Pádraig Brady  <P@draigBrady.com>
32774         printf: fix configure check on big endian systems
32775         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Add missing bracket.
32777 2014-11-22  Daiki Ueno  <ueno@gnu.org>
32779         pipe-filter-gi, pipe-filter-ii: port to AIX
32780         On AIX 7.1, 'select' is defined as static and cannot be referred
32781         to from inline function.
32782         * lib/pipe-filter-aux.h (nointr_select): Remove, manually expand
32783         the definition...
32784         * lib/pipe-filter-gi.c (filter_loop): ...here, and...
32785         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): ...here.
32787 2014-11-20  Paul Eggert  <eggert@cs.ucla.edu>
32789         gitlog-to-changelog: add --until
32790         * build-aux/gitlog-to-changelog: Support new --until option.
32791         Need described by Eli Zaretskii in: http://bugs.gnu.org/19113
32793 2014-11-14  Paul Eggert  <eggert@cs.ucla.edu>
32795         extern-inline: update commentary about GCC bugs
32796         * m4/extern-inline.m4: Add another GCC bug number to comments.
32798 2014-11-13  Daiki Ueno  <ueno@gnu.org>
32800         gen-uni-tables: untabify
32801         * lib/gen-uni-tables.c: Untabify.
32803 2014-11-13  Daiki Ueno  <ueno@gnu.org>
32805         gen-uni-tables: check out-of-range values added to 3-level tables
32806         * lib/gen-uni-tables.c (output_category, output_bidi_category)
32807         (output_joining_type, output_ident_category): Check out-of-range
32808         values added to 3-level tables.
32810 2014-11-13  Daiki Ueno  <ueno@gnu.org>
32812         gen-uni-tables: utilize 'assert'
32813         * lib/gen-uni-tables.c: Include <assert.h>.
32814         (output_category, output_combclass, output_decimal_digit_test)
32815         (output_decimal_digit, output_digit_test, output_digit)
32816         (output_numeric, get_mirror_value, fill_properties)
32817         (fill_property30, is_property_alphabetic)
32818         (is_property_default_ignorable_code_point)
32819         (is_property_uppercase, is_property_lowercase)
32820         (is_property_cased, is_property_case_ignorable)
32821         (is_property_changes_when_lowercased, is_property_iso_control)
32822         (is_property_math, fill_arabicshaping, output_joining_group)
32823         (fill_scripts, fill_blocks, output_lbp, fill_org_wbp)
32824         (output_wbp, fill_org_gbp, get_decomposition)
32825         (output_decomposition, fill_composition_exclusions)
32826         (debug_output_composition_tables, output_composition_tables)
32827         (redistribute_casefolding_rules, output_casing_rules): Use
32828         'assert (EXPR);' instead of 'if (!EXPR) abort ();' for better error
32829         reporting.
32831 2014-11-13  Daiki Ueno  <ueno@gnu.org>
32833         gen-uni-tables: cosmetic improvements
32834         * lib/gen-uni-tables.c: Escape newlines in the Emacs file local
32835         variables specification.
32836         (is_outdigit): Remove unused function.
32838 2014-11-12  Jeroen Roovers  <jer@gentoo.org>  (tiny change)
32840         fcntl-h-tests: port to PA-RISC GNU/Linux
32841         * tests/test-fcntl-h.c (main): Check O_SYNC is different from O_DSYNC.
32843 2014-11-10  Paul Eggert  <eggert@cs.ucla.edu>
32845         fts: port to C89
32846         Problem reported for MSVC 16 by Gisle Vanem in:
32847         http://lists.gnu.org/r/bug-gnulib/2014-11/msg00027.html
32848         * lib/fts.c (fts_build): Avoid declaration before statement.
32850 2014-11-06  Paul Eggert  <eggert@cs.ucla.edu>
32852         unistd: port to iOS
32853         Problem reported by André Klitzing in:
32854         http://lists.gnu.org/r/bug-gnulib/2014-11/msg00013.html
32855         * lib/unistd.in.h (environ): Do not include crt_externs.h on iOS.
32857 2014-11-05  Paul Eggert  <eggert@cs.ucla.edu>
32859         obstack: do not reject malloc-style obstack_chunkfun, obstack_freefun
32860         Problem reported by Alan Modra in:
32861         http://lists.gnu.org/r/bug-gnulib/2014-11/msg00007.html
32862         * lib/obstack.h (obstack_chunkfun, obstack_freefun):
32863         Always cast the function arg, reverting this part of the previous
32864         change.
32866 2014-11-04  Paul Eggert  <eggert@cs.ucla.edu>
32868         obstack: avoid potentially-nonportable function casts
32869         * lib/obstack.c (CALL_CHUNKFUN, CALL_FREEFUN):
32870         Remove, replacing with ...
32871         (call_chunkfun, call_freefun): New static functions.
32872         All uses changed.  Avoid potentially-nonportable casts.
32873         (chunkfun_type, freefun_type): Remove typedefs; no longer used.
32874         (_obstack_begin_worker): Omit last two args, since they
32875         rely on potentially-nonportable casts.  All callers changed.
32876         * lib/obstack.h (_OBSTACK_CAST): New macro.
32877         Use it everywhere the old API used a potentially-nonportable cast.
32878         The new API doesn't cast.
32879         (struct obstack): Use unions rather than requiring
32880         potentially-nonportable casts.
32881         (obstack_chunkfun, obstack_freefun): Return void.
32883 2014-11-03  Alan Modra  <amodra@gmail.com>
32885         obstack: fix macro return values
32886         * lib/obstack.h (obstack_next_free): Return void *.
32887         (obstack_1grow_fast, obstack_blank_fast): Return void.
32888         For __GNUC__ macros:
32889         (obstack_1grow, obstack_blank): Remove now unnecessary (void) 0.
32890         For !__GNUC__ macros:
32891         (obstack_make_room, obstack_grow, obstack_grow0)
32892         (obstack_ptr_grow_fast, obstack_int_grow_fast): Return void.
32894 2014-11-03  Paul Eggert  <eggert@cs.ucla.edu>
32896         obstack: do not assume system-supplied obstack is size_t safe
32897         * m4/obstack.m4: New file.
32898         * modules/obstack (Files): Add it.
32900         obstack: port to platforms that #define __alignof__
32901         * lib/obstack.c: Include <alignof.h> if !defined __alignof__,
32902         not if !_LIBC.  We don't know of any platforms that #define
32903         __alignof__, but it might be useful in tests.  Conversely,
32904         glibc assumes GCC.
32906 2014-11-03  Pádraig Brady  <P@draigBrady.com>
32908         linkat: don't unconditionally replace on GNU/Linux
32909         * m4/linkat.m4 (gl_FUNC_LINKAT): The compile check for AT_SYMLINK_FOLLOW
32910         was redundant for a few reasons.  It was present to support compiling
32911         on new systems but running on the old narrow window of Linux 2.6.1[67].
32912         It setup and cleaned up test files which weren't actually used.
32913         On non __linux__ it compile tested AT_SYMLINK_FOLLOW, but that is
32914         implicit in the following check.
32916 2014-11-03  Pádraig Brady  <P@draigBrady.com>
32918         linkat: wrap to handle symlinks on OS X 10.10
32919         * m4/linkat.m4 (gl_FUNC_LINKAT): linkat() is available on Yosemite
32920         but not usable because it doesn't support creating hardlinks
32921         to symlinks.  Therefore add a generic test for this capability
32922         and fallback to our emulation if linkat() fails with ENOTSUP.
32924 2014-11-02  Paul Eggert  <eggert@cs.ucla.edu>
32926         open, openat: document nonstandard FreeBSD, NetBSD O_NOFOLLOW errno
32927         * doc/posix-functions/open.texi (open):
32928         * doc/posix-functions/openat.texi (openat):
32929         Document that these functions do not set errno to ELOOP when
32930         a symlink is opened with O_NOFOLLOW.
32932 2014-10-31  Paul Eggert  <eggert@cs.ucla.edu>
32934         obstack: add NEWS entry for recent incompatible changes
32935         * NEWS: Describe recent changes.
32937 2014-10-30  Pádraig Brady  <P@draigBrady.com>
32939         mountlist: don't use libmount to decide on dummy/remote
32940         * lib/mountlist.c (read_file_system_list): Don't use the libmount
32941         routines to determine whether a file system is dummy or remote,
32942         as they're not currently compatible.  For example the remoteness
32943         is determined on file system type (for which the list seems incomplete),
32944         rather than simply checking for a ':' in the device name.
32945         Also libmount currently determines that 'tmpfs' is a dummy file system
32946         even though it has associated storage.
32948 2014-10-29  Paul Eggert  <eggert@cs.ucla.edu>
32950         obstack: prefer __alignof__ to alignof
32951         This is for portability to pre-4.7 GCC when compiling glibc.
32952         See Joseph S. Myers in:
32953         http://sourceware.org/ml/libc-alpha/2014-10/msg00703.html
32954         * lib/obstack.c (__alignof__) [!_LIBC && !__GNUC__]:
32955         New macro, defined by including and using <alignof.h>.
32956         (MAX): New macro.
32957         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Redefine in terms of these.
32958         Do not use enums as they are not portable to some broken compilers.
32959         * modules/obstack (Depends-on): Depend on alignof, not stdalign.
32961         obstack: prefer alignof to calculating alignments by hand
32962         * lib/obstack.c: Include <stdalign.h>.
32963         (struct fooalign): Remove.
32964         (DEFAULT_ALIGNMENT): Use alignof rather than the old offsetof hack.
32965         * modules/obstack (Depends-on): Add stdalign.
32967 2014-10-28  Paul Eggert  <eggert@cs.ucla.edu>
32969         obstack: use size_t alignments and check for overflow
32970         * lib/obstack.c, lib/obstack.h (_obstack_begin, _obstack_begin_1):
32971         * lib/obstack.c (_obstack_begin_worker, _obstack_newchunk):
32972         * lib/obstack.h (struct obstack.alignment_mask):
32973         Use _OBSTACK_SIZE_T, not int, for alignments.
32974         * lib/obstack.c (_obstack_newchunk): Fail if the size calculation
32975         overflows, e.g., when adding the alignment.
32977 2014-10-29  Alan Modra  <amodra@gmail.com>
32979         obstack: 64-bit obstack support, part 3
32980         This finally enables full 64-bit obstack support.  The glibc
32981         shared library specific code is removed from obstack.c too, and
32982         the error handling code conditionally compiled under control of
32983         another macro, _OBSTACK_NO_ERROR_HANDLER.
32984         * lib/obstack.h: Include string.h earlier.
32985         (_OBSTACK_INTERFACE_VERSION): Define.
32986         (_OBSTACK_SIZE_T, _CHUNK_SIZE_T): Define as size_t for version 2.
32987         * lib/obstack.c: Don't include shlib-compat.h.
32988         (OBSTACK_INTERFACE_VERSION): Delete.
32989         (_OBSTACK_ELIDE_CODE): Rename from ELIDE_CODE.  Define when version 1
32990         glibc code is compatible with version 2.  Don't include stdio.h for
32991         __GNU_LIBRARY.
32992         (obstack_exit_failure, print_and_abort, obstack_alloc_failed_handler):
32993         Omit when _OBSTACK_NO_ERROR_HANDLER defined.  Include stdio.h here.
32994         (_obstack_compat, _obstack, _obstack_newchunk, obstack_free): Delete
32995         glibc shared library specific source.
32997         obstack: 64-bit obstack support, part 2
32998         This gets us 4G obstack support, without changing ABI
32999         compatibility, apart from possibly introducing some
33000         signed/unsigned comparison warnings in code that uses obstack.h.
33001         a) Replace "int" size parameters, return values, and macro local vars
33002            with _OBSTACK_SIZE_T, an "unsigned int" for now.
33003         b) Make obstack.chunk_size a _CHUNK_SIZE_T, an "unsigned long" for now.
33004         c) Make all obstack macros checking available room use obstack_room.
33005            "next_free + desired > chunk_limit" may wrap the lhs for chunks
33006            allocated near the top of memory.
33007         d) Use unsigned comparisons, and macro locals to support >2G on 32-bit.
33008         * lib/obstack.h (_OBSTACK_SIZE_T): Define.  Use throughout
33009         in place of "int" size parameters, return values and local vars.
33010         (_CHUNK_SIZE_T): Define.
33011         (struct obstack): Make chunk_size a _CHUNK_SIZE_T.  Make temp
33012         union use an _OBSTACK_SIZE_T integer type.
33013         For __GNUC__ versions of the following macros...
33014         (obstack_room): Rename local var.
33015         (obstack_make_room): Use obstack_room.
33016         (obstack_grow, obstack_grow0, obstack_1grow, obstack_ptr_grow,
33017         obstack_int_grow, obstack_blank): Likewise.
33018         (obstack_finish): Use unsigned comparison when comparing aligned
33019         next_free against chunk_limit.
33020         (obstack_free): Cast OBJ to remove possible const qualifier.
33021         For !__GNUC__ versions of the following macros...
33022         (obstack_make_room): Use obstack_room.
33023         (obstack_grow, obstack_grow0, obstack_1grow, obstack_ptr_grow,
33024         obstack_int_grow, obstack_blank): Likewise.
33025         (obstack_finish): Use unsigned comparision when comparing aligned
33026         next_free against chunk_limit.
33027         (obstack_free): Use temp.p and same comparisons as __GNUC__ version.
33028         * lib/obstack.c (_obstack_begin_worker): Make "size" parameter
33029         _OBSTACK_SIZE_T.
33030         (_obstack_begin, _obstack_begin_1): Likewise.
33031         (_obstack_newchunk): Likewise for length parameter.  Use size_t locals.
33032         (_obstack_memory_used): Return and use _OBSTACK_SIZE_T local.
33034         obstack: 64-bit obstack support, part 1
33035         a) Correct calls to alloc function, to use a size_t arg.  "long" is
33036            just wrong on targets like x86_64-mingw64 where "long" is 32 bits
33037            and "size_t" 64 bits.
33038         b) Consolidate _obstack_begin and _obstack_begin1 code.
33039         * lib/obstack.h (struct obstack <chunkfun>): Correct prototype to
33040         use "size_t" rather than "long".
33041         (_obstack_begin, _obstack_begin1): Likewise.
33042         (obstack_init, obstack_begin, obstack_specify_allocation_with_arg,
33043         obstack_chunkfun): Update alloc function casts.
33044         * lib/obstack.c (CALL_CHUNKFUN): Update chunkfun cast.
33045         (chunkfun_type, freefun_type): New typdefs.
33046         (_obstack_begin_worker): Split out from ..
33047         (_obstack_begin, _obstack_begin_1): ..here.
33049         obstack: tidy part 2
33050         a) Don't be concerned about "not polluting the namespace with stddef.h
33051            symbols" in obstack.h, since gnulib string.h includes stddef.h
33052            anyway, and it seems unlikely that anyone would care.
33053         b) Don't roll our own slow memcpy in _obstack_newchunk.
33054         c) Rename obstack_free to _obstack_free.  This makes the naming
33055            consistent with other obstack functions and obviates the need for
33056            __obstack_free.  Ancient obstack.c defined both obstack_free and
33057            _obstack_free.  We continue to do that for _LIBC via an alias.
33058         d) Miscellaneous macro fixes.  The expression used to test for gcc-2.8
33059            is clever, but nowadays gcc warns on undefined macros.  You'll get
33060            an undefined macro warning if simulating an old gcc with -U__GNUC__
33061            -U__GNUC_MINOR__ -D__GNUC__=1.
33062         * lib/obstack.h: Include stddef.h unconditionally.  Formatting fixes.
33063         (PTR_INT_TYPE): Delete, replace with ptrdiff_t.
33064         (__obstack_free): Delete, update refs.
33065         (_obstack_free): Rename from obstack_free.
33066         (__extension__): Avoid undefined macro warning for __GNUC_MINOR__.
33067         (obstack_object_size, obstack_room): Parenthesise !__GNUC__ versions.
33068         * lib/obstack.c: Don't include stddef.h.
33069         (COPYING_UNIT): Delete.
33070         (_obstack_begin): Formatting fix.
33071         (_obstack_newchunk): Use memcpy to move existing object to new chunk.
33072         (_obstack_free): Rename from __obstack_free, update alias.  Move
33073         undef of obstack_free to where it is needed.
33075         obstack: tidy part 1
33076         a) Rename temp fields.  temp.tempint and temp.tempptr just looks ugly
33077            to me, and result in overlong lines after later patches.
33078         b) Move error handling code, to avoid a forward declaration and to
33079            simplify later patches in this series.
33080         * lib/obstack.h (struct obstack <temp>): Rename fields of union
33081         and update all uses.
33082         * lib/obstack.c: Include stdlib.h earlier.
33083         (obstack_exit_failure, obstack_alloc_failed_handler): Move later
33084         in file.
33085         (print_and_abort): Remove now redundant forward declaration.
33087 2014-10-24  Paul Eggert  <eggert@cs.ucla.edu>
33089         socketlib, sockets, sys_socket: Use AC_REQUIRE to pacify autoconf.
33090         Without this change, in bleeding-edge fileutils Autoconf complains
33091         that gl_SOCKETLIB etc. are AC_REQUIREd after being invoked.
33092         * modules/socketlib (configure.ac): AC_REQUIRE gl_SOCKETLIB.
33093         * modules/sockets (configure.ac): AC_REQUIRE gl_SOCKETS.
33094         * modules/sys_socket (configure.ac): AC_REQUIRE gl_HEADER_SYS_SOCKET.
33096 2014-10-24  Daiki Ueno  <ueno@gnu.org>
33098         iconv: avoid false detection of non-working iconv
33099         The INBUF arguments of iconv can be either 'const char **'
33100         or 'char **'.  If CC is g++, the difference causes a compile error
33101         and thus leads to a false detection of non-working iconv.
33102         Reported by Eli Zaretskii and Werner LEMBERG in:
33103         <https://lists.gnu.org/r/bug-gnulib/2014-10/msg00023.html>.
33104         * m4/iconv.m4 (AM_ICONV_LINK): Try all possible argument types of
33105         iconv.  Bump serial number.
33107 2014-10-23  Pádraig Brady  <P@draigBrady.com>
33109         bootstrap: print more diagnostics for missing programs
33110         * build-aux/bootstrap: only suppress stderr when checking for
33111         alternative program names.  This supports programs issuing non
33112         standard error messages.
33114 2014-10-23  Pádraig Brady  <P@draigBrady.com>
33116         bootstrap: only update the gnulib submodule
33117         * build-aux/bootstrap: Restrict the "submodule update" command
33118         to the gnulib path.
33120 2014-10-18  Paul Eggert  <eggert@cs.ucla.edu>
33122         symlinkat: port to AIX 7.1
33123         * doc/posix-functions/symlinkat.texi (symlinkat):
33124         Mention AIX porting problem.
33125         * lib/symlinkat.c: Always include errno.h.
33126         (rpl_symlinkat) [HAVE_SYMLINKAT]: New function.
33127         * lib/unistd.in.h (symlinkat): Add replacement machinery.
33128         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Check symlinkat behavior.
33129         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_SYMLINKAT.
33130         * modules/symlinkat (Depends-on): Add fstatat if REPLACE_SYMLINKAT.
33131         (configure.ac): Also compile replacement if REPLACE_SYMLINKAT.
33132         * modules/unistd (unistd.h): Substitute REPLACE_SYMLINKAT.
33134         readlinkat: port to AIX 7.1
33135         * doc/posix-functions/readlink.texi (readlink):
33136         * doc/posix-functions/readlinkat.texi (readlinkat):
33137         Mention AIX porting problem.
33138         * lib/readlinkat.c (rpl_readlinkat) [HAVE_READLINKAT]:
33139         New function.
33140         * lib/unistd.in.h (readlinkat): Add replacement machinery.
33141         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Check readlinkat signature.
33142         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_READLINKAT.
33143         * modules/readlinkat (configure.ac): Also compile replacement
33144         if REPLACE_READLINKAT.
33145         * modules/unistd (unistd.h): Substitute REPLACE_READLINKAT.
33147 2014-10-12  Karl Berry  <karl@gnu.org>
33149         * doc/posix-functions/dirname.texi: remove spurious {.
33151 2014-09-28  Ben Pfaff  <blp@cs.stanford.edu>
33153         basename, dirname: Improve documentation.
33154         * doc/posix-functions/basename.texi: Mention dirname module and
33155         base_name() function.
33156         * doc/posix-functions/dirname.texi: Mention dir_name() and
33157         mdir_name() functions.
33158         Suggested by Werner LEMBERG <wl@gnu.org>.
33160 2014-09-24  Jim Meyering  <meyering@fb.com>
33162         exclude: declare exclude_patopts static
33163         * lib/exclude.c (exclude_patopts): Declare static,
33164         to avoid triggering a -Wmissing-prototypes warning.
33165         The alternative (declaring it in the .h file) would
33166         require publicizing the private "struct patopts".
33168 2014-09-21  Werner Lemberg  <wl@gnu.org>
33170         dirname: support compilation with C++
33171         * lib/dirname.h: Add necessary C linkage declarations.
33173 2014-09-16  Paul Eggert  <eggert@cs.ucla.edu>
33175         qsort_r: include <config.h>
33176         Problem reported by Tom G. Christensen in:
33177         http://lists.gnu.org/r/bug-gnulib/2014-09/msg00071.html
33178         * lib/qsort.c [!_LIBC]: Include <config.h> first.
33180 2014-09-16  Dylan Cali  <calid1984@gmail.com>
33182         avltree-list: avoid compiler warnings (trivial)
33183         * lib/gl_anytree_list2.h: Add _GL_ATTRIBUTE_PURE to avoid
33184         -Werror=suggest-attribute=pure.
33185         * lib/gl_array_list.c: Likewise.
33186         * lib/gl_avltree_list.c (gl_avltree_list_check_invariants): Add extern
33187         declaration to avoid -Werror=missing-prototypes.  This is not added
33188         to a header as only exported for tests.  Add (void) to the
33189         check_invariants() call to indicate we're discarding the result
33190         in this context which avoids -Werror=unused-value.  Note we don't
33191         use ignore_value here to avoid a dependency as we know we'll not
33192         be adding __attribute__((warn_unused_result)) to check_invariants().
33193         Add _GL_ATTRIBUTE_CONST to avoid -Werror=suggest-attribute=const.
33195 2014-09-15  Paul Eggert  <eggert@cs.ucla.edu>
33197         qsort_r: new module, for GNU-style qsort_r
33198         * m4/qsort_r.m4: New file.  Forgot to add this earlier.
33200 2014-09-15  Werner LEMBERG  <wl@gnu.org>
33202         strerror_r-posix: support compilation with C++
33203         * lib/strerror_r.c: Add necessary C linkage declarations.
33205 2014-09-11  Johannes Zarl  <johannes.zarl@jku.at>
33207         fcntl-h: fix compilation with Intel C++ compiler (trivial)
33208         * lib/fcntl.in.h: ICC has the same issue as GCC <= 4.2.
33210 2014-09-09  Fridolin Pokorny  <fpokorny@redhat.com>
33212         mountlist: use /proc/self/mountinfo when available
33213         Use libmount to propagate device IDs provided by Linux in
33214         /proc/self/mountinfo.  This will give more accurate output when
33215         using df in chroot'ed environments as the device IDs are not
33216         determined by stat() which may be inaccurate within the chroot.
33217         * lib/mountlist.c (read_file_system_list): Use the libmount routines
33218         from util-linux to parse "/proc/self/mountinfo" or fall back to
33219         standard getmntent() processing.
33220         * m4/ls-mntd-fs.m4: Check for libmount only when 1-argument
33221         getmntent() is used, as is the case on GNU/Linux.
33223 2014-09-07  Eric Wong  <normalperson@yhbt.net>
33225         users.txt: add cmogstored
33226         cmogstored has used gnulib since the beginning in 2012 to support
33227         GNU/Linux, FreeBSD, and GNU/kFreeBSD.
33229 2014-09-05  Mathieu Anquetin  <mathieu@anquetin.eu>
33231         Trivial change.
33232         * gnulib-tool: Use same options as build-aux/bootstrap to download
33233         PO files.
33235 2014-09-05  Mathieu Anquetin  <mathieu@anquetin.eu>
33237         Trivial change.
33238         * gnulib-tool: Fallback to wget when rsync of PO files fails.
33240 2014-09-04  Eric Blake  <eblake@redhat.com>
33242         maintainer-makefile: add syntax check for useless ';;'
33243         * top/maint.mk (sc_prohibit_double_semicolon): New rule.
33245 2014-09-04  Paul Eggert  <eggert@cs.ucla.edu>
33247         pthread, pthread_sigmask, threadlib: port to Ubuntu 14.04
33248         Problem reported by Assaf Gordon in:
33249         http://lists.gnu.org/r/bug-gnulib/2014-09/msg00023.html
33250         Apparently Ubuntu is doing some fancy link-time optimization
33251         that doesn't work with -lpthread but does work with -pthread.
33252         Work around the bug by preferring -pthread to -lpthread.
33253         * m4/pthread.m4 (gl_PTHREAD_CHECK):
33254         * m4/threadlib.m4 (gl_THREADLIB_BODY): Prefer -pthread to -lpthread.
33255         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
33256         Treat -pthread like -lpthread.
33258 2014-09-04  Eric Blake  <eblake@redhat.com>
33260         error: drop spurious semicolon
33261         * lib/error.c (__error_at_line): Fix ';;'.
33263 2014-09-02  Paul Eggert  <eggert@cs.ucla.edu>
33265         gnulib-common.m4: port to GCC 4.2.1 and Sun Studio 12 C++
33266         * m4/gnulib-common.m4 (AC_C_RESTRICT):
33267         Override AC_C_RESTRICT unconditionally.
33268         Update from autoconf, incorporating:
33269         2014-09-02 autoconf: port 'restrict' to GCC 4.2.1
33270         2009-01-28 Fix AC_C_RESTRICT for Sun Studio 12 C++.
33272 2014-09-01  Paul Eggert  <eggert@cs.ucla.edu>
33274         manywarnings: add GCC 4.9 warnings
33275         Also, make it easier to maintain this in the future.
33276         * build-aux/gcc-warning.spec: Add -Wabi-tag,
33277         -Wconditionally-supported, -Wdelete-incomplete,
33278         -Winherited-variadic-ctor, -Wvirtual-move-assign, -Wzerotrip.
33279         Remove duplicates.  Use tabs uniformly, as that's what 'cut' wants.
33280         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -Wdate-time,
33281         -Wopenmp-simd.  Use -fdiagnostics-show-option and -funit-at-a-time
33282         only for older GCC versions that need them.  Handle
33283         -Wnormalized=nfc specially, so that the 'comm' command used
33284         for maintenance doesn't get confused.
33286 2014-08-31  Paul Eggert  <eggert@cs.ucla.edu>
33288         vasnprintf: fix bugs in width computation
33289         * lib/vasnprintf.c (VASNPRINTF):
33290         Rework previous change, which introduced a bug,
33291         to avoid the warning in a different way.
33292         Avoid undefined behavior if the width arg is less than -INT_MAX.
33293         Avoid unnecessary use of HAS_WIDTH local.
33295 2014-08-31  Thien-Thi Nguyen  <ttn@gnu.org>  (tiny change)
33297         vasnprintf: Avoid signed/unsigned comparison warning.
33298         * lib/vasnprintf.c (VASNPRINTF): To calculate padding,
33299         compare end addr of generated string w/ maximum end addr.
33301 2013-08-30  Mats Erik Andersson  <gnu@gisladisker.se>  (tiny change)
33303         parse-datetime: Avoid pointer difference.
33304         * lib/parse-datetime.y (yylex): Compare pointer to end of buffer,
33305         instead of calculating difference of pointers.  This removes an
33306         annoying warning, devoid of any use.
33308 2014-08-29  Paul Eggert  <eggert@cs.ucla.edu>
33310         qsort_r: new module, for GNU-style qsort_r
33311         This works even on FreeBSD, which has an incompatible qsort_r API.
33312         * MODULES.html.sh: Add it.
33313         * doc/glibc-functions/qsort_r.texi: It's now supported.
33314         * lib/qsort.c: New file, taken from glibc with minor changes
33315         inside "#ifndef _LIBC" and with an unnecessary "#include <alloca.h>"
33316         removed.
33317         * lib/qsort_r.c: New file, compiled only on FreeBSD.
33318         * lib/stdlib.in.h (qsort_r): Declare in the usual way.
33319         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS):
33320         * modules/qsort_r, modules/qsort_r-tests: New files.
33321         * modules/stdlib (Makefile): Set up its defaults.
33322         * tests/test-qsort_r.c: New file.
33324 2014-08-08  Paul Eggert  <eggert@cs.ucla.edu>
33326         vla: new module
33327         GNU RCS can use this, mostly for documentation I expect.  See:
33328         http://lists.gnu.org/r/bug-gnulib/2014-08/msg00025.html
33329         * MODULES.html.sh: Add vla.
33330         * lib/vla.h, modules/vla: New files.
33332 2014-08-07  Daiki Ueno  <ueno@gnu.org>
33334         localename: make gl_locale_name_thread really thread-safe on Windows
33335         * lib/localename.c [WINDOWS_NATIVE && !IN_LIBINTL]: Include
33336         "glthread/lock.h".
33337         (get_lcid_lock) [WINDOWS_NATIVE]: New variable.
33338         (get_lcid) [WINDOWS_NATIVE]: Lock while looking for an LCID.
33340 2014-08-07  Paul Eggert  <eggert@cs.ucla.edu>
33342         getpass: don't assume struct termios
33343         Problem report and trivial fix by Jonas 'Sortie' Termansen in:
33344         http://lists.gnu.org/r/bug-gnulib/2014-08/msg00015.html
33345         * lib/getpass.c (getpass): Port to systems lacking struct termios.
33347         getdtablesize: fall back on sysconf (_SC_OPEN_MAX)
33348         Problem reported by Jonas 'Sortie' Termansen in:
33349         http://lists.gnu.org/r/bug-gnulib/2014-08/msg00023.html
33350         * lib/getdtablesize.c (getdtablesize) [_SC_OPEN_MAX]:
33351         Implement via sysconf for platforms that lack getdtablesize.
33353         vararrays: modernize AC_C_VARARRAYS for C11
33354         This backports a change I recently made to Autoconf.
33355         * m4/vararrays.m4 (AC_C_VARARRAYS): Define __STDC_NO_VLA__ if
33356         VLAs are not supported, as this is what C11 does.  The old macro
33357         HAVE_C_VARARRAYS is still defined if they are supported, but is
33358         now obsolescent.  Also, check for VLA bug in GCC 3.4.3.
33360 2014-08-07  Alessandro Degano  <degano@cern.ch>  (tiny change)
33362         relocatable-prog-wrapper: port gettext to OS X 10.8 + GCC 4.8.1
33363         * build-aux/install-reloc (func_create_wrapper): Also wrap
33364         strerror-override, stat, stat.
33366 2014-08-05  Paul Eggert  <eggert@cs.ucla.edu>
33368         sys_select: fix FD_ZERO problem on Solaris 10
33369         * lib/sys_select.in.h: Fix Solaris 10 bug where "#include
33370         <sys/time.h>" followed by "#include <sys/select.h>" caused FD_ZERO
33371         to expand to an expression that invoked memset without necessarily
33372         including <string.h>.  The problem was that the first include
33373         defined _SYS_TIME_H, causing the second include to short-circuit.
33374         Fix a similar problem with <sys/types.h> followed by <sys/select.h>.
33375         Also, fix what appears to be a cut-and-paste typo, by replacing
33376         _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TIME_H with
33377         _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TYPES_H.
33379         accept: document Solaris 10 type glitch
33380         * doc/posix-functions/accept.texi (accept): Mention that
33381         Solaris 10 'accept' takes void * last arg, not socklen_t *.
33383 2014-08-04  Paul Eggert  <eggert@cs.ucla.edu>
33385         extern-inline: port to FreeBSD, DragonFly
33386         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Also assume the bug
33387         is present if either __DragonFly__ or __FreeBSD__ is defined.
33388         FreeBSD problem reported by Andrey Borzenkov in:
33389         http://lists.gnu.org/r/bug-gnulib/2014-07/msg00104.html
33390         Also, worry about __APPLE__ only if __MACH__ is also defined,
33391         as this is more consistent with the rest of gnulib.
33392         (_GL_EXTERN_INLINE_STDHEADER_BUG): Rename this internal macro from
33393         _GL_EXTERN_INLINE_APPLE_BUG, since the bug is not limited to Apple.
33395 2014-08-01  Siddhesh Poyarekar  <siddhesh@redhat.com>
33397         regex: Make #if/#ifdef usage consistent for DEBUG
33398         * lib/regex_internal.c: Use "#if defined DEBUG && DEBUG" instead
33399         of the inconsistent usage of #if and #ifdef as that works with
33400         both Glibc and Gnulib's style.
33402 2014-07-31  Eric Blake  <eblake@redhat.com>
33404         openat-die: use _Noreturn markup
33405         * modules/openat-die (Depends-on): Add snippet/_Noreturn.
33406         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Mark
33407         _Noreturn.
33409 2014-07-30  Eric Blake  <eblake@redhat.com>
33411         test-open: port to cygwin, which lacks Fortify
33412         * tests/test-open.h (ALWAYS_INLINE): New macro.
33413         (__always_inline): Don't abuse internal symbol on non-glibc.
33415 2014-07-19  Eli Zaretskii  <eliz@gnu.org>
33417         localename: Enforce declarations before statements.
33418         * localename.c (gl_locale_name_thread): Declare 'lcid' before the
33419         first statement.
33421 2014-07-18  Jim Meyering  <meyering@fb.com>
33423         test-userspec: don't look up numeric user names
33424         * tests/test-userspec.c: I found a system for which getpwnam("0")
33425         returned a pointer to a non-root user's entry, and that made the
33426         test fail.
33427         (T): Prefix each numeric input with "+", to inhibit lookup.
33429 2014-07-15  Eli Zaretskii  <eliz@gnu.org>
33431         localcharset, localename: MS-Windows support for non-default locales
33432         * lib/localcharset.c (locale_charset) [WINDOWS_NATIVE]: Before
33433         falling back on the default system codepage, try extracting
33434         the codepage from what 'setlocale' returns.  This allows to
33435         take into account changes of the codeset due to non-default
33436         locale set by a previous call to 'setlocale'.
33437         * lib/localename.c (LOCALE_NAME_MAX_LENGTH) [WINDOWS_NATIVE]:
33438         Define if not already defined.
33439         (enum_locales_fn, get_lcid) [WINDOWS_NATIVE]: New functions.
33440         (gl_locale_name_thread) [WINDOWS_NATIVE]: Produce the
33441         current locale by calling 'setlocale', then converting the
33442         locale name into LCID by calling 'get_lcid'.  This allows to
33443         take into account changes in the current locale from the
33444         default one, in contrast to GetThreadLocale.
33446 2014-07-14  Daiki Ueno  <ueno@gnu.org>
33448         announce-gen: avoid failure when Digest::SHA is installed
33449         When Digest::SHA is available, Digest::SHA1 is not loaded and thus
33450         Digest::SHA1->new in print_checksums fails.
33451         * build-aux/announce-gen (digest_classes): New associative array
33452         for available message digest implementations.
33453         (print_locations): Use it.
33455 2014-07-13  Pádraig Brady  <P@draigBrady.com>
33457         gettext: revert "update macros to version 0.19"
33458         This reverts commit 9b9370ca, as it currently requires that
33459         developers of any project that explicitly uses the gettext module
33460         or implicitly uses it through the utimens-tests or
33461         futimens-tests modules, use gettext >= 0.19.
33462         However there are some stability and availablity issues with
33463         that version at present.  We can reinstate this soon, when stability
33464         is addressed and packages are more readily available.
33466 2014-07-12  Jim Meyering  <meyering@fb.com>
33468         regex: don't deref NULL upon heap allocation failure
33469         * lib/regcomp.c (parse_dup_op): Handle duplicate_tree
33470         failure in one more place.
33471         To trigger the segfault, configure grep -with-included-regex,
33472         build it, and run these commands:
33473         ( ulimit -v 300000; echo a|src/grep -E a+++++++++++++++++++++ )
33474         I discovered this while replying to a private report from
33475         Jens Schleusener about excessive memory consumption by grep
33476         when using a regular expression like the one above.
33478 2014-07-11  Paul Eggert  <eggert@cs.ucla.edu>
33480         regex: fix memory leak in compiler
33481         Fix by Andreas Schwab in:
33482         https://sourceware.org/ml/libc-alpha/2014-06/msg00503.html
33483         * lib/regcomp.c (parse_reg_exp): Deallocate partially
33484         constructed tree before returning error.
33486 2014-07-10  Assaf Gordon  <assafgordon@gmail.com>
33488         announce-gen: avoid perl warnings
33489         * build-aux/announce-gen: add two minor checks to avoid
33490         "use of uninitialized value" warnings when command-line parameters are
33491         missing.
33493 2014-07-10  Assaf Gordon  <assafgordon@gmail.com>
33495         localename: avoid -Wsuggest-attribute={const,pure} warnings
33496         * lib/localename.c (string_has): Tag internal function as pure.
33497         * lib/localename.h (gl_locale_name_default): Tag extern declaration
33498         as const when appropriate.
33500 2014-07-10  Eli Zaretskii  <eliz@gnu.org>
33502         nl_langinfo: Fix last change.
33503         * lib/nl_langinfo.c (includes): Drop redundant include.
33505 2014-07-10  Siddhesh Poyarekar  <siddhesh@redhat.com>
33507         error: Fix -Wundef warnings in glibc
33508         * lib/error.c [_LIBC]: Define default macros for
33509         glibc.
33510         (print_errno_message) [defined HAVE_STRERROR_R || _LIBC]:
33511         Check _LIBC before STRERROR_R_CHAR_P.
33513         error: Sync from glibc master
33514         * lib/error.c [_LIBC]: Remove INTUSE usage.
33515         (error_tail): Remove unused macro ALLOCA_LIMIT.
33516         Fix potential buffer overflow.  Fix potential NULL dereference
33517         in strcmp.
33519 2014-07-09  Pavel Hrdina  <phrdina@redhat.com> (tiny change)
33521         nl_langinfo: fix build under mingw
33522         * lib/nl_langinfo.c (includes): Pick up <windows.h> for GetACP().
33524 2014-07-09  Andrew D Warshall  <warshall@99main.com>
33526         mountlist: do not classify a bind-mounted dir entry as "dummy"
33527         * m4/ls-mntd-fs.m4: Check for hasmntopt() on platforms with
33528         1-argument getmntent() (instead of assuming absence).
33530 2014-07-08  Eric Blake  <eblake@redhat.com>
33532         maint.mk: less syntax-check noise when SIGPIPE is ignored
33533         * top/maint.mk (_sc_header_without_use)
33534         (sc_require_config_h_first): Parse full list.
33536 2014-07-07  Eli Zaretskii  <eliz@gnu.org>
33537             Paul Eggert  <eggert@cs.ucla.edu>
33539         nl_langinfo: CODESET on MS-Windows and more items from localeconv
33540         * lib/langinfo.in.h (DECIMAL_POINT, THOUSANDS_SEP, GROUPING)
33541         (CURRENCY_SYMBOL, INT_CURR_SYMBOL, MON_DECIMAL_POINT)
33542         (MON_THOUSANDS_SEP, MON_GROUPING, POSITIVE_SIGN, NEGATIVE_SIGN)
33543         (FRAC_DIGITS, INT_FRAC_DIGITS, P_CS_PRECEDES, N_CS_PRECEDES)
33544         (P_SEP_BY_SPACE, N_SEP_BY_SPACE, P_SIGN_POSN, N_SIGN_POSN): Define.
33545         * lib/nl_langinfo.c: Include <locale.h> and <string.h> early.
33546         Include <stdio.h> if Microsoft Windows.
33547         Include <time.h> if !REPLACE_NL_LANGINFO.
33548         (ctype_codeset): New function, taken from rpl_nl_langinfo,
33549         and with improvements for Microsoft Windows.
33550         (rpl_nl_langinfo): Use it.
33551         (nl_langinfo) [!REPLACE_NL_LANGINFO]: Likewise.
33552         Compute the values of RADIXCHAR, THOUSEP, GROUPING, CRNCYSTR,
33553         INT_CURR_SYMBOL, MON_DECIMAL_POINT, MON_THOUSANDS_SEP,
33554         MON_GROUPING, POSITIVE_SIGN, NEGATIVE_SIGN, FRAC_DIGITS,
33555         INT_FRAC_DIGITS, P_CS_PRECEDES, N_CS_PRECEDES, P_SEP_BY_SPACE,
33556         N_SEP_BY_SPACE, P_SIGN_POSN, and N_SIGN_POSN from the
33557         corresponding values returned by 'localeconv'.  Compute the values
33558         of AM_STR, PM_STR, DAY_n, ABDAY_n, MON_n, and ABMON_n by calling
33559         'strftime' with a suitable struct tm value.
33561 2014-07-05  Paul Eggert  <eggert@cs.ucla.edu>
33563         Bruno Haible has stepped down as maintainer.
33564         See Karl Berry in:
33565         http://lists.gnu.org/r/bug-gnulib/2014-07/msg00004.html
33566         Daiki Ueno has volunteered to maintain libunistring; see:
33567         http://lists.gnu.org/r/bug-gnulib/2014-07/msg00005.html
33568         * modules/gen-uni-tables, modules/libunistring:
33569         * modules/libunistring-optional, modules/ucs4-utf16, modules/ucs4-utf8:
33570         * modules/unicase/base, modules/unicase/cased:
33571         * modules/unicase/empty-prefix-context:
33572         * modules/unicase/empty-suffix-context, modules/unicase/ignorable:
33573         * modules/unicase/locale-language, modules/unicase/special-casing:
33574         * modules/unicase/tocasefold, modules/unicase/tolower:
33575         * modules/unicase/totitle, modules/unicase/toupper:
33576         * modules/unicase/u16-casecmp, modules/unicase/u16-casecoll:
33577         * modules/unicase/u16-casefold, modules/unicase/u16-casemap:
33578         * modules/unicase/u16-casexfrm, modules/unicase/u16-ct-casefold:
33579         * modules/unicase/u16-ct-tolower, modules/unicase/u16-ct-totitle:
33580         * modules/unicase/u16-ct-toupper, modules/unicase/u16-is-cased:
33581         * modules/unicase/u16-is-casefolded, modules/unicase/u16-is-invariant:
33582         * modules/unicase/u16-is-lowercase, modules/unicase/u16-is-titlecase:
33583         * modules/unicase/u16-is-uppercase, modules/unicase/u16-prefix-context:
33584         * modules/unicase/u16-suffix-context, modules/unicase/u16-tolower:
33585         * modules/unicase/u16-totitle, modules/unicase/u16-toupper:
33586         * modules/unicase/u32-casecmp, modules/unicase/u32-casecoll:
33587         * modules/unicase/u32-casefold, modules/unicase/u32-casemap:
33588         * modules/unicase/u32-casexfrm, modules/unicase/u32-ct-casefold:
33589         * modules/unicase/u32-ct-tolower, modules/unicase/u32-ct-totitle:
33590         * modules/unicase/u32-ct-toupper, modules/unicase/u32-is-cased:
33591         * modules/unicase/u32-is-casefolded, modules/unicase/u32-is-invariant:
33592         * modules/unicase/u32-is-lowercase, modules/unicase/u32-is-titlecase:
33593         * modules/unicase/u32-is-uppercase, modules/unicase/u32-prefix-context:
33594         * modules/unicase/u32-suffix-context, modules/unicase/u32-tolower:
33595         * modules/unicase/u32-totitle, modules/unicase/u32-toupper:
33596         * modules/unicase/u8-casecmp, modules/unicase/u8-casecoll:
33597         * modules/unicase/u8-casefold, modules/unicase/u8-casemap:
33598         * modules/unicase/u8-casexfrm, modules/unicase/u8-ct-casefold:
33599         * modules/unicase/u8-ct-tolower, modules/unicase/u8-ct-totitle:
33600         * modules/unicase/u8-ct-toupper, modules/unicase/u8-is-cased:
33601         * modules/unicase/u8-is-casefolded, modules/unicase/u8-is-invariant:
33602         * modules/unicase/u8-is-lowercase, modules/unicase/u8-is-titlecase:
33603         * modules/unicase/u8-is-uppercase, modules/unicase/u8-prefix-context:
33604         * modules/unicase/u8-suffix-context, modules/unicase/u8-tolower:
33605         * modules/unicase/u8-totitle, modules/unicase/u8-toupper:
33606         * modules/unicase/ulc-casecmp, modules/unicase/ulc-casecoll:
33607         * modules/unicase/ulc-casexfrm, modules/unicodeio:
33608         * modules/uniconv/base, modules/uniconv/u16-conv-from-enc:
33609         * modules/uniconv/u16-conv-to-enc:
33610         * modules/uniconv/u16-strconv-from-enc:
33611         * modules/uniconv/u16-strconv-from-locale:
33612         * modules/uniconv/u16-strconv-to-enc:
33613         * modules/uniconv/u16-strconv-to-locale:
33614         * modules/uniconv/u32-conv-from-enc, modules/uniconv/u32-conv-to-enc:
33615         * modules/uniconv/u32-strconv-from-enc:
33616         * modules/uniconv/u32-strconv-from-locale:
33617         * modules/uniconv/u32-strconv-to-enc:
33618         * modules/uniconv/u32-strconv-to-locale:
33619         * modules/uniconv/u8-conv-from-enc, modules/uniconv/u8-conv-to-enc:
33620         * modules/uniconv/u8-strconv-from-enc:
33621         * modules/uniconv/u8-strconv-from-locale:
33622         * modules/uniconv/u8-strconv-to-enc:
33623         * modules/uniconv/u8-strconv-to-locale, modules/unictype/base:
33624         * modules/unictype/bidicategory-all:
33625         * modules/unictype/bidicategory-byname:
33626         * modules/unictype/bidicategory-name, modules/unictype/bidicategory-of:
33627         * modules/unictype/bidicategory-test, modules/unictype/bidiclass-all:
33628         * modules/unictype/bidiclass-byname:
33629         * modules/unictype/bidiclass-longname, modules/unictype/bidiclass-name:
33630         * modules/unictype/bidiclass-of, modules/unictype/bidiclass-test:
33631         * modules/unictype/block-all, modules/unictype/block-list:
33632         * modules/unictype/block-of, modules/unictype/block-test:
33633         * modules/unictype/category-C, modules/unictype/category-Cc:
33634         * modules/unictype/category-Cf, modules/unictype/category-Cn:
33635         * modules/unictype/category-Co, modules/unictype/category-Cs:
33636         * modules/unictype/category-L, modules/unictype/category-LC:
33637         * modules/unictype/category-Ll, modules/unictype/category-Lm:
33638         * modules/unictype/category-Lo, modules/unictype/category-Lt:
33639         * modules/unictype/category-Lu, modules/unictype/category-M:
33640         * modules/unictype/category-Mc, modules/unictype/category-Me:
33641         * modules/unictype/category-Mn, modules/unictype/category-N:
33642         * modules/unictype/category-Nd, modules/unictype/category-Nl:
33643         * modules/unictype/category-No, modules/unictype/category-P:
33644         * modules/unictype/category-Pc, modules/unictype/category-Pd:
33645         * modules/unictype/category-Pe, modules/unictype/category-Pf:
33646         * modules/unictype/category-Pi, modules/unictype/category-Po:
33647         * modules/unictype/category-Ps, modules/unictype/category-S:
33648         * modules/unictype/category-Sc, modules/unictype/category-Sk:
33649         * modules/unictype/category-Sm, modules/unictype/category-So:
33650         * modules/unictype/category-Z, modules/unictype/category-Zl:
33651         * modules/unictype/category-Zp, modules/unictype/category-Zs:
33652         * modules/unictype/category-all, modules/unictype/category-and:
33653         * modules/unictype/category-and-not, modules/unictype/category-byname:
33654         * modules/unictype/category-longname, modules/unictype/category-name:
33655         * modules/unictype/category-none, modules/unictype/category-of:
33656         * modules/unictype/category-or, modules/unictype/category-test:
33657         * modules/unictype/category-test-withtable:
33658         * modules/unictype/combining-class:
33659         * modules/unictype/combining-class-all:
33660         * modules/unictype/combining-class-byname:
33661         * modules/unictype/combining-class-longname:
33662         * modules/unictype/combining-class-name, modules/unictype/ctype-alnum:
33663         * modules/unictype/ctype-alpha, modules/unictype/ctype-blank:
33664         * modules/unictype/ctype-cntrl, modules/unictype/ctype-digit:
33665         * modules/unictype/ctype-graph, modules/unictype/ctype-lower:
33666         * modules/unictype/ctype-print, modules/unictype/ctype-punct:
33667         * modules/unictype/ctype-space, modules/unictype/ctype-upper:
33668         * modules/unictype/ctype-xdigit, modules/unictype/decimal-digit:
33669         * modules/unictype/digit, modules/unictype/joininggroup-all:
33670         * modules/unictype/joininggroup-byname:
33671         * modules/unictype/joininggroup-name, modules/unictype/joininggroup-of:
33672         * modules/unictype/joiningtype-all:
33673         * modules/unictype/joiningtype-byname:
33674         * modules/unictype/joiningtype-longname:
33675         * modules/unictype/joiningtype-name, modules/unictype/joiningtype-of:
33676         * modules/unictype/mirror, modules/unictype/numeric:
33677         * modules/unictype/property-all, modules/unictype/property-alphabetic:
33678         * modules/unictype/property-ascii-hex-digit:
33679         * modules/unictype/property-bidi-arabic-digit:
33680         * modules/unictype/property-bidi-arabic-right-to-left:
33681         * modules/unictype/property-bidi-block-separator:
33682         * modules/unictype/property-bidi-boundary-neutral:
33683         * modules/unictype/property-bidi-common-separator:
33684         * modules/unictype/property-bidi-control:
33685         * modules/unictype/property-bidi-embedding-or-override:
33686         * modules/unictype/property-bidi-eur-num-separator:
33687         * modules/unictype/property-bidi-eur-num-terminator:
33688         * modules/unictype/property-bidi-european-digit:
33689         * modules/unictype/property-bidi-hebrew-right-to-left:
33690         * modules/unictype/property-bidi-left-to-right:
33691         * modules/unictype/property-bidi-non-spacing-mark:
33692         * modules/unictype/property-bidi-other-neutral:
33693         * modules/unictype/property-bidi-pdf:
33694         * modules/unictype/property-bidi-segment-separator:
33695         * modules/unictype/property-bidi-whitespace:
33696         * modules/unictype/property-byname:
33697         * modules/unictype/property-case-ignorable:
33698         * modules/unictype/property-cased:
33699         * modules/unictype/property-changes-when-casefolded:
33700         * modules/unictype/property-changes-when-casemapped:
33701         * modules/unictype/property-changes-when-lowercased:
33702         * modules/unictype/property-changes-when-titlecased:
33703         * modules/unictype/property-changes-when-uppercased:
33704         * modules/unictype/property-combining:
33705         * modules/unictype/property-composite:
33706         * modules/unictype/property-currency-symbol:
33707         * modules/unictype/property-dash:
33708         * modules/unictype/property-decimal-digit:
33709         * modules/unictype/property-default-ignorable-code-point:
33710         * modules/unictype/property-deprecated:
33711         * modules/unictype/property-diacritic:
33712         * modules/unictype/property-extender:
33713         * modules/unictype/property-format-control:
33714         * modules/unictype/property-grapheme-base:
33715         * modules/unictype/property-grapheme-extend:
33716         * modules/unictype/property-grapheme-link:
33717         * modules/unictype/property-hex-digit:
33718         * modules/unictype/property-hyphen:
33719         * modules/unictype/property-id-continue:
33720         * modules/unictype/property-id-start:
33721         * modules/unictype/property-ideographic:
33722         * modules/unictype/property-ids-binary-operator:
33723         * modules/unictype/property-ids-trinary-operator:
33724         * modules/unictype/property-ignorable-control:
33725         * modules/unictype/property-iso-control:
33726         * modules/unictype/property-join-control:
33727         * modules/unictype/property-left-of-pair:
33728         * modules/unictype/property-line-separator:
33729         * modules/unictype/property-logical-order-exception:
33730         * modules/unictype/property-lowercase, modules/unictype/property-math:
33731         * modules/unictype/property-non-break:
33732         * modules/unictype/property-not-a-character:
33733         * modules/unictype/property-numeric:
33734         * modules/unictype/property-other-alphabetic:
33735         * modules/unictype/property-other-default-ignorable-code-point:
33736         * modules/unictype/property-other-grapheme-extend:
33737         * modules/unictype/property-other-id-continue:
33738         * modules/unictype/property-other-id-start:
33739         * modules/unictype/property-other-lowercase:
33740         * modules/unictype/property-other-math:
33741         * modules/unictype/property-other-uppercase:
33742         * modules/unictype/property-paired-punctuation:
33743         * modules/unictype/property-paragraph-separator:
33744         * modules/unictype/property-pattern-syntax:
33745         * modules/unictype/property-pattern-white-space:
33746         * modules/unictype/property-private-use:
33747         * modules/unictype/property-punctuation:
33748         * modules/unictype/property-quotation-mark:
33749         * modules/unictype/property-radical:
33750         * modules/unictype/property-sentence-terminal:
33751         * modules/unictype/property-soft-dotted:
33752         * modules/unictype/property-space:
33753         * modules/unictype/property-terminal-punctuation:
33754         * modules/unictype/property-test, modules/unictype/property-titlecase:
33755         * modules/unictype/property-unassigned-code-value:
33756         * modules/unictype/property-unified-ideograph:
33757         * modules/unictype/property-uppercase:
33758         * modules/unictype/property-variation-selector:
33759         * modules/unictype/property-white-space:
33760         * modules/unictype/property-xid-continue:
33761         * modules/unictype/property-xid-start:
33762         * modules/unictype/property-zero-width, modules/unictype/scripts:
33763         * modules/unictype/scripts-all, modules/unictype/syntax-c-ident:
33764         * modules/unictype/syntax-c-whitespace:
33765         * modules/unictype/syntax-java-ident:
33766         * modules/unictype/syntax-java-whitespace, modules/unigbrk/base:
33767         * modules/unigbrk/u16-grapheme-breaks:
33768         * modules/unigbrk/u16-grapheme-next, modules/unigbrk/u16-grapheme-prev:
33769         * modules/unigbrk/u32-grapheme-breaks:
33770         * modules/unigbrk/u32-grapheme-next, modules/unigbrk/u32-grapheme-prev:
33771         * modules/unigbrk/u8-grapheme-breaks, modules/unigbrk/u8-grapheme-next:
33772         * modules/unigbrk/u8-grapheme-prev, modules/unigbrk/uc-gbrk-prop:
33773         * modules/unigbrk/uc-is-grapheme-break:
33774         * modules/unigbrk/ulc-grapheme-breaks, modules/unilbrk/base:
33775         * modules/unilbrk/tables, modules/unilbrk/u16-possible-linebreaks:
33776         * modules/unilbrk/u16-width-linebreaks:
33777         * modules/unilbrk/u32-possible-linebreaks:
33778         * modules/unilbrk/u32-width-linebreaks:
33779         * modules/unilbrk/u8-possible-linebreaks:
33780         * modules/unilbrk/u8-width-linebreaks, modules/unilbrk/ulc-common:
33781         * modules/unilbrk/ulc-possible-linebreaks:
33782         * modules/unilbrk/ulc-width-linebreaks, modules/uniname/base:
33783         * modules/uniname/uniname, modules/uninorm/base:
33784         * modules/uninorm/canonical-decomposition:
33785         * modules/uninorm/compat-decomposition, modules/uninorm/composition:
33786         * modules/uninorm/decompose-internal, modules/uninorm/decomposing-form:
33787         * modules/uninorm/decomposition, modules/uninorm/decomposition-table:
33788         * modules/uninorm/filter, modules/uninorm/nfc, modules/uninorm/nfd:
33789         * modules/uninorm/nfkc, modules/uninorm/nfkd:
33790         * modules/uninorm/u16-normalize, modules/uninorm/u16-normcmp:
33791         * modules/uninorm/u16-normcoll, modules/uninorm/u16-normxfrm:
33792         * modules/uninorm/u32-normalize, modules/uninorm/u32-normcmp:
33793         * modules/uninorm/u32-normcoll, modules/uninorm/u32-normxfrm:
33794         * modules/uninorm/u8-normalize, modules/uninorm/u8-normcmp:
33795         * modules/uninorm/u8-normcoll, modules/uninorm/u8-normxfrm:
33796         * modules/unistdio/base, modules/unistdio/u-printf-args:
33797         * modules/unistdio/u16-asnprintf, modules/unistdio/u16-asprintf:
33798         * modules/unistdio/u16-printf-parse, modules/unistdio/u16-snprintf:
33799         * modules/unistdio/u16-sprintf, modules/unistdio/u16-u16-asnprintf:
33800         * modules/unistdio/u16-u16-asprintf, modules/unistdio/u16-u16-snprintf:
33801         * modules/unistdio/u16-u16-sprintf:
33802         * modules/unistdio/u16-u16-vasnprintf:
33803         * modules/unistdio/u16-u16-vasprintf:
33804         * modules/unistdio/u16-u16-vsnprintf:
33805         * modules/unistdio/u16-u16-vsprintf, modules/unistdio/u16-vasnprintf:
33806         * modules/unistdio/u16-vasprintf, modules/unistdio/u16-vsnprintf:
33807         * modules/unistdio/u16-vsprintf, modules/unistdio/u32-asnprintf:
33808         * modules/unistdio/u32-asprintf, modules/unistdio/u32-printf-parse:
33809         * modules/unistdio/u32-snprintf, modules/unistdio/u32-sprintf:
33810         * modules/unistdio/u32-u32-asnprintf:
33811         * modules/unistdio/u32-u32-asprintf, modules/unistdio/u32-u32-snprintf:
33812         * modules/unistdio/u32-u32-sprintf:
33813         * modules/unistdio/u32-u32-vasnprintf:
33814         * modules/unistdio/u32-u32-vasprintf:
33815         * modules/unistdio/u32-u32-vsnprintf:
33816         * modules/unistdio/u32-u32-vsprintf, modules/unistdio/u32-vasnprintf:
33817         * modules/unistdio/u32-vasprintf, modules/unistdio/u32-vsnprintf:
33818         * modules/unistdio/u32-vsprintf, modules/unistdio/u8-asnprintf:
33819         * modules/unistdio/u8-asprintf, modules/unistdio/u8-printf-parse:
33820         * modules/unistdio/u8-snprintf, modules/unistdio/u8-sprintf:
33821         * modules/unistdio/u8-u8-asnprintf, modules/unistdio/u8-u8-asprintf:
33822         * modules/unistdio/u8-u8-snprintf, modules/unistdio/u8-u8-sprintf:
33823         * modules/unistdio/u8-u8-vasnprintf, modules/unistdio/u8-u8-vasprintf:
33824         * modules/unistdio/u8-u8-vsnprintf, modules/unistdio/u8-u8-vsprintf:
33825         * modules/unistdio/u8-vasnprintf, modules/unistdio/u8-vasprintf:
33826         * modules/unistdio/u8-vsnprintf, modules/unistdio/u8-vsprintf:
33827         * modules/unistdio/ulc-asnprintf, modules/unistdio/ulc-asprintf:
33828         * modules/unistdio/ulc-fprintf, modules/unistdio/ulc-printf-parse:
33829         * modules/unistdio/ulc-snprintf, modules/unistdio/ulc-sprintf:
33830         * modules/unistdio/ulc-vasnprintf, modules/unistdio/ulc-vasprintf:
33831         * modules/unistdio/ulc-vfprintf, modules/unistdio/ulc-vsnprintf:
33832         * modules/unistdio/ulc-vsprintf, modules/unistr/base:
33833         * modules/unistr/u16-check, modules/unistr/u16-chr:
33834         * modules/unistr/u16-cmp, modules/unistr/u16-cmp2:
33835         * modules/unistr/u16-cpy, modules/unistr/u16-cpy-alloc:
33836         * modules/unistr/u16-endswith, modules/unistr/u16-mblen:
33837         * modules/unistr/u16-mbsnlen, modules/unistr/u16-mbtouc:
33838         * modules/unistr/u16-mbtouc-unsafe, modules/unistr/u16-mbtoucr:
33839         * modules/unistr/u16-move, modules/unistr/u16-next:
33840         * modules/unistr/u16-prev, modules/unistr/u16-set:
33841         * modules/unistr/u16-startswith, modules/unistr/u16-stpcpy:
33842         * modules/unistr/u16-stpncpy, modules/unistr/u16-strcat:
33843         * modules/unistr/u16-strchr, modules/unistr/u16-strcmp:
33844         * modules/unistr/u16-strcoll, modules/unistr/u16-strcpy:
33845         * modules/unistr/u16-strcspn, modules/unistr/u16-strdup:
33846         * modules/unistr/u16-strlen, modules/unistr/u16-strmblen:
33847         * modules/unistr/u16-strmbtouc, modules/unistr/u16-strncat:
33848         * modules/unistr/u16-strncmp, modules/unistr/u16-strncpy:
33849         * modules/unistr/u16-strnlen, modules/unistr/u16-strpbrk:
33850         * modules/unistr/u16-strrchr, modules/unistr/u16-strspn:
33851         * modules/unistr/u16-strstr, modules/unistr/u16-strtok:
33852         * modules/unistr/u16-to-u32, modules/unistr/u16-to-u8:
33853         * modules/unistr/u16-uctomb, modules/unistr/u32-check:
33854         * modules/unistr/u32-chr, modules/unistr/u32-cmp:
33855         * modules/unistr/u32-cmp2, modules/unistr/u32-cpy:
33856         * modules/unistr/u32-cpy-alloc, modules/unistr/u32-endswith:
33857         * modules/unistr/u32-mblen, modules/unistr/u32-mbsnlen:
33858         * modules/unistr/u32-mbtouc, modules/unistr/u32-mbtouc-unsafe:
33859         * modules/unistr/u32-mbtoucr, modules/unistr/u32-move:
33860         * modules/unistr/u32-next, modules/unistr/u32-prev:
33861         * modules/unistr/u32-set, modules/unistr/u32-startswith:
33862         * modules/unistr/u32-stpcpy, modules/unistr/u32-stpncpy:
33863         * modules/unistr/u32-strcat, modules/unistr/u32-strchr:
33864         * modules/unistr/u32-strcmp, modules/unistr/u32-strcoll:
33865         * modules/unistr/u32-strcpy, modules/unistr/u32-strcspn:
33866         * modules/unistr/u32-strdup, modules/unistr/u32-strlen:
33867         * modules/unistr/u32-strmblen, modules/unistr/u32-strmbtouc:
33868         * modules/unistr/u32-strncat, modules/unistr/u32-strncmp:
33869         * modules/unistr/u32-strncpy, modules/unistr/u32-strnlen:
33870         * modules/unistr/u32-strpbrk, modules/unistr/u32-strrchr:
33871         * modules/unistr/u32-strspn, modules/unistr/u32-strstr:
33872         * modules/unistr/u32-strtok, modules/unistr/u32-to-u16:
33873         * modules/unistr/u32-to-u8, modules/unistr/u32-uctomb:
33874         * modules/unistr/u8-check, modules/unistr/u8-chr:
33875         * modules/unistr/u8-cmp, modules/unistr/u8-cmp2, modules/unistr/u8-cpy:
33876         * modules/unistr/u8-cpy-alloc, modules/unistr/u8-endswith:
33877         * modules/unistr/u8-mblen, modules/unistr/u8-mbsnlen:
33878         * modules/unistr/u8-mbtouc, modules/unistr/u8-mbtouc-unsafe:
33879         * modules/unistr/u8-mbtoucr, modules/unistr/u8-move:
33880         * modules/unistr/u8-next, modules/unistr/u8-prev:
33881         * modules/unistr/u8-set, modules/unistr/u8-startswith:
33882         * modules/unistr/u8-stpcpy, modules/unistr/u8-stpncpy:
33883         * modules/unistr/u8-strcat, modules/unistr/u8-strchr:
33884         * modules/unistr/u8-strcmp, modules/unistr/u8-strcoll:
33885         * modules/unistr/u8-strcpy, modules/unistr/u8-strcspn:
33886         * modules/unistr/u8-strdup, modules/unistr/u8-strlen:
33887         * modules/unistr/u8-strmblen, modules/unistr/u8-strmbtouc:
33888         * modules/unistr/u8-strncat, modules/unistr/u8-strncmp:
33889         * modules/unistr/u8-strncpy, modules/unistr/u8-strnlen:
33890         * modules/unistr/u8-strpbrk, modules/unistr/u8-strrchr:
33891         * modules/unistr/u8-strspn, modules/unistr/u8-strstr:
33892         * modules/unistr/u8-strtok, modules/unistr/u8-to-u16:
33893         * modules/unistr/u8-to-u32, modules/unistr/u8-uctomb, modules/unitypes:
33894         * modules/uniwbrk/base, modules/uniwbrk/table:
33895         * modules/uniwbrk/u16-wordbreaks, modules/uniwbrk/u32-wordbreaks:
33896         * modules/uniwbrk/u8-wordbreaks, modules/uniwbrk/ulc-wordbreaks:
33897         * modules/uniwbrk/wordbreak-property, modules/uniwidth/base:
33898         * modules/uniwidth/u16-strwidth, modules/uniwidth/u16-width:
33899         * modules/uniwidth/u32-strwidth, modules/uniwidth/u32-width:
33900         * modules/uniwidth/u8-strwidth, modules/uniwidth/u8-width:
33901         * modules/uniwidth/width, modules/utf16-ucs4:
33902         * modules/utf16-ucs4-unsafe, modules/utf8-ucs4:
33903         * modules/utf8-ucs4-unsafe:
33904         Change maintainer from Bruno Haible to Daiki Ueno.
33905         This is my guess at the libunistring modules; please feel free
33906         to fix if I guessed incorrectly.
33907         * modules/accept4, modules/acl, modules/acos, modules/acosf:
33908         * modules/alignof, modules/amemxfrm, modules/ansi-c++-opt:
33909         * modules/areadlink, modules/array-list, modules/array-mergesort:
33910         * modules/array-oset, modules/asin, modules/asinf, modules/astrxfrm:
33911         * modules/atan, modules/atan2, modules/atan2f, modules/atanf:
33912         * modules/avltree-list, modules/avltree-oset, modules/avltreehash-list:
33913         * modules/binary-io, modules/bison-i18n, modules/btowc:
33914         * modules/c-ctype, modules/c-strcase, modules/c-strcaseeq:
33915         * modules/c-strcasestr, modules/c-strstr, modules/calloc-posix:
33916         * modules/canonicalize-lgpl, modules/careadlinkat, modules/carray-list:
33917         * modules/cbrt, modules/cbrt-ieee, modules/cbrtf, modules/cbrtf-ieee:
33918         * modules/cbrtl, modules/cbrtl-ieee, modules/ceil, modules/ceil-ieee:
33919         * modules/ceilf, modules/ceilf-ieee, modules/ceill, modules/ceill-ieee:
33920         * modules/chdir, modules/classpath, modules/clean-temp, modules/close:
33921         * modules/closedir, modules/concat-filename, modules/copy-file:
33922         * modules/copysign, modules/copysignf, modules/copysignl, modules/cos:
33923         * modules/cosf, modules/cosh, modules/coshf, modules/csharpcomp:
33924         * modules/csharpcomp-script, modules/csharpexec:
33925         * modules/csharpexec-script, modules/ctype, modules/diffseq:
33926         * modules/dprintf, modules/dprintf-posix, modules/dup:
33927         * modules/dup2-obsolete, modules/dup3, modules/duplocale:
33928         * modules/eealloc, modules/environ, modules/erf, modules/erfc:
33929         * modules/errno, modules/execute, modules/exp, modules/exp-ieee:
33930         * modules/exp2, modules/exp2-ieee, modules/exp2f, modules/exp2f-ieee:
33931         * modules/exp2l, modules/exp2l-ieee, modules/expf, modules/expf-ieee:
33932         * modules/expl, modules/expl-ieee, modules/expm1, modules/expm1-ieee:
33933         * modules/expm1f, modules/expm1f-ieee, modules/expm1l:
33934         * modules/expm1l-ieee, modules/fabs, modules/fabs-ieee, modules/fabsf:
33935         * modules/fabsf-ieee, modules/fabsl, modules/fabsl-ieee:
33936         * modules/fatal-signal, modules/fbufmode, modules/fchdir:
33937         * modules/fclose, modules/fd-hook, modules/fdopen, modules/filename:
33938         * modules/findprog, modules/findprog-lgpl, modules/floor:
33939         * modules/floor-ieee, modules/floorf, modules/floorf-ieee:
33940         * modules/floorl, modules/floorl-ieee, modules/fma, modules/fma-ieee:
33941         * modules/fmaf, modules/fmaf-ieee, modules/fmal, modules/fmal-ieee:
33942         * modules/fmod, modules/fmod-ieee, modules/fmodf, modules/fmodf-ieee:
33943         * modules/fmodl, modules/fmodl-ieee, modules/fopen, modules/fpieee:
33944         * modules/fprintf-posix, modules/fpucw, modules/fpurge:
33945         * modules/freadable, modules/freadahead, modules/freadptr:
33946         * modules/freadseek, modules/freopen, modules/frexp:
33947         * modules/frexp-ieee, modules/frexp-nolibm, modules/frexpf:
33948         * modules/frexpf-ieee, modules/frexpl, modules/frexpl-ieee:
33949         * modules/frexpl-nolibm, modules/fseek, modules/fseeko:
33950         * modules/fseterr, modules/fstat, modules/fstrcmp, modules/ftell:
33951         * modules/ftello, modules/full-read, modules/full-write:
33952         * modules/fwritable, modules/fwriteerror, modules/gcd:
33953         * modules/get-rusage-as, modules/get-rusage-data:
33954         * modules/getdtablesize, modules/getrusage, modules/gettext:
33955         * modules/gettext-h, modules/git-merge-changelog, modules/gperf:
33956         * modules/grantpt, modules/havelib, modules/host-cpu-c-abi:
33957         * modules/hostent, modules/hypot, modules/hypot-ieee, modules/hypotf:
33958         * modules/hypotf-ieee, modules/hypotl, modules/hypotl-ieee:
33959         * modules/iconv, modules/iconv-h, modules/iconv_open:
33960         * modules/iconv_open-utf, modules/idpriv-drop, modules/idpriv-droptemp:
33961         * modules/ilogb, modules/ilogbf, modules/ilogbl, modules/imaxabs:
33962         * modules/imaxdiv, modules/integer_length, modules/integer_length_l:
33963         * modules/integer_length_ll, modules/ioctl, modules/isatty:
33964         * modules/isblank, modules/isnand, modules/isnand-nolibm:
33965         * modules/isnanf, modules/isnanf-nolibm, modules/isnanl:
33966         * modules/isnanl-nolibm, modules/iswblank, modules/iswctype:
33967         * modules/j0, modules/j1, modules/javacomp, modules/javacomp-script:
33968         * modules/javaexec, modules/javaexec-script, modules/javaversion:
33969         * modules/jn, modules/langinfo, modules/ldd, modules/ldexp:
33970         * modules/ldexp-ieee, modules/ldexpf, modules/ldexpf-ieee:
33971         * modules/ldexpl, modules/ldexpl-ieee, modules/lgamma:
33972         * modules/lib-symbol-visibility, modules/libsigsegv:
33973         * modules/linked-list, modules/linkedhash-list, modules/list:
33974         * modules/localcharset, modules/locale, modules/localeconv:
33975         * modules/localename, modules/lock, modules/log, modules/log-ieee:
33976         * modules/log10, modules/log10-ieee, modules/log10f:
33977         * modules/log10f-ieee, modules/log10l, modules/log10l-ieee:
33978         * modules/log1p, modules/log1p-ieee, modules/log1pf:
33979         * modules/log1pf-ieee, modules/log1pl, modules/log1pl-ieee:
33980         * modules/log2, modules/log2-ieee, modules/log2f, modules/log2f-ieee:
33981         * modules/log2l, modules/log2l-ieee, modules/logb, modules/logb-ieee:
33982         * modules/logbf, modules/logbf-ieee, modules/logbl, modules/logbl-ieee:
33983         * modules/logf, modules/logf-ieee, modules/login_tty:
33984         * modules/logl-ieee, modules/malloc-posix, modules/malloca:
33985         * modules/mbchar, modules/mbfile, modules/mbiter, modules/mbmemcasecmp:
33986         * modules/mbmemcasecoll, modules/mbrlen, modules/mbrtowc:
33987         * modules/mbscasecmp, modules/mbscasestr, modules/mbschr:
33988         * modules/mbscspn, modules/mbsinit, modules/mbslen:
33989         * modules/mbsncasecmp, modules/mbsnlen, modules/mbsnrtowcs:
33990         * modules/mbspbrk, modules/mbspcasecmp, modules/mbsrchr:
33991         * modules/mbsrtowcs, modules/mbssep, modules/mbsspn, modules/mbsstr:
33992         * modules/mbstok_r, modules/mbswidth, modules/mbtowc, modules/mbuiter:
33993         * modules/memchr-obsolete, modules/memcmp2, modules/minmax:
33994         * modules/mkdtemp, modules/mkostemp, modules/mktime-internal:
33995         * modules/modf, modules/modf-ieee, modules/modff, modules/modff-ieee:
33996         * modules/modfl, modules/modfl-ieee, modules/msvc-inval:
33997         * modules/msvc-nothrow, modules/multiarch, modules/nextafter:
33998         * modules/nl_langinfo, modules/no-c++, modules/nocrash:
33999         * modules/nonblocking, modules/open, modules/opendir, modules/openmp:
34000         * modules/oset, modules/pclose, modules/pipe, modules/pipe-filter-gi:
34001         * modules/pipe-filter-ii, modules/pipe2, modules/poll-h:
34002         * modules/posix_spawn, modules/posix_spawn-internal:
34003         * modules/posix_spawn_file_actions_addclose:
34004         * modules/posix_spawn_file_actions_adddup2:
34005         * modules/posix_spawn_file_actions_addopen:
34006         * modules/posix_spawn_file_actions_destroy:
34007         * modules/posix_spawn_file_actions_init:
34008         * modules/posix_spawnattr_destroy, modules/posix_spawnattr_getflags:
34009         * modules/posix_spawnattr_getpgroup:
34010         * modules/posix_spawnattr_getschedparam:
34011         * modules/posix_spawnattr_getschedpolicy:
34012         * modules/posix_spawnattr_getsigdefault:
34013         * modules/posix_spawnattr_getsigmask, modules/posix_spawnattr_init:
34014         * modules/posix_spawnattr_setflags, modules/posix_spawnattr_setpgroup:
34015         * modules/posix_spawnattr_setschedparam:
34016         * modules/posix_spawnattr_setschedpolicy:
34017         * modules/posix_spawnattr_setsigdefault:
34018         * modules/posix_spawnattr_setsigmask, modules/posix_spawnp:
34019         * modules/pow, modules/powf, modules/printf-frexp:
34020         * modules/printf-frexpl, modules/printf-posix, modules/printf-safe:
34021         * modules/progname, modules/propername, modules/pselect:
34022         * modules/pthread_sigmask, modules/ptsname, modules/ptsname_r:
34023         * modules/qacl, modules/quotearg-simple, modules/raise, modules/random:
34024         * modules/rbtree-list, modules/rbtree-oset, modules/rbtreehash-list:
34025         * modules/read, modules/readdir, modules/readlink:
34026         * modules/realloc-posix, modules/regex-quote, modules/relocatable-lib:
34027         * modules/relocatable-lib-lgpl, modules/relocatable-perl:
34028         * modules/relocatable-prog, modules/relocatable-prog-wrapper:
34029         * modules/relocatable-script, modules/remainder:
34030         * modules/remainder-ieee, modules/remainderf, modules/remainderf-ieee:
34031         * modules/remainderl, modules/remainderl-ieee, modules/rewinddir:
34032         * modules/rint, modules/rint-ieee, modules/rintf, modules/rintf-ieee:
34033         * modules/rintl, modules/rintl-ieee, modules/round-ieee:
34034         * modules/roundf-ieee, modules/roundl-ieee, modules/safe-read:
34035         * modules/safe-write, modules/sched, modules/servent, modules/setenv:
34036         * modules/setlocale, modules/sh-quote, modules/shutdown:
34037         * modules/signal, modules/signbit, modules/sigpipe:
34038         * modules/sigpipe-die, modules/sigprocmask, modules/sin, modules/sinf:
34039         * modules/sinh, modules/sinhf, modules/size_max, modules/sleep:
34040         * modules/snippet/arg-nonnull, modules/snippet/c++defs:
34041         * modules/snippet/link-warning, modules/snippet/unused-parameter:
34042         * modules/snprintf, modules/snprintf-posix, modules/spawn:
34043         * modules/spawn-pipe, modules/sprintf-posix, modules/sqrt:
34044         * modules/sqrt-ieee, modules/sqrtf, modules/sqrtf-ieee:
34045         * modules/sqrtl-ieee, modules/stdalign, modules/stdarg:
34046         * modules/stdbool, modules/stpcpy, modules/stpncpy, modules/strcase:
34047         * modules/strcasestr, modules/strcasestr-simple, modules/strcspn:
34048         * modules/streq, modules/strerror_r-posix, modules/striconv:
34049         * modules/striconveh, modules/striconveha, modules/strncat:
34050         * modules/strnlen1, modules/strpbrk, modules/strtod-obsolete:
34051         * modules/sublist, modules/sys_resource, modules/sys_utsname:
34052         * modules/sys_wait, modules/system-posix, modules/system-quote:
34053         * modules/tan, modules/tanf, modules/tanh, modules/tanhf:
34054         * modules/tcgetsid, modules/termios, modules/threadlib, modules/tls:
34055         * modules/tmpdir, modules/towctrans, modules/trunc, modules/trunc-ieee:
34056         * modules/truncf, modules/truncf-ieee, modules/truncl:
34057         * modules/truncl-ieee, modules/ttyname_r, modules/uname:
34058         * modules/unlockpt, modules/unsetenv, modules/vasnprintf:
34059         * modules/vasnprintf-posix, modules/vasprintf, modules/vasprintf-posix:
34060         * modules/vdprintf, modules/vdprintf-posix, modules/vfprintf-posix:
34061         * modules/vfscanf, modules/vma-iter, modules/vprintf-posix:
34062         * modules/vscanf, modules/vsnprintf-posix, modules/vsprintf-posix:
34063         * modules/wait-process, modules/waitpid, modules/wcpcpy:
34064         * modules/wcpncpy, modules/wcrtomb, modules/wcscasecmp, modules/wcscat:
34065         * modules/wcschr, modules/wcscmp, modules/wcscoll, modules/wcscpy:
34066         * modules/wcscspn, modules/wcsdup, modules/wcslen, modules/wcsncasecmp:
34067         * modules/wcsncat, modules/wcsncmp, modules/wcsncpy, modules/wcsnlen:
34068         * modules/wcsnrtombs, modules/wcspbrk, modules/wcsrchr:
34069         * modules/wcsrtombs, modules/wcsspn, modules/wcsstr, modules/wcstok:
34070         * modules/wcswidth, modules/wcsxfrm, modules/wctob, modules/wctomb:
34071         * modules/wctrans, modules/wctype, modules/wcwidth, modules/wmemchr:
34072         * modules/wmemcmp, modules/wmemcpy, modules/wmemmove, modules/wmemset:
34073         * modules/write, modules/xconcat-filename, modules/xlist:
34074         * modules/xmalloca, modules/xoset, modules/xprintf-posix:
34075         * modules/xreadlink, modules/xsetenv, modules/xsize, modules/xstriconv:
34076         * modules/xstriconveh, modules/xsublist, modules/xvasprintf-posix:
34077         * modules/y0, modules/y1, modules/yn:
34078         Remove Bruno Haible as maintainer; if he's the sole maintainer,
34079         change the maintainer to 'all'.  Let's hope someone volunteers.
34081 2014-06-27  Paul Eggert  <eggert@cs.ucla.edu>
34083         mktime: merge #if/#ifdef usage from glibc
34084         * lib/mktime.c: Use "#if defined DEBUG && DEBUG", not "#if DEBUG",
34085         as that works with both Glibc's and Gnulib's style.
34086         See thread starting at Siddhesh Poyarekar's bug report at:
34087         http://lists.gnu.org/r/bug-gnulib/2014-06/msg00102.html
34089 2014-06-20  Alfred M. Szmidt  <ams@gnu.org>
34091         git-version-gen: improve option descriptions
34092         * build-aux/git-version-gen: Mention that --prefix and --fallback
34093         have a mandatory argument.
34095 2014-06-19  Paul Eggert  <eggert@penguin.cs.ucla.edu>
34097         regex: fix memory leak in compiler
34098         Fix by Andreas Schwab in:
34099         https://sourceware.org/ml/libc-alpha/2014-06/msg00462.html
34100         * lib/regcomp.c (parse_expression): Deallocate partially
34101         constructed tree before returning error.
34103         regex: merge patch from libc
34104         2014-02-12  Joseph Myers  <joseph@codesourcery.com>
34105         Combine __USE_BSD and __USE_SVID into __USE_MISC.
34106         * lib/regex.h [__USE_BSD]: Change condition to [__USE_MISC].
34108 2014-06-17  Paul Eggert  <eggert@cs.ucla.edu>
34110         acl: port to gcc -Wredundant-decls
34111         From a request by Dmitry Antipov in:
34112         http://lists.gnu.org/r/emacs-devel/2014-06/msg00263.html
34113         * lib/acl.h (_GL_ACL_H): New macro.  Protect entire contents with
34114         "#ifndef _GL_ACL_H".
34116 2014-06-11  Bruce Korb  <bkorb@gnu.org>
34117         Jim Meyering  <meyering@fb.com>
34119         parse-duration: eliminate 68-year duration limit
34120         * lib/parse-duration.c: Include "intprops.h".
34121         (TIME_MAX): Rename to MAX_DURATION and define to
34122         TYPE_MAXIMUM(time_t).
34123         * modules/parse-duration (Depends-on): Add intprops.
34124         Reported by Jonas 'Sortie' Termansen.
34126 2014-06-14  Paul Eggert  <eggert@cs.ucla.edu>
34128         pthread: don't assume AC_CANONICAL_HOST, port better to Solaris, etc.
34129         * modules/pthread (Depends-on): Add 'extensions', as it defines
34130         _POSIX_PTHREAD_SEMANTICS, which is needed on Solaris.
34131         (configure.ac-early): New section.
34132         * m4/pthread.m4 (gl_PTHREAD_CHECK): Revert previous change, as
34133         it is no longer needed.
34135 2014-06-14  Pádraig Brady  <P@draigBrady.com>
34137         pthread: define thread-safe macros on some platforms
34138         * m4/pthread.m4 (gl_PTHREAD_CHECK): Define macros needed
34139         for thread-safe operation on some platforms.
34141 2014-06-13  Paul Eggert  <eggert@cs.ucla.edu>
34143         regex: don't be multithreaded if USE_UNLOCKED_IO.
34144         Problem reported by Michael Felt in: http://bugs.gnu.org/17773
34145         * lib/regex_internal.h: Do not use multithreaded version if
34146         USE_UNLOCKED_IO is defined.  This is a hack, but it works
34147         around a porting bug with coreutils 8.22 on AIX 7.1.
34149 2014-06-11  Daiki Ueno  <ueno@gnu.org>
34151         gettext: update macros to version 0.19
34152         * m4/intl.m4, m4/po.m4: Update from gettext-0.19.  In particular,
34153         depend on gl_EXTERN_INLINE and drop support for older Bison
34154         versions.
34156 2014-06-10  Pádraig Brady  <P@draigBrady.com>
34158         select,poll: fix console handle check on windows 8
34159         lib/poll.c (IsConsoleHandle): Change from testing the lower
34160         2 bits of the handle to the more expensive but accurate syscall.
34161         lib/select.c: Likewise.
34163 2014-06-10  Eli Zaretskii  <eliz@gnu.org>
34165         select: fix waiting on anonymous pipes on MS-Windows
34166         * lib/select.c (rpl_select): Fall back to polling when select()
34167         indicates there is nothing to check, while due to the timeout not
34168         expiring, activity is indicated on one of the handles.
34169         Also clear the TIMEOUT argument if the timer does expire.
34171 2014-06-10  Eli Zaretskii  <eliz@gnu.org>
34173         times: fix to return non constant value on MS-Windows
34174         * lib/times.c (times): Don't use the process creation time,
34175         rather clock() which on windows returns the number of
34176         clock ticks since the process started.
34178 2014-06-09  Michael Goffioul  <michael.goffioul@gmail.com>
34180         isatty: fix to work on windows 8
34181         * lib/isatty.c (IsConsoleHandle): Change from testing the lower
34182         2 bits of the handle to the more expensive but accurate syscall.
34184 2014-06-07  Paul Eggert  <eggert@cs.ucla.edu>
34186         maint: fix typo in fdl.texi
34187         * doc/fdl.texi: Fix typo (missing '@').
34188         Somehow this was in fdl.texi but not fdl-1.3.texi.
34190 2014-06-06  Ben Walton  <bdwalton@gmail.com>
34192         mountlist: avoid hasmntopt const type warning on solaris
34193         * lib/mountlist.c: Solaris defines the OPT param of hasmntopt()
34194         with char * instead of const char *.  Passing the constant string
34195         "ignore" generates a compiler warning.  For Solaris cast MNT_IGNORE
34196         to avoid the warning.
34198 2014-06-04  Eric Blake  <eblake@redhat.com>
34200         maintainer-makefile: delete obsolete code
34201         * top/maint.mk (build_aux): Drop old code, as threatened.
34203         maintainer-makefile: avoid spurious error messages
34204         * top/maint.mk (syntax-check): Guard definition and use of
34205         $(shell) by whether Makefile is present.
34207 2014-06-03  Ben Walton  <bdwalton@gmail.com>
34209         rename: avoid unused-but-set-variable compiler warning
34210         * lib/rename.c (rpl_rename):  In the non-Win32 variant of rpl_rename,
34211         it is possible that dst_exists may be set but not used.  Mark it with
34212         the unused attribute to avoid compiler warnings.
34214 2014-06-02  Ben Walton  <bdwalton@gmail.com>
34216         rename: mark a label as potentially unused
34217         * lib/rename.c (rpl_rename): Avoid compiler warnings seen on Solaris,
34218         by marking the out label as potentially unused.
34219         * m4/gnulib-common.m4: Mention the need for the trailing ; for C++.
34221 2014-06-01  Paul Eggert  <eggert@cs.ucla.edu>
34223         gnulib-common.m4: Fix typo in _GL_UNUSED_LABEL.
34224         * m4/gnulib-common.m4 (_GL_UNUSED_LABEL): Omit trailing semicolon.
34226 2014-06-02  Ben Walton  <bdwalton@gmail.com>
34228         acl: apply pure attribute to two functions
34229         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial):
34230         Mark as "pure" as flagged by gcc 4.9 on Solaris 10.
34232 2014-06-01  Pádraig Brady  <P@draigBrady.com>
34234         gnulib-common.m4: add _GL_UNUSED_LABEL
34235         * m4/gnulib-common.m4: Add _GL_UNUSED_LABEL which is similar to
34236         _GL_UNUSED, but handles g++ < 4.5 not supporting this syntax.
34238 2014-05-31  Paul Eggert  <eggert@cs.ucla.edu>
34240         dup2, fcntl, fcntl-h: port to AIX 7.1
34241         This fixes some porting problems discovered when testing the latest
34242         grep snapshot on AIX 7.1.  I don't think if fixes any bugs
34243         in grep but it could be important for other applications.
34244         * doc/posix-functions/dup2.texi:
34245         * doc/posix-functions/fcntl.texi:
34246         * doc/posix-headers/fcntl.texi:
34247         Document AIX bugs.
34248         * lib/fcntl.in.h (O_CLOEXEC, O_NOFOLLOW, O_TTY_INIT) [_AIX]:
34249         Define to 0 if outside 'int' range.
34250         * m4/dup2.m4 (gl_FUNC_DUP2):
34251         * m4/fcntl.m4 (gl_FUNC_FCNTL):
34252         Check for getdtablesize.  If it's available, test a value just
34253         outside its range instead of testing 1000000.  When cross-compiling,
34254         guess that AIX will fail this improved test.
34256 2014-05-30  Paul Eggert  <eggert@cs.ucla.edu>
34258         printf, config.rpath: Port to FreeBSD 10.
34259         Problem reported by Tijl Coosemans in:
34260         http://lists.gnu.org/r/bug-gnulib/2014-05/msg00078.html
34261         * build-aux/config.rpath (hardcode_libdir_flag_spec)
34262         (hardcode_direct): Simplify FreeBSD configuration.
34263         (library_names_spec): Don't mishandle FreeBSD 10+.
34264         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE)
34265         (gl_PRINTF_INFINITE_LONG_DOUBLE, gl_PRINTF_DIRECTIVE_F)
34266         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99)
34267         (gl_SNPRINTF_DIRECTIVE_N, gl_VSNPRINTF_ZEROSIZE_C99):
34268         Don't mishandle FreeBSD 10+ when cross-compiling.
34270         ftoastr: work around compiler bug in IBM xlc 12.1
34271         * lib/ftoastr.h (_GL_FLT_PREC_BOUND, _GL_DBL_PREC_BOUND)
34272         (_GL_LDBL_PREC_BOUND): Make these macros, not enums, to work
34273         around a compiler bug in IBM xlc 12.1.0.0: it complains
34274         '"ftoastr.c", line 80.37: 1506-045 (S) Undeclared identifier
34275         _GL_FLT_PREC_BOUND.'
34277 2014-05-30  Kieran Colford  <colfordk@gmail.com>
34279         valgrind-tests: fixed misleading help message
34280         * m4/valgrind-tests.m4: The help message generated by configure
34281         implied that valgrind was disabled by default, which it wasn't.
34282         Adjusted the help message using s/enable/disable/ to clarify.
34284 2014-05-30  Ulrich Weigand  <uweigand@de.ibm.com>
34286         isfinite, isinf, isnan tests: fix for little-endian PowerPC
34287         * tests/test-isfinite.c (test_isfinitel): Only manipulate the
34288         first double of a PowerPC "double double" pair.
34289         * tests/test-isinf.c (test_isinfl): Likewise.
34290         * tests/test-isnan.c (test_long_double): Likewise.
34291         * tests/test-isnanl.h (main): Likewise.
34292         * tests/test-signbit.c (test_signbitl): Likewise.
34294 2014-05-29  Paul Eggert  <eggert@cs.ucla.edu>
34296         exclude-tests: port to AIX 7.1
34297         * modules/exclude-tests (test_exclude_LDADD): Add $(LIBTHREAD).
34298         Needed on AIX 7.1 with xlc V12.1, otherwise it won't link because
34299         the regex code uses locks.
34301 2014-05-28  Paul Eggert  <eggert@cs.ucla.edu>
34303         pthread_sigmask, timer-time: use gl_THREADLIB only if needed
34304         Without this fix, Emacs would sometimes call sigprocmask instead
34305         of pthread_sigmask, which is a no-no in multithreaded applications.
34306         Problem reported by Jorgen Schaefer in <http://bugs.gnu.org/17561>.
34307         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
34308         Suppress check for pthread_sigmask working without -lpthread if
34309         the application always links with -lpthread.  Do not link with
34310         $LIBMULTITHREAD if gl_THREADLIB is not defined.
34311         * m4/timer_time.m4 (gl_TIMER_TIME):
34312         Require gl_THREADLIB only if it is defined.  Do not append
34313         $LIBMULTITHREAD to LIB_TIMER_TIME if gl_THREADLIB is not defined.
34315 2014-05-27  Sylvain Beucler  <beuc@beuc.net>.
34317         gnulib-tool: wget translations using --no-verbose rather than --quiet
34318         This allows the user to see error messages if any (--quiet hides them)
34319         * gnulib-tool: Invoke wget with --no-verbose, rather than --quiet.
34321 2014-05-27  Sylvain Beucler  <beuc@beuc.net>
34323         gnulib-tool: adjust translation wget to avoid a https redirection
34324         Context: http://translationproject.org/latest/gnulib redirects to
34325            https://translationproject.org/latest/gnulib/
34326         Rationale: if the user falls back to wget, she doesn't have rsync and
34327         is probably in a minimal build environment, where packages such as
34328         'ca-certificates' are missing as well, resulting in a failed (and
34329         difficult to detect since ignored) translation initial fetch.
34330         Consequently let's avoid https if possible, and add the missing
34331         trailing slash.  This also avoids an unnecessary 302 redirection.
34332         * gnulib-tool: Add trailing slash to gnulib URL.
34334 2014-05-22  Pádraig Brady  <P@draigBrady.com>
34336         getlogin_r-tests: check return value rather than errno
34337         * tests/test-getlogin_r.c (main): As per POSIX we should be
34338         verifying the return value from getlogin_r() rather than errno.
34340 2014-05-22  Pádraig Brady  <P@draigBrady.com>
34342         getlogin_r-tests: fix various issues in recent change
34343         * tests/test-getlogin_r.c: Include required headers that were
34344         missed in recent commit eec20b4e.
34345         Also consistently check the errno rather than the return value from
34346         getlogin_r as POSIX only specifies that non zero is returned on error.
34347         * modules/getlogin_r-tests (configure.ac): Add the check for ttyname().
34349 2014-05-21  Paul Eggert  <eggert@cs.ucla.edu>
34351         fchdir: port 'open' and 'close' redefinitions to AIX 7.1
34352         * lib/chown.c, lib/clean-temp.c, lib/copy-file.c, lib/execute.c:
34353         * lib/fsusage.c, lib/gc-gnulib.c, lib/javacomp.c, lib/mountlist.c:
34354         * lib/openat-proc.c, lib/pagealign_alloc.c, lib/progreloc.c:
34355         * lib/spawn-pipe.c:
34356         Do not #undef 'open' and 'close'.  AIX 7 does '#define open open64'
34357         and then 'int open64(const char *, int, ...);', which means the
34358         declaration for 'open' gets lost if we later '#undef open'.
34359         Discovered while building grep pretest 2.18.151-1c770 on AIX 7.1,
34360         where the compilation reported the non-fatal error "In function
34361         'openat_proc_name' ... warning: implicit declaration of function
34362         'open'".  In this case the error is relatively harmless, but in
34363         other cases it might not be so minor.
34365 2014-05-20  Paul Eggert  <eggert@cs.ucla.edu>
34367         xalloc: don't potentially generate invalid code for xmemdup calls
34368         * lib/xalloc.h (xmemdup): Do not mark with _GL_ATTRIBUTE_ALLOC, as
34369         this function can initialize the newly-allocated storage with new
34370         pointers, which means this function is not malloc-like.  See:
34371         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56955
34373 2014-05-19  Pádraig Brady  <P@draigBrady.com>
34375         getlogin_r-tests: avoid false failure under sudo/ssh etc.
34376         * tests/test-getlogin_r.c (main): Sync up with test-getlogin.c
34377         changes from commit 97249cf29 to not depend on environment variables.
34379 2014-05-18  Pádraig Brady  <P@draigBrady.com>
34381         getlogin-tests: avoid false failure under cron
34382         * tests/test-getlogin.c (main): Avoid verifying errnos from ttyname()
34383         since that's not what's under test.  Centos 6 was seen to return
34384         EINVAL for ttyname() when run from cron.
34386 2014-05-16  Jim Meyering  <meyering@fb.com>
34388         mbrtowc.m4: fix a comment typo
34389         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Fix typo s/2/-2/ in
34390         emitted documentation string.
34392 2014-05-16  Paul Eggert  <eggert@cs.ucla.edu>
34394         mbrlen, mbrtowc: fix bug with empty input
34395         * lib/mbrtowc.c (rpl_mbrtowc) [MBRTOWC_EMPTY_INPUT_BUG]: Fix the bug.
34396         * m4/mbrlen.m4 (gl_MBRLEN_EMPTY_INPUT): New macro.  It's not used,
34397         so this is mainly for documentation.
34398         * m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT): New macro.
34399         (gl_FUNC_MBRTOWC): Use it.
34400         * tests/test-mbrtowc.c (main): Test for the bug.
34402 2014-05-15  Paul Eggert  <eggert@cs.ucla.edu>
34404         doc: document mbrtowc and mbrlen problem with empty input
34405         * doc/posix-functions/mbrlen.texi (mbrlen):
34406         * doc/posix-functions/mbrtowc.texi (mbrtowc):
34407         Document portability problem when the input string is empty.  See:
34408         https://sourceware.org/bugzilla/show_bug.cgi?id=16950
34410         doc: document exec* = spawn+exit bug with non-Cygwin Windows platforms
34411         Problem reported by Eli Zaretskii in:
34412         http://lists.gnu.org/r/bug-grep/2014-05/msg00118.html
34413         * doc/posix-functions/execl.texi (execl):
34414         * doc/posix-functions/execle.texi (execle):
34415         * doc/posix-functions/execlp.texi (execlp):
34416         * doc/posix-functions/execv.texi (execv):
34417         * doc/posix-functions/execve.texi (execve):
34418         * doc/posix-functions/execvp.texi (execvp):
34419         Mention spawn+exit problem on non-Cygwin Windows platforms.
34421 2014-05-14  Guilherme de Almeida Suckevicz  <guito.linux@gmail.com>
34423         getlogin-tests: avoid false failure under sudo/ssh etc.
34424         * modules/getlogin-tests (configure.ac): Check for ttyname().
34425         * tests/test-getlogin.c (main): Don't depend on environment variables
34426         to correlate with getlogin(), since sudo and ssh etc. can tamper
34427         with the LOGNAME and USER env vars.  Instead lookup the name from
34428         the uid associated with the stdin tty.
34430 2014-05-11  Paul Eggert  <eggert@cs.ucla.edu>
34432         mbsstr, quotearg, xstrtol: pacify IRIX 6.5 cc
34433         These were found when building the latest grep snapshot on IRIX 6.5.
34434         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Break "a=b=c;" into
34435         "b=c; a=b;", since IRIX 6.5 cc complains about the former if b is
34436         never used later.
34437         * lib/quotearg.c (quoting_options_from_style):
34438         * lib/xstrtol.c (__xstrtol):
34439         Use enum instead of 0, to pacify IRIX 6.5 cc.
34441 2014-04-18  Pádraig Brady  <P@draigBrady.com>
34443         gitlog-to-changelog: revert inclusion of git-log-fix file
34444         * build-aux/git-log-fix: Delete dummy file.
34445         * modules/gitlog-to-changelog: Don't reference (overwrite)
34446         the project specific git-log-fix file.
34448 2014-04-18  Assaf Gordon  <agordon@wi.mit.edu>
34450         maint.mk: Relax the copyright check to cater for non FSF projects
34451         * top/maint.mk (sc_copyright_check): Relax the check for $PACKAGE.texi
34452         to not require the "Free" suffix after the copyright years.
34454 2014-04-18  Natanael Copa  <ncopa@alpinelinux.org>
34456         physmem: use sysinfo on linux-gnu if _SC_PHYS_PAGES unavailable
34457         * lib/physmem.c (physmem_total): Some systems like musl libc don't yet
34458         support _SC_PHYS_PAGES.  Use the linux syscall sysinfo as fallback
34459         if _SC_PHYS_PAGES or _SC_PAGESIZE fails.
34460         (physmem_available): Likewise for _SC_AVPHYS_PAGES.
34462 2014-04-18  Paul Eggert  <eggert@cs.ucla.edu>
34464         exclude: port to strict C99
34465         Strict C does not allow converting a function pointer to void *
34466         and vice versa.  Pass a pointer to a function pointer instead.
34467         * lib/exclude.c (add_exclude_file):
34468         Pass the address of the function pointer.
34469         (call_addfn): And deference the address here, to match.
34471 2014-04-17  Paul Eggert  <eggert@cs.ucla.edu>
34473         regex: do not depend on malloc-gnu
34474         * modules/regex (Depends-on): Remove malloc-gnu.
34475         It's no longer needed, because of the 2012-12-29 patch
34476         "regex: port to hosts where malloc (0) == NULL".
34477         Reported by Nathan Kennedy in:
34478         http://lists.gnu.org/r/bug-gnulib/2014-04/msg00026.html
34480 2014-04-16  Assaf Gordon  <agordon@wi.mit.edu>
34482         expl: avoid incorrect expl(small_value) on OpenBSD 5.4
34483         * m4/expl.m4 (gl_FUNC_EXPL): Add a check for this condition.
34484         * doc/posix-functions/expl.texi: Mention the workaround.
34486 2014-04-12  Paul Eggert  <eggert@cs.ucla.edu>
34488         xalloc: allow x2nrealloc (P, PN, S) where P && !*PN
34489         * lib/xalloc.h (x2nrealloc): Extend slightly, to allow the current
34490         size to be zero even when the pointer is nonnull.  This
34491         accommodates the use case where P is malloc (0) and *PN is 0 on a
34492         host where malloc (0) yields nonnull.
34494 2014-04-09  Eric Blake  <eblake@redhat.com>
34496         fts: avoid unnecessary strlen calls
34497         * lib/fts.c (_D_EXACT_NAMLEN): Restore definition when needed.
34499 2014-04-09  Paul Eggert  <eggert@cs.ucla.edu>
34501         fts: avoid unnecessary strlen calls
34502         * lib/fts.c (fts_build): Go back to using _D_EXECT_NAMLEN
34503         when that can be faster than strlen.
34505 2014-03-26  Bernhard Voelker  <mail@bernhard-voelker.de>
34507         fts: avoid unnecessary strlen calls
34508         * lib/fts.c (_D_EXACT_NAMLEN): Remove macro.
34509         (fts_build): Store the length of the dp->d_name entry in a local variable
34510         instead of calling strlen() several times via the above, removed macro.
34511         For 'rm -rf some-dir' with e.g. 1M directory entries, this speeds up the
34512         run by ~4%, yet this reduces the execution time by about a third if run
34513         via "ltrace -c rm -rf some-dir".
34515 2014-03-27  Paul Eggert  <eggert@cs.ucla.edu>
34517         obstack: Remove ancient NeXTSTEP gcc support conditional
34518         This change will ease merging with glibc.  The "#if ... __NEXT__"
34519         causes a warning with -Wundef which glibc now enables by default.
34520         Problem reported by Will Newton in
34521         <http://lists.gnu.org/r/bug-gnulib/2014-03/msg00032.html>.
34522         glibc <sys/cdefs.h> now uses __extension__ for GCC 2.8 or later,
34523         so go with that.
34524         * lib/obstack.h (__extension__):
34526 2014-03-27  Paul Eggert  <eggert@cs.ucla.edu>
34528         obstack: merge with glibc changes
34529         * lib/obstack.c, lib/obstack.h: Merge from glibc.
34530         This is mostly indenting and commentary changes.
34531         Instances of 'register' have been removed.
34533 2014-03-26  Bernhard Voelker  <mail@bernhard-voelker.de>
34535         strftime: wrap macros in "do {...} while(0)"
34536         * lib/strftime.c (DO_NUMBER): Wrap multi-statement code block of
34537         this macro in "do {...} while(0)" to prevent false use as a
34538         single statement, e.g., in an un-braced "{}" else-block.
34539         (DO_SIGNED_NUMBER, DO_TZ_OFFSET, DO_NUMBER_SPACEPAD): Likewise.
34540         (strftime_case_): Remove 'else' after 'goto' - which was the
34541         only non-fatal, un-braced use of one of the above macros.
34542         Spotted by coverity (NESTING_INDENT_MISMATCH).
34544 2014-03-26  Bernhard Voelker  <mail@bernhard-voelker.de>
34546         modechange: avoid memory leaks for invalid octal modes
34547         * lib/modechange.c (mode_compile): During the parsing of
34548         notations like +40, free the 'mc' buffer for invalid mode
34549         strings like +17777 (greater than the maximum octal mode),
34550         =18 (bad octal mode characters) or u=1 ('affected' with
34551         octal modes).
34552         Reproducer, e.g.:
34553             $ valgrind --leak-check=full chmod +17777 file
34554         Introduced via the 2012-03-09 commit, 4730c3e3, "modechange:
34555         add notations +40, 00440, etc.".
34556         Spotted by coverity (RESOURCE_LEAK).
34558 2014-03-24  Paul Eggert  <eggert@cs.ucla.edu>
34560         gitlog-to-changelog: include a dummy git-log-fix file
34561         Problem reported by Nathan Stratton Treadway in:
34562         http://lists.gnu.org/r/bug-tar/2014-03/msg00082.html
34563         * build-aux/git-log-fix: New file.
34565 2014-03-13  Jim Meyering  <meyering@fb.com>
34567         gitlog-to-changelog: also include the file, git-log-fix
34568         * modules/gitlog-to-changelog (Files): Add git-log-fix.
34569         Reported by Assaf Gordon.
34571 2014-03-06  Paul Eggert  <eggert@cs.ucla.edu>
34573         regex: port to OS X 10.8.5 en_US.UTF-8 locale
34574         This fixes a bug when ignoring case and when comparing the
34575         titlecase letter 'Lj' (U+01C8 LATIN CAPITAL LETTER L WITH SMALL
34576         LETTER J) to the corresponding uppercase letter 'LJ' (U+01C7 LATIN
34577         CAPITAL LETTER LJ).  In the OS X 10.8.5 en_US.UTF-8 locale, the
34578         titlecase letter is neither lowercase nor uppercase, but
34579         uppercasing the titlecase letter (via towupper) yields the
34580         uppercase letter, so the two letters should match when ignoring case.
34581         Problem reported by Jim Meyering in <http://debbugs.gnu.org/16911#16>.
34582         * lib/regex_internal.c (build_wcs_upper_buffer, build_upper_buffer):
34583         Don't test whether a character is lowercase before uppercasing it.
34585 2014-03-04  Kevin Cernekee  <cernekee@gmail.com>
34587         stdint, read-file: fix missing SIZE_MAX on Android (tiny change)
34588         This is basically one of the options Bruno Haible proposed in:
34589         http://lists.gnu.org/r/bug-gnulib/2012-01/msg00282.html
34590         * lib/sys_types.in.h (_GL_INCLUDING_UNISTD_H): New macro.
34591         * lib/stdint.in.h: Use it.
34592         * modules/stdint (Depends-on): Add sys_types.
34594 2014-02-26  Pádraig Brady  <P@draigBrady.com>
34596         parse-datetime: fix crash or infloop in TZ="" parsing
34597         * lib/parse-datetime.y (parse_datetime): Break out of the
34598         TZ="" parsing loop once the second significant " is found.
34599         Also skip over any subsequent whitespace to be consistent
34600         with the non TZ= case.
34601         * tests/test-parse-datetime.c: Add test cases for TZ="" parsing.
34603 2014-02-26  Paul Eggert  <eggert@cs.ucla.edu>
34605         savedir: new symbol for fast-read version
34606         * lib/savedir.h (SAVEDIR_SORT_FASTREAD): New symbol, for programs
34607         like GNU cp that want to use SAVEDIR_SORT_INODE if available,
34608         SAVEDIR_SORT_NONE otherwise.  Problem reported by Bernhard Voelker in:
34609         http://lists.gnu.org/r/coreutils/2014-02/msg00037.html
34611 2014-02-25  Paul Eggert  <eggert@penguin.cs.ucla.edu>
34613         unistd: port readlink to Mac OS X 10.3.9
34614         * lib/unistd.in.h (_GL_INCLUDING_UNISTD_H): New macro, to work
34615         around self-include problem in Mac OS X 10.3.9 when combined with
34616         readlink module.  Problem reported by Klaus Zietler in
34617         <http://bugs.gnu.org/16825>.
34619 2014-02-23  Paul Eggert  <eggert@cs.ucla.edu>
34621         diffseq: remove TOO_EXPENSIVE heuristic
34622         Problem with diffutils reported by Vincent Lefevre in
34623         <http://bugs.gnu.org/16848>.  The simplest solution is to remove
34624         the TOO_EXPENSIVE heuristic that I added to GNU diff in 1993.
34625         Although appropriate for circa-1993 hardware, these days the heuristic
34626         seems to be more trouble than it's worth.
34627         * lib/diffseq.h: Modernize citations.
34628         (struct context): Remove member too_expensive.
34629         All uses changed.
34630         (struct partition): Remove members lo_minimal, hi_minimal.
34631         All uses changed.
34632         (diag, compareseq): Remove arg find_minimal.  All uses changed.
34633         (diag): Remove the TOO_EXPENSIVE heuristic that I added back in
34634         1993 to make 'diff' run faster (but not as well) on large inputs.
34635         These days, computers are fast enough that it's typically better
34636         to run slower but more accurately.
34637         * lib/fstrcmp.c: Remove duplicate comment.
34638         * lib/fstrcmp.c (strcmp_bounded):
34639         * lib/git-merge-changelog.c (compute_differences):
34640         Adjust to diffseq.h changes.
34641         * NEWS: Document the change.
34643         savedir: simplify by using stpcpy
34644         * lib/savedir.c (direntry_t): Remove size member.  All uses removed.
34645         (streamsavedir): Use stpcpy instead.
34646         * modules/savedir (Depends-on): Add stpcpy.
34648 2014-02-21  Pádraig Brady  <P@draigBrady.com>
34650         spawn: fix link error on uclibc
34651         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): use AC_SEARCH_LIBS,
34652         to incorporate -lrt if needed (on uclibc for example).
34653         * modules/posix_spawn: Reference the substituted LIB.
34655 2014-02-21  Thomas Petazzoni  <thomas.petazzoni@free-electrons.com>  (tiny change)
34656         timer: fix uClibc detection of threading
34657         * m4/time_time.m4 (gl_TIMER_TIME): Detect whether threads are
34658         enabled in uClibc.
34660 2014-02-21  Eric Blake  <eblake@redhat.com>
34662         maintainer-makefiles: provide AC_PROG_SED for older autoconf
34663         * m4/gnulib-common.m4 (AC_PROG_SED): Copy from newer autoconf.
34665 2014-02-21  Sergey Poznyakoff  <gray@gnu.org.ua>
34667         exclude: add support for posix regexps
34669         This commit adds support for POSIX extended regular expressions
34670         and fixes a long-standing memory leak (pattern buffer was never
34671         freed).  It also implements a new interface function to read
34672         exclude patterns from a FILE, which passes an additional parameter
34673         to its callback function, thereby allowing to preserve its state
34674         between invocations.
34676         * lib/exclude.c (struct patopts): Pack regex and pattern into union.
34677         (pattern_buffer): New struct.
34678         (exclude): New member patbuf.
34679         (exclude_add_pattern_buffer): New function.
34680         (free_exclude_segment): Free regexps.
34681         (free_exclude): Free allocated pattern buffers.
34682         (exclude_patopts): New function.
34683         (file_pattern_matches): Use exclude_patopts.
34684         (add_exclude): support regexps.
34685         (add_exclude_fp): New function.
34686         (add_exclude_file): Rewrite using add_exclude_fp.
34687         (fnmatch_pattern_has_wildcards): Support posix extended regexps.
34688         * lib/exclude.h (EXCLUDE_REGEX, EXCLUDE_ALLOC): New flags.
34689         (add_exclude_fp)
34690         (add_exclude_file): Rewrite using add_exclude_fp.
34691         (fnmatch_pattern_has_wildcards): Support posix extended regexps.
34692         * lib/exclude.h (EXCLUDE_REGEX, EXCLUDE_ALLOC): New flags.
34693         (add_exclude_fp)
34694         (exclude_add_pattern_buffer): New prototypes.
34695         * modules/exclude: Depends on regex and filename.
34697 2014-02-20  Eric Blake  <eblake@redhat.com>
34699         maintainer-makefiles: use $(SED) for syntax check
34700         * modules/maintainer-makefile (configure.ac): Check for sane sed.
34701         * top/maint.mk: Change sed to $(SED).
34703 2014-02-11  Sergey Poznyakoff  <gray@gnu.org.ua>
34704             Paul Eggert  <eggert@cs.ucla.edu>
34706         savedir: add sorting arg to savedir, streamsavedir; remove fdsavedir
34707         Patch based on an idea by Dick Streefland in
34708         <https://savannah.gnu.org/patch/?7892>.
34709         * NEWS: Document this.
34710         * lib/savedir.c (NAME_SIZE_DEFAULT): Remove.
34711         (direntry_t, comparison_function): New types.
34712         (direntry_cmp_name): New function.
34713         (direntry_cmp_inode) [D_INO_IN_DIRENT]: New function.
34714         (streamsavedir, savedir): New arg OPTION.
34715         (streamsavedir): Simplify memory allocation.
34716         (fdsavedir): Remove.
34717         * lib/savedir.h (enum savedir_option): New type.
34718         (streamsavedir, savedir): New arg OPTION.
34719         (fdsavedir): Remove.
34721 2014-02-05  Paul Eggert  <eggert@cs.ucla.edu>
34723         file-type: add support for doors and other less-common file types
34724         Problem with S_ISDOOR reported by Rich Burridge.
34725         * lib/file-type.c (file_type): Do S_ISLNK early too.  Do S_TYPEIS*
34726         macros before the rest.  Add S_ISCTG, S_ISDOOR, S_ISMPB, S_ISMPC,
34727         S_ISMPX, S_ISNAM, S_ISNWK, S_ISOFD, S_ISOFL, S_ISPORT, S_ISWHT.
34729 2014-01-23  Eric Blake  <eblake@redhat.com>
34731         pthread: work around winpthread header pollution on mingw
34732         * lib/time.in.h: Move pthread workarounds...
34733         * lib/pthread.in.h: ...here.
34734         * m4/pthread.m4 (gl_PTHREAD_CHECK): Also build pthread.h when we
34735         detect macro pollution on mingw.
34736         * doc/posix-headers/pthread.texi (pthread.h): Document the problems.
34738 2014-01-22  Paul Eggert  <eggert@cs.ucla.edu>
34740         qacl: check for fchmod
34741         * m4/acl.m4 (gl_FUNC_ACL): Check for fchmod, since acl-internal.h
34742         and qset-acl.c both use HAVE_FCHMOD.
34744 2014-01-20  Paul Eggert  <eggert@cs.ucla.edu>
34746         fdopen-tests: port to Tru64
34747         * tests/test-fdopen.c (main): Don't invoke fdopen on a file
34748         descriptor that is not open, as POSIX doesn't specify the
34749         resulting behavior and the test does not work on Tru64.
34750         Problem reported by Steven M. Schweda in:
34751         http://lists.gnu.org/r/bug-gnulib/2014-01/msg00079.html
34753         stdalign: port to HP-UX compilers
34754         * lib/stdalign.in.h (_Alignas): Use __attribute__ (__aligned__ (x))
34755         if __HP_cc or __HP_aCC are nonzero.
34757 2014-01-16  Paul Eggert  <eggert@cs.ucla.edu>
34759         strtoimax: port to platforms lacking 'long long'
34760         VMS's pre-C99 compiler lacks 'long long', so 'configure' doesn't
34761         check whether strtoll is declared, which causes the C file to
34762         wrongly report an error.  Problem reported by Steven M. Schweda in:
34763         http://lists.gnu.org/r/bug-diffutils/2014-01/msg00003.html
34764         * lib/strtoimax.c (strtoull):
34765         Declare only if HAVE_UNSIGNED_LONG_LONG_INT.
34766         (strtoll): Declare only if HAVE_LONG_LONG_INT.
34768 2014-01-16  Daniel Albers  <daniel@lbe.rs>  (tiny change)
34770         relocatable-perl: fix texi syntax
34771         * doc/relocatable-maint.texi: Escape braces.
34773 2014-01-09  Reuben Thomas  <rrt@sc3d.org>
34775         relocatable-perl: like relocatable-script, but for Perl scripts
34776         * build-aux/relocatable.pl.in: Add.
34777         * doc/relocatable-maint.texi: Add documentation.
34778         * modules/relocatable-perl: Add.
34780 2014-01-07  Paul Eggert  <eggert@cs.ucla.edu>
34782         tests: fix export bug in previous patch
34783         Problem reported by Jim Meyering.
34784         * tests/init.sh (re_shell): New var, which is exported instead of
34785         re_shell_.
34787         tests: simplify porting to Solaris 10 /bin/sh
34788         Some test cases in 'grep' need a shell that groks '$(';
34789         export re_shell_ for their benefit.  Problem reported for 'grep'
34790         by Dagobert Michelsen in <http://bugs.gnu.org/16380>.
34791         * tests/init.sh (re_shell_): Export if it's used.
34793 2014-01-06  Eric Blake  <eblake@redhat.com>
34795         md5, sha1, sha256, sha512: support older autoconf
34796         * m4/00gnulib.m4 (m4_divert_push): Wrap diversion stack
34797         for autoconf < 2.63b.
34799         include_next: port to autoconf 2.63
34800         * m4/gnulib-common.m4 (AS_VAR_COPY): Define if missing.
34802 2014-01-04  Jim Meyering  <meyering@fb.com>
34804         maint: add a gnulib-local rule to keep non-ascii out of .texi files
34805         * cfg.mk (sc_keep_gnulib_texi_files_mostly_ascii): New rule,
34806         so that "make sc_maint" will ding anyone who puts non-ascii
34807         in any of gnulib's .texi files.
34809 2014-01-03  Jim Meyering  <meyering@fb.com>
34811         freadable, fwritable, fwriting: declare with the "pure" attribute
34812         * lib/freadable.h (freadable): Declare with the "pure" attribute.
34813         * lib/fwritable.h (fwritable): Likewise.
34814         * lib/fwriting.h (fwriting): Likewise.
34815         Suggested by Bruno Haible.
34817         maint.mk: adapt openat.h-include-without-use test
34818         * top/maint.mk (sc_prohibit_openat_without_use): Also check for
34819         FCHMODAT_INLINE, FCHOWNAT_INLINE and STATAT_INLINE, to avoid
34820         failing on gnulib's own lib/{chmod,chown,stat}at.c files.
34821         With this change, running "make sc_maint" in gnulib's top-level
34822         directory now passes for me.
34824 2014-01-03  Paul Eggert  <eggert@cs.ucla.edu>
34826         doc: use ASCII in .texi files where UTF-8 isn't needed
34827         * doc/posix-functions/crypt.texi, doc/posix-functions/encrypt.texi:
34828         * doc/posix-functions/setkey.texi, doc/regex.texi:
34829         Use ASCII input, not UTF-8.
34831 2014-01-02  Jim Meyering  <meyering@fb.com>
34833         freading: declare with the "pure" attribute
34834         * lib/freading.h (freading): Declare with the "pure" attribute.
34836         manywarnings: remove -Wmudflap
34837         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Remove -Wmudflap, since
34838         it is no longer supported in gcc-4.9-to-be.
34840 2014-01-01  Paul Eggert  <eggert@cs.ucla.edu>
34842         relocatable-script: remove unused code
34843         Problem reported by Reuben Thomas in:
34844         http://lists.gnu.org/r/bug-gnulib/2013-12/msg00117.html
34845         * build-aux/relocatable.sh.in (func_tmpdir): Remove unused function.
34847 2014-01-01  Jim Meyering  <meyering@fb.com>
34849         maint: fix public-submodule-commit to work with newer git
34850         * top/maint.mk (public-submodule-commit): Remove excess quoting.
34851         We were over-quoting the test arguments, and somewhere prior to
34852         version 1.8.5.2.229, git stopped removing those excess quotes,
34853         which made the test fail, since the unexpanded strings would
34854         always differ; using GIT_TRACE=1 confirmed that the git merge-base
34855         command wasn't even being run.
34857 2014-01-01  Paul Eggert  <eggert@cs.ucla.edu>
34859         doc: update main copyright year
34860         * doc/gnulib.texi: Update copyright date.
34862 2014-01-01  Eric Blake  <eblake@redhat.com>
34864         version-etc: new year
34865         * lib/version-etc.c (COPYRIGHT_YEAR): Bump to 2014.
34866         * all files: run 'make update-copyright'
34868 2013-12-24  Eric Blake  <eblake@redhat.com>
34870         passfd: give nicer error for recvfd at eof
34871         * lib/passfd.c (recvfd): Fake ENOTCONN if other end closes early.
34872         * tests/test-passfd.c (main): Enhance test to cover this.
34874 2013-12-17  Paul Eggert  <eggert@cs.ucla.edu>
34876         gettimeofday: port recent C++ fix to Emacs
34877         Without this further patch, Emacs won't build due to
34878         the portcheck failing.  Also, this simplifies the patch a bit.
34879         * lib/time.in.h (localtime, gmtime): Don't replace unless
34880         GNULIB_GETTIMEOFDAY.  Treat them more like mktime.
34881         * lib/time.in.h (localtime, gmtime):
34882         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME):
34883         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS):
34884         * modules/time (time.h):
34885         Don't worry about the possibility of localtime and gmtime
34886         being absent; they're present in all C libraries we know about.
34887         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS):
34888         Don't assume sys_time is present and has been initialized.
34889         Instead, use a hack that should work even if it hasn't been.
34890         Don't use a portcheck for gmtime or localtime; this supports
34891         the hack.
34892         * modules/time (time.h): Substitute GNULIB_GETTIMEOFDAY.
34894 2013-12-17  John W. Eaton  <jwe@gnu.org>
34896         gettimeofday: fix C++ crosscompilation
34898         Never replace gmtime and localtime by macros when compiling with
34899         C++, this prevents <ctime> from being included.
34901         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Do not
34902         define gmtime and localtime as preprocessor macros.  Instead
34903         define some HAVE_GMTIME, HAVE_LOCALTIME, REPLACE_GMTIME, and
34904         REPLACE_LOCALTIME substitutions.
34905         * lib/time.in.h: Declare gmtime and localtime when needed.
34906         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): AC_SUBST HAVE_GMTIME,
34907         HAVE_LOCALTIME, REPLACE_GMTIME, and REPLACE_LOCALTIME.
34908         * modules/time: Depend on gettimeofday, and substitute the above
34909         variables in time.h.
34911 2013-12-17  Paul Eggert  <eggert@cs.ucla.edu>
34913         qacl: port to Windows better
34914         See Eli Zaretskii in
34915         <http://lists.gnu.org/r/emacs-devel/2013-12/msg00593.html>.
34916         * lib/file-has-acl.c (acl_access_nontrivial):
34917         Return -1 and set errno if !HAVE_ACL_FIRST_ENTRY &&
34918         !HAVE_ACL_TO_SHORT_TEXT && !HAVE_ACL_FREE_TEXT.
34920 2013-12-12  Alexander V. Lukyanov  <lav@netis.ru>
34922         md5, sha1, sha256, sha512: fix (trivial) compile error in c++ mode.
34923         * lib/gl_openssl.h: Cast void pointers to a specific type.
34925 2013-12-07  Pádraig Brady  <P@draigBrady.com>
34927         open-tests: fix build failure with -Werror=old-style-declaration
34928         * tests/test-open.h: Reorder the inline to avoid the issue.
34930 2013-12-07  Pádraig Brady  <P@draigBrady.com>
34932         md5, sha1, sha256, sha512: fix link error with partial libcrypto
34933         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK): Only clear LIB_CRYPTO at
34934         init time, so that if early checks find crypto routines,
34935         while the last does not, then @LIB_CRYPTO@ is replaced correctly,
34936         avoiding link failures.
34938 2013-12-07  Paul Eggert  <eggert@cs.ucla.edu>
34940         md5, sha1, sha256, sha512: add gl_SET_CRYPTO_CHECK_DEFAULT
34941         This provides a new way to specify the default for
34942         gl_CRYPTO_CHECK, one that is reflected in the --help message.
34943         Emacs uses this, as well as the old way.
34944         This attempts to implement a suggestion by Pádraig Brady in
34945         <http://lists.gnu.org/r/coreutils/2013-12/msg00080.html>.
34946         * m4/gl-openssl.m4(gl_SET_CRYPTO_CHECK_DEFAULT): New macro.
34947         (gl_CRYPTO_CHECK): Use it.  Mention the default in --help output.
34949         md5, sha1, sha256, sha512: add 'auto', and a way to specify default
34950         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK):
34951         Add support for a new option, --with-openssl=auto, which causes
34952         the library to be used if available and silently ignored if not.
34953         Add support to allow configure.ac to specify its own
34954         default, by setting with_openssl_default before invoking gl_INIT.
34956 2013-12-05  Paul Eggert  <eggert@cs.ucla.edu>
34958         open-tests: port to glibc with _FORTIFY_SOURCE and -O1
34959         Problem reported by Daiki Ueno in:
34960         http://lists.gnu.org/r/bug-gnulib/2013-06/msg00052.html
34961         * tests/test-open.h (__always_inline):
34962         New macro, if not already defined.
34963         (test_open): Use it.
34965 2013-12-04  Eric Blake  <eblake@redhat.com>
34967         include_next: minimize code duplication
34968         * modules/include_next (Depends-on): Add absolute-header.
34969         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Reuse
34970         gl_ABSOLUTE_HEADER_ONE instead of open-coding it.
34972 2013-12-04  Pádraig Brady  <P@draigBrady.com>
34974         getcwd: fix compile error in configure check
34975         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Include errno.h
34977 2013-12-04  Pádraig Brady  <P@draigBrady.com>
34979         regex: suppress core dumps from detection code
34980         * m4/regex.m4 (gl_REGEX): Catch the SIGABRT and convert to SIGTERM
34981         to suppress core dumps that may well occur on glibc systems.
34982         These core dumps might not be cleaned up automatically, or could
34983         trigger some system core dump handling logic.
34985 2013-12-03  Pádraig Brady  <P@draigBrady.com>
34987         md5, sha1, sha256, sha512: support mandating use of openssl
34988         * m4/gl-openssl.m4 (gl_crypto_check): Adjust the --with-openssl
34989         description, to list the now 3 separate options.  also don't
34990         mention the default=no, since this is implicit given the option
34991         is described as --with-openssl rather than --without-openssl.
34992         If projects change the default they're free to document that.
34993         with --with-openssl[=yes] we now error out when the specified
34994         hash algorithm is not available in libcrypto.
34996 2013-12-03  Ivailo  <xakepa10@gmail.com>
34998         test-xvasprintf: (trivial) fix to disable some -Wformat-security diags
34999         * tests/test-xvasprintf.c: Disable -Wformat-zero-length and
35000         -Wformat-nonliteral checks, as these edge cases are part of the test.
35002 2013-12-03  Eric Blake  <eblake@redhat.com>
35004         regex: avoid glibc deadlock during configure
35005         * m4/regex.m4 (gl_REGEX): Avoid recursive malloc deadlock when
35006         glibc bug 15078 in turn triggers bug 16159.
35007         Reported by Michal Privoznik.
35009 2013-12-02  Pádraig Brady  <P@draigBrady.com>
35011         md5, sha1, sha256, sha512: use openssl routines if available.
35012         --with-openssl the libcrypto md5, sha1, sha224, sha256, sha384, sha256
35013         routines will be used if available, requiring apps to link @LIB_CRYPTO@
35014         * lib/gl_openssl.h: Provide wrappers for specified openssl hash.
35015         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK): New function to lookup libcrypto
35016         in the standard system location.
35017         * m4/sha1.m4: Call gl_CRYPTO_CHECK() for SHA1.
35018         * m4/sha256.m4: Likewise with SHA256.
35019         * m4/sha512.m4: Likewise with SHA512.
35020         * m4/md5.m4: Likewise with MD5.
35021         * m4/gc.m4: Ensure @LIB_CRYPTO@ set for tests.
35022         * lib/sha1.h: Include wrappers if HAVE_OPENSSL_SHA1.
35023         * lib/sha256.h: Likewise with SHA256.
35024         * lib/sha512.h: Likewise with SHA512.
35025         * lib/md5.h: Likewise with MD5.
35026         * lib/sha1.c: Exlude functionality if HAVE_OPENSSL_SHA1.
35027         * lib/sha256.c: Likewise with SHA256.
35028         * lib/sha512.c: Likewise with SHA512.
35029         * lib/md5.c: Likewise with MD5.
35030         * modules/crypto/sha1 (Link:): Add the new optional lib.
35031         (Depends-on:): Add dependency on extern-inline.
35032         * modules/crypto/sha256: Likewise.
35033         * modules/crypto/sha512: Likewise.
35034         * modules/crypto/md5: Likewise.
35035         * modules/crypto/sha1-tests: Reference the lib here too.
35036         * modules/crypto/md5-tests: Likewise.
35037         * modules/crypto/gc-des-tests: Likewise.
35038         * modules/crypto/gc-hmac-md5-tests: Likewise.
35039         * modules/crypto/gc-hmac-sha1-tests: Likewise.
35040         * modules/crypto/gc-hmac-sha256-tests: Likewise.
35041         * modules/crypto/gc-hmac-sha512-tests: Likewise.
35042         * modules/crypto/gc-md5-tests: Likewise.
35043         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
35044         * modules/crypto/gc-sha1-tests: Likewise.
35045         * modules/crypto/gc-tests: Likewise.
35046         * modules/crypto/hmac-md5-tests: Likewise.
35047         * modules/crypto/hmac-sha1-tests: Likewise.
35048         * modules/crypto/hmac-sha256-tests: Likewise.
35049         * modules/crypto/hmac-sha512-tests: Likewise.
35051 2013-11-29  RV1971  <rv1971@web.de>
35053         base64: (trivial) fix compilation regression on some compilers
35054         * lib/base64.c: Don't return the void function,
35055         instead split to a separate return statement.
35057 2013-11-28  Paul Eggert  <eggert@cs.ucla.edu>
35059         ignore-value: revert previous code change
35060         * lib/ignore-value.h (ignore_value): Use __extension__ and
35061         __typeof__ only for GCC 3.4 and later.  Reported by Eric Blake in
35062         <http://lists.gnu.org/r/bug-gnulib/2013-11/msg00102.html>.
35063         Change the comment to try to explain this better.
35065 2013-11-27  Pádraig Brady  <P@draigBrady.com>
35067         selinux-h: improve stub types and add more stub functions
35069         * lib/se-selinux.in.h: Change security_context_t to a typedef
35070         rather than a define, as it's a pointer type and so is better
35071         as a typedef to avoid issues declaring multiple variables
35072         with the comma operator.  Also add stub for string_to_security_class().
35073         * lib/se-context.in.h: Add stub functions for
35074         context_{type,range,role,user}_get().
35076 2013-11-27  Paul Eggert  <eggert@cs.ucla.edu>
35078         ignore-value: prefer GCC version back through 2.0
35079         The code didn't match the comments, so I did a bit of software
35080         archaeology.  GCC 2.0 seems to support __extension__ and
35081         __typeof__, so fix both code and comments to use 2.0.
35082         * lib/ignore-value.h (ignore_value): Use __extension__ and
35083         __typeof__ for GCC 2.0 through 3.3, too.
35085 2013-11-25  Mats Erik Andersson  <gnu@gisladisker.se>
35087         pty: Activate the signature wrapper of forkpty.
35088         The intended preprocessor macro HAVE_FORKPTY is
35089         never defined, yet `lib/forkpty.c' depends on it.
35091         * m4/pty.m4 (gl_FUNC_FORKPTY): At completed analysis,
35092         apply AC_DEFINE_UNQUOTED to HAVE_FORKPTY with value
35093         $HAVE_FORKPTY for access to wrapper in `lib/forkpty.c'.
35095 2013-11-18  Jim Meyering  <meyering@fb.com>
35096         and Paul Eggert  <eggert@cs.ucla.edu>
35098         quotearg: don't attempt to store 1 << 31 into an "int"
35099         * lib/quotearg.c (quotearg_buffer_restyled): Building coreutils with
35100         gcc's new -fsanitize=undefined and running its tests triggered some
35101         new test failures due to undefined behavior, all with this diagnostic:
35102           lib/quotearg.c:629:62: runtime error: left shift of 1 by 31 places \
35103             cannot be represented in type int
35104         Rather than shifting "1" left to form a mask, shift the bits right and
35105         simply use "1" as the mask.
35107 2013-11-21  Paul Eggert  <eggert@cs.ucla.edu>
35109         error: depend on stdio
35110         Problem reported by Nikos Mavrogiannopoulos in
35111         <http://lists.gnu.org/r/bug-gnulib/2013-11/msg00084.html>
35112         * modules/error (Depends-on): Add stdio.
35114 2013-11-18  Ben Pfaff  <blp@cs.stanford.edu>
35116         * doc/relocatable-maint.texi (Supporting Relocation): Improve
35117         wording.
35118         Reported by Reuben Thomas <rrt@sc3d.org>.
35120 2013-11-13  Paul Eggert  <eggert@cs.ucla.edu>
35122         * lib/getgroups.c (posix_getgroups, getgroups) [__APPLE__]:
35123         New function and macro, to work around _DARWIN_C_SOURCE problem.
35124         Reported by Jack Howarth in <http://bugs.gnu.org/14463>.
35126 2013-11-11  Pádraig Brady  <P@draigBrady.com>
35128         base64: provide a fast path for encoding well sized buffers
35129         Avoid conditionals in the base64 encoding loop,
35130         which was seen to give 60% better throughput.
35131         * lib/base64.c (base64_encode_fast): A new function to be called
35132         when we don't want to NUL terminate, and we have enough space
35133         in the output to encode the given input.
35134         (base64_encode): Call the _fast() version when appropriate.
35135         Also remove a redundant mask with 0x3F on the first encoded byte.
35137 2013-11-08  Paul Eggert  <eggert@cs.ucla.edu>
35139         extern-inline: port better to OS X 10.9
35140         * m4/extern-inline.m4: Omit serial number; this file doesn't use them.
35141         (gl_EXTERN_INLINE): Do not suppress the use of extern inline on
35142         OS X 10.9, except for g++ where the bug is still present.
35143         See <http://trac.macports.org/ticket/41033>.
35145 2013-11-08  Eric Blake  <eblake@redhat.com>
35147         fpending: fix regression on DragonFly BSD
35148         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for declaration.
35149         * lib/fpending.h (__fpending): Don't declare twice.
35150         Reported by GW in
35151         <https://lists.gnu.org/r/bug-m4/2013-11/msg00000.html>
35153 2013-11-05  Jim Meyering  <meyering@fb.com>
35155         hash: relax license to LGPLv2+, for libguestfs
35156         * modules/hash (License): Change from GPL to LGPLv2+.
35158 2013-11-03  Paul Eggert  <eggert@cs.ucla.edu>
35160         intprops: port to Oracle Studio c99
35161         * lib/intprops.h (_GL_HAVE___TYPEOF__) [__SUNPRO_C && __STDC__]:
35162         Define to 0, to avoid diagnostics when Oracle Studio is pedantic.
35164 2013-10-31  Paul Eggert  <eggert@cs.ucla.edu>
35166         obstack: pacify HP C
35167         * lib/obstack.h (obstack_free) [!__GNUC__]: Rewrite to avoid
35168         warning "conversion from pointer to smaller integer" from HP
35169         C-ANSI-C - cc version B9007AA/B3910B A.06.26.  It's safe to assume
35170         C89 or later nowadays, so cast to void instead of int.  Privately
35171         reported by H.Merijn Brand.  Also, change header to match glibc's,
35172         to make checking against glibc easier.
35174 2013-10-29  Jim Meyering  <meyering@fb.com>
35176         maint.mk: prefer gpgv2 over gpgv
35177         * top/maint.mk (gpgv): Use gpgv2 if present, else gpgv.
35178         (gpg_key_ID): Use $(gpgv), rather than hard-coding "gpgv".
35179         Reported by Gary Vaughan.
35181 2013-10-30  Paul Eggert  <eggert@cs.ucla.edu>
35183         isnan: port to VAX
35184         Reported by John Klos for NetBSD-5/VAX in
35185         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00133.html>.
35186         * lib/isnan.c (IEEE_FLOATING_POINT): New macro, stolen from Emacs.
35187         (FUNC): Use it.
35189 2013-10-28  Jim Meyering  <meyering@fb.com>
35191         gnulib-tool: protect against CDPATH
35192         * gnulib-tool: Many "cd" built-in functions print a directory name
35193         to stdout when CDPATH is set, e.g.,
35194           $ bash -c 'CDPATH=/; cd tmp'
35195           /tmp
35196         Unset it, when possible.  Prompted by a comment from Bruce Korb.
35198         maint.mk: restore functionality removed by recent change...
35199         Sunday's change, v0.0-8062-g6b24f60, may have appeared correct from
35200         the context of a shallow-cloned gnulib repository: "git describe"
35201         would fail in such a directory.  However, that change made it so
35202         the reported gnulib revision no longer includes the version number
35203         or a commit count, even when run from a full clone.
35204         * top/maint.mk (gnulib-version): Use the full "git describe"
35205         output when possible, e.g., the form above, rather than the
35206         abbreviated, no-tag, no-commit-count string, and fall back to
35207         using a 10-byte hash, rather than the default minimal-length
35208         hash prefix, since while the minimal-length one may be fine today,
35209         it is likely not to be unique for very long.
35211 2013-10-26  Jim Meyering  <meyering@fb.com>
35213         maint.mk: fix "release" target to build _version
35214         This fixes a bug in README-release whereby following the outlined
35215         steps, one would publish a tarball whose programs would report
35216         --version output not consistent with the package version number.
35217         This bug caused grep-2.15 to produce a grep program whose
35218         --version option made it print 2.14.56-1e3d rather than 2.15.
35219         * top/maint.mk (release): Making this target build "_version"
35220         ensures that the new version number is reflected in configure.
35222 2013-10-21  Ben Pfaff  <blp@cs.stanford.edu>
35224         install-reloc: Support multi-binary installation.
35225         * build-aux/install-reloc: Support installing multiple programs in
35226         one invocation, as done by Automake starting with commit
35227         4295fe33eb23f (Multi-file install for PROGRAMS.).  From Bruno
35228         Haible <bruno@clisp.org>, archived at
35229         http://lists.debian.org/debian-bsd/2012/05/msg00032.html.
35230         Reported by Sylvain <beuc@gnu.org>.
35232 2013-10-21  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
35234         selinux-h: Really build without selinux when library is missing.
35235         * m4/selinux-selinux-h.m4: When the selinux library is missing, really
35236         continue without selinux, as already told in the warning message.
35238 2013-10-21  Jim Meyering  <meyering@fb.com>
35240         regex: also remove dependency on HAVE_WCSCOLL
35241         * lib/regex_internal.h: Remove final vestige of the wcscoll dependency.
35243 2013-10-21  Reuben Thomas  <rrt@sc3d.org>
35245         xfreopen: Fix typo. s/frepoen/freopen/
35246         * lib/xfreopen.c: Fix description.
35247         * modules/xfreopen: Likewise.
35249 2013-10-21  Jim Meyering  <meyering@fb.com>
35251         regex: don't depend on wcscoll
35252         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wcscoll.
35253         It is no longer used.
35255 2013-10-20  Jim Meyering  <meyering@fb.com>
35257         error: add the printf attribute to a static function
35258         * lib/error.c (error_tail): Add the printf attribute, to placate
35259         gcc's -Werror=suggest-attribute=format option.
35261 2013-09-30  Jim Meyering  <meyering@fb.com>
35263         fpending, obstack, strerror-override: use pure+const function attrs
35264         * lib/fpending.h (__fpending): Declare with the "pure" attribute.
35265         * lib/obstack.c (_obstack_allocated_p): Likewise.
35266         * lib/obstack.h (_obstack_memory_used): Likewise.
35267         (_obstack_memory_used): Likewise.
35268         * lib/strerror-override.h (strerror_override): Declare with
35269         the "const" attribute.
35271 2013-10-18  Eric Blake  <eblake@redhat.com>
35273         extern-inline: make safe for -Wundef usage
35274         Reported by Vladimir 'phcoder' Serbinenko in
35275         https://lists.gnu.org/r/bug-gnulib/2013-10/msg00078.html
35276         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Port to older gcc.
35278 2013-10-16  Paul Eggert  <eggert@cs.ucla.edu>
35280         mkfifo-tests, etc.: allow HP-UX 11.11 bug
35281         Problem reported by Daniel Richard G. in
35282         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00068.html>.
35283         * doc/posix-functions/mkfifo.texi (mkfifo):
35284         * doc/posix-functions/mkfifoat.texi (mkfifoat):
35285         * doc/posix-functions/mknod.texi (mknod):
35286         * doc/posix-functions/mknodat.texi (mknodat):
35287         Document the HP-UX 11.11 bug.
35288         * tests/test-mkfifo.h (test_mkfifo):
35289         Allow the HP-UX 11.11 bug.
35291 2013-10-14  Paul Eggert  <eggert@cs.ucla.edu>
35293         acl: allow cross-compilation to Gentoo
35294         Problem reported by Gabriel Marcano in
35295         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00058.html>.
35296         * m4/acl.m4 (gl_ACL_GET_FILE): When cross-compiling,
35297         test only whether it links.
35299 2013-10-13  Paul Eggert  <eggert@cs.ucla.edu>
35301         mgetgroups: remove dependency on realloc-gnu
35302         The dependency violates the comment in realloc-gnu, which
35303         says that tests can't depend on realloc-gnu; some tests depend
35304         on mgetgroups, so mgetgroups can't depend on realloc-gnu.
35305         Problem reported by Daniel Richard G. in
35306         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00056.html>.
35307         * lib/mgetgroups.c (mgetgroups): Don't call realloc (NULL, 0).
35308         * modules/mgetgroups (Depends-on): Depend on realloc-posix,
35309         not realloc-gnu.
35311 2013-10-12  Paul Eggert  <eggert@cs.ucla.edu>
35313         regex-tests: port to HP-UX 11.11
35314         Problem reported by Daniel Richard G. in
35315         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00052.html>.
35316         * modules/regex-tests (test_regex_LDADD): Add LIBTHREAD, LIB_PTHREAD.
35318 2013-10-10  Paul Eggert  <eggert@cs.ucla.edu>
35320         verify: document some 'assume' pitfalls
35321         * doc/verify.texi (Compile-time Assertions):
35322         Mention that 'assume (E)' can sometimes slow things down.
35323         Use CHAR_MAX + 1, not UCHAR_MAX + 1.
35325 2013-10-10  Eric Blake  <eblake@redhat.com>
35327         strtoumax: fix typo in previous commit.
35328         * modules/strtoumax (Depends-on): Fix typo.
35329         * modules/strtoimax (Depends-on): Likewise.
35331 2013-10-10  Paul Eggert  <eggert@cs.ucla.edu>
35333         strtoumax: port to Solaris 8
35334         This problem was introduced in the recent HP-UX patch.
35335         Reported by Tom G. Christensen in
35336         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00037.html>.
35337         * modules/strtoumax (Depends-on): Test HAVE_STRTOUMAX
35338         and REPLACE_STRTOUMAX rather than ac_cv_func_strtoumax.
35340 2013-10-09  Paul Eggert  <eggert@cs.ucla.edu>
35342         strtoimax, strtoumax: port to HP-UX 11.11
35343         Problem reported by Daniel Richard G. in
35344         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00023.html>.
35345         * lib/inttypes.in.h (strtoumax): Replace strtoumax if
35346         REPLACE_STRTOUMAX, thus treating it consistently with strtoimax.
35347         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Add default for
35348         REPLACE_STRTOUMAX.
35349         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX):
35350         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX):
35351         Replace the function if defined as a macro but not as a function.
35352         * modules/inttypes-incomplete (inttypes.h): Substitute
35353         REPLACE_STRTOUMAX.
35354         * modules/strtoumax (configure.ac): Replace strtoumax if
35355         REPLACE_STRTOUMAX.
35357 2013-10-08  Paul Eggert  <eggert@cs.ucla.edu>
35359         strtoimax: port to HP-UX 11.11
35360         Problem reported by Daniel Richard G.
35361         * lib/strtoimax.c (Strtoimax, Strtol, Strtoll): New macros.
35362         (strtoimax, strtol, strtoll) [UNSIGNED]: Remove, since
35363         they might clash with inttypes.h.
35365 2013-10-06  Paul Eggert  <eggert@cs.ucla.edu>
35367         New module 'count-trailing-zeros'.
35368         * MODULES.html.sh: Mention it.
35369         * lib/count-trailing-zeros.c, lib/count-trailing-zeros.h:
35370         * m4/count-trailing-zeros.m4, modules/count-trailing-zeros:
35371         * modules/count-trailing-zeros-tests:
35372         * tests/test-count-trailing-zeros.c:
35373         New files.
35375         count-leading-zeros: port to MSC; support types wider than 64 bits
35376         The ideas behind the MSC port are stolen from Emacs.
35377         * lib/count-leading-zeros.h:
35378         Don't include verify.h: it's no longer needed, as types wider than
35379         64 bits are now supported.
35380         (COUNT_LEADING_ZEROS): New arg MSC_BUILTIN, for better
35381         performance with MSC.  All uses changed.  Do not assume that TYPE
35382         has at most 64 bits.
35383         (count_leading_zeros_32): Assume 0 < X < 2**32, for speed.
35384         All uses changed.  Fold the subtraction from 31 into the table.
35386         count-one-bits: port to MSC; support types wider than 64 bits
35387         The ideas behind the MSC port are stolen from Emacs.
35388         * lib/count-one-bits.c (popcount_support) [_MSC_VER]: New variable.
35389         * lib/count-one-bits.h: Include limits.h, for CHAR_BIT.
35390         Don't include verify.h: it's no longer needed, as types wider than
35391         64 bits are now supported.
35392         (COUNT_ONE_BITS_GENERIC): New macro.
35393         (popcount_supported) [_MSC_VER]: New inline function.
35394         (COUNT_ONE_BITS): Use it.  New arg MSC_BUILTIN, for better
35395         performance with MSC.  All uses changed.  Do not assume that TYPE
35396         has at most 64 bits.
35397         * modules/count-one-bits (Depends-on): Do not depend on 'verify'.
35399 2013-10-06  Andrew Borodin  <aborodin@vmail.ru>
35401         mountlist: fix resource leak with MOUNTED_INTERIX_STATVFS
35402         * lib/mountlist.c (read_file_system_list): fix leak of directory
35403         streams in case of #ifdef MOUNTED_INTERIX_STATVFS.
35405 2013-10-06  Paul Eggert  <eggert@cs.ucla.edu>
35407         tests: improve diagnostic when an assertion fails
35408         * tests/macros.h (ASSERT): Report the assertion that failed.
35410 2013-10-02  Paul Eggert  <eggert@cs.ucla.edu>
35412         verify: new macro 'assume'
35413         This is taken from Emacs, and should be generally useful.
35414         * doc/verify.texi (assume): Document it.
35415         * lib/verify.h (assume): New macro.
35416         (__has_builtin): Expand to 0 if not defined.
35418 2013-09-26  Eric Blake  <eblake@redhat.com>
35420         dup2, dup3: work around another cygwin crasher
35421         * m4/dup2.m4 (gl_FUNC_DUP2): Expose the bug.
35422         * m4/dup3.m4 (gl_FUNC_DUP3): Likewise.
35423         * tests/test-dup2.c (main): Likewise.
35424         * lib/dup2.c (rpl_dup2): Use setdtablesize to avoid it.
35425         * lib/dup3.c (dup3): Likewise.
35426         * doc/posix-functions/dup2.texi (dup2): Document it.
35427         * doc/glibc-functions/dup3.texi (dup3): Likewise.
35429         getdtablesize: work around cygwin issue
35430         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Detect problem.
35431         * modules/getdtablesize (configure.ac): Build replacement.
35432         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set up a witness.
35433         * modules/unistd (Makefile.am): Expose the witness.
35434         * lib/unistd.in.h (getdtablesize): Declare replacement.
35435         * lib/getdtablesize.c (rpl_getdtablesize): Work around it.
35436         * tests/test-getdtablesize.c (main): Test it.
35437         * doc/glibc-functions/getdtablesize.texi (getdtablesize): Document it.
35439 2013-09-25  Mats Erik Andersson  <gnu@gisladisker.se>
35441         pmccabe2html: escaping of special characters
35442         Escape all '<', '>', and '&' in HTML output.
35443         * build-aux/pmccabe2html (html_fnc): Call gsub()
35444         instead of sub() to capture all '<', '>', and '&'.
35445         Neither of '<' and '>' is special in a regexp,
35446         so first arguments to gsub() are corrected. Also,
35447         in replacement strings, ampersand must be escaped.
35448         Finally, '&' must be handled first, then '<' and '>'.
35450 2013-09-24  Eric Blake  <eblake@redhat.com>
35452         manywarnings: enable nicer gcc warning messages
35453         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Older gcc requires
35454         some -f options for optimal warnings.
35456 2013-09-21  Jim Meyering  <meyering@fb.com>
35458         timespec: use the new TIMESPEC_RESOLUTION in a few more places
35459         * lib/timespec-add.c (timespec_add): Also replace 999999999
35460         with TIMESPEC_RESOLUTION - 1.
35461         * lib/timespec-sub.c (timespec_sub): Likewise.
35463 2013-09-23  Paul Eggert  <eggert@cs.ucla.edu>
35465         warnings: port --enable-gcc-warnings to Solaris Studio 12.3
35466         Problem reported by Dagobert Michelsen via Eric Blake in
35467         <http://lists.gnu.org/r/bug-gnulib/2013-09/msg00052.html>.
35468         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): Use AC_LINK_IFELSE,
35469         not AC_COMPILE_IFELSE.
35471 2013-09-23  Eric Blake  <eblake@redhat.com>
35473         configmake: support new --runstatedir option
35474         * m4/configmake.m4 (gl_CONFIGMAKE_PREP): Substitute runstatedir
35475         even if autoconf was too old to provide the command line option.
35476         * modules/configmake (Makefile.am): Propagate it to .h file.
35478 2013-09-22  Paul Eggert  <eggert@cs.ucla.edu>
35480         ctype, string: depend on extern-inline
35481         This is needed to complete the recent OS X fixes.
35482         Also, fix related documentation as suggested by Eric Blake.
35483         * doc/posix-functions/isalnum.texi, doc/posix-functions/isalpha.texi:
35484         * doc/posix-functions/isascii.texi, doc/posix-functions/iscntrl.texi:
35485         * doc/posix-functions/isdigit.texi, doc/posix-functions/isgraph.texi:
35486         * doc/posix-functions/islower.texi, doc/posix-functions/isprint.texi:
35487         * doc/posix-functions/ispunct.texi, doc/posix-functions/isspace.texi:
35488         * doc/posix-functions/isupper.texi, doc/posix-functions/isxdigit.texi:
35489         * doc/posix-functions/toascii.texi, doc/posix-functions/tolower.texi:
35490         * doc/posix-functions/toupper.texi:
35491         List the 'ctype' gnulib module.
35492         * doc/posix-functions/strcat.texi, doc/posix-functions/strcpy.texi:
35493         * doc/posix-functions/strncpy.texi:
35494         List the 'string' gnulib module.
35495         * modules/memcpy, modules/memmove, modules/memset (Depends-on):
35496         Add string.
35497         * modules/ctype, modules/string (Depends-on): Add extern-inline.
35499 2013-09-19  Pádraig Brady  <P@draigBrady.com>
35501         userspec: support optional parameters to parse_user_spec()
35502         * lib/userspec.c (parse_user_spec): If the GID param is NULL,
35503         then avoid group processing and treat the full spec as a user.
35504         (parse_with_separator): Allow the USERNAME and GROUPNAME to
35505         be optional params (NULL), in which case they're ignored.
35507 2013-09-19  Paul Eggert  <eggert@cs.ucla.edu>
35509         timespec: new function make_timespec, and new constants
35510         * lib/timespec.h: Incorporate recent changes on the Emacs trunk.
35511         (TIMESPEC_RESOLUTION, LOG10_TIMESPEC_RESOLUTION): New constants.
35512         (make_timespec): New function.
35513         * lib/dtotimespec.c (dtotimespec):
35514         * lib/timespec-add.c (timespec_add):
35515         * lib/timespec-sub.c (timespec_sub):
35516         * lib/utimens.c (validate_timespec):
35517         * lib/utimensat.c (rpl_utimensat):
35518         Use these new constants and functions.
35520         stdio: OS X port of putc_unlocked + extern inline
35521         * lib/stdio.in.h (putc_unlocked): #undef on problematic Apple platforms.
35522         * doc/posix-functions/putc_unlocked.texi:
35523         * doc/posix-functions/putchar_unlocked.texi:
35524         Document this portability problem.
35526         signal: OS X port of sigaddset etc. + extern inline
35527         * lib/signal.in.h (sigaddset, sigdelset, sigemptyset, sigfillset)
35528         (sigismember): #undef on problematic Apple platforms.
35529         * doc/posix-functions/sigaddset.texi:
35530         * doc/posix-functions/sigdelset.texi:
35531         * doc/posix-functions/sigemptyset.texi:
35532         * doc/posix-functions/sigfillset.texi:
35533         * doc/posix-functions/sigismember.texi:
35534         Document this portability problem.
35536         extern-inline: do not always suppress extern inline on OS X
35537         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Suppress the use of
35538         extern inline on Apple only if the particular compile-time
35539         configuration is known to have the problem.
35540         (_GL_EXTERN_INLINE_APPLE_BUG): New private macro, to implement this.
35541         (_GL_EXTERN_INLINE_IN_USE): New macro, intended for use by
35542         other Gnulib modules.
35544         extern-inline: document fixes for ctype and wctype macros
35545         * doc/posix-functions/isalnum.texi, doc/posix-functions/isalpha.texi:
35546         * doc/posix-functions/isascii.texi, doc/posix-functions/isblank.texi:
35547         * doc/posix-functions/iscntrl.texi, doc/posix-functions/isdigit.texi:
35548         * doc/posix-functions/isgraph.texi, doc/posix-functions/islower.texi:
35549         * doc/posix-functions/isprint.texi, doc/posix-functions/ispunct.texi:
35550         * doc/posix-functions/isspace.texi, doc/posix-functions/isupper.texi:
35551         * doc/posix-functions/iswalnum.texi, doc/posix-functions/iswalpha.texi:
35552         * doc/posix-functions/iswcntrl.texi, doc/posix-functions/iswctype.texi:
35553         * doc/posix-functions/iswdigit.texi, doc/posix-functions/iswgraph.texi:
35554         * doc/posix-functions/iswlower.texi, doc/posix-functions/iswprint.texi:
35555         * doc/posix-functions/iswpunct.texi, doc/posix-functions/iswspace.texi:
35556         * doc/posix-functions/iswupper.texi, doc/posix-functions/iswxdigit.texi:
35557         * doc/posix-functions/isxdigit.texi, doc/posix-functions/toascii.texi:
35558         * doc/posix-functions/memcpy.texi, doc/posix-functions/memmove.texi:
35559         * doc/posix-functions/memset.texi, doc/posix-functions/stpcpy.texi:
35560         * doc/posix-functions/stpncpy.texi, doc/posix-functions/strcat.texi:
35561         * doc/posix-functions/strcpy.texi, doc/posix-functions/strncat.texi:
35562         * doc/posix-functions/strncpy.texi:
35563         * doc/posix-functions/tolower.texi, doc/posix-functions/toupper.texi:
35564         * doc/posix-functions/towlower.texi, doc/posix-functions/towupper.texi:
35565         Document that Gnulib fixes portability problems with these
35566         functions on OS X 10.8 and earlier when called from plain inline
35567         or extern inline functions.
35569 2013-09-17  Kevin Cernekee  <cernekee@gmail.com>
35571         fflush, freadahead, fseeko: Fix for Android
35572         Suggested by Bruno Haible in:
35573         <http://lists.gnu.org/r/bug-gnulib/2012-01/msg00306.html>
35574         * lib/stdio-impl.h: Use local __sfileext definition.
35576 2013-09-17  Mats Erik Andersson  <gnu@gisladisker.se>
35578         pmccabe2html: Portability to other awk versions.
35579         The functions systime() and strftime() are available
35580         in Gawk only.  Properly close two HTML-tags 'style'
35581         and 'span'.
35582         * build-aux/pmccabe2html (BEGIN): Store timing
35583         strings in EPOCH_TIME and CHRONOS_TIME.  Replace
35584         systime() in HTML_COMMENT.
35585         (html_header): Correctly close tag 'style'.
35586         (END): Replace strftime() by CHRONOS_TIME.  Close
35587         tag 'span' correctly, not as 'div'.
35589 2013-09-17  Mats Erik Andersson  <gnu@gisladisker.se>  (tiny change)
35591         getgroups: statement without effect
35592         * lib/getgroups.c (rpl_getgroups) [HAVE_GETGROUPS]:
35593         Change equality conditional to expected assignment.
35595 2013-09-09  Eric Blake  <eblake@redhat.com>
35597         glob: fix compilation
35598         * lib/glob.in.h (__THROW): Fix missing line in previous commit.
35600 2013-09-07  Eric Blake  <eblake@redhat.com>
35602         glob: fix build for platforms without __THROW
35603         * lib/glob.in.h (__THROW): Add definition again.
35605 2013-09-04  Anton Ovchinnikov  <revolver112@gmail.com>  (tiny change)
35607         regex-quote: fix buffer access out of bounds
35608         http://lists.gnu.org/r/bug-gnulib/2013-09/msg00001.html
35609         * lib/regex-quote.c (regex_quote_spec_pcre):
35610         Fix typo that resulted in an out-of-bounds read.
35612 2013-09-04  Eric Blake  <eblake@redhat.com>
35614         glob: avoid -Wattribute warnings on glibc
35615         * lib/glob.c (next_brace_sub, prefix_array, collated_compare): Use
35616         __THROWNL, not __THROW, on static functions.
35617         * lib/glob.in.h (__THROW): Adjust...
35618         (__THROWNL): ...accordingly.
35620 2013-08-28  Paul Eggert  <eggert@cs.ucla.edu>
35622         headers: check that _GL_INLINE_HEADER_BEGIN is defined
35623         Suggested by Bruce Korb in:
35624         http://lists.gnu.org/r/bug-gnulib/2013-08/msg00070.html
35625         * doc/extern-inline.texi (extern inline):
35626         Suggest checking that _GL_INLINE_HEADER_BEGIN is defined.
35627         * lib/acl-internal.h, lib/argp-fmtstream.h, lib/argp.h:
35628         * lib/binary-io.h, lib/bitrotate.h, lib/count-leading-zeros.h:
35629         * lib/count-one-bits.h, lib/eealloc.h, lib/execinfo.in.h:
35630         * lib/gethrxtime.h, lib/gl_list.h, lib/gl_oset.h, lib/gl_xlist.h:
35631         * lib/gl_xoset.h, lib/gl_xsublist.h, lib/glthread/cond.h:
35632         * lib/glthread/thread.h, lib/math.in.h, lib/mbchar.h, lib/mbfile.h:
35633         * lib/mbiter.h, lib/mbuiter.h, lib/openat.h, lib/pipe-filter-aux.h:
35634         * lib/priv-set.h, lib/pthread.in.h, lib/savewd.h, lib/se-context.in.h:
35635         * lib/se-selinux.in.h, lib/sig-handler.h, lib/stat-time.h:
35636         * lib/sys_socket.in.h, lib/timespec.h, lib/u64.h, lib/unistd.in.h:
35637         * lib/utimens.h, lib/wctype.in.h, lib/xalloc.h, lib/xsize.h:
35638         * lib/xtime.h:
35639         Check that _GL_INLINE_HEADER_BEGIN is defined.
35641 2013-08-29  Pádraig Brady  <P@draigBrady.com>
35643         bootstrap: remove the --version requirement from ancillary tools
35644         * build-aux/bootstrap (check_exists): A new refactored function to
35645         determine if a command exists.
35646         (find_tool): Use the new function which does not require the
35647         --version option to be supported.
35648         (check_versions): Use the new function.
35650 2013-08-26  Simon Josefsson  <simon@josefsson.org>
35652         gc: support HMAC-SHA256 and HMAC-SHA512.
35653         * lib/gc.h: Add gc_hmac_sha256 and gc_hmac_sha512.
35654         * lib/gc-libgcrypt.c (gc_hmac_sha256, gc_hmac_sha512): New
35655         functions.
35656         (gc_hmac_md5): Use symbolic constant.
35657         * lib/gc-gnulib.c: Include hmac.h for HMAC-SHA256/512 too.
35658         (gc_hmac_sha256, gc_hmac_sha512): New functions.
35659         * lib/hmac.h: Add hmac_sha256 and hmac_sha512 prototypes.
35660         * m4/sha256.m4: Protect against empty expansion.
35661         * m4/sha512.m4: Likewise.
35662         * lib/hmac-sha256.c: New file.
35663         * lib/hmac-sha512.c: Likewise.
35664         * m4/gc-hmac-sha256.m4: Likewise.
35665         * m4/gc-hmac-sha512.m4: Likewise.
35666         * m4/gc-sha256.m4: Likewise.
35667         * m4/gc-sha512.m4: Likewise.
35668         * modules/crypto/gc-hmac-sha256: Likewise.
35669         * modules/crypto/gc-hmac-sha256-tests: Likewise.
35670         * modules/crypto/gc-hmac-sha512: Likewise.
35671         * modules/crypto/gc-hmac-sha512-tests: Likewise.
35672         * modules/crypto/hmac-sha256: Likewise.
35673         * modules/crypto/hmac-sha256-tests: Likewise.
35674         * modules/crypto/hmac-sha512: Likewise.
35675         * modules/crypto/hmac-sha512-tests: Likewise.
35676         * tests/test-gc-hmac-sha256.c: Likewise.
35677         * tests/test-gc-hmac-sha512.c: Likewise
35678         * tests/test-hmac-sha256.c: Likewise.
35679         * tests/test-hmac-sha512.c: Likewise
35681 2013-08-24  Daiki Ueno  <ueno@gnu.org>
35683         * m4/intl.m4: Update from gettext-0.18.3.1, which fixes a misuse
35684         of AC_CHECK_DECLS.
35686 2013-08-23  Paul Eggert  <eggert@cs.ucla.edu>
35688         selinux-at: omit unnecessary include
35689         * lib/selinux-at.c: Don't include dosname.h; not needed, since
35690         this source file doesn't use its macros, and subsidiary files that
35691         use the macros already include it.
35693 2013-08-21  Eric Blake  <eblake@redhat.com>
35695         d-ino: avoid false negative on symlink
35696         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use lstat.
35697         Reported by Stephane Chazelas.
35699 2013-08-12  Mike Miller  <mtmiller@ieee.org>  (tiny change)
35701         bootstrap: port to OpenBSD sed
35702         * build-aux/bootstrap (insert_if_absent): Port to OpenBSD sed which
35703         does not interpret `-' as a file argument to mean stdin.
35705 2013-08-15  Eric Blake  <eblake@redhat.com>
35707         warnings: minor optimization
35708         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): Use fewer processes.
35710         warnings: check -Wfoo rather than -Wno-foo
35711         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): If name begins with
35712         -Wno-, test if the compiler recognizes the positive form instead.
35714 2013-08-15  Karl Berry  <karl@gnu.org>
35716         * config/srclist-update: add option "doclicense" to placate
35717         pulling *.texi files from Emacs.  Write terse usage
35718         documentation at the top.
35720 2013-08-13  Paul Eggert  <eggert@cs.ucla.edu>
35722         xvasprintf-tests: port to GCC with hardening flags
35723         * tests/test-xvasprintf.c (test_xasprintf): Pass another arg to
35724         xasprintf, to pacify GCC.  Reported by Santiago Vila in:
35725         http://lists.gnu.org/r/bug-diffutils/2013-08/msg00002.html
35727 2013-08-11  Paul Eggert  <eggert@cs.ucla.edu>
35729         fpending: port to recent Cygwin change to stdio_ext.h
35730         Reported by LRN in
35731         <http://lists.gnu.org/r/bug-gnulib/2013-08/msg00028.html>.
35732         * lib/fpending.h: Don't worry about HAVE_DECL___FPENDING;
35733         just declare __fpending unless it's a macro.
35734         A duplicate decl shouldn't hurt.
35735         * m4/fpending.m4 (gl_FUNC_FPENDING): Check that an __fpending
35736         call compiles and links, instead of separately checking for
35737         decl and lib function.
35738         * modules/fpending (configure-ac):
35739         Adjust to fpending.m4's renaming of shell variable.
35741 2013-08-10  Paul Eggert  <eggert@cs.ucla.edu>
35743         sys_time: port to OpenBSD
35744         * lib/sys_time.in.h: Simply delegate to the system's header
35745         in the BSDish cases as well.  Problem reported by Mike Miller in
35746         <http://lists.gnu.org/r/bug-gnulib/2013-08/msg00016.html>.
35747         * tests/test-sys_select.c, tests/test-sys_time.c (verify_tv_sec_type):
35748         Allow platforms like 64-bit OpenBSD where timeval's tv_sec is
35749         wider than time_t.
35751 2013-08-09  Pádraig Brady  <P@draigBrady.com>
35753         bootstrap: support checksum utils having -c but not --status
35754         * build-aux/bootstrap: Only look for sha1sum if updating po files.
35755         Add sha1 to the list of supported checksum utils since it's now
35756         supported through adjustments below.
35757         (update_po_files): Remove the use of --status
35758         in a way that will suppress all error messages, but since this is
35759         only used to minimize updates, it shouldn't cause an issue.
35760         Exit early if there is a problem updating the po file checksums.
35761         (find_tool): Remove the check for --version support as this
35762         is optional as per commit 86186b17.  Don't even check for the
35763         presence of the command as if that is needed, it's supported
35764         through configuring prerequisites in bootstrap.conf.
35765         Prompt that when a tool isn't found, one can define an environment
35766         variable to add to the hardcoded search list.
35768 2013-08-05  Jim Meyering  <meyering@fb.com>
35770         regex: port to non-glibc/lock-using systems
35771         Since 29-05-2013 commit, 55ba71f4, compilation on a non-glibc
35772         system with GNULIB_LOCK would fail due to absence of the
35773         included "glthread/lock.h".  This would affect any package
35774         for which the "lock" module is used only by the regex module,
35775         and not explicitly used.
35776         * m4/regex.m4 (gl_PREREQ_REGEX): Require gl_GLIBC21.
35777         * modules/regex (Depends-on) [!GLIBC && $ac_use_included_regex]:
35778         Add a dependency on the "lock" module.
35780 2013-07-20  Daiki Ueno  <ueno@gnu.org>
35782         localecharset: make locale_charset thread-safe on Mac OS X
35783         * lib/localcharset.c (locale_charset) [DARWIN7]: Use MB_CUR_MAX_L
35784         instead of MB_CUR_MAX.
35786 2013-07-20  Daiki Ueno  <ueno@gnu.org>
35788         gettext: update to version 0.18.3
35789         * m4/intl.m4, m4/po.m4: Update from gettext-0.18.3.  In particular,
35790         require AC_PROG_SED to allow user to specify custom sed command when
35791         generating en@quot PO file.
35793 2013-07-18  Werner Lemberg  <wl@gnu.org>  (tiny change)
35795         bootstrap: use correct source when copying build-aux files
35796         * build-aux/bootstrap (gnulib_extra_files): This variable is
35797         relative to upstream gnulib layout, not downstream.
35799 2013-07-17  Paul Eggert  <eggert@cs.ucla.edu>
35801         tmpdir: fix bug in VMS port
35802         * lib/tmpdir.c (path_search) [__VMS]: Never add slash.
35803         See Steven M. Schweda in
35804         <http://lists.gnu.org/r/bug-gnulib/2013-07/msg00026.html>.
35806 2013-07-15  Paul Eggert  <eggert@cs.ucla.edu>
35808         tmpdir: port to VMS, to // != /, and to long dirs
35809         * lib/tmpdir.c (__libc_secure_getenv) [!_LIBC]: Rename from
35810         __secure_getenv, so that we're more like the glibc version.
35811         All uses changed.
35812         (path_search): Don't put slash after directory if __VMS.
35813         Problem reported by Steven M. Schweda in
35814         <http://lists.gnu.org/r/bug-gnulib/2013-07/msg00019.html>.
35815         Simplify code to add slash; no need for a loop.
35816         Do not remove trailing slash from "//".
35817         Do not assume dlen <= INT_MAX.
35819 2013-07-09  Paul Eggert  <eggert@cs.ucla.edu>
35821         regex: port to --with-included-regex --enable-gcc-warnings non-threaded
35822         * lib/regex_internal.h (lock_fini, lock_lock): Rework to avoid
35823         gcc warnings in the non-threaded case.  Reported by Charlie Brown in
35824         <http://lists.gnu.org/r/bug-gnulib/2013-07/msg00015.html>.
35826         accept4, dup3, pipe2: port to Cygwin
35827         Problem reported for Emacs by Ken Brown in <http://bugs.gnu.org/14821>.
35828         * lib/accept4.c (accept4) [O_BINARY]:
35829         * lib/dup3.c (dup3) [O_BINARY]:
35830         * lib/pipe2.c (pipe2) [O_BINARY]:
35831         Use set_binary_mode, not setmode.
35832         * lib/pipe2.c [!GNULIB_BINARY_IO]: Include binary-io.h.
35833         * modules/binary-io (Depends-on): Remove module indicator.
35834         These last two bits undo the previous change to pipe2 and binary-io.
35836 2013-07-09  Pádraig Brady  <P@draigBrady.com>
35838         mountlist: add support for deallocating returned list entries
35839         * lib/mountlist.c (free_mount_entry): A new exported function
35840         to deallocate a mount list entry.
35841         (read_file_system_list): Refactor to use the new deallocation function.
35842         Suggested by Anton Ovchinnikov.
35844 2013-07-07  Paul Eggert  <eggert@cs.ucla.edu>
35846         stdalign, verify: port to FreeBSD 9.1, to C11, and to C++11
35847         Problem reported by Ulrich Mueller in <http://bugs.gnu.org/14812>.
35848         * lib/stdalign.in.h (_Alignas, _Alignof):
35849         Port to FreeBSD 9.1, and to C11 and C++11.
35850         (_Alignas): Also support ICC.
35851         * lib/verify.h (_Static_assert): Undef if <stddef.h> defines it.
35852         * m4/stdalign.m4 (gl_STDALIGN_H): Port to ICC and to C++11.
35854 2013-07-06  Paul Eggert  <eggert@cs.ucla.edu>
35856         fnmatch: don't goto over declaration
35857         * lib/fnmatch_loop.c (FCT): Hoist local up one level, to avoid
35858         undefined behavior for goto over a declaration.
35859         Problem reported by Charlie Brown in
35860         <http://lists.gnu.org/r/bug-gnulib/2013-07/msg00009.html>.
35862         pipe2: decouple from binary-io a bit
35863         This is for Emacs, which needs pipe2 but not binary-io.
35864         * lib/pipe2.c [!GNULIB_BINARY_IO]: Don't include binary-io.h.
35865         * modules/binary-io (Depends-on): Add module indicator.
35867 2013-07-03  Eric Blake  <eblake@redhat.com>
35869         mgetgroups: relax license to LGPLv2+
35870         * modules/getugroups (License): Change from GPLv3+.
35871         * modules/mgetgroups (License): Likewise.
35872         * modules/getgroups (License): Change from LGPLv3+.
35874         xalloc-oversized: relax license to LGPLv2+
35875         * modules/xalloc-oversized (License): Change from GPLv3+.
35877         nproc: relax license to LGPLv2+
35878         * modules/nproc (License): Change from LGPLv3+.
35880         bootstrap: honor --no-git
35881         * build-aux/bootstrap: Don't even try to use git when user is
35882         pointing to a static checkout.
35884 2013-06-23  Paul Eggert  <eggert@cs.ucla.edu>
35886         ignore-value: port to gcc -pedantic
35887         * lib/ignore-value.h (ignore_value):
35888         Port to gcc -pedantic, by using __extension__.
35889         Reindent as per usual gnulib style nowadays.
35890         Simplify GCC version check.
35892 2013-06-21  Paul Eggert  <eggert@cs.ucla.edu>
35894         extern-inline: port to gcc -std=c89
35895         * m4/extern-inline.m4 (gl_EXTERN_INLINE):
35896         Do not use __gnu_inline__ if pedantic and pre-C99.
35898 2013-06-18  Paul Eggert  <eggert@cs.ucla.edu>
35900         doc: document extern-inline
35901         * doc/extern-inline.texi: New file.
35902         * doc/gnulib.texi (alloca-opt): Include it.
35903         * m4/extern-inline.m4: Move some comments to documentation,
35904         and others closer to what they describe.
35906         doc: chatter less
35907         * doc/Makefile (NEWEST_GNULIB_TEXI_FILE): New macro.
35908         (updated-stamp): Use it.  This causes 'make' to output just
35909         one file name rather than zillions.
35911         fflush, fseeko: port to musl cross-compiles
35912         * lib/fseeko.c (fseeko): Assume that fflushing stdin works if
35913         on some implementation that (1) is not known to be buggy,
35914         (2) claims conformance to POSIX.1-2008 or later, and (3) is being
35915         cross-compiled to so we can't easily check for lack of
35916         conformance.  This is for cross-compiling to musl.
35917         Reported by Rich Felker in
35918         <http://lists.gnu.org/r/bug-gnulib/2013-06/msg00043.html>.
35919         * m4/fclose.m4 (gl_FUNC_FCLOSE):
35920         * m4/fflush.m4 (gl_FUNC_FFLUSH):
35921         * m4/fseeko.m4 (gl_FUNC_FSEEKO):
35922         Adjust to above change.
35923         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): Set gl_cv_func_fflush_stdin
35924         to 'cross', not to 'no', when cross-compiling.  AC_DEFINE
35925         FUNC_FFLUSH_STDIN to 1, 0, -1 if fflushing stdin is known to work,
35926         known not to work, or unknown.
35928 2013-06-15  Paul Eggert  <eggert@cs.ucla.edu>
35930         msvc-inval: port to mingw-w64
35931         * lib/msvc-inval.c (gl_msvc_invalid_parameter_handler):
35932         Use __cdecl, not cdecl, for mingw-w64.  Reported by LRN in
35933         <http://lists.gnu.org/r/bug-gnulib/2013-06/msg00039.html>.
35935 2013-06-11  Paul Eggert  <eggert@cs.ucla.edu>
35937         getcwd-lgpl: port to Tru64
35938         * lib/getcwd-lgpl.c: Include <stdlib.h>, for malloc etc.
35939         Problem reported by Steven M. Schweda in
35940         <http://lists.gnu.org/r/bug-gzip/2013-06/msg00010.html>.
35942         tests: port large-fd POSIX spawn tests to OS X
35943         Problem reported by Daiki Ueno in
35944         <http://lists.gnu.org/r/bug-gnulib/2013-06/msg00031.html>.
35945         * tests/test-posix_spawn_file_actions_addclose.c:
35946         * tests/test-posix_spawn_file_actions_adddup2.c:
35947         * tests/test-posix_spawn_file_actions_addopen.c:
35948         Include <limits.h>, for OPEN_MAX, if available.
35949         (big_fd): New static function.
35950         (main): Use it.
35952 2013-06-04  Bernhard Voelker  <mail@bernhard-voelker.de>
35954         tests/nap.h: use an adaptive delay to avoid ctime update issues
35955         The recent change in nap.h (5191133e) decreased the probability of lost
35956         races to about a third, however such problems could still be observed
35957         in virtual machines and openSUSE's OBS.
35958         Before, nap() detected the needed time once empirically and then used
35959         that delay (together with a small correction multiplier) in further
35960         calls.  This problem has been reported and discussed several times,
35961         including guesses about possible kernel issues:
35962         https://lists.gnu.org/r/bug-gnulib/2013-04/msg00071.html
35963         http://lists.gnu.org/r/coreutils/2012-03/msg00088.html
35964         https://lists.gnu.org/r/bug-gnulib/2011-11/msg00226.html
35965         http://bugs.gnu.org/12820
35966         https://lists.gnu.org/r/bug-gnulib/2010-11/msg00113.html
35967         https://lists.gnu.org/r/bug-gnulib/2009-11/msg00007.html
35968         Now, nap() avoids the race alltogether by verifying on a reference
35969         file whether a timestamp difference has happened.
35970         * tests/nap.h (nap_fd): Define file descriptor variable for the
35971         witness file.
35972         (nap_works): Change return value to bool.  Change passing
35973         the old file's status by value instead of by reference as this function
35974         does no longer update that timestamp; rename the function argument from
35975         st to old_st.  Remove the local variables cdiff and mdiff because that
35976         function now returns true/false instead of the precise delay.
35977         (guess_delay): Remove function.
35978         (clear_tmp_file): Add new function to close and unlink the witness file.
35979         (nap): Instead of re-using the delay which has been calculated during
35980         the first call, avoid the race by actually verifying that a timestamp
35981         difference can be observed on the current file system.  Use an adaptive
35982         approach for the delay to minimize execution time.  Assert that the
35983         maximum delay is <= ~2 seconds, more precisely sum(2^n) from 0 to 30
35984         = 2^31 - 1 = 2.1s.
35985         Use atexit to call clear_tmp_file when the process terminates.
35987 2013-06-02  Paul Eggert  <eggert@cs.ucla.edu>
35989         sig2str: port to C++
35990         * lib/sig2str.h (sig2str, str2sig): Declare as extern "C".
35991         Reported by Daniel J Sebald in
35992         <http://lists.gnu.org/r/bug-gnulib/2013-06/msg00000.html>.
35994 2013-05-30  Eric Blake  <eblake@redhat.com>
35996         docs: mention cygwin shortcoming in <sys/un.h>
35997         * doc/posix-headers/sys_un.texi (sys/un.h): Mention problem.
35999         vasnprintf: silence mingw compiler warning
36000         * lib/vasnprintf.c (VASNPRINTF): Avoid unused variable warning.
36002 2013-05-29  Paul Eggert  <eggert@cs.ucla.edu>
36004         c-ctype, regex, verify: port to gcc -std=c90 -pedantic
36005         Avoid constructions that are rejected by gcc -std=c90 -pedantic.
36006         This fixes a porting bug I recently reintroduced in regex, and
36007         some other instances that I discovered while testing the fix.
36008         * lib/c-ctype.h [__STRICT_ANSI__]: Avoid ({ ... }).
36009         * lib/regcomp.c (utf8_sb_map) [__STRICT_ANSI__]: Avoid [0 ... N] = E.
36010         * lib/regex_internal.h [!_LIBC && GNULIB_LOCK]: Do not use a macro
36011         with an empty argument if this is a pedantic pre-C99 GCC.
36012         * lib/verify.h: Do not use _Static_assert if this is a pedantic
36013         pre-C11 GCC.
36015         regex: adapt to locking regime instead of depending on pthread
36016         Instead of depending on pthread, adapt to whatever thread
36017         modules are in use.  Problem reported by Ludovic Courtès in
36018         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00082.html>
36019         and by Mats Erik Andersson in
36020         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00100.html>.
36021         * lib/regex_internal.h (lock_define, lock_init, lock_fini):
36022         Support either the 'lock' module, or the 'pthread' module, or
36023         no module.
36024         (lock_lock, lock_unlock): New macros.
36025         * lib/regexec.c (regexec, re_search_stub): Use the new macros.
36026         * modules/lock, modules/pthread (configure.ac): Add module indicator.
36027         * modules/regex (Depends-on): Remove pthread.
36029 2013-05-22  Eric Blake  <eblake@redhat.com>
36031         getgroups: document portability issues
36032         * doc/glibc-functions/initgroups.texi (initgroups): Mention
36033         multithread safety.
36034         * doc/posix-functions/getpwuid.texi (getpwuid): Likewise.
36035         * doc/posix-functions/getpwuid_r.texi (getpwuid_r): Likewise.
36036         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Mention
36037         getugroups.
36038         * doc/posix-functions/getgroups.texi (getgroups): Mention
36039         multithread safety and mgetgroups.
36041 2013-05-22  Bernhard Voelker  <mail@bernhard-voelker.de>
36043         test-lchown, test-chown: also skip test if chown fails with EPERM
36044         * tests/test-lchown.h (test_lchown): Add EPERM to the condition to
36045         skip this test, to handle FAT file systems.
36046         * tests/test-chown.h (test_chown): Likewise.
36048 2013-05-19  Paul Eggert  <eggert@cs.ucla.edu>
36050         regex: fix dfa race in multithreaded uses
36051         Problem reported by Ludovic Courtès in
36052         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00058.html>.
36053         * lib/regex_internal.h (lock_define, lock_init, lock_fini):
36054         New macros.  All uses of __libc_lock_define, __libc_lock_init
36055         changed to use the first two of these.
36056         (__libc_lock_lock, __libc_lock_unlock): New macros, for
36057         non-glibc platforms.
36058         (struct re_dfa_t): Define the lock unconditionally.
36059         * lib/regexec.c (regexec, re_search_stub): Remove some now-incorrect
36060         '#ifdef _LIBC"s.
36061         * modules/regex (Depends-on): Add pthread, if we use the
36062         included regex.
36064         * lib/regcomp.c: Do actions that are not needed for glibc,
36065         but may be needed elsewhere.
36066         (regfree, re_compile_internal): Destroy the lock.
36067         (re_compile_internal): Check for lock-initialization failure.
36069         malloca: port to compilers that reject size-zero arrays
36070         This fixes a bug introduced in my previous patch.
36071         * lib/malloca.c (struct preliminary_header): Use an int
36072         rather than a character array of size int; that's simpler.
36073         (struct header): Remove, replacing with ...
36074         (union header): New type.  This avoids the need for declaring a
36075         character array of size zero, which is not allowed on some platforms.
36076         All uses changed.
36078 2013-05-18  Paul Eggert  <eggert@cs.ucla.edu>
36080         parse-datetime, tests: don't use "string" + int
36081         Recent versions of 'clang' complain about C source code that
36082         uses expressions of the form '"string literal" + integer',
36083         I guess on the theory that it's confusing for readers who are
36084         used to C++.  On those grounds I suppose it's OK to make this
36085         minor style change.
36086         * lib/parse-datetime.y (parse_datetime):
36087         * tests/test-fchdir.c (main):
36088         * tests/test-snprintf-posix.h (test_function):
36089         * tests/test-snprintf.c (main):
36090         * tests/test-vasnprintf-posix.c (test_function):
36091         * tests/test-vasnprintf.c (test_function):
36092         * tests/test-vsnprintf.c (main):
36093         * tests/unistdio/test-ulc-asnprintf1.h (test_function):
36094         Rewrite '"str" + E' to '&"str"[E]'.
36096 2013-05-17  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
36098         argmatch: port to C++
36099         * lib/argmatch.h [__cplusplus]: Add extern "C".
36101         argp: typo fix
36102         * lib/argp-help.c: Typo in comment.
36104 2013-05-15  Paul Eggert  <eggert@cs.ucla.edu>
36106         manywarnings: update for GCC 4.8.0
36107         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
36108         Add -Waggressive-loop-optimizations, -Wreturn-local-addr, which
36109         are new to GCC 4.8.  Remove -Wformat=2, -Wmissing-format-attribute,
36110         -Wmissing-noreturn, as they are duplicates of other warnings.
36111         Remove -Wunreachable-code, as it is removed in GCC 4.8 and
36112         was documented to be flaky in earlier versions of GCC.
36114         spawn-tests, sys_socket-tests, sys_wait-tests: port to clang
36115         * tests/test-spawn.c (main):
36116         * tests/test-sys_socket.c (main):
36117         * tests/test-sys_wait.c (main):
36118         Don't have a switch value that isn't covered by a case.
36120         getaddrinfo-tests: port --enable-gcc-warnings to clang
36121         * tests/test-getaddrinfo.c (simple):
36122         Avoid casts from looser to stricter-aligned pointers.
36124         thread: port --enable-gcc-warnings to clang
36125         * lib/glthread/thread.h [__clang__ && USE_POSIX_THREADS_WEAK]:
36126         Include <signal.h>, to pacify a warning about pthread_sigmask.
36128         stdio: use __REDIRECT for fwrite, fwrite_unlocked
36129         * lib/stdio.in.h (fwrite):
36130         When working around bug 11959, use __REDIRECT rather than '#define
36131         fwrite(...) ... fwrite (...) ...'.  This is a more-targeted way to
36132         fix the -Wunused-value issue with clang, and it works with GCC too.
36133         Problem with targeting reported by Eric Blake in
36134         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00067.html>.
36135         (fwrite_unlocked): Treat like fwrite.  I ran into this issue while
36136         debugging the fwrite issue.
36138         stdio: port --enable-gcc-warnings to clang
36139         * lib/stdio.in.h (fwrite) [__clang__]: Ignore -Wunused-value entirely,
36140         since the GCC workaround for fwrite does not pacify clang.
36142         sig2str: port --enable-gcc-warnings to clang
36143         * lib/sig2str.c (sig2str): Avoid warning about unused printf argument.
36145         obstack: port --enable-gcc-warnings to clang
36146         * lib/obstack.h (obstack_ptr_grow_fast, obstack_int_grow_fast):
36147         Avoid casts from looser to stricter-aligned pointers.
36149         memchr2: port --enable-gcc-warnings to clang
36150         * lib/memchr2.c (memchr2):
36151         Avoid casts from looser to stricter-aligned pointers.
36153         mbsstr: port --enable-gcc-warnings to clang
36154         * lib/mbsstr.c (knuth_morris_pratt_multibyte):
36155         Avoid casts from looser to stricter-aligned pointers.
36157         malloca: port --enable-gcc-warnings to clang
36158         * lib/malloca.c (struct header): New member 'magic', to avoid casts.
36159         (mmalloca): Avoid casts from looser to stricter-aligned pointers.
36161         inttostr: port --enable-gcc-warnings to clang
36162         * lib/anytostr.c [__clang__]: Ignore -Wtautological-compare.
36164         warnings: port to clang
36165         Problem reported by Daniel P. Berrange via Eric Blake in
36166         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00055.html>.
36167         * m4/warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS): New macro.
36168         (gl_WARN_ADD): Use it.
36170 2013-05-11  Jim Meyering  <meyering@fb.com>
36172         quotearg: do not read beyond end of buffer
36173         * lib/quotearg.c (quotearg_buffer_restyled): Do not read beyond the
36174         end of an ARG for which no length was specified.  With an N-byte
36175         quote string, (e.g., N is 3 in the fr_FR.UTF-8 locale), this function
36176         would read N-2 bytes beyond ARG's trailing NUL.  This was triggered
36177         via coreutils' misc/sort-debug-keys.sh test and detected by running
36178         the test against a binary compiled with gcc-4.8.0's -fsanitize=address.
36179         * tests/test-quotearg-simple.c (main): Add a test to trigger the bug.
36180         * modules/quotearg-simple-tests (Files): Add tests/zerosize-ptr.h.
36181         Introduced via the 2000-01-15 commit, c4b7f3f8, "Quote multibyte
36182         characters correctly."
36184 2013-05-11  Daiki Ueno  <ueno@gnu.org>
36186         lock: work around pthread recursive mutexes bug in Mac OS X 10.6
36187         * m4/lock.m4: Don't define HAVE_PTHREAD_MUTEX_RECURSIVE if the
36188         compilation target is Mac OS X 10.6.
36189         Problem reported by parafin and Andoni Morales in
36190         <http://savannah.gnu.org/bugs/?37844> and
36191         <http://lists.gnu.org/r/bug-gettext/2013-05/msg00007.html>.
36193 2013-05-11  Paul Eggert  <eggert@cs.ucla.edu>
36195         mkdir-p: remove assumptions about umask and mode
36196         * lib/mkdir-p.c (make_dir_parents): Do not assume that the current
36197         umask is 0, or that MODE is a subset of MODE_BITS.
36199 2013-05-10  Eric Blake  <eblake@redhat.com>
36201         maint.mk: catch more abuse of HAVE_DECL in syntax-check
36202         * top/maint.mk (sc_prohibit_defined_have_decl_tests): Relax regex.
36204 2013-05-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
36206         deps: require Automake >= 1.9.6 in generated Makefile fragments
36208         That is the same minimal version required in the DEPENDENCIES file.
36209         Moreover, the old code generated a requirement of Automake >= 1.5,
36210         and that is an insanely outdated version.
36212         * gnulib-tool: Bump minimal version requirement in AUTOMAKE_OPTIONS.
36213         * tests/havelib/rpathlx/Makefile.am: Likewise.
36214         * tests/havelib/rpathly/Makefile.am: Likewise.
36215         * tests/havelib/rpathlyx/Makefile.am: Likewise.
36216         * tests/havelib/rpathlz/Makefile.am: Likewise.
36217         * tests/havelib/rpathlzyx/Makefile.am: Likewise.
36218         * tests/havelib/rpathx/Makefile.am: Likewise.
36219         * tests/havelib/rpathy/Makefile.am: Likewise.
36220         * tests/havelib/rpathz/Makefile.am: Likewise.
36222 2013-05-08  Eric Blake  <eblake@redhat.com>
36224         bootstrap: AC_INIT may have more than four parameters
36225         * build-aux/bootstrap (extract_package_name): Correctly extract
36226         non-empty tarname field.  Avoid range in regex.
36227         Based on a report by Sami Kerola <kerolasa@iki.fi>.
36229 2013-05-07  Paul Eggert  <eggert@cs.ucla.edu>
36231         qacl: port to MS-Windows port of GNU Emacs
36232         * lib/acl-errno-valid.c (acl_errno_valid) [ENOTSUP == ENOSYS]:
36233         Omit the duplicate ENOTSUP case.  Needed for the MS-Windows
36234         port of GNU Emacs.  Problem reported by Eli Zaretskii in
36235         <http://bugs.gnu.org/14295#14>.
36237 2013-05-07  Mike Frysinger  <vapier@gentoo.org>
36239         acl: include quote.h
36240         * lib/copy-acl.c: Include quote.h.
36241         * lib/set-acl.c: Likewise.
36243 2013-05-06  Mike Frysinger  <vapier@gentoo.org>
36245         fchownat, renameat, unlinkat: update statat dependencies
36246         These modules use statat and lstatat, not fstatat; so depend on
36247         the statat module, which was split out recently from fstatat.
36248         * modules/fchownat, modules/unlinkat: Change fstatat to statat.
36249         * modules/renameat: Likewise.  Also delete fstat.
36250         URL: http://bugs.gentoo.org/468790
36252 2013-05-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
36254         Assume gnulib is checked out from Git, not CVS
36256         In fact, access to the gnulib repository through CVS has been
36257         disabled, or more precisely, got broken and was never restored; see:
36258         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00008.html>
36260         Note that support for CVS is not removed completely and unthinkingly
36261         by this change: only support for CVS checkouts of gnulib itself is
36262         removed.  For example, the 'bootstrap' script still cater to .cvsingore
36263         files and CVS directories, for the benefit of those poor gnulib clients
36264         still stuck with CVS.  Ditto for the 'gnulib-tool' script itself.
36266         * gnulib-tool: Simplify accordingly.
36267         * posix-modules: Likewise.
36268         * MODULES.html.sh: Likewise.
36269         * doc/gnulib.texi: No longer mention the decommissioned CVS gnulib
36270         repository.
36271         * doc/gnulib-intro.texi: Likewise.
36272         * doc/gnulib-readme.texi: Likewise.
36273         * doc/gnulib-tool.texi: In the examples and explanations, refer to a
36274         sample '.gitignore' file rather than a sample '.cvsignore'.
36275         * NEWS: Update.
36276         * m4/extensions.m4: While at it, remove a comment mistakenly referring
36277         to "CVS Autoconf" rather than "git Autoconf".
36279 2013-04-30  Paul Eggert  <eggert@cs.ucla.edu>
36281         utimensat-tests, etc.: try to fix some races
36282         Problem reported by Bernhard Voelker in
36283         <http://lists.gnu.org/r/bug-gnulib/2013-04/msg00071.html>.
36284         I don't know whether this patch fixes that race condition, but it
36285         fixes *some* race conditions, so it should be a win.
36286         * modules/chown-tests (Depends-on):
36287         * modules/fchownat-tests (Depends-on):
36288         * modules/fdutimensat-tests (Depends-on):
36289         * modules/futimens-tests (Depends-on):
36290         * modules/lchown-tests (Depends-on):
36291         * modules/stat-time-tests (Depends-on):
36292         * modules/utimens-tests (Depends-on):
36293         * modules/utimensat-tests (Depends-on):
36294         Depend on nanosleep, not usleep.
36295         * modules/chown-tests (test_chown_LDADD):
36296         * modules/lchown-tests (test_lchown_LDADD):
36297         * modules/stat-time-tests (test_stat_time_LDADD):
36298         New macro.
36299         * modules/fchownat-tests (test_fchownat_LDADD):
36300         * modules/fdutimensat-tests (test_fdutimensat_LDADD):
36301         * modules/futimens-tests (test_futimens_LDADD):
36302         * modules/utimens-tests (test_utimens_LDADD):
36303         * modules/utimensat-tests (test_utimensat_LDADD):
36304         Add $(LIB_NANOSLEEP).
36305         * modules/stat-time-tests (Files): Add tests/nap.h.
36306         * tests/nap.h: Include <limits.h>, for INT_MAX.
36307         (lt_mtime): Remove.
36308         (diff_timespec): New function.
36309         (get_stat): Rename from get_mtime.  All callers changed.
36310         (nap_works): Determine the needed delay by inspecting the
36311         file system's timestamp jumps; this should be more reliable.
36312         Look at both mtime and ctime, and take the maximum of the two jumps.
36313         (nap_works, guess_delay):
36314         Return a nanosecond count, not a microsecond count.
36315         All callers changed.
36316         (nap_works, nap): Use nanosleep, not usleep.  Check for nanosleep
36317         failure.
36318         (nap): Multiply the guess by 1.125, to accommodate the case where
36319         the file system's clock is a bit slower than nanosleep's clock.
36320         * tests/test-stat-time.c (BASE): New macro.
36321         Include nap.h.
36322         (nap): Remove; nap.h now defines this.  This removes a duplicate
36323         implementation of 'nap'.
36325         utimens, utimensat: work around Solaris UTIME_OMIT bug
36326         Solaris 11.1 and Solaris 10 have the same UTIME_OMIT bug that
36327         Linux kernel 2.6.32 does.  Work around it in the same way.
36328         * doc/posix-functions/futimens.texi (futimens):
36329         * doc/posix-functions/utimensat.texi (utimensat): Document the bug.
36330         * lib/utimens.c (fdutimens, lutimens):
36331         * lib/utimensat.c (rpl_utimensat): Work around the bug.
36333         gettext: now it's your responsibility to add -I$(top_builddir)/intl
36334         Formerly, it was your responsibility to do this for all Makefile.ams
36335         other than Gnulib's.  Now it's your responsibility to do it for
36336         Gnulib's Makefile.am, too.
36337         * NEWS: Document this.
36338         * modules/gettext (AM_CPPFLAGS): Don't append -$(top_builddir)/intl.
36340         acl: include errno.h to get errno
36341         Reported by Daiki Ueno in
36342         <http://lists.gnu.org/r/bug-gnulib/2013-04/msg00073.html>.
36343         * lib/copy-acl.c, lib/set-acl.c: Include errno.h.
36345 2013-04-29  Paul Eggert  <eggert@cs.ucla.edu>
36347         tests: don't assume getdtablesize () <= 10000000
36348         * modules/cloexec-tests:
36349         * modules/dup2-tests:
36350         * modules/dup3-tests:
36351         * modules/nonblocking-tests:
36352         * modules/posix_spawn_file_actions_addclose-tests:
36353         * modules/posix_spawn_file_actions_adddup2-tests:
36354         * modules/posix_spawn_file_actions_addopen-tests:
36355         * modules/unistd-safer-tests:
36356         Depend on the getdtablesize module.
36357         * tests/test-cloexec.c:
36358         * tests/test-dup-safer.c:
36359         * tests/test-dup2.c:
36360         * tests/test-dup3.c:
36361         * tests/test-fcntl.c:
36362         * tests/test-nonblocking.c:
36363         * tests/test-posix_spawn_file_actions_addclose.c:
36364         * tests/test-posix_spawn_file_actions_adddup2.c:
36365         * tests/test-posix_spawn_file_actions_addopen.c:
36366         Don't assume getdtablesize () <= 10000000.
36368 2013-04-28  Paul Eggert  <eggert@cs.ucla.edu>
36370         extern-inline: work around bug in Sun c99
36371         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE):
36372         Work around bug in Sun C 5.12 c99's implementation of 'inline'.
36374 2013-04-27  Paul Eggert  <eggert@cs.ucla.edu>
36376         qacl: new module, broken out from the acl module
36377         This is for GNU Emacs, which wants the acl functions but does
36378         not want 'error' invoked when they fail.
36379         * lib/acl-internal.h: Do not include error.h, quote.h.
36380         (ENOSYS, ENOTSUP): Remove; no longer needed.
36381         (ACL_NOT_WELL_SUPPORTED): Remove; replaced by acl_errno_valid.
36382         * lib/acl.h: Include <stdbool.h>.
36383         (acl_errno_valid): New function.
36384         * lib/copy-acl.c, lib/set-acl.c: Include errno,h, not acl-internal.h.
36385         * lib/copy-acl.c (qcopy_acl): Move to lib/qcopy-acl.c.
36386         * lib/set-acl.c: Rename from lib/set-mode-acl.c.
36387         (chmod_or_fchmod, qset_acl): Move to lib/qset-acl.c.
36388         (ACL_INTERNAL_INLINE): Remove; no longer needed.
36389         * lib/file-has-acl.c (file_has_acl):
36390         * lib/qcopy-acl.c (qcopy_acl):
36391         * lib/qset-acl.c (qset_acl):
36392         Use acl_errno_valid instead of ACL_NOT_WELL_SUPPORTED.
36393         * modules/acl (Files): Move lib/acl.h, lib/acl-internal.h,
36394         lib/acl_entries.c, lib/set-mode-acl.c (renamed to lib/set-acl.c),
36395         lib/file-has-acl.c, m4/acl.m4 to qacl module.
36396         Add lib/set-acl.c.
36397         (Depends-on): Move extern-inline, fstat, sys_stat to qacl module.
36398         Add qacl.
36399         (configure.ac): Move gl_FUNC_ACL to qacl module.
36400         (lib_SOURCES): Remove file-has-acl.c (moved to qacl module).
36401         Rename set-mode-acl.c to set-acl.c.
36402         * lib/acl-errno-valid.c: New file.
36403         * lib/qcopy-acl.c: New file, moved from the old lib/copy-acl.c; the
36404         copy_acl function remains in copy-acl.c.
36405         * lib/qcopy-acl.c, lib/qset-acl.c: Do not include gettext.h.
36406         (_): Remove; not needed.
36407         * lib/qset-acl.c: New file, moved from the old lib/set-mode-acl.c; the
36408         set_acl function remains in set-acl.c (renamed from set-mode-acl.c).
36409         * modules/qacl: New file, moved from the old modules/acl.
36410         (Files, lib_SOURCES): Add acl-errno-valid.c, qcopy-acl.c, qset-acl.c.
36411         Remove set-mode-acl.c, copy-acl.c.
36412         (Depends-on): Remove error, gettext-h, quote.  Add stdbool.
36414         alignof, intprops, malloca: port better to IBM's C compiler
36415         * lib/alignof.h (alignof_type) [__IBM_ALIGNOF__]: Use __alignof__.
36416         * lib/intprops.h (_GL_HAVE___TYPEOF__) [__IBM_TYPEOF__]: Now 1.
36417         * lib/malloca.h (sa_alignof): [__IBM_ALIGNOF__]: Use __alignof__.
36419 2013-04-25  Daiki Ueno  <ueno@gnu.org>
36421         wctype-h: fix gettext link error on mingw
36422         Reported by Josue Andrade Gomes and Takayuki Tsunakawa in
36423         <https://lists.gnu.org/r/bug-gettext/2013-03/msg00086.html>.
36424         * lib/wctype.in.h [__MINGW32__]: Include <ctype.h> before defining
36425         rpl_towupper and rpl_towupper.
36427 2013-04-11  Dmitry V. Levin  <ldv@altlinux.org>
36429         regex-tests, regex: allow glibc re_search behavior
36430         * tests/test-regex.c (main): In test for glibc bug 15078, reformat
36431         re_search input data to make the multi-character collating element
36432         in it clearly visible, and treat re_search return code 0 as valid.
36433         * m4/regex.m4 (gl_REGEX): Likewise.
36435 2013-03-30  Paul Eggert  <eggert@cs.ucla.edu>
36437         stdalign: doc fix
36438         * doc/posix-headers/stdalign.texi (stdalign.h):
36439         Gnulib doesn't support '_Alignof expr'.
36441 2013-03-29  Paul Eggert  <eggert@cs.ucla.edu>
36443         stdalign: port to stricter ISO C11
36444         ISO C11 says that _Alignof's operand must be a parenthesized type.
36445         Problem reported by Eli Zaretskii in
36446         <http://lists.gnu.org/r/emacs-devel/2013-03/msg00960.html>.
36447         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
36448         * m4/stdalign.m4 (gl_STDALIGN_H): Don't use _Alignof (expr).
36450 2013-03-21  Paul Eggert  <eggert@cs.ucla.edu>
36452         sys_select, sys_time: port 2013-01-30 Solaris 2.6 fix to Cygwin
36453         Problem reported by Marco Atzeri in
36454         <http://lists.gnu.org/r/bug-gnulib/2013-03/msg00000.html>.
36455         * lib/sys_select.in.h [HAVE_SYS_SELECT_H && _CYGWIN_SYS_TIME_H]:
36456         Simply delegate to the system <sys/select.h> in this case too.
36457         Also, pay attention to _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TIME_H only
36458         if OSF/1, since otherwise Cygwin breaks, and it doesn't seem to
36459         be needed on Solaris either.
36460         * lib/sys_time.in.h [_CYGWIN_SYS_TIME_H]:
36461         Simply delegate to the system <sys/time.h> in this case.
36463 2013-03-19  Karl Berry  <karl@gnu.org>
36465         * build-aux/gnupload: check for erroneous (with gnupload) use of
36466         ftp-upload.gnu.org, tweak help.
36468 2013-03-19  Paul Eggert  <eggert@cs.ucla.edu>
36470         copy-file, rpmatch: fix problems found by cppcheck
36471         Reported by Arno Onken in
36472         <http://lists.gnu.org/r/bug-gnulib/2013-03/msg00069.html>.
36473         * lib/rpmatch.c (try): Fix memory leak.
36474         * lib/copy-file.c: Include "ignore-value.h".
36475         (qcopy_file_preserving): Ignore chown value.
36476         * modules/copy-file (Depends-on): Add ignore-value.
36478 2013-01-27  Jim Meyering  <jim@meyering.net>
36480         prefix-gnulib-mk: give better diagnostics
36481         * build-aux/prefix-gnulib-mk: Don't just "die".
36482         Give better diagnostics upon failure.
36484 2013-03-13  Paul Eggert  <eggert@cs.ucla.edu>
36486         putenv: port to Solaris 10
36487         * lib/putenv.c (_unsetenv, putenv): Use HAVE_DECL__PUTENV, not
36488         HAVE__PUTENV.  Solaris 10 has a _putenv that's not declared and
36489         is not what is wanted here.
36490         * m4/putenv.m4 (gl_PREREQ_PUTENV): Check for _putenv's
36491         declaration, not for its existence.
36493 2013-03-12  Paul Eggert  <eggert@cs.ucla.edu>
36495         mktime: fix configure typo
36496         * m4/mktime.m4 (gl_FUNC_MKTIME): Fix typo in previous change.
36498 2013-03-12  Eric Blake  <eblake@redhat.com>
36500         regex-tests: skip UTF-8 test on mingw
36501         * modules/regex-tests (Depends-on): Add localcharset.
36502         * tests/test-regex.c (main): Use it to skip test on mingw.
36504 2013-03-11  Eric Blake  <eblake@redhat.com>
36506         tests: make it easier to bypass alarm time in debugger
36507         * tests/test-file-has-acl.c (main): Allow gdb to override alarm.
36508         * tests/test-memmem.c (main): Likewise.
36509         * tests/test-passfd.c (main): Likewise.
36510         * tests/test-ptsname.c (main): Likewise.
36511         * tests/test-ptsname_r.c (main): Likewise.
36512         * tests/test-strcasestr.c (main): Likewise.
36513         * tests/test-strstr.c (main): Likewise.
36515         regex: port to mingw's recent addition of undeclared alarm
36516         * doc/posix-functions/alarm.texi (alarm): Document that alarm
36517         exists but still doesn't work in newer mingw.
36518         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm declaration,
36519         not existence.  Ensure SIGALRM is not trapped.
36520         * m4/mktime.m4 (gl_FUNC_MKTIME): Likewise.
36521         * m4/regex.m4 (gl_REGEX): Likewise.
36522         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): Likewise.
36523         * tests/test-regex.c (main): Use correct probe for alarm.
36525         putenv: avoid compilation warning on mingw
36526         * lib/putenv.c (_unsetenv): Protect variable declaration.
36527         (putenv): Fix indentation.
36529 2013-03-11  Gary V. Vaughan  <gary@gnu.org>
36531         unistd: don't prevent Tru64 Unix from using gnulib strtod.
36532         * lib/unistd.in.h: be careful not to include un-needed system
36533         stdlib.h from here, because that prevents gnulib stdlib.h from
36534         defining rpl_strtod correctly.
36536 2013-03-09  Gary V. Vaughan  <gary@gnu.org>
36538         vasprintf-posix-tests: allow rounding 1.51 to 1, per the previous
36539         changesets, but for the 'precision 0' test.
36540         * tests/test-vasprintf-posix.c (test_function): Don't insist on
36541         round-to-even, since POSIX says rounding is implementation-defined
36542         and OS X 10.8.2 rounds 1.51 to 1 here.
36544         vasprintf-posix-tests: allow rounding 1.5 to 1, per the previous
36545         changeset.
36546         * tests/test-vasprintf-posix.c (test_function): Don't insist on
36547         round-to-even, since POSIX says rounding is implementation-defined
36548         and OS X 10.8.2 rounds 1.5 to 1 here.
36550 2013-03-08  Paul Eggert  <eggert@cs.ucla.edu>
36552         vasnprintf-posix-tests: allow rounding 1.5 to 1
36553         * tests/test-vasnprintf-posix.c (test_function): Don't insist on
36554         round-to-even, since POSIX says rounding is implementation-defined
36555         and OS X 10.8.2 rounds 1.5 to 1 here.  Reported by Gary V. Vaughan in
36556         <http://lists.gnu.org/r/bug-gnulib/2013-03/msg00019.html>.
36558         bootstrap: port to FreeBSD
36559         * build-aux/bootstrap (bootstrap_sync): Port sh -c usage to shells
36560         that treat '--' differently.  Reported by Mats Erik Andersson in
36561         <http://lists.gnu.org/r/bug-gnulib/2013-03/msg00012.html>.
36563 2013-03-08  Gary V. Vaughan  <gary@gnu.org>
36565         regex: rename remaining __attribute calls to __attribute__.
36566         2012-02-25 changed definition of __attribute, but left some uses
36567         unchanged, preventing compilation of regex module on most non-gcc
36568         environments.
36569         * lib/regcomp.c (re_set_fastmap, seek_collating_symbol_entry)
36570         (lookup_collation_sequence_value, build_range_exp)
36571         (build_collating_symbol): Set attributes with newly renamed
36572         __attribute__ decorator.
36573         * lib/regex_internal.c (re_string_peek_byte_case)
36574         (re_node_set_compare, re_node_set_contains): Likewise.
36575         * lib/regexec.c (acquire_init_state_context): Likewise.
36577 2013-03-06  Bruno Haible  <bruno@clisp.org>
36579         execute: Revert last change, but use a different condition.
36580         * lib/execute.c (nonintr_close, nonintr_open): Reintroduce, but only
36581         on Windows.
36583 2013-03-05  Eric Blake  <eblake@redhat.com>
36585         execute: drop dead code
36586         * lib/execute.c (nonintr_close, nonintr_open): Delete.
36588 2013-03-04  Paul Eggert  <eggert@cs.ucla.edu>
36590         non-recursive-gnulib-prefix-hack: port coreutils 8.21 to HP NonStop
36591         * m4/non-recursive-gnulib-prefix-hack.m4
36592         (gl_NON_RECURSIVE_GNULIB_PREFIX_HACK): Don't mess with ALLOCA.
36593         Problem reported for HP NonStop + coreutils 8.21 by Joachim Schmitz in
36594         <http://bugs.gnu.org/10305#237>.
36596 2013-03-04  Eric Blake  <eblake@redhat.com>
36598         test-getsockopt: avoid compiler warning
36599         * tests/test-getsockopt.c (includes): Ensure close is declared.
36601 2013-03-02  Bruno Haible  <bruno@clisp.org>
36603         sys_types: Avoid autoconf warning about gl_SYS_TYPES_H.
36604         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Define through AC_DEFUN_ONCE.
36606 2013-03-02  Bruno Haible  <bruno@clisp.org>
36608         gettext: Update to version 0.18.2.
36609         * m4/intl.m4, m4/po.m4: Update from gettext-0.18.2. In particular:
36610         2012-12-07  Stefano Lattarini  <stefano.lattarini@gmailcom>
36611                 * intl.m4, po.m4: Bump requirement in AC_PREREQ to 2.60.
36613 2013-02-25  Paul Eggert  <eggert@cs.ucla.edu>
36615         regex: merge patches from libc
36617         2013-02-26  Siddhesh Poyarekar  <siddhesh@redhat.com>
36618         * lib/regex_internal.h (__attribute__): Rename from __attribute.
36619         All uses changed.
36620         (bitset_not, bitset_merge, bitset_mask, re_string_char_size_at)
36621         (re_string_wchar_at, re_string_elem_size_at):
36622         Mark function as possibly unused.
36624         2013-02-12  Andreas Schwab  <schwab@suse.de>  [BZ #11561]
36625         * lib/regcomp.c (parse_bracket_exp) [_LIBC]: When looking up collating
36626         elements compare against the byte sequence of it, not its name.
36628 2013-02-21  Paul Eggert  <eggert@cs.ucla.edu>
36630         putenv: port better to native Windows
36631         * lib/putenv.c [(_WIN32 || __WIN32__) && ! __CYGWIN__]:
36632         Define WIN32_LEAN_AND_MEAN and include <windows.h>.
36633         (_unsetenv): Use _putenv if available.
36634         (putenv): Temporarily set NAME=' ' rather than NAME='x' as that's
36635         a bit less likely to cause damage.
36636         (putenv) [(_WIN32 || __WIN32__) && ! __CYGWIN__]:
36637         Fix the wrong value with SetEnvironmentVariable.
36638         (putenv) [!HAVE__PUTENV]: Simplify and match the HAVE__PUTENV
36639         code better.
36641 2013-02-20  Paul Eggert  <eggert@cs.ucla.edu>
36643         regex: ignore old-style-definition warnings
36644         * lib/regex.c: Add pragma to ignore these warnings.
36645         Problem reported for GNU tar by Pavel Raiskup.
36647 2013-02-19  Paul Eggert  <eggert@cs.ucla.edu>
36649         getcwd: support coreutils better
36650         Like strtod, getcwd incorrectly referred to HAVE_RAW_DECL_GETCWD,
36651         but this might not be correct in coreutils, which disables
36652         the raw decl checks.  Problem reported by Nagendra in
36653         <http://bugs.gnu.org/10305#192>.
36654         * lib/getcwd.c (__getcwd): Do not depend on HAVE_RAW_DECL_GETCWD.
36655         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
36656         Test the getcwd function, not any macro, since getcwd.c wants the
36657         function.
36658         * m4/getcwd.m4 (gl_FUNC_GETCWD):
36659         Don't define HAVE_MINIMALLY_WORKING_GETCWD if the code doesn't
36660         compile, as might happen if there's a macro but no function.
36662         strtod: support coreutils better
36663         * lib/strtod.c (underlying_strtod): Just invoke the underlying strtod.
36664         HAVE_RAW_DECL_STRTOD might not be correct in coreutils, which
36665         disables the raw decl checks.  This assumes there is an underlying
36666         strtod, but that's a safe assumption these days.
36667         (HAVE_RAW_DECL_STRTOD): Remove; no longer used.
36669         mountlist: port to HP NonStop
36670         Reported by Joachim Schmitz in
36671         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00084.html>.
36672         * lib/mountlist.c (hasmntopt) [!HAVE_HASMNTOPT]: New function.
36673         (MNT_IGNORE) [MNTOPT_IGNORE]: Use it.
36675 2013-02-18  Paul Eggert  <eggert@cs.ucla.edu>
36677         extern-inline: avoid compilation error with HP-UX cc
36678         Reported by Richard Lloyd in
36679         <http://lists.gnu.org/r/bug-texinfo/2013-02/msg00030.html>.
36680         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE):
36681         Suppress extern inline with HP-UX cc.  This should be safe,
36682         though it may hurt performance.  Perhaps someone with some HP-UX
36683         experience can come up with a higher-performance fix.
36685 2013-02-14  Paul Eggert  <eggert@cs.ucla.edu>
36687         putenv: fix heap corruption with mixed putenv/_putenv
36688         Problem reported by Michael Goffioul in
36689         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00061.html>.
36690         * lib/putenv.c (putenv) [HAVE__PUTENV]:
36691         Rely on _putenv to allocate the new environment.
36692         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
36693         * modules/putenv (configure.ac): Use it.
36695 2013-02-11  Paul Eggert  <eggert@cs.ucla.edu>
36697         unsetenv etc.: port to Solaris 11 + GNU Emacs
36698         * lib/canonicalize-lgpl.c, lib/getaddrinfo.c, lib/getdelim.c:
36699         * lib/glob.c, lib/random_r.c, lib/setenv.c, lib/tsearch.c:
36700         * lib/unsetenv.c (_GL_ARG_NONNULL): Define before including <config.h>.
36701         GNU Emacs's <config.h> includes <stdlib.h> (which is not a great
36702         idea but is too painful to fix right now), and without this gnulib
36703         change <stdlib.h> was defining _GL_ARG_NONNULL incorrectly when
36704         compiling unsetenv.c on Solaris 11.  Fix the problem for
36705         unsetenv.c, and fix other similar occurrences.
36707 2013-02-09  Paul Eggert  <eggert@cs.ucla.edu>
36709         secure_getenv: fix C++ declaration typo
36710         * lib/stdlib.in.h (secure_getenv): Fix typo with return type
36711         in _GL_CXXALIAS_SYS macro.  Reported by John W. Eaton in
36712         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00057.html>.
36714 2013-02-08  Paul Eggert  <eggert@cs.ucla.edu>
36716         careadlinkat: stop exporting careadlinkatcwd
36717         Only Emacs used it directly, and Emacs no longer needs it.
36718         * NEWS: Document this simplification.
36719         * lib/areadlink.c (careadlinkatcwd): Move here from careadlinkat.c,
36720         and make it static.  Include <stdlib.h>, for abort, and unistd.h,
36721         for readlink.
36722         * lib/careadlinkat.c (careadlinkatcwd): Move to areadlink.c.
36723         Don't include stdlib.h; no longer needed.
36724         * lib/careadlinkat.h (careadlinkatcwd): Remove decl.
36725         * lib/relocwrapper.c: Adjust comment to match new dependencies.
36726         * modules/areadlink (Depends-on): Add readlink.
36727         (Maintainer): Add self.
36728         * modules/careadlinkat (Depends-on): Remove readlink.
36730         extensions: port better to HP-UX
36731         This is merged from git Autoconf.
36732         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
36733         On hosts that need _XOPEN_SOURCE, define it when configuring, too,
36734         so that it's compatible with the value used when compiling.
36736         openpty: fix bug where HAVE_OPENPTY is mistakenly 1
36737         Problem reported by Mats Erik Andersson in
36738         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00051.html>.
36739         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when the
36740         openpty function exists, not merely when we intend to replace it.
36741         This corrects the 2013-01-31 patch, which mistakenly defined
36742         HAVE_OPENPTY even on hosts that lacked it.
36744 2013-02-07  Paul Eggert  <eggert@cs.ucla.edu>
36746         secure_getenv: fix include typo
36747         * lib/secure_getenv.c: Include config.h.  Somehow I forgot!
36749         secure_getenv: port better to FreeBSD and Solaris
36750         * lib/secure_getenv.c [!HAVE___SECURE_GETENV]:
36751         Include unistd.h if HAVE_ISSETUGID, otherwise define a dummy issetugid.
36752         (secure_getenv) [!HAVE___SECURE_GETENV]: Use getenv if not issetugid.
36753         This works better on BSDish platforms.
36754         * m4/secure_getenv.m4 (gl_PREREQ_SECURE_GETENV):
36755         Test for issetugid if __secure_getenv is missing.
36757 2013-02-06  Paul Eggert  <eggert@cs.ucla.edu>
36759         extensions: port better to MINIX 3, HP-UX, autoheader 2.62
36760         Some of these changes are merged in from git Autoconf.
36761         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
36762         When deciding whether to define _XOPEN_SOURCE, inspect the
36763         preprocessor macro __hpux instead of the more-heavyweight
36764         operation of requiring AC_CANONICAL_HOST.  Define _NETBSD_HOST on
36765         MINIX, for MINIX 3.  Use USE_SYSTEM_EXTENSIONS, not __EXTENSIONS__,
36766         as the key for __EXTENSIONS__.
36768         unistd: avoid namespace pollution on non-glibc systems
36769         * lib/unistd.in.h: #define __need_getopt before including <getopt.h>.
36770         This avoids namespace pollution on non-glibc systems, by causing
36771         gnulib unistd.h to behave more like glibc unistd.h.  I also hope
36772         that this fixes a bug on FreeBSD, reported by Mats Erik Andersson in
36773         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00027.html>.
36775 2013-02-04  Paul Eggert  <eggert@cs.ucla.edu>
36777         tmpdir: use secure_getenv
36778         * lib/tmpdir.c (__secure_getenv) [!LIBC]:
36779         Define to secure_getenv, not getenv.
36780         * m4/tmpdir.m4 (gt_TMPDIR): Don't check for __secure_getenv,
36781         as that's now secure_getenv's job.
36782         * modules/tmpdir (Depends-on): Add secure_getenv.
36784         tempname: use secure_getenv
36785         * lib/tempname.c (__secure_getenv) [!_LIBC]:
36786         Define to secure_getenv, not getenv.
36787         * modules/tempname (Depends-on):
36788         Add secure_getenv.
36790         secure_getenv: new module
36791         * MODULES.html.sh (Extra functions based on ANSI C 89):
36792         Add secure_getenv.
36793         * doc/glibc-functions/secure_getenv.texi: New file.
36794         * doc/gnulib.texi: Include it.
36795         * lib/secure_getenv.c, m4/secure_getenv.m4, modules/secure_getenv:
36796         New files.
36797         * lib/stdlib.in.h (secure_getenv): New decl.
36798         * m4/stdlib_h.m4 (gl_STDLIB_H, gl_STDLIB_H_DEFAULTS):
36799         * modules/stdlib (stdlib.h):
36800         Add secure_getenv checks.
36802 2013-02-03  Paul Eggert  <eggert@cs.ucla.edu>
36804         getcwd: break fdopendir + save_cwd recursive loop (Bug#13516)
36805         Reported for OS X 10.8.2 by Assaf Gordon in
36806         <http://bugs.gnu.org/13516>.
36807         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Do not define if
36808         !HAVE_OPENAT && !HAVE_FDOPENDIR.
36809         * m4/getcwd-abort-bug.m4: Reformat to match test-getcwd.c
36810         so that they can be kept in sync more easily.  Avoid PATH_MAX
36811         test on the Hurd.  Sync from test-getcwd.c for errno tests after
36812         mkdir or chdir failure.
36813         * tests/test-getcwd.c (HAVE_OPENAT_SUPPORT): New macro, from
36814         lib/getcwd.c.
36815         (test_abort_bug): Do not test for the deep directory bug unless we
36816         have openat support.  Avoid PATH_MAX test on the Hurd.
36818         regex-tests, regex: fix bug: memset undeclared
36819         * tests/test-regex.c: Don't include regex.h twice.  Include
36820         string.h, to declare memset.  Christensen's report also mentioned
36821         this issue.
36822         * m4/regex.m4 (gl_REGEX): Keep test program more in sync with
36823         test-regex.c, to avoid future problems like this.  Remove
36824         AC_INCLUDES_DEFAULT.  Include <string.h>.  Don't include <regex.h>
36825         twice.
36827         regex-tests: fix link errors on older Solaris
36828         These need to link with @LIBINTL@ to get libintl_gettext.
36829         Problem reported by Tom G. Christensen in
36830         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00003.html>.
36831         * modules/regex-tests (test_regex_LDADD): New macro.
36833 2013-01-31  Paul Eggert  <eggert@cs.ucla.edu>
36835         regex-tests: new module
36836         * modules/regex-tests, tests/test-regex.c: New files.
36838         regex: fix off-by-one error in configure test
36839         * m4/regex.m4 (gl_REGEX): Test should return 21, not 20.
36841 2013-01-31  Eric Blake  <eblake@redhat.com>
36843         regex: avoid infinite configure test
36844         * m4/regex.m4 (gl_REGEX): Add an alarm escape hatch.
36846 2013-01-31  Reuben Thomas  <rrt@sc3d.org>
36848         openpty: fix bug where HAVE_OPENPTY wasn't defined
36849         See the thread starting at:
36850         http://lists.gnu.org/r/bug-gnulib/2013-01/msg00185.html
36851         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when the
36852         openpty function exists, not merely when we intend to replace it.
36854 2013-01-30  Paul Eggert  <eggert@cs.ucla.edu>
36856         sys_time: port to Solaris 2.6
36857         There is a circularity problem on Solaris 2.6, where <time.h> includes
36858         <sys/time.h> for struct timespec.  The include nesting is gnulib
36859         <time.h>, system <time.h>, gnulib <sys/time.h>, system
36860         <sys/time.h>, gnulib <sys/types.h>, system <sys/types.h>, gnulib
36861         <sys/select.h>, gnulib <signal.h>, system <sys/signal.h>, system
36862         <sys/siginfo.h>; the last, innermost file needs struct
36863         timestruc_t, which is defined in <sys/time.h>, which has not been
36864         fully parsed.  Problem reported by Tom G. Christensen in
36865         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00113.html>.
36866         * lib/sys_select.in.h: Treat Solaris 2.6's problem with
36867         <sys/time.h> and <sys/types.h> like OSF/1's similar problem.
36868         * lib/sys_time.in.h: Redo to resemble sys_select.in.h, which
36869         uses split double-inclusion guards.
36871 2013-01-29  Paul Eggert  <eggert@cs.ucla.edu>
36873         regex: test for buffer overrun
36874         * m4/regex.m4 (gl_REGEX): Add test case, by Andreas Schwab,
36875         for the just-fixed regex bug.
36877 2013-01-29  Andreas Schwab  <schwab@suse.de>
36879         regex: fix buffer overrun in regexp matcher [BZ #15078]
36880         * lib/regexec.c (extend_buffers): Add parameter min_len.
36881         (check_matching): Pass minimum needed length.
36882         (clean_state_log_if_needed): Likewise.
36883         (get_subexp): Likewise.
36885 2013-01-28  Pádraig Brady  <P@draigBrady.com>
36887         mountlist: don't consider "devtmpfs" as dummy
36888         * lib/mountlist.c (ME_DUMMY_0): Remove "devtmpfs"
36889         as there is storage associcated with it.
36891 2013-01-27  Paul Eggert  <eggert@cs.ucla.edu>
36893         futimens-tests, utimens-tests: Depend on gettext.
36894         This works around a problem introduced in my 2013-01-12 patch,
36895         which added @LIBINTL@ to these modules.
36896         * modules/futimens-tests (Depends-on):
36897         * modules/utimens-tests (Depends-on): Add gettext.
36899 2013-01-26  Eric Blake  <eblake@redhat.com>
36901         test-getpeername: fix typo
36902         * tests/test-getpeername.c: Fix typo introduced in fd cleanup.
36904 2013-01-20  Bernhard Voelker  <mail@bernhard-voelker.de>
36906         bootstrap: remove the need for a sorted .gitignore file
36907         * build-aux/bootstrap (insert_sorted_if_absent): Adjust and
36908         rename to insert_if_absent(), so that we don't need or generate
36909         a sorted .gitignore file.  We do require a .gitignore with no
36910         existing duplicate entries and enforce that.
36911         (sort_patterns): Remove this function as we now use the simpler
36912         technigue of inserting blacklist entries at the top of the file,
36913         assuming gnulib won't be inserting !whitelist entries.
36915 2013-01-23  Paul Eggert  <eggert@cs.ucla.edu>
36917         readlinkat: don't depend on gl_FUNC_OPENAT
36918         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Don't require gl_FUNC_OPENAT.
36919         Perhaps a similar change needs to be made for linkat.m4, mkfifoat.m4,
36920         renameat.m4, symlinkat.m4; but one thing at a time.
36922         statat: new module, split out from fstatat
36923         GNU Emacs needs the POSIX-specified fstatat, but not the
36924         gnulib-specified statat and lstat.  Split the latter two into a
36925         new module 'statat'.
36926         * lib/openat.h: Depend on GNULIB_STATAT, not GNULIB_FSTATAT.
36927         * lib/openat.h, lib/statat.c (STATAT_INLINE):
36928         Rename from FSTATAT_INLINE. All uses changed.
36929         * modules/fstatat (Files): Remove lib/statat.c.
36930         (gl_MODULE_INDICATOR([fstatat])): Remove.
36931         (lib_SOURCES): Remove.
36932         (Maintainer): Add self.
36933         * modules/statat, modules/statat-tests, tests/test-statat.c: New files.
36934         * tests/test-fstatat.c (BASE): Don't define if already defined.
36935         (do_stat, do_lstat) [!TEST_STATAT]: Test fstatat instead.
36937 2013-01-22  Paul Eggert  <eggert@cs.ucla.edu>
36939         tests: don't assume fd 99 is closed
36940         * tests/test-accept.c, tests/test-accept4.c, tests/test-bind.c:
36941         * tests/test-close.c, tests/test-connect.c, tests/test-dprintf.c:
36942         * tests/test-dup.c, tests/test-dup2.c, tests/test-faccessat.c:
36943         * tests/test-fchdir.c, tests/test-fchmod.c, tests/test-fchmodat.c:
36944         * tests/test-fchown.c, tests/test-fchownat.c, tests/test-fclose.c:
36945         * tests/test-fdatasync.c, tests/test-fdopen.c, tests/test-fdopendir.c:
36946         * tests/test-fflush.c, tests/test-fgetc.c, tests/test-fputc.c:
36947         * tests/test-fread.c, tests/test-freopen.c, tests/test-fseeko4.c:
36948         * tests/test-fstat.c, tests/test-fstatat.c, tests/test-fsync.c:
36949         * tests/test-ftello4.c, tests/test-ftruncate.c, tests/test-futimens.h:
36950         * tests/test-fwrite.c, tests/test-getpeername.c:
36951         * tests/test-getsockname.c, tests/test-getsockopt.c:
36952         * tests/test-grantpt.c, tests/test-ioctl.c, tests/test-isatty.c:
36953         * tests/test-linkat.c, tests/test-listen.c, tests/test-lseek.c:
36954         * tests/test-mkdirat.c, tests/test-mkfifoat.c, tests/test-openat.c:
36955         * tests/test-pread.c, tests/test-pwrite.c, tests/test-read.c:
36956         * tests/test-readlinkat.c, tests/test-recv.c, tests/test-recvfrom.c:
36957         * tests/test-renameat.c, tests/test-select.h, tests/test-send.c:
36958         * tests/test-sendto.c, tests/test-setsockopt.c, tests/test-shutdown.c:
36959         * tests/test-symlinkat.c, tests/test-ttyname_r.c:
36960         * tests/test-unlinkat.c, tests/test-unlockpt.c:
36961         * tests/test-utimensat.c, tests/test-vdprintf.c, tests/test-write.c:
36962         Close file descriptor 99, instead of assuming it's already closed.
36964 2013-01-21  Paul Eggert  <eggert@cs.ucla.edu>
36966         stpncpy: port to OS X 10.8
36967         * lib/stpncpy.c (__stpncpy): Parenthesize name when defining function.
36968         Problem reported by Assaf Gordon in <http://bugs.gnu.org/13495>.
36970 2013-01-16  Paul Eggert  <eggert@cs.ucla.edu>
36972         unistd: port to recent mingw
36973         * lib/unistd.in.h: Remove special invocation convention for mingw,
36974         which breaks for the latest mingw version.  See John W. Eaton in
36975         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00100.html>.
36977         largefile: port better to Mac OS X 10.5
36978         This patch is backported from Autoconf git.
36979         * m4/largefile.m4 (AC_SYS_LARGEFILE): Use AC_DEFINE, not
36980         AH_VERBATIM, to define _DARWIN_USE_64_BIT_INODE, to avoid problems
36981         with ino_t size being different for configuration time versus
36982         build/run time.  Problem reported by PHO in
36983         <http://lists.gnu.org/r/bug-autoconf/2013-01/msg00040.html>.
36985 2013-01-15  Paul Eggert  <eggert@cs.ucla.edu>
36987         doc: clarify -Werror
36988         * doc/warnings.texi (warnings): -Werror is not always a bad idea;
36989         clarify that it's intended for developers, not for ordinary builds,
36990         and mention --enable-gcc-warnings as one possible use.
36992 2013-01-15  Andoni Morales Alastruey  <ylatuya@gmail.com>  (tiny change)
36994         stdint: fix build with Android's Bionic fox x86
36995         * lib/stdint.in.h: fix check to test if included-fixed/sys/types.h
36996         was already included as _SSIZE_T_DEFINED_ might also be defined
36997         in include/machine/_types.h, which is included by stdio.h
36999 2013-01-13  Paul Eggert  <eggert@cs.ucla.edu>
37001         net_if-tests: port to Solaris 7 + GCC 3.4.6
37002         Problem reported by Tom G. Christensen in
37003         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00091.html>.
37004         * tests/test-net_if.c (ni): Move to next the code that uses it,
37005         so that it's declared only if needed.
37007 2013-01-12  Paul Eggert  <eggert@cs.ucla.edu>
37009         net_if-tests: port to older Solaris
37010         Problem reported by Tom G. Christensen in
37011         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00086.html>.
37012         * modules/net_if-tests (NET_IF_LIB): New substitution.
37013         (test_net_if_LDADD): New makefile macro, which uses NET_IF_LIB.
37014         (HAVE_IF_NAMEINDEX): New C macro.
37015         * tests/test-net_if.c: Bypass most of the test if !HAVE_IF_NAMEINDEX.
37017         system-quote-tests: port to older Solaris
37018         Problem reported by Tom G. Christensen in
37019         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00086.html>.
37020         * tests/test-system-quote-child.c (fopen, fread): Undef.
37022         c-xvasprintf etc.: fix link errors on older Solaris
37023         These need to link with @LIBINTL@ to get libintl_gettext.
37024         Problem reported by Tom G. Christensen in
37025         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00086.html>.
37026         * modules/c-xvasprintf-tests (test_c_xvasprintf_LDADD):
37027         * modules/readtokens-tests (test_readtokens_LDADD): New macros.
37028         * modules/futimens-tests (test_futimens_LDADD):
37029         * modules/utimens-tests (test_utimens_LDADD): Add @LIBINTL@.
37031 2013-01-10  Paul Eggert  <eggert@cs.ucla.edu>
37033         locale: port to Solaris 2.6 and 7 + GNU gettext
37034         * lib/locale.in.h: Just include_next <locale.h> when
37035         being invoked recursively.  This prevents problems on Solaris 2.6 and 7
37036         when combining the localename module with GNU gettext 0.18.2.
37037         Problem reported by Tom G. Christensen in
37038         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00084.html>.
37040 2013-01-09  Paul Eggert  <eggert@cs.ucla.edu>
37042         stdlib: port to Solaris 2.6
37043         Also, the code worked on Solaris 7 through 9 only by accident.
37044         Problem reported by Tom G. Christensen in
37045         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00059.html>.
37046         * lib/stdlib.in.h: If __need_system_stdlib_h is defined,
37047         simply include the system stdlib.h.
37048         * lib/getopt.in.h (__need_system_stdlib_h):
37049         * lib/pthread.in.h (__need_system_stdlib_h):
37050         * lib/unistd.in.h (__need_system_stdlib_h) [!__GLIBC__]:
37051         Define when including <stdlib.h>, to avoid problems at least for
37052         the pthread case on Solaris 2.6 and 7.  These .h files can get by
37053         with the system stdlib.h.
37055 2013-01-06  Paul Eggert  <eggert@cs.ucla.edu>
37057         doc: update main copyright year
37058         * doc/gnulib.texi: Update copyright date.
37060         doc: improve ISO 8601 discussion
37061         * doc/parse-datetime.texi (Combined date and time of day items):
37062         Specify more carefully what formats are supported and what is
37063         done with excess precision.
37065 2013-01-05  Paul Eggert  <eggert@cs.ucla.edu>
37067         doc: avoid small caps
37068         * doc/parse-datetime.texi, doc/regex.texi: Don't use small caps;
37069         they're more trouble than they're worth.  Suggested by Karl Berry
37070         in <http://bugs.gnu.org/13360>.
37072         regex: conform to strict C
37073         * lib/regcomp.c (parse_bracket_exp): Add cast to conform to strict C.
37074         From Aharon Robbins.
37076         gnulib-tool: fix incompatibility with autopoint 0.18.2
37077         * gnulib-tool: Don't indent AM_GNU_GETTEXT_VERSION line.
37078         Problem reported by Tom G. Christensen in
37079         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00053.html>.
37081 2013-01-04  Paul Eggert  <eggert@cs.ucla.edu>
37083         fprintftime: bring back and reword fwrite comment
37084         * lib/strftime.c (cpy) [FPRINTFTIME]: Re-add reworded comment.
37086         stdio: remove now-unnecessary stdio.c
37087         Since stdio.in.h no longer uses inline functions, we no longer
37088         need to compile the extern versions.
37089         * lib/stdio.c: Remove.
37090         * modules/stdio (Files): Remove lib/stdio.c.
37091         (lib_SOURCES): Remove.
37093         unicodeio: depend on stdio, not ignore-value
37094         * lib/unicodeio.c: Do not include ignore-value.h.
37095         (fwrite_success_callback): Use plain fwrite, not ignore_value + fwrite.
37096         * modules/unicodeio (Depends-on): Depend on stdio, not ignore-value.
37098         fprintftime: depend on stdio, not ignore-value
37099         * lib/strftime.c [FPRINTFTIME]: Do not include ignore-value.h.
37100         (cpy) [FPRINTFTIME]: Use plain fwrite, not ignore_value of fwrite,
37101         since the stdio module arranges to silence that warning now.
37102         * modules/fprintftime (Depends-on): Depend on stdio, not ignore-value.
37104 2012-10-04  Simon Josefsson  <simon@josefsson.org>
37106         stdint-tests: Fix expanded-before-required-warning.
37107         * modules/stdint-tests (Depends-on): Use AC_REQUIRE.
37109 2013-01-03  Paul Eggert  <eggert@cs.ucla.edu>
37111         fwrite: silence __wur only for older glibc versions
37112         * lib/stdio.in.h (fwrite): Limit workaround to glibc 2.4 through 2.15.
37113         This will help us remove this workaround some time in the far future.
37115 2013-01-03  Eric Blake  <eblake@redhat.com>
37117         fwrite: silence __wur without using inline
37118         * lib/stdio.in.h (fwrite): Limit warn_unused_result workaround to
37119         just gcc, and in a way that avoids inline issues.
37120         * modules/stdio (Depends-on): Drop extern-inline.
37122 2013-01-03  Jim Meyering  <jim@meyering.net>
37124         update-copyright: avoid copyright notice date corruption
37125         Given a sequence of copyright year numbers in which the final
37126         one was a two-digit number that happened to be a substring of
37127         a preceding four-digit year number, we would mistakenly update
37128         the substring (from two- to four-digit) rather than the two-digit
37129         number at the end, which, combined with the addition of the current
37130         4-digit year number would yield two 5-digit year numbers, e.g.,
37131         here, it would convert the first "99" to "1999, 2013" rather than
37132         the final one:
37133           1991, 99
37134           11999, 20131, 1999
37135         * build-aux/update-copyright: Tighten a regexp.
37136         * tests/test-update-copyright.sh: Add a test case to trigger the bug.
37137         Reported by Joseph Myers in
37138         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/32281
37140 2013-01-01  Paul Eggert  <eggert@cs.ucla.edu>
37142         regex: omit needless signed-pointer casts
37143         * lib/regcomp.c (build_charclass, build_charclass_op):
37144         Use char *, not unsigned char *, for class name and extra.
37145         The char values are always nonnegative so there's no need to
37146         insist on unsigned char * here, and using char * removes the need
37147         for casts.  Reported by Aharon Robbins in
37148         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
37150         regex: support Gawk, which never uses alloca
37151         * lib/regex_internal.h [!_LIBC && !HAVE_ALLOCA]:
37152         Do not include in this case.  Gawk doesn't supply a substitute
37153         alloca.h and doesn't need one.
37155         regex: port __libc_lock_define usage to C89
37156         * lib/regex_internal.h (__libc_lock_define) [!_LIBC]: Remove.
37157         (struct re_dfa_t): Use #ifdef instead.  '__libc_lock_define (, lock)'
37158         does not conform to C89, as it has an empty macro argument.
37159         Reported by Aharon Robbins in
37160         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
37162 2013-01-01  Eric Blake  <eblake@redhat.com>
37164         maint: update all copyright year number ranges
37165         Run "make update-copyright".
37167         version-etc: bump copyright year reported in --version
37168         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2013.
37170 2012-12-31  Eric Blake  <eblake@redhat.com>
37172         sigprocmask-tests: skip test if pid is unexpectedly large
37173         * tests/test-sigprocmask.c (main): Add range check.
37175         git-version-gen: avoid test -z portability glitch
37176         * build-aux/git-version-gen: Prefer portable test spelling, since
37177         git-version-gen is run on more than just developer machines.
37179 2012-12-31  Peter Rosin  <peda@lysator.liu.se>  (tiny change)
37181         git-version-gen: add --fallback option to use if git is not present
37182         * build-aux/git-version-gen: Add support for the new option --fallback,
37183         which comes into play when there is no $tarball_version_file and
37184         git is not working.
37185         (scriptversion): Update.
37187         maint.mk: handle missing git with more grace
37188         * top/maint.mk (no-submodule-changes, public-submodule-commit):
37189         Quietly proceed if git is not present.
37191 2012-12-31  Eric Blake  <eblake@redhat.com>
37193         dup2: work around cygwin bug
37194         * m4/dup2.m4 (gl_FUNC_DUP2): Flush out cygwin core dump.
37195         * lib/dup2.c (rpl_dup2): Work around it.
37196         * doc/posix-functions/dup2.texi (dup2): Document it.
37198 2012-12-30  Paul Eggert  <eggert@cs.ucla.edu>
37200         regex: remove unnecessary dependency on localcharset.h
37201         * lib/regex_internal.h [!_LIBC]: Don't include localcharset.h;
37202         hasn't been needed for years.
37203         * modules/regex (Depends-on): Remove localcharset.
37205         regex: revert single-byte change
37206         * lib/regexec.c (check_node_accept_bytes): Revert previous change
37207         to this function.  This was alredy fixed in a different way, at
37208         bdb56bacd57070eced9998569ffe3f3c37ef5964 in the glibc git; see
37209         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=510219> and
37210         <http://sourceware.org/bugzilla/show_bug.cgi?id=9697>.
37212         regex: simplify based on Gawk version
37213         * lib/regex_internal.c (re_dfa_add_node): Simplify.
37214         Reported by Aharon Robbins in
37215         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
37217 2012-12-29  Paul Eggert  <eggert@cs.ucla.edu>
37219         regex: check that pattern char is single-byte
37220         Reported by Aharon Robbins in
37221         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
37222         * lib/regexec.c (check_node_accept_bytes):
37223         Return 0 if the pattern string has a multibyte character here.
37225         regex: implement rational ranges
37226         Reported by Aharon Robbins in
37227         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
37228         * lib/regcomp.c (build_range_exp) [!_LIBC]:
37229         * lib/regexec.c (check_node_accept_bytes) [!_LIBC]:
37230         Implement rational ranges.
37232         regex: avoid redefining __wctype
37233         Reported by Aharon Robbins in
37234         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
37235         * lib/regex_internal.h (__wctype, __iswctype) [!_LIBC]:
37236         #undef before defining.
37238         regex: port to hosts where malloc (0) == NULL
37239         Reported by Aharon Robbins in
37240         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
37241         * lib/regex_internal.c (re_node_set_alloc):
37242         Don't assume that malloc (0) yields nonnull.
37243         * lib/regex_internal.h (MALLOC_0_IS_NONNULL): New macro.
37244         * m4/regex.m4 (gl_PREREQ_REGEX): Require gl_EEMALLOC.
37245         * modules/regex (Files): Add m4/eealloc.m4.
37247         regex: port to C89
37248         Reported by Aharon Robbins in
37249         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
37250         * lib/regcomp.c (init_word_char): Declaration before statement.
37252         regex: merge glibc changes
37253         Also, copy the license wording from glibc.  This simplifies
37254         merging changes.  gnulib-tool will change the wording to GPL as
37255         appropriate, when importing it to other packages.  The only
37256         glibc change made since the last merge, which needs merging, is:
37257         2012-05-24 Andreas Schwab <schwab@linux-m68k.org>
37258         * lib/regex_internal.h (gettext): Remove use of INTUSE.
37260         * users.txt: Add Emacs.
37262         doc: omit mention of version when not needed
37263         * doc/gnulib-intro.texi (Portability and Application Code):
37264         * doc/gnulib.texi (Brief Overview, Legacy Function Substitutes):
37265         Don't mention particular dates or versions when not necessary, so
37266         that the documentation won't go out of date so quickly.
37268         * doc/intprops.texi (Integer Properties): Fix Texinfo typo.
37270 2012-12-28  Akim Demaille  <akim@lrde.epita.fr>
37272         bootstrap: pass --force to autoreconf.
37273         * build-aux/bootstrap (AUTORECONFFLAGS): New.
37274         Add "--force" so that Automake's ylwrap and other such tools
37275         be updated at each bootstrap invocation.
37276         Use it.
37278 2012-12-27  Paul Eggert  <eggert@cs.ucla.edu>
37280         argp: fix port of port new 'inline' approach to Sun C 5.12 + Solaris 10
37281         The earlier patch forgot to update one of the #if conditions, causing
37282         a problem on Debian testing i386 reported by Mats Erik Andersson
37283         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00124.html>.
37284         * lib/argp-fmtstream.h (__argp_fmtstream_putc, argp_fmtstream_putc)
37285         (__argp_fmtstream_puts, argp_fmtstream_puts)
37286         (__argp_fmtstream_write, argp_fmtstream_write)
37287         [!_LIBC && !__OPTIMIZE__]: Declare as ARGP_FS_EI, not as extern.
37289         * doc/gnulib-readme.texi: Minor fixups.
37290         (Portability guidelines): Modernize URLs.  Remove some repetition.
37291         (Indent with spaces not TABs): Reword to avoid too-long lines.
37292         Remove some '@ifset standalone' stuff that isn't used.
37294         * doc/gnulib-readme.texi (Portability guidelines):
37295         ctype.h, not ctime.h.
37297         Correct name of POSIX.1-2001.
37298         * doc/posix-functions/fgetc.texi (fgetc):
37299         * doc/posix-functions/fgets.texi (fgets):
37300         * doc/posix-functions/fread.texi (fread):
37301         * doc/posix-functions/fscanf.texi (fscanf):
37302         * doc/posix-functions/getc.texi (getc):
37303         * doc/posix-functions/getchar.texi (getchar):
37304         * doc/posix-functions/scanf.texi (scanf):
37305         POSIX.1-2001, not POSIX-2001.
37307         doc: move README into manual
37308         * README: Move contents to new file doc/gnulib-readme.texi.
37309         Replace with a one-line summary.
37310         * doc/gnulib.texi (Brief Overview): New section,
37311         with old intro preface.  Include gnulib-readme.texi for contents.
37312         (Philosophy): Rename from "Introduction", since this
37313         section no longer introduces the rest.  Write a new preface.
37314         * doc/gnulib-readme.texi: New file, with the old contents of
37315         README texinfo-ized.  This way, the README info appears
37316         in the online and printed manual.
37318 2012-12-25  Ben Pfaff  <blp@cs.stanford.edu>
37320         c-xvasprintf: Fix "implicit declaration of function" GCC warning.
37321         * lib/c-xvasprintf.c: Add missing #include "c-vasprintf.h", for
37322         c_vasprintf() prototype.
37324 2012-12-24  Ben Pfaff  <blp@cs.stanford.edu>
37326         c-vasprintf: Fix "empty declaration" warning reported by GCC.
37327         * lib/c-vasprintf.h: Remove stray semicolon.
37329 2012-12-23  Paul Eggert  <eggert@cs.ucla.edu>
37331         gettext: avoid obsolete macro AM_PROG_MKDIR_P
37332         It is obsolete and is planned to be removed from Automake 1.14; see
37333         <http://lists.gnu.org/r/automake/2012-12/msg00029.html>.
37334         * build-aux/po/Makefile.in.in (install-data, install-data-yes)
37335         (installdirs-data, installdirs-data-yes):
37336         Use $(MKDIR_P), not $(mkdir_p).
37337         * m4/intl.m4 (AM_INTL_SUBDIR):
37338         * m4/po.m4 (AM_PO_SUBDIRS):
37339         Require AC_PROG_MKDIR_P, not AM_PROG_MKDIR_P.
37341 2012-12-22  Paul Eggert  <eggert@cs.ucla.edu>
37343         argp: port new 'inline' approach to Sun C 5.12 + Solaris 10
37344         On this platform, we are not optimizing but we are using
37345         the substitute for extern inlines, so compile as if
37346         C99-style extern inline, or a substitute, is available.
37347         * lib/argp-fmtstream.h (argp_fmtstream_set_lmargin)
37348         (__argp_fmtstream_set_lmargin, argp_fmtstream_set_rmargin)
37349         (__argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin)
37350         (__argp_fmtstream_set_wmargin, argp_fmtstream_point)
37351         (__argp_fmtstream_point) [!_LIBC && !__OPTIMIZE__]:
37352         Declare as ARGP_FS_EI, not as extern.
37353         * lib/argp.h (argp_usage, __argp_usage, _option_is_short)
37354         (__option_is_short, _option_is_end, __option_is_end)
37355         [!_LIBC && __USE_EXTERN_INLINES]:
37356         Declare as ARGP_EI, not as extern.
37358 2012-12-21  Paul Eggert  <eggert@cs.ucla.edu>
37360         AC_PROG_MKDIR_P: port workaround to pre-2.62 Autoconf
37361         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P, AC_C_RESTRICT):
37362         Use m4_ifndef([AC_AUTOCONF_VERSION], ...), not
37363         m4_if(m4_version_compare(m4_defn([AC_AUTOCONF_VERSION]),[2.62]),[-1],
37364         ...), as the latter is fatal with older Autoconfs.
37365         Problem reported and fix suggested by Eric Blake in thread starting at
37366         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00097.html>.
37368 2012-12-20  Paul Eggert  <eggert@cs.ucla.edu>
37370         AC_PROG_MKDIR_P: don't workaround if not buggy
37371         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P):
37372         Define only for Autoconf versions before 2.62.
37373         (AC_C_RESTRICT): Use documented AC_AUTOCONF_VERSION, not
37374         undocumented m4_PACKAGE_VERSION, for consistency with the
37375         abovementioned change to AC_PROG_MKDIR_P.  This should suffice
37376         since we're checking for 2.62 or later, and AC_AUTOCONF_VERSION
37377         was introduced in 2.62.
37379 2012-12-15  Ben Pfaff  <blp@cs.stanford.edu>
37381         New 'c-*printf' modules for formatted output in C locale.
37383         New module 'c-vasnprintf'.
37384         * modules/c-vasnprintf: New file.
37385         * lib/c-vasnprintf.c: New file.
37386         * lib/c-vasnprintf.h: New file.
37388         New module 'c-snprintf'.
37389         * modules/c-snprintf: New file.
37390         * modules/c-snprintf-tests: New file.
37391         * lib/c-snprintf.c: New file.
37392         * lib/c-snprintf.h: New file.
37393         * tests/test-c-snprintf.c: New file.
37394         * tests/test-c-snprintf.sh: New file.
37396         New module 'c-vsnprintf'.
37397         * modules/c-vsnprintf: New file.
37398         * modules/c-vsnprintf-tests: New file.
37399         * lib/c-vsnprintf.c: New file.
37400         * lib/c-vsnprintf.h: New file.
37401         * tests/test-c-vsnprintf.c: New file.
37402         * tests/test-c-vsnprintf.sh: New file.
37404         New module 'c-vasprintf'.
37405         * modules/c-vasprintf: New file.
37406         * modules/c-vasprintf-tests: New file.
37407         * lib/c-asprintf.c: New file.
37408         * lib/c-vasprintf.c: New file.
37409         * lib/c-vasprintf.h: New file.
37410         * tests/test-c-vasprintf.c  +: New file.
37411         * tests/test-c-vasprintf.sh: New file.
37413         New module 'c-xvasprintf'.
37414         * modules/c-xvasprintf: New file.
37415         * modules/c-xvasprintf-tests: New file.
37416         * lib/c-xasprintf.c: New file.
37417         * lib/c-xvasprintf.c: New file.
37418         * lib/c-xvasprintf.h: New file.
37419         * tests/test-c-xvasprintf.c: New file.
37420         * tests/test-c-xvasprintf.sh: New file.
37422 2012-12-18  Paul Eggert  <eggert@cs.ucla.edu>
37424         argp: better 'inline'
37425         Use extern-inline module to declare extern inline functions.
37426         This avoids some bogus warning diagnostics.  Problem discovered
37427         when modifying GNU tar to use the manywarnings module.
37428         * lib/argp.h, lib/argp-xinl.c (ARGP_EI) [!_LIBC]:
37429         * lib/argp-fmtstream.h, lib/argp-fs-xinl.c (ARGP_FS_EI) [!_LIBC]:
37430         Define based on extern-inline.
37431         * modules/argp (Depends-on): Add extern-inline.
37433 2012-12-17  Paul Eggert  <eggert@cs.ucla.edu>
37435         filemode, sys_stat: Handle MPX files a la AIX.
37436         * lib/filemode.c (ftypelet): Report 'm' for MPX files.
37437         * lib/sys_stat.in.h (S_ISMPX): New macro.
37438         * tests/test-sys_stat.c: Add tests for MPX files.
37440 2012-12-16  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
37442         x-to-1: honor $PERL
37443         * build-aux/x-to-1.in: Run $HELP2MAN via $PERL so that the user gets
37444         a chance to use his preferred version of Perl.  This is typically
37445         required by Darwin users whose default /usr/bin/perl does not have all
37446         the libraries required by help2man, and who need to use their MacPorts
37447         installation of Perl instead.
37449 2012-12-16  Akim Demaille  <akim@lrde.epita.fr>
37451         gnu-web-doc-update: add all the new files, even in new directories
37452         See http://lists.gnu.org/r/bug-gnulib/2012-12/msg00057.html
37453         * build-aux/gnu-web-doc-update (--dry-run, $dryrun): New.
37454         Use it.
37455         (main): Don't use cvsutils to get the list of unknown files,
37456         just add all the existing files and directories.
37458 2012-12-16  Akim Demaille  <akim@lrde.epita.fr>
37460         gnu-web-doc-update: improve --help
37461         * build-aux/gnu-web-doc-update: Move comments into --help.
37463 2012-12-07  Eric Wong  <normalperson@yhbt.net>
37465         mountlist: recognize more "dummy" file systems
37466         * lib/mountlist.c (ME_DUMMY_0):
37467         Add these dummy FS names to the list:
37468         - "debugfs" virtual filesystem for kernel debugging
37469         - "devpts" PTY slave filesystem
37470         - "devtmpfs" device filesystem on top of tmpfs/ramfs
37471         - "fusectl" control filesystem for FUSE
37472         - "mqueue" enumerates POSIX message queues
37473         - "rpc_pipefs" kernel <-> userspace bridge for NFS
37474         - "sysfs" is for exporting kernel objects
37475         - "devfs" device filesystem for Linux 2.4 and FreeBSD
37477 2012-12-11  Paul Eggert  <eggert@cs.ucla.edu>
37479         extern-inline: avoid incompatibility with Darwin Libc
37480         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE): Do not use
37481         extern inline if __APPLE__.  Use _GL_UNUSED in the non-inline branch.
37482         Problem reported by Akim Demaille in
37483         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00023.html>.
37485 2012-12-11  Simon Josefsson  <simon@josefsson.org>
37487         gnupload: Work with GnuPG using gpg-agent (for smartcards).
37488         * build-aux/gnupload: If GnuPG is configured to use gpg-agent,
37489         let it handle password prompting.
37491 2012-12-10  Eli Zaretskii  <eliz@gnu.org>
37493         canonicalize, canonicalize-lgpl: Microsoft Windows prefix fixes
37494         * lib/canonicalize.c (canonicalize_filename_mode):
37495         * lib/canonicalize-lgpl.c (__realpath): Recompute prefix_len after
37496         fetching the current directory.  Don't overrun the beginning of
37497         rpath if there's no slashes after the MS-Windows drive letter.
37499 2012-12-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
37501         maint.mk: avoid extra forks
37502         * top/maint.mk (_cfg_mk): The GNU make manual documents that
37503         "$(wildcard FILE)" expands to empty if FILE doesn't exist.
37504         So use that instead of "$(shell test -f FILE && echo FILE)".
37506 2012-12-07  Paul Eggert  <eggert@cs.ucla.edu>
37508         vasnprintf: fix ASCII_ONLY typo
37509         * lib/unistdio/u8-vasnprintf.c (FCHAR_T_ONLY_ASCII):
37510         * lib/unistdio/u16-vasnprintf.c (FCHAR_T_ONLY_ASCII):
37511         * lib/unistdio/u32-vasnprintf.c (FCHAR_T_ONLY_ASCII):
37512         New macro, replacing ASCII_ONLY.  This fixes a typo.  See thread at
37513         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00021.html>.
37515 2012-12-05  Paul Eggert  <eggert@cs.ucla.edu>
37517         list, oset, xlist, xoset: fix extern inline issue with C99
37518         This was introduced by my recent changes for 'inline'.
37519         Problem reported for gettext by Daiki Ueno in
37520         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00000.html>.
37521         * lib/gl_list.h (gl_list_nx_create_empty, gl_list_create)
37522         (gl_list_nx_create, gl_list_size, gl_list_node_value)
37523         (gl_list_node_set_value, gl_list_node_nx_set_value, gl_list_next_node)
37524         (gl_list_previous_node, gl_list_get_at)
37525         (gl_list_nx_set_at, gl_list_search, gl_list_search_from)
37526         (gl_list_search_from_to, gl_list_indexof, gl_list_indexof_from)
37527         (gl_list_indexof_from_to, gl_list_nx_add_first, gl_list_nx_add_last)
37528         (gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at)
37529         (gl_list_remove_node, gl_list_remove_at, gl_list_remove, gl_list_free)
37530         (gl_list_iterator, gl_list_iterator_from_to, gl_list_iterator_next)
37531         (gl_list_iterator_free, gl_sortedlist_search)
37532         (gl_sortedlist_search_from_to, gl_sortedlist_indexof)
37533         (gl_sortedlist_indexof_from_to, gl_sortedlist_add, gl_sortedlist_nx_add)
37534         (gl_sortedlist_remove):
37535         * lib/gl_oset.h (go_oset_nx_create_empty, gl_oset_size, gl_oset_search)
37536         (gl_oset_search_atleast, gl_oset_nx_add, gl_oset_remove, gl_oset_free)
37537         (gl_oset_iterator, gl_oset_iterator_next, gl_oset_iterator_free):
37538         * lib/gl_xlist.h (gl_list_create_empty, gl_list_create)
37539         (gl_list_node_set_value, gl_list_set_at, gl_list_add_first)
37540         (gl_list_add_last, gl_list_add_before, gl_list_add_after)
37541         (gl_list_add_at, gl_sortedlist_add):
37542         * lib/gl_xoset.h (gl_oset_create_empty, gl_oset_add):
37543         Wrap these extern decls inside "#if 0", because they are implemented
37544         as inline functions, and extern inline is not what's wanted here.
37545         It would simplify these .h files to remove the extern decls entirely,
37546         although a downside would be less-clear separation between
37547         specification and implementation.
37549 2012-11-29  Paul Eggert  <eggert@cs.ucla.edu>
37551         sys_stat: no 'static inline'
37552         * lib/sys_stat.in.h (rpl_mkdir): Now static, not static inline.
37553         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Do not require AC_C_INLINE.
37555         extern-inline: no 'static inline'
37556         * m4/extern-inline.m4 (gl_EXTERN_INLINE):
37557         Do not require AC_C_INLINE.
37558         (_GL_INLINE, _GL_EXTERN_INLINE): Define as 'static', not as
37559         'static inline', for older compilers.
37561         snippet/warn-on-use: no 'static inline'
37562         * build-aux/snippet/warn-on-use.h:
37563         Remove unnecessary 'inline' in comment.
37565         rbtree-list, rbtreehash-list: no 'static inline'
37566         * lib/gl_anyrbtree_list2.h (rotate_left, rotate_right):
37567         * lib/gl_anytree_list2.h (node_at):
37568         * lib/gl_anytreehash_list1.h (hash_resize_after_add)
37569         (gl_oset_first, add_nodes_to_buckets):
37570         Now static, not static inline.
37572         regex: no 'static inline'
37573         * lib/regex_internal.c (calc_state_hash):
37574         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain)
37575         (bitset_empty, bitset_set_all, bitset_copy, bitset_not, bitset_merge)
37576         (bitset_mask, re_string_char_size_at, re_string_wchar_at):
37577         Now static, not static inline.
37578         (inline) [__GNUC__ < 3 && _LIBC]:
37579         Remove macro; no longer needed.
37581         xvasprintf: no 'static inline'
37582         * lib/xvasprintf.c (xstrcat):
37583         Now static, not static inline.
37584         * m4/xvasprintf.m4 (gl_XVASPRINTF):
37585         Do not require AC_C_INLINE.
37587         parse-datetime, parse-duration: no 'static inline'
37588         * lib/parse-datetime.y (to_uchar):
37589         * lib/parse-duration.c (str_const_to_ul, str_const_to_l)
37590         (scale_n_add):
37591         Now static, not static inline.
37592         * m4/parse-datetime.m4 (gl_PARSE_DATETIME):
37593         * modules/parse-duration (configure.ac):
37594         Do not require AC_C_INLINE.
37596         getaddrinfo: no 'static inline'
37597         * lib/getaddrinfo.c (validate_family):
37598         Now static, not static inline.
37599         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO):
37600         Do not require AC_C_INLINE.
37602         ftruncate, fts, lstat, openat, raise: no 'static inline'
37603         * lib/ftruncate.c (chsize_nothrow):
37604         * lib/fts.c (opendirat, diropen):
37605         * lib/lstat.c (orig_lstat):
37606         * lib/openat.c (orig_openat):
37607         * lib/raise.c (raise_nothrow):
37608         Now static, not static inline.
37609         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE):
37610         * m4/fts.m4 (gl_FUNC_FTS_CORE):
37611         * m4/lstat.m4 (gl_PREREQ_LSTAT):
37612         * m4/openat.m4 (gl_PREREQ_OPENAT):
37613         * m4/raise.m4 (gl_PREREQ_RAISE):
37614         Do not require AC_C_INLINE.
37616         fflush, stat: no 'static inline'
37617         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
37618         (clear_ungetc_buffer, disable_seek_optimization)
37619         (restore_seek_optimization, update_fpos_cache):
37620         * lib/stat.c (orig_stat):
37621         Now static, not static inline.
37622         * lib/fflush.c (disable_seek_optimization, restore_seek_optimization)
37623         (update_fpos_cache):
37624         Define only if ! (defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1).
37625         * m4/fflush.m4 (gl_PREREQ_FFLUSH):
37626         * m4/stat.m4 (gl_PREREQ_STAT):
37627         Do not require AC_C_INLINE.
37629         error, filevercmp: no 'static inline'
37630         * lib/error.c (is_open, flush_stdout):
37631         * lib/filevercmp.c (order):
37632         Now static, not static inline.
37633         * m4/error.m4 (gl_PREREQ_ERROR):
37634         * modules/filevercmp (configure.ac):
37635         Do not require AC_C_INLINE.
37637         dup, execute, fatal-signal, etc.: no 'static inline'
37638         * lib/dup.c (dup_nothrow):
37639         * lib/execute.c (nonintr_close, nonintr_open):
37640         * lib/fatal-signal.c (uninstall_handlers, install_handlers):
37641         * lib/fopen.c (orig_fopen):
37642         * lib/freadseek.c (freadptrinc):
37643         * lib/freopen.c (orig_freopen):
37644         * lib/fstat.c (orig_fstat, fstat_nothrow):
37645         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit)
37646         (get_rusage_as_via_iterator):
37647         * lib/get-rusage-data.c (get_rusage_data_via_setrlimit):
37648         * lib/getdtablesize.c (_setmaxstdio_nothrow):
37649         * lib/isatty.c (_isatty_nothrow):
37650         * lib/open.c (orig_open):
37651         * lib/read.c (read_nothrow):
37652         * lib/sigprocmask.c (signal_nothrow):
37653         * lib/spawn-pipe.c (nonintr_close, nonintr_open):
37654         * lib/vasnprintf.c (MAX_ROOM_NEEDED):
37655         * lib/wait-process.c (unregister_slave_subprocess):
37656         * lib/write.c (write_nothrow):
37657         Now static, not static inline.
37658         * lib/spawn-pipe.c (nonintr_open): Define only if
37659         (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__.
37660         * m4/dup.m4 (gl_PREREQ_DUP):
37661         * m4/execute.m4 (gl_EXECUTE):
37662         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL):
37663         * m4/fopen.m4 (gl_PREREQ_FOPEN):
37664         * m4/freadseek.m4 (gl_FUNC_FREADSEEK):
37665         * m4/freopen.m4 (gl_PREREQ_FREOPEN):
37666         * m4/fstat.m4 (gl_PREREQ_FSTAT):
37667         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE):
37668         * m4/isatty.m4 (gl_PREREQ_ISATTY):
37669         * m4/open.m4 (gl_PREREQ_OPEN):
37670         * m4/read.m4 (gl_PREREQ_READ):
37671         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK):
37672         * m4/spawn-pipe.m4 (gl_SPAWN_PIPE):
37673         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF):
37674         * m4/wait-process.m4 (gl_WAIT_PROCESS):
37675         * m4/write.m4 (gl_PREREQ_WRITE):
37676         * modules/get-rusage-as, modules/get-rusage-data (configure.ac):
37677         Do not require AC_C_INLINE.
37679         c-strtod, memcoll, readutmp: no 'static inline'
37680         * lib/c-strtod.c (c_locale):
37681         * lib/memcoll.c (strcoll_loop):
37682         * lib/readutmp.c (desirable_utmp_entry):
37683         Now static, not static inline.
37684         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD):
37685         * m4/memcoll.m4 (gl_MEMCOLL):
37686         * m4/readutmp.m4 (gl_READUTMP):
37687         Do not require AC_C_INLINE.
37689         arctwo, md4, md5, sha1, sha256, sha512: no 'static inline'
37690         * lib/arctwo.c (to_uchar):
37691         * lib/md4.c (set_uint32):
37692         * lib/md5.c (set_uint32):
37693         * lib/sha1.c (set_uint32):
37694         * lib/sha256.c (set_uint32):
37695         * lib/sha512.c (set_uint64):
37696         Now static, not static inline.  This is a bit simpler, and doesn't
37697         affect performance with GCC and default optimization.
37698         * m4/arctwo.m4 (gl_ARCTWO):
37699         * m4/md4.m4 (gl_MD4):
37700         * m4/md5.m4 (gl_MD5):
37701         * m4/sha1.m4 (gl_SHA1):
37702         * m4/sha256.m4 (gl_SHA256):
37703         * m4/sha512.m4 (gl_SHA512):
37704         Do not require AC_C_INLINE.
37706         cond, lock, thread: better 'inline'
37707         * lib/glthread/cond.c, lib/glthread/cond.h (_GLTHREAD_COND_INLINE):
37708         * lib/glthread/thread.c, lib/glthread/thread.h (_GLTHREAD_THREAD_INLINE):
37709         New macros.  Use them instead of static inline, for header functions.
37710         * lib/glthread/cond.c (gl_waitqueue_init, gl_waitqueue_remove)
37711         (gl_waitqueue_notify_first, gl_waitqueue_notify_all):
37712         * lib/glthread/lock.c (gl_waitqueue_init)
37713         (gl_waitqueue_notify_first, gl_waitqueue_notify_all):
37714         * lib/glthread/thread.c (get_current_thread_handle):
37715         Change 'static inline' to 'inline'.
37716         * lib/glthread/cond.h, lib/glthread/thread.h:
37717         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37718         * m4/cond.m4 (gl_COND):
37719         * m4/lock.m4 (gl_PREREQ_LOCK):
37720         * m4/thread.m4 (gl_THREAD):
37721         Do not require AC_C_INLINE.
37722         * modules/cond, modules/thread (Depends-on): Add extern-inline.
37724         chdir-long, cycle-check, savewd: better 'inline'
37725         * lib/chdir-long.c (cdb_init, cdb_fchdir, cdb_free)
37726         (find_non_slash):
37727         * lib/cycle-check.c (is_zero_or_power_of_two):
37728         * lib/savewd.c (savewd_delegating):
37729         Change 'static inline' to 'inline'.
37730         * lib/savewd.c, lib/savewd.h (SAVEWD_INLINE): New macro.
37731         Replace all remaining uses of 'static inline' with it.
37732         * lib/savewd.h:
37733         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37734         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG):
37735         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
37736         * m4/savewd.m4 (gl_SAVEWD):
37737         Do not require AC_C_INLINE.
37738         * modules/savewd (Depends-on): Add extern-inline.
37740         base32, base64: no need for 'inline'
37741         * lib/base32.c (to_uchar, get_8, decode_8):
37742         * lib/base64.c (to_uchar, get_4, decode_4):
37743         Change 'static inline' to 'inline'.
37744         * m4/base32.m4 (gl_PREREQ_BASE32):
37745         * m4/base64.m4 (gl_PREREQ_BASE64):
37746         Do not require AC_C_INLINE.
37748         array-oset, linkedhash-list, rbtree-oset: no need for 'inline'
37749         * lib/gl_array_oset.c (gl_array_nx_add_at):
37750         (gl_array_remove_at):
37751         * lib/gl_linkedhash_list.c (hash_resize_after_add)
37752         (add_to_bucket, remove_from_bucket):
37753         * lib/gl_rbtree_oset.c (rotate_left, rotate_right):
37754         Change 'static inline' to 'static', as it's simpler to omit
37755         'inline' unless there's a significant performance advantage.
37757         list, oset, xlist, xoset, xsublist: simplify via extern inline
37758         * lib/gl_list.h, lib/gl_list.c (GL_LIST_INLINE):
37759         * lib/gl_oset.c, lib/gl_oset.h (GL_OSET_INLINE):
37760         * lib/gl_xlist.c, lib/gl_xlist.h (GL_XLIST_INLINE):
37761         * lib/gl_xoset.c, lib/gl_xoset.h (GL_XOSET_INLINE):
37762         * lib/gl_xsublist.c, lib/gl_xsublist.h (GL_XSUBLIST_INLINE):
37763         New macro.  Replace all uses of 'static inline' with it.
37764         [HAVE_INLINE]: Implement functions as *_INLINE functions,
37765         instead of as macros FOO that are defined to static inline
37766         functions FOO_inline.
37767         * lib/gl_list.c, lib/gl_oset.c, lib/gl_xlist.c, lib/gl_xoset.c:
37768         * lib/gl_xsublist.c:
37769         Reimplement from scratch, by defining the corresponding *_INLINE
37770         macro and including the corresponding .h file.  This is simpler.
37771         * modules/list, modules/oset, modules/xlist, modules/xoset:
37772         (Files): Remove m4/gl_list.m4.
37773         (configure.ac): Remove gl_LIST.
37774         * m4/gl_list.m4: Remove.
37775         * modules/list, modules/oset, modules/xlist, modules/xoset:
37776         * modules/xsublist:
37777         (Depends-on): Depend on extern-inline, not inline.
37779         xalloc: better 'inline'
37780         * lib/xmalloc.c, lib/xalloc.h (XALLOC_INLINE):
37781         New macro.  Replace all uses of 'static inline' with it.
37782         (static_inline): Remove.
37783         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
37784         Let 'extern inline' do the work automatically, instead of doing
37785         it by hand.
37786         * m4/xalloc.m4 (gl_PREREQ_XALLOC, gl_PREREQ_XMALLOC):
37787         Remove.  All uses removed.
37788         * modules/xalloc (Depends-on): Remove 'inline'.  Add 'extern-inline'.
37790         gethrxtime: better 'inline'
37791         * lib/xtime.c: New file.
37792         * lib/gethrxtime.c, lib/gethrxtime.h (GETHRXTIME_INLINE):
37793         * lib/xtime.h (XTIME_INCLUDE):
37794         New macros.  Replace all uses of 'static inline' with them.
37795         * lib/gethrxtime.c (gethrxtime): Define only if
37796         ! (HAVE_ARITHMETIC_HRTIME_T && HAVE_DECL_GETHRTIME), since
37797         this source file is now always compiled, because of the extern inline.
37798         * lib/gethrxtime.h, lib/xtime.h:
37799         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37800         * m4/gethrxtime.m4 (gl_GETHRXTIME): Do not check for clock macros
37801         if gethrtime works, as they're not needed in that case.
37802         (gl_XTIME): Do not require AC_C_INLINE.
37803         (gl_PREREQ_GETHRXTIME): Remove; all uses removed, as it's always
37804         compiled now.  Move the check into gl_GETHRXTIME.
37805         * modules/gethrxtime (Files, lib_SOURCES): Add lib/xtime.c.
37806         (Depends-on): Add extern-inline.
37807         (configure.ac): gethrxtime is always compiled now.
37808         (lib_SOURCES): Add gethrxtime.c.
37810         wctype-h: better 'inline'
37811         * lib/wctype-h.c: New file.
37812         * lib/wctype.in.h (_GL_WCTYPE_INLINE):
37813         New macro.  Replace all uses of 'static inline' with it.
37814         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37815         * m4/wctype_h.m4 (gl_WCTYPE_H): Do not require AC_C_INLINE.
37816         * modules/wctype-h (Files, lib_SOURCES): Add lib/wctype-h.c.
37817         (Depends-on): Add extern-inline.
37819         unistd: better 'inline'
37820         * lib/unistd.c: New file.
37821         * lib/unistd.in.h (_GL_UNISTD_INLINE):
37822         New macro.  Replace all uses of 'static inline' with it.
37823         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37824         * m4/unistd_h.m4 (gl_UNISTD_H): Do not require AC_C_INLINE.
37825         * modules/unistd (Files, lib_SOURCES): Add lib/unistd.c.
37826         (Depends-on): Add extern-inline.
37828         sys_socket: better 'inline'
37829         * lib/sys_socket.c: New file.
37830         * lib/sys_socket.in.h (_GL_SYS_SOCKET_INLINE):
37831         New macro.  Replace all uses of 'static inline' with it.
37832         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37833         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Do not require AC_C_INLINE.
37834         * modules/sys_socket (Files, lib_SOURCES): Add lib/sys_socket.c.
37835         (Depends-on): Add extern-inline.
37837         stdio: better 'inline'
37838         * lib/stdio.c: New file.
37839         * lib/stdio.in.h (_GL_STDIO_INLINE):
37840         New macro.  Replace all uses of 'static inline' with it.
37841         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37842         * m4/stdio_h.m4 (gl_STDIO_H): Do not require AC_C_INLINE.
37843         * modules/stdio (Files, lib_SOURCES): Add lib/stdio.c.
37844         (Depends-on): Add extern-inline.
37846         sigaction: better 'inline'
37847         * lib/sig-handler.c: New file.
37848         * lib/sig-handler.h (SIG_HANDLER_INLINE):
37849         New macro.  Replace all uses of 'static inline' with it.
37850         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37851         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): Do not require AC_C_INLINE.
37852         * modules/sigaction (Files, lib_SOURCES): Add lib/sig-handler.c.
37853         (Depends-on): Add extern-inline.
37855         selinux-h: better 'inline'
37856         * lib/se-context.c, lib/se-selinux.c: New files.
37857         * lib/getfilecon.c (map_to_failure): Omit 'inline' for static function.
37858         * lib/se-context.in.h (SE_CONTEXT_INLINE):
37859         New macro.  Replace all uses of 'static inline' with it.
37860         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37861         * lib/se-selinux.in.h (SE_SELINUX_INLINE):
37862         New macro.  Replace all uses of 'static inline' with it.
37863         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37864         * modules/selinux-h (Files, lib_SOURCES):
37865         Add lib/se-context.c, lib/se-selinux.c.
37866         (Depends-on): Add extern-inline.
37867         (configure.ac): Do not require AC_C_INLINE.
37869         pthread: better 'inline'
37870         * lib/pthread.c: New file.
37871         * lib/pthread.in.h (_GL_PTHREAD_INLINE):
37872         New macro.  Replace all uses of 'static inline' with it.
37873         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37874         * m4/pthread.m4 (gl_PTHREAD_CHECK):
37875         Add AC_LIBOBJ([pthread]).  Do not require AC_C_INLINE.
37876         * modules/pthread (Files): Add lib/pthread.c.
37877         (Depends-on): Add extern-inline.
37879         math: better 'inline'
37880         * lib/math.c: New file.
37881         * lib/math.in.h (_GL_MATH_INLINE):
37882         New macro.  Replace all uses of 'static inline' with it.
37883         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37884         * m4/math_h.m4 (gl_MATH_H):
37885         Do not require AC_C_INLINE.
37886         * modules/math (Files, lib_SOURCES):
37887         Add lib/math.c.
37888         (Depends-on): Add extern-inline.
37890         count-one-bits: better 'inline'
37891         * lib/count-one-bits.c: New file.
37892         * lib/count-one-bits.h (COUNT_ONE_BITS_INLINE):
37893         New macro.  Replace all uses of 'static inline' with it.
37894         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37895         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS):
37896         Do not require AC_C_INLINE.
37897         * modules/count-one-bits (Files, lib_SOURCES):
37898         Add lib/count-one-bits.c.
37899         (Depends-on): Add extern-inline.
37901         count-leading-zeros: better 'inline'
37902         * lib/count-leading-zeros.c: New file.
37903         * lib/count-leading-zeros.h (COUNT_LEADING_ZEROS_INLINE):
37904         New macro.  Replace all uses of 'static inline' with it.
37905         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37906         * m4/count-leading-zeros.m4 (gl_COUNT_LEADING_ZEROS):
37907         Do not require AC_C_INLINE.
37908         * modules/count-leading-zeros (Files, lib_SOURCES):
37909         Add lib/count-leading-zeros.c.
37910         (Depends-on): Add extern-inline.
37912         bitrotate: better 'inline'
37913         * lib/bitrotate.c: New file.
37914         * lib/bitrotate.h (BITROTATE_INLINE):
37915         New macros.
37916         Replace all uses of 'static inline' with them.
37917         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37918         * modules/bitrotate (Files, lib_SOURCES): Add lib/bitrotate.c.
37919         (Depends-on): Add extern-inline.
37920         (configure.ac): Do not require AC_C_INLINE.
37922 2012-11-20  Theophile Ranquet  <ranquet@lrde.epita.fr>
37924         maint.mk: avoid gratuitous failure
37925         Reported by Stefano Lattarini in
37926         <http://lists.gnu.org/r/bug-bison/2012-11/msg00022.html>
37927         * top/maint.mk (public-submodule-commit): Quote more safely.
37929 2012-11-20  Eli Zaretskii  <eliz@gnu.org>
37931         canonicalize, canonicalize-lgpl: support MS-Windows file names
37932         See <http://lists.gnu.org/r/bug-gnulib/2012-11/msg00074.html>
37933         for test cases, which it'd be nice to add at some point.
37934         * lib/canonicalize.c, lib/canonicalize-lgpl.c: Include dosname.h.
37935         * lib/canonicalize.c (canonicalize_filename_mode):
37936         * lib/canonicalize-lgpl.c (__realpath):
37937         Use FILE_SYSTEM_PREFIX_LEN instead of assuming that the first
37938         slash is at the beginning of the file name.  Use ISSLASH, instead
37939         of a literal '/'.  Use IS_ABSOLUTE_FILE_NAME instead of comparing
37940         the first character with '/'.  Test for
37941         DOUBLE_SLASH_IS_DISTINCT_ROOT only if the file name does not begin
37942         with a drive letter.
37943         * lib/canonicalize.c (SLASHES): New macro.
37944         (canonicalize_filename_mode): Use SLASHES instead of a literal "/".
37946 2012-11-17  Dmitry V. Levin  <ldv@altlinux.org>
37948         fts: introduce FTS_VERBATIM
37949         * lib/fts_.h (FTS_VERBATIM): New bit flag.
37950         (FTS_OPTIONMASK, FTS_NAMEONLY, FTS_STOP): Adjust.
37951         * lib/fts.c (fts_open): Honor it.
37953 2012-11-09  Pádraig Brady  <P@draigBrady.com>
37955         getlogin-tests: allow errno == ENXIO
37956         * tests/test-getlogin.c (main): Skip tests if getlogin fails
37957         with errno == ENXIO (No controlling tty).
37958         getlogin_r-tests: Likewise. Also allow errno == ENOENT
37959         * tests/test-getlogin_r.c (main): Skip tests if getlogin_r fails
37960         with errno == ENOENT.  This was reported to happen in various
37961         situations on GNU/Linux.
37963 2012-11-09  Paul Eggert  <eggert@cs.ucla.edu>
37965         getlogin-tests: allow errno == ENOENT
37966         * tests/test-getlogin.c (main): Skip tests if getlogin fails
37967         with errno == ENOENT.  This happened to me on Ubuntu 12.04.1 x86,
37968         when running a test in an Emacs shell buffer.
37970 2012-11-08  Jim Meyering  <jim@meyering.net>
37972         tests/nap.h: avoid warning about unused variable
37973         * tests/nap.h (nap_works): Remove now-unused declaration of "result".
37975         prefix-gnulib-mk: avoid overzealous "lib/"-prefix addition
37976         * build-aux/prefix-gnulib-mk (prefix): Tighten a regexp to require
37977         white space before each of the special-cased file names, to avoid
37978         adding "lib/" after $(libdir)/.  Reported by Matias A. fonzo
37979         in http://bugs.gnu.org/12830.
37981 2012-11-08  Paul Eggert  <eggert@cs.ucla.edu>
37983         fcntl-h: default O_SEARCH, O_EXEC back to O_RDONLY
37984         O_PATH doesn't work with Linux kernel 3.6.5, as fchmod (fd, ...)
37985         fails with errno == EBADF when fd is opened with O_PATH.
37986         Reported by Jim Meyering in
37987         <http://lists.gnu.org/r/bug-gnulib/2012-11/msg00026.html>.
37988         * doc/posix-headers/fcntl.texi (fcntl.h): Document this.
37989         * lib/fcntl.in.h (O_EXEC, O_SEARCH) [O_PATH]: Default back to O_RDONLY.
37991 2012-11-07  Paul Eggert  <eggert@cs.ucla.edu>
37993         test-utimens: speed up by taking shorter naps
37994         * tests/nap.h (lt_mtime, get_mtime, nap_works, guess_delay):
37995         New functions.
37996         (nap): Use them, to do a better job of guessing the delay.
37997         On Fedora 17 with ext4 atop md atop hard disks, this made
37998         test-utimens run 10x faster, because the test napped for
37999         1 ms at a time rather than 20 ms.  Reported by Stefano Lattarini in
38000         <http://bugs.gnu.org/12820#11>.
38002 2012-11-07  Jim Meyering  <jim@meyering.net>
38004         mountlist.c: fix a compilation failure
38005         * lib/mountlist.c (read_file_system_list): Fix a compilation failure
38006         I introduced while transforming commit v0.0-7683-g613bcb6
38008 2012-11-05  Paul Eggert  <eggert@cs.ucla.edu>
38010         errno: port to LynxOS 178 2.2.2
38011         Problem reported by Joel Brobecker in
38012         <http://lists.gnu.org/r/bug-gnulib/2012-10/msg00088.html>.
38013         * doc/posix-headers/errno.texi (errno.h): Document this.
38014         * lib/errno.in.h (EILSEQ, GNULIB_defined_EILSEQ) [!EILSEQ]: New macros.
38015         * lib/strerror-override.c, lib/strerror-override.h (strerror_override):
38016         Supply a string for EILSEQ.
38017         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Check for EILSEQ.
38019 2012-11-05  Paul Eggert  <eggert@cs.ucla.edu>
38021         fcntl-h: default O_SEARCH, O_EXEC to O_PATH if available
38022         Linux kernel 2.6.39 introduced O_PATH (see
38023         <http://lwn.net/Articles/433854/>) and this is a better fallback
38024         for O_SEARCH and O_EXEC than O_RDONLY, if O_PATH is available.
38025         * doc/posix-headers/fcntl.texi (fcntl.h): Document this.
38026         * lib/fcntl.in.h (O_EXEC, O_SEARCH) [O_PATH]: Default to O_PATH.
38027         * lib/fcntl.in.h (O_ACCMODE):
38028         * tests/test-fcntl-h.c (main):
38029         Do not reject O_ACCMODE merely because it has more than the
38030         minimal number of bits, as POSIX allows extensions here.
38032 2012-11-04  Andrew Warshall  <warshall@99main.com>  (tiny change)
38034         mountlist: do not classify a bind-mounted dir entry as "dummy"
38035         * lib/mountlist.c (ME_DUMMY_0): Rename from ME_DUMMY, but omit
38036         the "none"-testing clause.
38037         (ME_DUMMY) [MOUNTED_GETMNTENT1]: New macro to encapsulate the
38038         exception for bind-mounted directories.
38040 2012-11-01  Akim Demaille  <akim@lrde.epita.fr>
38042         quote: provide a means to escape strings with nul characters
38043         * lib/quote.h, lib/quotearg.c (quote_mem, quote_n_mem): New functions.
38044         (quote, quote_n): Rename formal arguments for consistency with
38045         quotearg.
38047 2012-10-30  Paul Eggert  <eggert@cs.ucla.edu>
38049         test-raise: don't assume 199 is an invalid signal
38050         * tests/test-raise.c (main): Don't assume 199 is not a signal number.
38052         sh-quote-tests: port to Solaris 9
38053         * modules/sh-quote-tests (test_sh_quote_LDADD): Add @LIBINTL@.
38054         Problem reported by Dagobert Michelsen in
38055         <http://lists.gnu.org/r/bug-gnulib/2012-10/msg00114.html>.
38057 2012-10-28  Jim Meyering  <jim@meyering.net>
38059         maint.mk: rename a new configurable variable
38060         * top/maint.mk (_gl_translatable_string_re): Rename from
38061         translation-markers: _gl_ prefix to insulate from user Makefile code,
38062         and the _re suffix to inform that it's a regular expression.
38064 2012-10-26  Eric Blake  <eblake@redhat.com>
38066         maint.mk: let packages tweak sc_po_check pattern
38067         * top/maint.mk (sc_po_check): Add translation-markers, to allow
38068         finding files with other translation markers.
38070 2012-10-16  Paul Eggert  <eggert@cs.ucla.edu>
38072         euidaccess: speed up 'configure' on GNU hosts
38073         * m4/euidaccess.m4 (gl_FUNC_NONREENTRANT_EUIDACCESS):
38074         Check for setregid here, not in gl_PREREQ_EUIDACCESS, since
38075         it's needed only in this case.  Use AC_CHECK_DECLS, not
38076         AC_CHECK_DECLS_ONCE.
38077         (gl_PREREQ_EUIDACCESS): Do not use AC_CHECK_HEADERS_ONCE libgen.h
38078         or AC_REQUIRE for AC_FUNC_GETGROUPS.
38080         * lib/regexec.c (re_search_internal): Fix grammar in comment.
38082 2012-10-15  Paul Eggert  <eggert@cs.ucla.edu>
38084         fchmodat, fchownat, fstatat: port to non-inlining compilers
38085         Problem reported for FreeBSD 9 by Jim Meyering in
38086         <http://lists.gnu.org/r/bug-gnulib/2012-10/msg00070.html>.
38087         * lib/chmodat.c, lib/chownat.c, lib/statat.c:
38088         New files, which define FCHMODAT_INLINE etc.
38089         * lib/fchmodat.c (FCHMODAT_INLINE):
38090         * lib/fchownat.c (FCHOWNAT_INLINE):
38091         * lib/fstatat.c (FSTATAT_INLINE):
38092         Remove, as chmodat.c etc. now do this.
38093         * modules/fchmodat (Files): Add lib/chmodat.c.
38094         * modules/fchownat (Files): Add lib/chownat.c.
38095         * modules/fstatat (Files): Add lib/statat.c.
38097 2012-10-15  Jim Meyering  <jim@meyering.net>
38099         fchmodat.c, fchownat.c: compile-impeding typos
38100         * lib/fchmodat.c (FCHMODAT_INLINE): Fix typo: s/#include/#define/
38101         * lib/fchownat.c (FCHOWNAT_INLINE): Likewise.
38102         Introduced in commit v0.0-7636-gd202279.
38104 2012-10-15  Paul Eggert  <eggert@cs.ucla.edu>
38106         fcntl-h: support GNU flags like O_IGNORE_CTTY
38107         * doc/posix-headers/fcntl.texi (fcntl.h): Support O_IGNORE_CTTY,
38108         O_NOLINK, and O_NOTRANS.  These flags are nonzero on GNU/Hurd
38109         systems.  Discovered when using fcntl-h with GNU Emacs, which uses
38110         O_IGNORE_CTTY.  Fix misspelling of F_SETLKW.
38111         * lib/fcntl.in.h (O_IGNORE_CTTY, O_NOLINK, O_NOTRANS):
38112         Define to 0 if not already defined.
38113         * tests/test-fcntl-h.c: Test these new flags.
38115 2012-10-14  Paul Eggert  <eggert@cs.ucla.edu>
38117         faccessat, etc.: support AT_FDCWD-only use
38118         * lib/at-func.c: If GNULIB_SUPPORT_ONLY_AT_FDCWD, then support
38119         this function only if its first argument is AT_FDCWD.
38120         Emacs wants faccessat for AT_EACCESS but not for any first-arg
38121         values other than AT_FDCWD, so it doesn't want all the openat
38122         machinery with fchdir etc.
38123         * modules/faccessat, modules/fchmodat, modules/fchownat (Files):
38124         * modules/fstatat, modules/mkdirat, modules/openat (Files):
38125         * modules/unlinkat (Files):
38126         Remove lib/openat-priv.h, as at-internal supplies this file.
38127         Removing this file here allows us to support programs like Emacs
38128         that avoid at-internal.
38130         faccessat: speed up 'configure' on mainstream hosts
38131         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT):
38132         Use AT_CHECK_FUNCS for 'access', not AC_CHECK_FUNCS_ONCE,
38133         since it's only on unusual platforms that we need to check for
38134         'access', and it's better not to slow 'configure' down on all
38135         platforms.
38137         faccessat: port to Solaris 10
38138         * lib/faccessat.c: Include <fcntl.h>, for AT_EACCESS.
38139         Needed on Solaris 10, which doesn't have AT_EACCESS,
38140         so we need the Gnulib fcntl.h, which defines it.
38142 2012-10-14  Pádraig Brady  <P@draigBrady.com>
38143         canonicalize: fix C89 compilation
38144         * lib/canonicalize.c (canonicalize_filename_mode): Swap order of
38145         declarations so C89 is supported.  Also remove the comment
38146         referencing memorty allocation as the suggested feature could
38147         not be implemented as suggested.
38148         Reported by Michael Goffioul.
38150 2012-10-12  Paul Eggert  <eggert@cs.ucla.edu>
38152         group-member: omit unnecessary dependencies
38153         This is for Emacs, which has its own allocator and where we
38154         don't want to use xalloc.
38155         * lib/group-member.c: Include xalloc-oversized.h, not xalloc.h,
38156         since we no longer use xmalloc.  Do not include stdbool.h, since
38157         the changes below happen to remove the only use of bool.
38158         (GROUPBUF_SIZE): New constant.
38159         (struct group_info): Remove n_groups member.  Add groupbuf member.
38160         This lets us get the groups without using malloc, usually.
38161         (free_group_info, get_group_info): Adjust to this.
38162         (get_group_info): Return the number of groups found, or -1 on error.
38163         Use plain malloc not xmalloc, and treat its failure as if there
38164         are no groups, as the user already loses in case of error.
38165         (group_member): Simplify, based on changes to get_group_info.
38166         * modules/group-member (Depends-on): Remove dependencies on
38167         xalloc and stdbool.  Add dependency on xalloc-oversized.
38169 2012-10-08  Alexandre Duret-Lutz  <adl@lrde.epita.fr>  (tiny change)
38171         gethrxtime: port to C++
38172         * lib/gethrxtime.h, lib/xtime.h [__cplusplus]: Add extern "C".
38174 2012-10-04  Paul Eggert  <eggert@cs.ucla.edu>
38176         ptsname: fix macro-name typo
38177         * lib/stdlib.in.h (ptsname): Fix misspelling of GNULIB_NAMESPACE.
38179 2012-10-03  Simon Josefsson  <simon@josefsson.org>
38181         inttostr: Relax license.
38182         * modules/inttostr (License): Change from LGPL to LGPLv2+.
38184 2012-10-03  Eric Blake  <eblake@redhat.com>
38186         ptsname_r: support ptys returned by FreeBSD posix_openpt
38187         * lib/ptsname_r.c (__ptsname_r): Don't munge name if it already
38188         lives in /dev/pts/.
38190 2012-10-02  Eric Blake  <eblake@redhat.com>
38192         pselect: reject invalid file descriptors
38193         * m4/pselect.m4 (gl_FUNC_PSELECT): Probe for FreeBSD bug.
38194         * lib/pselect.c (rpl_pselect) [!win32]: Work around it.
38195         * modules/pselect (Depends-on): Add dup2.
38196         * doc/posix-functions/pselect.texi (pselect): Document this.
38198         select: reject invalid file descriptors
38199         * m4/select.m4 (gl_FUNC_SELECT): Probe for FreeBSD bug.
38200         * lib/select.c (rpl_select) [!win32]: Work around it.
38201         * modules/select (Depends-on): Add dup2.
38202         * doc/posix-functions/select.texi (select): Document this.
38204         select: enhance test
38205         * tests/test-select.h (do_select_bad_nfd_nowait, test_bad_nfd):
38206         New functions.
38207         (test_function): Enhance test.
38208         (do_select_bad_fd): Avoid any stale errno values.
38210         ptsname: reject invalid file descriptors
38211         http://www.austingroupbugs.net/view.php?id=503
38212         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Probe for FreeBSD bug.
38213         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add new witness.
38214         * modules/stdlib (Makefile.am): Replace witness.
38215         * lib/stdlib.in.h (ptsname): Allow for replacement.
38216         * modules/ptsname (configure.ac): Trigger replacement.
38217         * doc/posix-functions/ptsname.texi (ptsname): Document this.
38219 2012-10-02:  Nikos Mavrogiannopoulos  <nmav@gnutls.org>  (tiny change)
38221         hash-pjw-bare: new module
38222         * lib/hash-pjw-bare.c: New file, very much like hash-pjw.c.
38223         * lib/hash-pjw-bare.h: Likewise.
38224         * modules/hash-pjw-bare: New file.
38225         * MODULES.html.sh (Misc): Add it.
38227 2012-10-02  Eric Blake  <eblake@redhat.com>
38229         manywarnings: cater to more gcc infelicities
38230         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add test for
38231         -Wuninitialized without -O.
38233 2012-10-01  Ed Maste  <emaste@freebsd.org>  (tiny change)
38235         select, poll tests: Make setsockopt invocation effective.
38236         * tests/test-poll.c (open_server_socket): Move setsockopt() call before
38237         the bind() call.
38238         * tests/test-select.h (open_server_socket): Likewise.
38240 2012-09-30  Paul Eggert  <eggert@cs.ucla.edu>
38242         sockets, sys_stat: restore AC_C_INLINE
38243         This undoes the 2012-09-22 patch.
38244         * m4/sockets.m4 (gl_SOCKETS):
38245         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H):
38246         Restore AC_C_INLINE, since MSVC requires __inline or _inline
38247         and does not support plain 'inline'.  Reported by Bruno Haible in
38248         <http://lists.gnu.org/r/bug-gnulib/2012-09/msg00183.html>.
38250 2012-09-30  Bruno Haible  <bruno@clisp.org>
38252         localeconv tests: Avoid test failure on OpenIndiana.
38253         * tests/test-localeconv.c (main): On OpenIndiana (a Solaris 11 variant)
38254         skip the 'grouping' and 'mon_grouping' tests.
38255         Reported by Jim Meyering.
38257 2012-09-30  Bruno Haible  <bruno@clisp.org>
38259         havelib: Follow libtool developments.
38260         * m4/lib-ld.m4: Rebase on libtool.m4 from libtool-2.4.
38261         Suggested by Simon Josefsson.
38263 2012-09-29  Jim Meyering  <meyering@redhat.com>
38265         fstatat.c: fix a compile-impeding typo
38266         * lib/fstatat.c (FSTATAT_INLINE): Fix typo: s/#include/#define/
38267         Introduced in commit v0.0-7636-gd202279.
38268         Mats Erik Andersson reported the resulting OpenBSD compilation failure.
38270 2012-09-28  Akim Demaille  <akim@lrde.epita.fr>
38272         extern-inline: provide a -Wundef safe config.h
38273         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Protect
38274         "#if __GNUC_STDC_INLINE__" with "defined __GNUC_STDC_INLINE__"
38275         to produce a -Wundef warning free config.h.
38277 2012-09-26  Paul Eggert  <eggert@cs.ucla.edu>
38279         hash-pjw: relax license to LGPLv2+
38280         * modules/hash-pjw (License): Relax, with consent of author.
38282 2012-09-25  Akim Demaille  <akim@lrde.epita.fr>
38284         maint.mk: fix strict vs. lazy variable issues with RELEASE
38285         * top/maint.mk (_equal): New function.
38286         (member_check): Strip the result to avoid spurious spaces.
38287         (url_dir_list): Do not use ifeq, which is strict, as it will
38288         require RELEASE_TYPE to be defined.
38289         (announcement_Cc_, announcement_mail_headers_): Likewise: instead
38290         of relying on ifeq, use $(release_type) to dispatch (lazily) onto...
38291         (announcement_Cc_alpha,announcement_mail_headers_alpha)
38292         (announcement_Cc_beta,announcement_mail_headers_beta)
38293         (announcement_Cc_stable,announcement_mail_headers_stable): these.
38294         (release): Do not depend on $(release-type), as it forces its
38295         evaluation.  Bounce to it.
38297 2012-09-25  Akim Demaille  <akim@lrde.epita.fr>
38299         maint.mk: formatting changes
38300         * top/maint.mk: Indent bodies of if's.
38302 2012-09-21  Akim Demaille  <akim@lrde.epita.fr>
38304         maint.mk: factor the validation of RELEASE_TYPE
38305         With help from Jim Meyering.
38306         http://lists.gnu.org/r/bug-gnulib/2012-09/msg00132.html
38307         * top/maint.mk (_empty, _sp): Move their definition earlier.
38308         (member-check, release-type): New.
38309         Use the latter instead of $(RELEASE_TYPE).
38310         Remove now useless local checks.
38312 2012-09-20  Akim Demaille  <akim@lrde.epita.fr>
38314         maint.mk: provide "make upload" to ease uploading
38315         See
38316         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00028.html>.
38317         Do not depend simply on the current $(VERSION), as there may have been
38318         new commits since the tarball generation.  Rather, rely on $(RELEASE),
38319         as "make release-commit" already does.
38321         For consistency, add "make release RELEASE='X.Y TYPE'" as an alias for
38322         "make TYPE".
38324         * top/maint.mk (upload_command, upload, release): New.
38325         (RELEASE_TYPE): If undefined, default to the second word of $(RELEASE).
38326         (VERSION): first word of $(RELEASE) is always right.
38327         (emit_upload_commands): Adjust.
38328         * top/README-release: Update.
38330 2012-09-20  Akim Demaille  <akim@lrde.epita.fr>
38332         maint.mk: silent rules
38333         With help from Stefano Lattarini.
38334         * top/maint.mk (writable-files): Use $(AM_V_GEN).
38335         (announcement): Use $(AM_V_at).
38337 2012-09-24  Paul Eggert  <eggert@cs.ucla.edu>
38339         localename: port gl_locale_name_thread_unsafe to FreeBSD
38340         * lib/localename.c (gl_locale_name_thread_unsafe): Port to FreeBSD,
38341         and use the simpler FreeBSD implementation on Mac OS X as well.
38342         Original idea suggested by Ed Maste in
38343         <http://lists.gnu.org/r/bug-gnulib/2012-09/msg00094.html>.
38345 2012-09-22  Paul Eggert  <eggert@cs.ucla.edu>
38347         binary-io, eealloc, mbfile, mbiter, mbutil, xsize: better 'inline'
38348         * lib/binary-io.c, lib/eealloc.c, lib/mbfile.c, lib/mbiter.c:
38349         * lib/mbuiter.c, lib/xsize.c: New files.
38350         * lib/binary-io.h (BINARY_IO_INLINE):
38351         * lib/eealloc.h (EEALLOC_INLINE):
38352         * lib/mbfile.h (MBFILE_INLINE):
38353         * lib/mbiter.h (MBITER_INLINE):
38354         * lib/mbuiter.h (MBUITER_INLINE):
38355         * lib/xsize.h (XSIZE_INLINE):
38356         New macros.
38357         Replace all uses of 'static inline' with them.
38358         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
38359         * m4/eealloc.m4 (gl_EEALLOC):
38360         * m4/mbfile.m4 (gl_MBFILE):
38361         * m4/mbiter.m4 (gl_MBITER):
38362         * m4/xsize.m4 (gl_XSIZE):
38363         Do not require AC_C_INLINE.
38364         * modules/binary-io (Files, lib_SOURCES): Add lib/binary-io.c
38365         * modules/eealloc (Files, lib_SOURCES): Add lib/eealloc.c.
38366         * modules/mbfile (Files, lib_SOURCES): Add lib/mbfile.c.
38367         * modules/mbiter (Files, lib_SOURCES): Add lib/mbiter.c.
38368         * modules/mbuiter (Files, lib_SOURCES): Add lib/mbuiter.c.
38369         * modules/xsize (Files, lib_SOURCES): Add lib/xsize.c.
38370         * modules/binary-io, modules/eealloc, modules/mbfile:
38371         * modules/mbiter, modules/mbuiter:
38372         (Depends-on): Add extern-inline.
38374         pipe-filter-gi, pipe-filter-ii: better use of 'inline'
38375         * lib/pipe-filter-aux.c: New file.
38376         * lib/pipe-filter-aux.h (PIPE_FILTER_AUX_INLINE): New macro.
38377         Replace all uses of 'static inline' with it.
38378         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
38379         * lib/pipe-filter-gi.c (filter_init, filter_cleanup)
38380         (filter_retcode): No real need for inline here.
38381         * modules/pipe-filter-gi, modules/pipe-filter-ii:
38382         (Files): Add lib/pipe-filter-aux.c.
38383         (Depends-on): Add extern-inline.
38384         (configure.ac): Do not require AC_C_INLINE.
38385         (lib_SOURCES): Add pipe-filter-aux.c.
38387         fdutimensat: omit unnecessary AC_C_INLINE
38388         * modules/fdutimensat (configure.ac): Remove AC_C_INLINE.
38390         fchmodat, fchownat, fstatat: use extern-inline
38391         * lib/fchmodat.c, lib/openat.h (FCHMODAT_INLINE):
38392         * lib/fchownat.c, lib/openat.h (FCHOWNAT_INLINE):
38393         * lib/fstatat.c, lib/openat.h (FSTATAT_INLINE):
38394         New macros.
38395         * lib/openat.h:
38396         Replace all uses of 'static inline' with them.
38397         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
38398         * modules/fchmodat, modules/fchownat, modules/fstatat:
38399         * modules/openat-h:
38400         (Depends-on):
38401         Add extern-inline.
38402         (configure.ac): Remove AC_C_INLINE.
38404         acl, mbchar, priv-set: use extern-inline
38405         * lib/set-mode-acl.c, lib/acl-internal.h (ACL_INTERNAL_INLINE):
38406         * lib/mbchar.c, lib/mbchar.h (MBCHAR_INLINE):
38407         * lib/priv-set.c, lib/priv-set.h (PRIV_SET_INLINE):
38408         New macros.
38409         * lib/acl-internal.h, lib/mbchar.h, lib/priv-set.h:
38410         Replace all uses of 'static inline' with it.
38411         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
38412         * m4/acl.m4 (gl_FUNC_ACL):
38413         * m4/mbchar.m4 (gl_MBCHAR):
38414         * m4/priv-set.m4 (gl_PRIV_SET):
38415         Remove AC_C_INLINE, since 'inline' is no longer used directly.
38416         * modules/acl, modules/mbchar, modules/priv-set (Depends-on):
38417         Add extern-inline.
38419         sockets, sys_stat: remove AC_C_INLINE in MSVC-only cases
38420         * m4/sockets.m4 (gl_SOCKETS):
38421         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H):
38422         Remove AC_C_INLINE.  Here, 'inline' is used only in MSVC
38423         environments where it's already guaranteed to work, so we needn't
38424         check for it at 'configure'-time.
38426         tls-tests: omit unnecessary 'inline'
38427         * tests/test-tls.c (perhaps_yield): No longer inline.
38428         Simplicity and portability trump efficiency in test cases.
38430         utimens-tests: avoid unnecessary 'inline'
38431         * modules/fdutimensat-tests (configure.ac):
38432         * modules/futimens-tests (configure.ac):
38433         * modules/utimens-tests (configure.ac):
38434         * modules/utimensat-tests (configure.ac):
38435         Remove AC_C_INLINE.
38436         * tests/test-utimens-common.h (ctime_compare):
38437         No longer inline.  Simplicity and portability trump efficiency here.
38439         misc: don't limit commentary to inline functions
38440         * lib/binary-io.h, lib/malloca.h, lib/safe-alloc.c:
38441         * lib/xalloc-oversized.h, lib/xsize.h:
38442         Contrast macros to functions in general, not just to inline functions,
38443         when the commentary does not apply only to inline functions.
38445 2012-09-20  Jim Meyering  <meyering@redhat.com>
38447         non-recursive-gnulib-prefix-hack: new module
38448         * build-aux/prefix-gnulib-mk: Copied from coreutils, derived from
38449         the file that originated in Bison.
38450         * m4/non-recursive-gnulib-prefix-hack.m4: Likewise, this code is
38451         largely copied from a snippet that resided in bison's configure.ac.
38452         * modules/non-recursive-gnulib-prefix-hack: New file.
38453         * MODULES.html.sh (Support for maintaining and releasing projects):
38454         Add it.
38456 2012-09-18  Jim Meyering  <meyering@redhat.com>
38458         maint.mk: generalize _gl_tight_scope for non-recursive make
38459         * top/maint.mk (_gl_tight_scope): Remove a hard-coded assumption
38460         that *.h would describe additional .h files in the directory
38461         specified by $(_gl_TS_dir).  I.e., add this...
38462         (_gl_TS_other_headers): New variable.
38464         maint.mk: exempt trailing blanks found in "binary" files
38465         * top/maint.mk (sc_trailing_blank): Filter out any matches found in
38466         "binary" files, as reported by grep.  Suggested by Richard W.M. Jones
38467         in http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
38469 2012-09-17  Jim Meyering  <meyering@redhat.com>
38471         maint.mk: sc_prohibit_path_max_allocation: don't FP for UNIX_PATH_MAX
38472         * top/maint.mk (sc_prohibit_path_max_allocation): Avoid false-positive
38473         match for symbols like UNIX_PATH_MAX. Reported by Richard W.M. Jones
38474         in http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
38476 2012-09-17  Jim Meyering  <meyering@redhat.com>
38478         maint.mk: teach sc_prohibit_magic_number_exit to accept 77
38479         * top/maint.mk (sc_prohibit_magic_number_exit): Do not complain about
38480         uses like "exit (77)".  "77" is automake's "skip this test" exit code.
38481         It is not in the same category as "exit (0)" or "exit (1)", and
38482         besides, I know of no symbolic name for that 77.  Reported by
38483         Richard W.M. Jones in
38484         http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
38486 2012-09-17  Jim Meyering  <meyering@redhat.com>
38488         maint.mk: relax sc_prohibit_strcmp, to avoid a false positive
38489         * top/maint.mk (sc_prohibit_strcmp): Relax regexp, so as to match
38490         all uses of #define, not just those that start in column 1.
38491         Richard W.M. Jones reported a false positive in
38492         http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
38494 2012-09-16  Paul Eggert  <eggert@cs.ucla.edu>
38496         localcharset: work around Mac OS X bug with UTF-8 and MB_CUR_MAX
38497         * lib/localcharset.c (locale_charset) [DARWIN7]:
38498         Return "ASCII" if the system reports "UTF-8" and MB_CUR_MAX <= 1,
38499         as these two values are incompatible.  Problem reported by Max Horn.
38500         For more discussion, please see
38501         <http://lists.gnu.org/r/bug-gnulib/2012-09/msg00061.html>.
38503         doc: document sticky-EOF issue
38504         * doc/posix-functions/fgetc.texi (fgetc):
38505         * doc/posix-functions/fgets.texi (fgets):
38506         * doc/posix-functions/fread.texi (fread):
38507         * doc/posix-functions/fscanf.texi (fscanf):
38508         * doc/posix-functions/getc.texi (getc):
38509         * doc/posix-functions/getchar.texi (getchar):
38510         * doc/posix-functions/scanf.texi (scanf):
38511         Mention that glibc and default Solaris do not conform to
38512         C99 and POSIX-2001 or later, with respect to how getchar
38513         etc. behave when feof reports nonzero.
38515 2012-09-13  Joachim Schmitz  <jojo@schmitz-digital.de>  (tiny change)
38517         poll: fix poll(0, NULL, msec)
38518         * lib/poll.c: don't exit early if NULL is the 1st arg to poll(),
38519         but nfd is 0.  In that case poll should behave like select.
38521 2012-09-13  Joachim Schmitz  <jojo@schmitz-digital.de>  (tiny change)
38522             Paolo Bonzini  <bonzini@gnu.org>
38524         poll: fix for systems that can't recv() on a non-socket
38525         * lib/poll.c: if recv returns ENOTSOCK, assume the descriptor
38526         is readable.  In this case POLLHUP will not be supported.
38527         * doc/posix-functions/poll.texi: Document this.
38529 2012-09-13  Paolo Bonzini  <bonzini@gnu.org>
38531         poll/select: document portability problems not fixed by Gnulib.
38532         * doc/posix-functions/poll.texi: poll does not work well on
38533         pipes under Windows.  It has the same limitations as select on
38534         BeOS.
38535         * doc/posix-functions/select.texi: select does not work well
38536         on pipes under Windows.
38538 2012-09-10  Paul Eggert  <eggert@cs.ucla.edu>
38540         fcntl-h: check for AIX 7.1 bug with O_NOFOLLOW and O_CREAT
38541         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Check for AIX 7.1 bug
38542         that caused a GNU tar test failure.  Problem reported by Jez Wain; see
38543         <http://lists.gnu.org/r/bug-tar/2012-07/msg00018.html>.
38545 2012-09-06  Eric Blake  <eblake@redhat.com>
38547         net_if: give more details about the bug being fixed
38548         * doc/posix-headers/net_if.texi: Add clarification.
38550 2012-09-05  Eric Blake  <eblake@redhat.com>
38552         net_if: new module
38553         * modules/net_if: New module, borrowing ideas from netinet_in.
38554         * m4/net_if_h.m4: New file.
38555         * lib/net_if.in.h: Likewise.
38556         * doc/posix-headers/net_if.texi (net/if.h): Document it.
38557         * MODULES.html.sh (lacking POSIX:2008): Likewise.
38558         * tests/test-net_if.c: Make function checks conditional.
38559         Reported by Jasper Lievisse Adriaanse <jasper@humppa.nl>.
38561 2012-09-05  Mats Erik Andersson  <gnu@gisladisker.se>  (tiny change)
38563         readutmp: fix non-portable UT_PID use
38564         * lib/readutmp.c (desirable_utmp_entry) <READ_UTMP_CHECK_PIDS>:
38565         Use `UT_PID (u) > 0' as absolute condition.
38567 2012-09-04  Jim Meyering  <meyering@redhat.com>
38569         fts: reduce two or more trailing spaces to just one, usually
38570         * lib/fts.c (fts_open): Upon initialization, if a name ends in two
38571         or more slashes, trim all but the final one.  But if a name consists
38572         solely of two slashes, don't modify it.  If it consists solely of
38573         three or more slashes, strip all but one.
38575         This is part of the solution to a minor problem with rm:
38576         it would print a bogus ELOOP diagnostic when failing to remove
38577         the slash-decorated name of a symlink-to-directory:
38579             $ mkdir d && ln -s d s && env rm -r s/
38580             rm: cannot remove 's': Too many levels of symbolic links
38582         With the change below and a trivial don't-trim-trailing-slashes
38583         adjustment to remove.c, it does this:
38585             $ env rm -r s/
38586             rm: cannot remove 's/': Not a directory
38588         Improved by: Eric Blake
38590         fts: when there is no risk of overlap, use memcpy, not memmove
38591         * lib/fts.c (fts_alloc): Fix unjustified memcopy: s/memmove/memcpy/
38593 2012-08-29  Paul Eggert  <eggert@cs.ucla.edu>
38595         stdbool: be more compatible with mixed C/C++ compiles
38596         * lib/stdbool.in.h (_Bool, true, false) [__cplusplus]:
38597         Define to bool, true, false, respectively, as GCC's builtin
38598         stdbool.h does.  Problem reported by Michael Goffioul in
38599         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00143.html>.
38601 2012-08-28  Jim Meyering  <meyering@redhat.com>
38603         revert last change: it was not needed
38604         * tests/test-vc-list-files-git.sh: There's already a test for
38605         a working git, just below.
38607 2012-08-28  Jim Meyering  <meyering@redhat.com>
38609         tests: test-vc-list-files-git.sh: skip if git is not available
38610         * tests/test-vc-list-files-git.sh: Skip this test when git is
38611         not available.
38613 2012-08-26  Bruno Haible  <bruno@clisp.org>
38615         gnulib-tool: Remove no-op option --no-changelog.
38616         * gnulib-tool (func_usage): Don't mention --no-changelog.
38617         (do_changelog): Remove variable.
38618         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
38620 2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
38622         doc: remove fdl-1.2.texi
38623         It is no longer used or maintained, and its use of @acronym
38624         is problematic.  See the thread containing
38625         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00134.html>.
38626         * config/srclist.txt: Remove doc/old-licenses/fdl-1.2.texi.
38627         * doc/old-licenses/fdl-1.2.texi: Remove.
38629         execinfo: port to FreeBSD
38630         * m4/execinfo.m4 (gl_EXECINFO_H): Set LIB_EXECINFO to -lexecinfo
38631         if needed, as in FreeBSD.  Reported by Bastien Roucariès in
38632         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00113.html>.
38633         * modules/execinfo (Link): Add $(LIB_EXECINFO).
38635 2012-08-23  Jim Meyering  <meyering@redhat.com>
38637         xstrtol.h: avoid "_Noreturn is not at beginning of declaration" warning
38638         * lib/xstrtol.h: Put "_Noreturn" before "void" in declaration,
38639         to placate gcc's -Wold-style-declaration.
38641 2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
38643         doc: do not use @acronym
38644         * doc/inet_ntoa.texi (inet_ntoa):
38645         * doc/parse-datetime.texi (Seconds since the Epoch)
38646         (Specifying time zone rules):
38647         * doc/posix-functions/inet_ntoa.texi (inet_ntoa):
38648         Don't use @acronym.  Problem reported by John Darlington in
38649         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00124.html>.
38651 2012-08-23  Paul Eggert  <eggert@cs.ucla.edu>
38653         stdnoreturn: port to newer GCCs
38654         * m4/stdnoreturn.m4 (gl_STDNORETURN_H): Avoid problems with
38655         bleeding-edge GCC that complains about 'int _Noreturn foo (void);'.
38656         Problem reported by Jim Meyering in
38657         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00121.html>.
38658         Also, rename the 'test' function to a void a clash with the
38659         already-supplied 'main' function; this fixes a bug that incorrectly
38660         rejected GCC 4.7.1's <stdnoreturn.h>.
38661         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h):
38662         Document GCC problem.
38664 2012-08-22  Reuben Thomas  <rrt@sc3d.org>
38666         pipe-filter: fix comment typo
38667         * lib/pipe-filter.h: Mention correct function.
38669 2012-08-22  Paul Eggert  <eggert@cs.ucla.edu>
38671         execinfo: new module
38672         This is for Emacs.  Currently, it provides a no-effect stub
38673         on all platforms where it does not already work.
38674         It already works on glibc-based systems, and on Solaris 11.
38675         * lib/execinfo.c, lib/execinfo.in.h, m4/execinfo.m4, modules/execinfo:
38676         New files.
38677         * doc/glibc-headers/execinfo.texi (execinfo.h):
38678         * MODULES.html.sh (Misc): Document it.
38680 2012-08-20  Paul Eggert  <eggert@cs.ucla.edu>
38682         extern-inline: support old GCC 'inline'
38683         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Use pre-C99 GCC 'inline'
38684         if available.  This applies to GCC versions 2.7 through 4.2, or
38685         when newer GCC is using -fgnu89-inline.  The goal is to address
38686         some of the performance issues mentioned by Bruno Haible in
38687         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00097.html>.
38689 2012-08-20  Eric Blake  <eblake@redhat.com>
38691         maint.mk: avoid redundant file name in message
38692         * top/maint.mk (sc_prohibit_strcmp, sc_unmarked_diagnostics)
38693         (sc_prohibit_defined_have_decl_tests, sc_const_long_option)
38694         (sc_makefile_path_separator_check): Remove bogus $(ME).
38696 2012-08-20  Mike Frysinger  <vapier@gentoo.org>
38698         timer-time: fix link order when static linking on glibc
38699         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
38700         _after_ -lrt so that it's significant.
38702 2012-08-19  Paul Eggert  <eggert@cs.ucla.edu>
38704         timespec: omit unnecessary AC_C_INLINE
38705         * m4/timespec.m4 (gl_TIMESPEC): Do not require AC_C_INLINE.
38707         stat-time: omit unnecessary AC_C_INLINE
38708         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
38709         Do not require AC_C_INLINE.
38711         ignore-value: omit unnecessary AC_C_INLINE
38712         * modules/ignore-value (configure.ac): Do not require AC_C_INLINE.
38714         sys_select: avoid 'static inline'
38715         * lib/sys_select.in.h (rpl_fd_isset): Now static, not static inline.
38717         mktime: avoid 'static inline'
38718         * lib/mktime.c (leapyear, ydhms_diff): Now static, not static inline.
38719         * m4/mktime.m4 (gl_PREREQ_MKTIME): Do not require AC_C_INLINE.
38721 2012-08-19  Bruno Haible  <bruno@clisp.org>
38723         gnulib-tool: Improve coding style.
38724         * gnulib-tool (func_emit_tests_Makefile_am): Set perhapsLT, like in
38725         func_emit_lib_Makefile_am.
38726         Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.
38728 2012-08-19  Bruno Haible  <bruno@clisp.org>
38730         gnulib-tool: Fix indentation.
38731         * gnulib-tool (func_import): Fix indentation.
38733 2012-08-19  Bruno Haible  <bruno@clisp.org>
38735         gnulib-tool: Remove old file names from .cvsignore, .gitignore.
38736         * gnulib-tool (func_update_ignorelist): Don't use 'join -v 1' command
38737         on the list of removed files.
38739 2012-08-17  Paul Eggert  <eggert@cs.ucla.edu>
38741         test-parse-datetime: avoid glibc leap-second glitch
38742         * tests/test-parse-datetime.c (main): Set TZ to US Eastern time
38743         with the 2012 rules.  Problem reported by Bruce Dubbs in
38744         <http://bugs.gnu.org/12206>.
38746 2012-08-14  Bruno Haible  <bruno@clisp.org>
38748         gnulib-tool: Fix indentation of generated gnulib-comp.m4 file.
38749         * gnulib-tool (func_emit_autoconf_snippet): Initialize indentation
38750         from argument.
38751         Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.
38753 2012-08-14  Eric Blake  <eblake@redhat.com>
38755         ldexp: relax license
38756         * modules/ldexp (License): Trivial relax, since the module only
38757         provides a permissively licensed m4 file.
38759 2012-08-13  Bruno Haible  <bruno@clisp.org>
38761         gnulib-tool: Fix persistence of --witness-c-macro option.
38762         * gnulib-tool (func_import): Fix typo in emit of gl_WITNESS_C_MACRO.
38763         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
38765 2012-08-11  Eric Blake  <eblake@redhat.com>
38767         count-leading-zeros: use a lookup table on non-gcc compilers
38768         * lib/count-leading-zeros.h (count_leading_zeros_32): Use an
38769         alternate implementation, suggested by Jim Meyering.
38771 2012-08-10  Eric Blake  <eblake@redhat.com>
38773         count-leading-zeros: new module
38774         * modules/count-leading-zeros: New module.
38775         * m4/count-leading-zeros.m4: New file.
38776         * lib/count-leading-zeros.h: Likewise.
38777         * modules/count-leading-zeros-tests: New test.
38778         * tests/test-count-leading-zeros.c: New file.
38779         * MODULES.html.sh (Integer arithmetic functions): Document it.
38781 2012-08-07  Simon Josefsson  <simon@josefsson.org>
38782             Jim Meyering  <meyering@redhat.com>
38784         maintainer-makefile: Fix syntax error with dash.
38785         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): Quote arguments.
38786         (sc_vulnerable_makefile_CVE-2012-3386): Likewise.
38788 2012-08-05  Jim Meyering  <meyering@redhat.com>
38790         extern-inline: also ignore -Wmissing-declarations
38791         * m4/extern-inline.m4: Also ignore -Wmissing-declarations,
38792         required with gcc-4.8.0-to-be.
38794         maint.mk: sc_prohibit_magic_number_exit: avoid new false positives
38795         * top/maint.mk (sc_prohibit_magic_number_exit): Also filter out matches
38796         for /error ?([^,]*)/.  This avoids false-positives for strings like
38797         "Unknown error (252)", introduced via commit v0.0-7538-g92875a6.
38799 2012-08-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
38801         gnumakefile: better interaction with Automake-NG
38802         * modules/gnumakefile [Makefile.am]: The makefiles generated by
38803         Automake-NG always contain a definition of VPATH, even in non-VPATH
38804         builds (its value being simply '.' in that case).  So, in the
38805         'clean-GNUmakefile' rule, to determine whether running under a
38806         VPATH setup, compare '$(srcdir)' to '.' rather than checking whether
38807         '$(VPATH)' expands to the empty string.
38809 2012-08-02  Carlo de Falco  <carlo.defalco@polimi.it>  (tiny change)
38811         base64: Use extern C scope in header file, for C++.
38812         * lib/base64.h: Add C++ namespace protection.
38814 2012-08-02  Paul Eggert  <eggert@cs.ucla.edu>
38816         stat-time, timespec, u64: support naive out-of-dir builds
38817         * lib/stat-time.c, lib/timespec.c, lib/u64.c:
38818         Use '#include "foo.h"', not '#include <foo.h>', when including
38819         one's own interface.  This works better when configuring with
38820         out-of-directory builds, since packages need not add an
38821         otherwise-unnecessary -I$(topdir_src)/lib to DEFAULT_INCLUDES.
38823 2012-08-01  Paul Eggert  <eggert@cs.ucla.edu>
38825         utimens: use extern-inline
38826         * lib/utimens.c (_GL_UTIMENS_INLINE): Define when including utimens.h.
38827         * lib/utimens.h: Add copyright notice, since this is now large enough
38828         to copyright.  Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
38829         (_GL_UTIMENS_INLINE): New macro.  Use it instead of 'static inline'.
38830         * modules/utimens (Depends-on): Add extern-inline.
38832         u64: use extern-inline
38833         * lib/u64.c: New file.
38834         * lib/u64.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
38835         (_GL_U64_INLINE): New macro.  Use it instead of 'static inline'.
38836         * modules/u64 (Files): Add lib/u64.c.
38837         (Depends-on): Add extern-inline.
38838         (configure.ac): No need to require AC_C_INLINE, since extern-inline
38839         does that now.
38840         (lib_SOURCES): Add u64.c.
38842         timespec: use extern-inline
38843         * lib/timespec.c: New file.
38844         * lib/timespec.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
38845         (_GL_TIMESPEC_INLINE): New macro.  Use it instead of 'static inline'.
38846         * modules/timespec (Files): Add lib/timespec.c.
38847         (Depends-on): Add extern-inline.
38848         (lib_SOURCES): Add timespec.c.
38850         stat-time: use extern-inline
38851         * lib/stat-time.c: New file.
38852         * lib/stat-time.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
38853         (_GL_STAT_TIME_INLINE): New macro.  Use it instead of 'static inline'.
38854         * modules/stat-time (Files): Add lib/stat-time.c.
38855         (Depends-on): Add extern-inline.
38856         (lib_SOURCES): Add stat-time.c.
38858         extern-inline: new module
38859         * modules/extern-inline, m4/extern-inline.m4: New files.
38860         This is for better support of 'extern inline' a la ISO C99,
38861         with a portable alternative on compilers that do not support
38862         C99-style 'extern inline'.  Using 'extern inline' shrinks the size
38863         of the Emacs executable, when compiled with debugging disabled,
38864         which is a typical way that Emacs is built while developing.
38866 2012-08-01  Akim Demaille  <akim@lrde.epita.fr>
38868         maint.mk: a "release-commit" wrapper to do-release-commit-and-tag
38869         * build-aux/do-release-commit-and-tag: Move variable definitions
38870         together.
38871         ($branch): Instead of defaulting to "master", default to the current
38872         branch (as gnu-web-doc-update does).
38873         (help): Display the current values of the option arguments.
38874         * top/maint.mk (release-commit): New.
38875         * top/README-release: Simplify the corresponding step.
38877 2012-07-30  Eric Blake  <eblake@redhat.com>
38879         passfd: fix comment on recvfd
38880         * lib/passfd.c (recvfd): Fix comment.
38881         Reported by Jann Horn <jannhorn@googlemail.com>.
38883 2012-07-30  Jim Meyering  <meyering@redhat.com>
38885         maint.mk: avoid a sub-shell
38886         * top/maint.mk (release-prep): Remove unneeded sub-shell.
38888 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
38890         maint.mk: use silent-rules support from Automake
38891         * top/maint.mk (news-check, vc-diff-check, announcement)
38892         (no-submodule-changes, alpha beta stable, release-prep)
38893         (web-manual, update-copyright): Use $(AM_V_GEN) and $(AM_V_at).
38895 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
38897         maint.mk: provide a web-manual-update target
38898         * top/maint.mk: here.
38899         * top/README-release: Use it to simplify the web manual update step.
38901 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
38903         README-release: shorten the circuit to post a news
38904         * top/README-release: Point directly to the news submission form.
38906 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
38908         gnu-web-doc-update: fix --help
38909         * build-aux/gnu-web-doc-update: The information "top level" was written
38910         twice.
38912 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
38914         maint.mk: absolute VPATH issue
38915         * top/maint.mk (release-prep): Help Git find .git/.
38916         From Jim Meyering.
38918 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
38920         gitlog-to-changelog: fix previous change
38921         * build-aux/gitlog-to-changelog: Fix condition.
38922         Add missing ";".
38924 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
38926         gitlog-to-changelog: don't expect .git to be in $srcdir
38927         Reported by Bruno Haible.
38928         <http://lists.gnu.org/r/bug-gnulib/2012-07/msg00265.html>
38929         * build-aux/gitlog-to-changelog (&git_dir_option): New.
38930         Use it.
38932 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
38934         maint.mk: absolute VPATH build fix
38935         * top/maint.mk (gpg_key_ID): Help git find .git when, for instance,
38936         $(srcdir) is not a parent of $(builddir).
38938 2012-07-28  John Darrington  <john@darrington.wattle.id.au>
38940         clean-temp: Fix memory leak.
38941         * lib/clean-temp.c (cleanup_temp_dir): Free also the 'subdirs' and
38942         'files' members of tmpdir.
38944 2012-07-27  Jim Meyering  <meyering@redhat.com>
38946         maint.mk: new rule: refresh-gnulib-patches
38947         I noticed that 8 of coreutils' 9 gl/**/*.diff files were stale.
38948         Use this rule to refresh them.
38949         * top/maint.mk (refresh-gnulib-patches): New rule.
38951 2012-07-24  Bruno Haible  <bruno@clisp.org>
38953         gnulib-tool: Fix handling of inctests variable.
38954         * gnulib-tool: Canonicalize $inctests also in 'update' mode.
38955         Reported by Nick Bowler <nbowler@elliptictech.com>.
38957 2012-07-22  Bruno Haible  <bruno@clisp.org>
38959         getpass: Assume AC_CHECK_DECLS_ONCE invocation, like in getpass.m4.
38960         * lib/getpass.h: Assume HAVE_DECL_GETPASS is defined.
38961         * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
38962         Remove exemption for getpass.h.
38963         Suggested by Eric Blake.
38965 2012-07-20  Eric Blake  <eblake@redhat.com>
38967         verify: document conflict with -Wnested-externs
38968         * lib/verify.h: Give hint about usage when gcc warnings are enabled.
38970         maint.mk: forbid exit(-1)
38971         * top/maint.mk (sc_prohibit_magic_number_exit): Detect negatives.
38973 2012-07-20  Paul Eggert  <eggert@cs.ucla.edu>
38975         fsusage: port back to Solaris
38976         * lib/fsusage.c (get_fs_usage): Fix busted logic causing compile-time
38977         error (fsd not declared) on Solaris 10.  Reported privately by
38978         Andrew Borodin.
38980 2012-07-19  Akim Demaille  <akim@lrde.epita.fr>
38982         gnu-web-doc-update: fix error messages
38983         * build-aux/gnu-web-doc-update: Don't pass $ME to die.
38985         gnu-web-doc-update: check the requirements.
38986         * build-aux/gnu-web-doc-update (find_tool): Import from bootstrap.
38987         ($CVS, $CVSU, $GIT, $RSYNC, $XARGS): New.
38988         * build-aux/bootstrap (find_tool): Comment change.
38990 2012-07-17  Akim Demaille  <akim@lrde.epita.fr>
38992         maint.mk: minor simplication.
38993         * top/maint.mk (_sc_excl): Use $(or...) instead of $(if...)
38994         for default values.
38996 2012-07-15  Akim Demaille  <akim@lrde.epita.fr>
38998         gitlog-to-changelog: VPATH build issues
38999         If builddir is not a subdirectory of srcdir, running git from it will
39000         fail.
39001         * build-aux/gitlog-to-changelog (--srcdir): New option.
39003 2012-07-15  Bruno Haible  <bruno@clisp.org>
39005         fpending: Assume AC_CHECK_DECLS_ONCE invocation, like in fpending.m4.
39006         * lib/fpending.h: Assume HAVE_DECL___FPENDING is defined.
39007         * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests)
39008         Remove exemption for fpending.h.
39009         Suggested by Eric Blake.
39011 2012-07-15  Paul Eggert  <eggert@cs.ucla.edu>
39013         pthread_sigmask: fix bug on FreeBSD 9
39014         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_INEFFECTIVE]:
39015         Include string.h.
39016         (pthread_sigmask) [PTHREAD_SIGMASK_INEFFECTIVE]:
39017         When calling pthread_sigmask (1729, NEW, OLD), specify non-null NEW;
39018         this avoids a bug on FreeBSD 9, where pthread_sigmask is effective
39019         but pthread_sigmask (1729, NULL, NULL) returns zero.
39020         See <http://bugs.gnu.org/11884>.
39021         Avoid the need to call pthread_sigmask (1729, ...) in most cases,
39022         by inspecting whether the main call changed the old mask.
39024 2012-07-15  Reuben Thomas  <rrt@sc3d.org>
39026         README-release: make it more legible
39027         * top/README-release: Improve typography slightly.
39029 2012-07-15  Jim Meyering  <meyering@redhat.com>
39031         maint: require that each sc_... command start with "@"
39032         * Makefile (sc_prohibit_sc_omitted_at): New rule so that
39033         "make sc_maint" helps us avoid this nit.
39035 2012-07-15  Jim Meyering  <meyering@redhat.com>
39037         maint.mk: add leading "@" to quiet new "make syntax-check" rule
39038         * top/maint.mk (sc_prohibit_defined_have_decl_tests): Add "@".
39040 2012-07-13  Eric Blake  <eblake@redhat.com>
39042         maint.mk: new syntax check for HAVE_DECL checks
39043         * top/maint.mk (sc_prohibit_defined_have_decl_tests): New rule.
39044         * cfg.mk
39045         (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
39046         Exempt some false positives.
39047         Based on a report by Karel Zak.
39049         argp: make HAVE_DECL usage consistent
39050         * lib/argp-parse.c (__argp_parse): Check contents of HAVE_DECL
39051         macros, not whether they are defined.
39052         * m4/argp.m4 (gl_ARGP): Always define HAVE_DECL_* macros, per
39053         convention with other declaration checks.
39054         Reported by Karel Zak, with suggestions from Paul Eggert.
39056         stat-time: relax license to LGPLv2+
39057         * modules/stat-time (License): Relax, with consent of all authors.
39059         strndup: fix m4 usage error
39060         * m4/strndup.m4 (gl_FUNC_STRNDUP): HAVE_DECL_STRNDUP is always
39061         defined, to either 0 or 1.
39062         Reported by Karel Zak.
39064 2012-07-11  Jim Meyering  <meyering@redhat.com>
39066         maint: enable the sc_avoid_if_before_free syntax-check rule
39067         * cfg.mk (local-checks-to-skip): Enable sc_avoid_if_before_free.
39068         (if_before_free_offenders_): Define.
39069         (if_before_free_basename_re_): Define.
39070         Exempt current files with useless if-before-free.
39072 2012-07-11  Paul Eggert  <eggert@cs.ucla.edu>
39074         gettext: do not assume '#define ... defined ...' behavior
39075         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS):
39076         Do not use '#define FOO ... defined BAR ...', as the C standard says
39077         it's not portable to expect that this works after macro expansion.
39078         Problem reported for gzip by Steven M. Schweda in
39079         <http://lists.gnu.org/r/bug-gzip/2012-07/msg00000.html>.
39081 2012-07-10  Paul Eggert  <eggert@cs.ucla.edu>
39083         getloadavg: clean out old Emacs and Autoconf cruft
39084         See Glenn Morris in <http://bugs.gnu.org/11905>.
39085         * lib/getloadavg.c: Include <config.h>, <stdbool.h> always.
39086         Include <sys/param.h> if HAVE_SYS_PARAM_H, not if unix or __unix.
39087         (LDAV_CVT): Remove no-longer-used LOAD_AVE_CVT hook.
39088         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Check for <sys/param.h>.
39090 2012-07-10  Akim Demaille  <akim@lrde.epita.fr>
39092         bootstrap: let warn be like tests/init.sh's warn_
39093         Reported by Jim Meyering.
39094         * build-aux/bootstrap (warn): Remove, replaced by...
39095         (warnf_, warn_): these.
39096         Adjust callers.
39097         Shorten messages that no longer fit in 80 columns.
39099 2012-07-09  Bruno Haible  <bruno@clisp.org>
39101         getopt: Simplify after Emacs changed.
39102         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Inline gl_GETOPT_IFELSE.
39103         (gl_GETOPT_IFELSE): Remove macro.
39105 2012-07-09  Jim Meyering  <meyering@redhat.com>
39107         maint.mk: add sc_vulnerable_makefile_CVE-2012-3386
39108         * top/maint.mk (sc_vulnerable_makefile_CVE-2012-3386): New rule.
39110         maint.mk: _sc_search_regexp, sc_vulnerable_makefile_CVE-2009-4029: fix
39111         Bugs in both of those conspired to make the
39112         sc_vulnerable_makefile_CVE-2009-4029 rule 99% useless.
39113         _sc_search_regexp's handling of non-empty $in_files would filter
39114         out any offending file names.  sc_vulnerable_makefile_CVE-2009-4029's
39115         choice of in_files value meant there would be no match in most
39116         projects, due to the presence of two or more Makefile.in files.
39117         * top/maint.mk (_sc_search_regexp) [in_vc_files,in_files]: Clarify.
39118         Fix a bug in how a non-empty $$in_files was processed:
39119         (sc_vulnerable_makefile_CVE-2009-4029): Fix erroneous use of in_files:
39120         in spite of the name, it's a regexp, not a list of file names.
39122 2012-07-09  Paul Eggert  <eggert@cs.ucla.edu>
39124         getloadavg, getopt: fix commentary re configure.in
39125         Autoconf is deprecating the name 'configure.in', so change it to
39126         to the new name 'configure.ac' in a couple of places.
39127         * lib/getloadavg.c: configure.in -> configure.ac, in comment.
39128         * m4/getopt.m4 (gl_GETOPT_IFELSE, gl_GETOPT_SUBSTITUTE_HEADER)
39129         (gl_PREREQ_GETOPT): Remove obsolete commentary re Emacs configure.in.
39130         Emacs has renamed it to configure.ac, and it no longer refers
39131         to these macros anyway.
39133         timespec: mark functions with const attributes
39134         * lib/timespec.h (timespec_add, timespec_sub, dtotimespec):
39135         Mark with _GL_ATTRIBUTE_CONST.
39137 2012-07-07  Ludovic Courtès  <ludo@gnu.org>
39139         canonicalize[-lgpl]: handle "guessing" values when cross-building
39140         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
39141         (gl_CANONICALIZE_LGPL): Check whether $gl_cv_func_realpath_works
39142         matches "*yes" instead of just "yes".  Regression introduced in commit
39143         e0bcf6626cde8dad4bfbdc4045c744f0cd8b9e24.
39145 2012-07-07  Ludovic Courtès  <ludo@gnu.org>
39146             Bruno Haible  <bruno@clisp.org>
39148         canonicalize: make the right guess when cross-compiling to GNU
39149         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Match also "gnu*" to
39150         determine whether cross-compiling to glibc systems, so as to
39151         include GNU/Hurd.
39153 2012-07-06  Paul Eggert  <eggert@cs.ucla.edu>
39155         timespec-sub: avoid duplicate include
39156         * lib/timespec-sub.c: Do not include <config.h> twice.
39157         Reported by Juanma Barranquero.
39159 2012-07-06  Akim Demaille  <akim@lrde.epita.fr>
39161         bootstrap: use a more consistent error reporting scheme
39162         * build-aux/bootstrap (warn, die): New.
39163         Use them.
39165 2012-07-05  Paul Eggert  <eggert@cs.ucla.edu>
39167         sys_time: allow too-wide tv_sec
39168         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Allow struct
39169         timeval even if tv_sec is wider than time_t.  This allows
39170         OpenBSD 5.1 amd64 and fixes an Emacs porting glitch with utimens.c,
39171         as without this patch gnulib replaces struct timeval
39172         and OpenBSD futimes therefore has a type mismatch.
39173         * doc/posix-headers/sys_time.texi: Mention this.
39175         pthread: check for both pthread_create and pthread_join
39176         * m4/pthread.m4 (gl_PTHREAD_CHECK): Revert previous change, but
39177         alter the check so that it tests for both pthread_create and
39178         pthread_join.  This should be more portable to hosts like OSF/1 5.1.
39179         Suggested by Bruno Haible and Richard Yao in
39180         <http://lists.gnu.org/r/bug-gnulib/2012-07/msg00048.html>.
39182         parse-datetime: doc tuneup
39183         * doc/parse-datetime.texi: Index "leap seconds" and fix minor
39184         spacing issues.
39186 2012-07-05  Akim Demaille  <akim@lrde.epita.fr>
39188         do-release-commit-and-tag: fix the previous commit
39189         * build-aux/do-release-commit-and-tag: Actually the test was right,
39190         but the comment and the error message were misleading.
39191         Fix comment, and improve error message.
39192         Perform check first, so that NEWS is not modified uselessly.
39194         do-release-commit-and-tag: fix typo
39195         * build-aux/do-release-commit-and-tag: Be sure that NEWS does
39196         _not_ start with a stub.
39198 2012-07-04  Paul Eggert  <eggert@cs.ucla.edu>
39200         pthread: check for pthread_create, not pthread_join
39201         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_create, not
39202         pthread_join.  On FreeBSD 9, pthread_create is in libpthread but
39203         pthread_join in libc.  I hope this removes the need for all the
39204         OSF/1 5.1 pthread_join business.  Reported by Richard Yao in
39205         <http://lists.gnu.org/r/bug-gnulib/2012-07/msg00042.html>.
39207 2012-07-04  Jim Meyering  <meyering@redhat.com>
39209         parse-datetime: fix failure to diagnose invalid input
39210         date -d "$(printf '\xb0')" would print 00:00:00 with today's date
39211         rather than diagnosing the invalid input.  Now it reports this:
39212         date: invalid date '\260'
39213         * lib/parse-datetime.y (to_uchar): Define.
39214         (yylex): Don't sign-extend "other" bytes.
39215         * m4/parse-datetime.m4: Require AC_C_INLINE for first use of "inline".
39216         Thanks to Bruno Haible for the patch to this file.
39217         * tests/test-parse-datetime.c (main): Add a test to trigger the bug.
39218         Peter Evans reported the bug in GNU date: http://bugs.gnu.org/11843
39220 2012-07-03  Jim Meyering  <meyering@redhat.com>
39222         bootstrap: do not require now-removed build-aux/missing
39223         Now that build-aux/missing is, er, missing, bootstrap would
39224         silently fail.
39225         * build-aux/bootstrap (gnulib_extra_files): Remove $build_aux/missing
39226         from the list, now that (since commit v0.0-7489-gd0f486f) the file is
39227         no longer part of gnulib.
39228         Diagnose the failure.
39230 2012-07-03  Paul Eggert  <eggert@cs.ucla.edu>
39232         alloca: add support for HP NonStop TNS/E native
39233         * lib/alloca.in.h (alloca): Support the new host.
39234         From a suggestion by Joachim Schmitz in
39235         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00355.html>.
39237 2012-07-02  Pádraig Brady  <P@draigBrady.com>
39239         fsusage: remove code not needed on non GNU/Linux systems.
39241         * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
39242         Don't include headers no longer needed in this case.
39243         * lib/fsusage.c [STAT_STATVFS &&
39244         ! (__linux__ && (__GLIBC__||__UCLIBC__))]: Undefine
39245         STAT_STATFS2_FRSIZE to exclude code not used in this case.
39247 2012-07-02  Paul Eggert  <eggert@cs.ucla.edu>
39249         fsusage: include files needed for glibc 2.6 fallback
39250         * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
39251         Include <sys/param.h>, <sys/mount.h>, <sys/vfs.h>
39252         as they are needed for the 2.6 < glibc/Linux < 2.6.36 fallback.
39253         Problem reported by Ludovic Courtès in
39254         <http://lists.gnu.org/r/bug-gnulib/2012-07/msg00005.html>.
39256         fsusage: avoid needless check on GNU/Linux
39257         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Omit STAT_STATFS3_OSF1 check
39258         on GNU/Linux systems, since it can't possibly work.
39260 2012-07-01  Bruno Haible  <bruno@clisp.org>
39262         log: Fix an autoconf >= 2.64 warning.
39263         * modules/log (configure.ac): Require, not invoke, gl_FUNC_LOG.
39264         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
39266 2012-06-28  Bruno Haible  <bruno@clisp.org>
39268         log10f: Fix possible configuration problem.
39269         * m4/log10f.m4 (gl_FUNC_LOG10F): Augment LIBS by $LOG10F_LIBM, not
39270         $LOGF_LIBM.
39271         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
39273 2012-06-28  Bruno Haible  <bruno@clisp.org>
39275         remove: No longer override on all platforms. Fixes bug from 2010-03-20.
39276         * m4/remove.m4 (gl_FUNC_REMOVE): Test gl_cv_func_unlink_honors_slashes,
39277         not gl_cv_func_unlink_works.
39278         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
39280 2012-06-27  Eric Blake  <eblake@redhat.com>
39282         config: drop scripts that automake says are not independent
39283         * config/srclist.txt: Drop elisp-comp, missing, and ylwrap.
39284         * build-aux/elisp-comp: Delete.
39285         * build-aux/missing: Likewise.
39286         * build-aux/ylwrap: Likewise.
39287         * modules/elisp-comp: Likewise.
39288         * MODULES.html.sh: Drop mention of elisp-comp.
39289         * NEWS: Mention this.
39291 2012-06-26  Paul Eggert  <eggert@cs.ucla.edu>
39293         root-uid: new module
39294         This is for portability to Tandem's NonStop Kernel.
39295         * lib/root-uid.h, modules/root-uid: New files.
39296         * lib/euidaccess.c, lib/pt_chown.c, lib/unlinkdir.c:
39297         * lib/write-any-file.c, tests/test-sethostname2.c:
39298         Include "root-uid.h".
39299         * lib/euidaccess.c (euidaccess):
39300         * lib/pt_chown.c (main):
39301         * lib/unlinkdir.c (cannot_unlink_dir):
39302         * lib/write-any-file.c (can_write_any_file):
39303         * m4/mknod.m4 (gl_FUNC_MKNOD):
39304         * tests/test-sethostname2.c (geteuid, main):
39305         Don't assume ROOT_UID == 0.
39306         * modules/euidaccess (Depends-on):
39307         * modules/pt_chown (Depends-on):
39308         * modules/sethostname-tests (Depends-on):
39309         * modules/unlinkdir (Depends-on):
39310         * modules/write-any-file (Depends-on):
39311         Add root-uid.
39313         regex: use locale-independent comparison for codeset name
39314         See Bruno Haible's comment in <http://bugs.gnu.org/10305#120>.
39315         * lib/regcomp.c (init_dfa): Use just ASCII case comparison
39316         for codeset name.
39317         * lib/regex_internal.h: Do not include <strings.h>, since we
39318         no longer use strcasecmp.
39319         * modules/regex (Depends-on): Remove strcase.
39321 2012-06-23  Bruno Haible  <bruno@clisp.org>
39323         getopt-posix: No longer guarantee that option processing is resettable.
39324         * doc/posix-functions/getopt.texi: Drop description of problem with
39325         internal state. Fix info about mingw and msvc9.
39326         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't require a resettable
39327         option processing by getopt(). Run three test programs instead of one.
39328         Simplify cross-compilation guess.
39329         * NEWS: Mention the change.
39330         Reported by Rich Felker <dalias@aerifal.cx>.
39332 2012-06-26  Bruno Haible  <bruno@clisp.org>
39334         argp, regex: Ensure strcasecmp gets declared.
39335         * lib/argp-help.c: Include <strings.h>.
39336         * lib/regex_internal.h: Likewise.
39337         Reported and suggested by Joachim Schmitz <jojo@schmitz-digital.de>.
39339 2012-06-24  Bruno Haible  <bruno@clisp.org>
39341         ptsname_r: Make it consistent with ptsname on AIX.
39342         * lib/ptsname_r.c (__ptsname_r): For AIX, use nearly the same
39343         implementation as for OSF/1.
39344         * tests/test-ptsname_r.c (main) [AIX]: Use the modern way of opening
39345         a pty master.
39347         ptsname_r: Make it consistent with ptsname on OSF/1.
39348         * lib/ptsname_r.c (__ptsname_r): Add a different implementation for
39349         OSF/1.
39351 2012-06-24  Bruno Haible  <bruno@clisp.org>
39353         ttyname_r: Fix result on OSF/1, Solaris.
39354         * lib/ttyname_r.c (ttyname_r): Produce a NUL-terminated result.
39356 2012-06-24  Bruno Haible  <bruno@clisp.org>
39358         ptsname_r: Add support for Solaris.
39359         * lib/ptsname_r.c (__ptsname_r): Add a different implementation for
39360         Solaris.
39362         ptsname_r: Fix test failure on native Windows.
39363         * modules/ptsname_r (Depends-on): Add isatty.
39365         ptsname_r: Fix test failures on IRIX, Solaris.
39366         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Test whether isatty sets
39367         errno when it fails. Define ISATTY_FAILS_WITHOUT_SETTING_ERRNO
39368         accordingly.
39369         * lib/ptsname_r.c: Include <fcntl.h>.
39370         (__ptsname_r): When isatty returned false, then on IRIX, Solaris
39371         set errno if fd is invalid.
39372         * tests/test-isatty.c (main): Update comments.
39374 2012-06-24  Bruno Haible  <bruno@clisp.org>
39376         ptsname test: Extend test.
39377         * tests/test-ptsname.c: Include <errno.h>.
39378         (main): Test behaviour with invalid file descriptor.
39380 2012-06-23  Paul Eggert  <eggert@cs.ucla.edu>
39382         time: fix obsolete comment
39383         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Remove obsolete
39384         reference to HAVE_STRUCT_TIMESPEC in comment.
39386 2012-06-23  Bruno Haible  <bruno@clisp.org>
39388         getopt-gnu: Handle suboptimal getopt_long's abbreviation handling.
39389         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): If getopt_long exists but
39390         does not handle abbreviated long options with equivalent
39391         disambiguations, set gl_replace_getopt to yes.
39392         * doc/posix-functions/getopt.texi: Mention the OpenBSD 5.0 problem.
39394 2012-06-22  Paul Eggert  <eggert@cs.ucla.edu>
39396         time_r: fix typo that always overrode localtime_r decl
39397         * m4/time_r.m4 (gl_TIME_R): Use AC_CHECK_DECLS, not
39398         AC_CHECK_DECLS_ONCE, since localtime_r is declared in <time.h>,
39399         not in a standard include.
39401 2012-06-22  Bruno Haible  <bruno@clisp.org>
39403         Write "Mac OS X" instead of "MacOS X".
39404         * README: Write "Mac OS X" instead of "MacOS X".
39405         * build-aux/bootstrap: Likewise.
39406         * build-aux/install-reloc: Likewise.
39407         * lib/acl-internal.h: Likewise.
39408         * lib/acl_entries.c: Likewise.
39409         * lib/argp-ba.c: Likewise.
39410         * lib/argp-pv.c: Likewise.
39411         * lib/config.charset: Likewise.
39412         * lib/copy-acl.c: Likewise.
39413         * lib/csharpexec.c: Likewise.
39414         * lib/euidaccess.c: Likewise.
39415         * lib/fbufmode.c: Likewise.
39416         * lib/fflush.c: Likewise.
39417         * lib/file-has-acl.c: Likewise.
39418         * lib/filemode.h: Likewise.
39419         * lib/fpurge.c: Likewise.
39420         * lib/freadable.c: Likewise.
39421         * lib/freadahead.c: Likewise.
39422         * lib/freading.c: Likewise.
39423         * lib/freadptr.c: Likewise.
39424         * lib/freadseek.c: Likewise.
39425         * lib/fseeko.c: Likewise.
39426         * lib/fseterr.c: Likewise.
39427         * lib/fsusage.c: Likewise.
39428         * lib/fwritable.c: Likewise.
39429         * lib/fwriting.c: Likewise.
39430         * lib/get-rusage-as.c: Likewise.
39431         * lib/get-rusage-data.c: Likewise.
39432         * lib/getdomainname.c: Likewise.
39433         * lib/idpriv-drop.c: Likewise.
39434         * lib/idpriv-droptemp.c: Likewise.
39435         * lib/localcharset.c: Likewise.
39436         * lib/locale.in.h: Likewise.
39437         * lib/localename.c: Likewise.
39438         * lib/mbsrtowcs-state.c: Likewise.
39439         * lib/nproc.c: Likewise.
39440         * lib/passfd.c: Likewise.
39441         * lib/posix_openpt.c: Likewise.
39442         * lib/printf-parse.c: Likewise.
39443         * lib/progreloc.c: Likewise.
39444         * lib/safe-read.h: Likewise.
39445         * lib/safe-write.h: Likewise.
39446         * lib/sched.in.h: Likewise.
39447         * lib/set-mode-acl.c: Likewise.
39448         * lib/signal.in.h: Likewise.
39449         * lib/stdint.in.h: Likewise.
39450         * lib/stdio-impl.h: Likewise.
39451         * lib/stdlib.in.h: Likewise.
39452         * lib/strtod.c: Likewise.
39453         * lib/sys_select.in.h: Likewise.
39454         * lib/tcgetsid.c: Likewise.
39455         * lib/unistd.in.h: Likewise.
39456         * lib/unlockpt.c: Likewise.
39457         * lib/vasnprintf.c: Likewise.
39458         * lib/vma-iter.c: Likewise.
39459         * lib/wcsrtombs-state.c: Likewise.
39460         * m4/acl.m4: Likewise.
39461         * m4/acosl.m4: Likewise.
39462         * m4/asinl.m4: Likewise.
39463         * m4/atanl.m4: Likewise.
39464         * m4/c-stack.m4: Likewise.
39465         * m4/cosl.m4: Likewise.
39466         * m4/expl.m4: Likewise.
39467         * m4/extensions.m4: Likewise.
39468         * m4/fdatasync.m4: Likewise.
39469         * m4/fmal.m4: Likewise.
39470         * m4/frexp.m4: Likewise.
39471         * m4/frexpf.m4: Likewise.
39472         * m4/frexpl.m4: Likewise.
39473         * m4/fsusage.m4: Likewise.
39474         * m4/getdomainname.m4: Likewise.
39475         * m4/getloadavg.m4: Likewise.
39476         * m4/getopt.m4: Likewise.
39477         * m4/gettext.m4: Likewise.
39478         * m4/gnulib-common.m4: Likewise.
39479         * m4/intdiv0.m4: Likewise.
39480         * m4/intlmacosx.m4: Likewise.
39481         * m4/largefile.m4: Likewise.
39482         * m4/ldexpl.m4: Likewise.
39483         * m4/link-follow.m4: Likewise.
39484         * m4/locale-ar.m4: Likewise.
39485         * m4/locale-fr.m4: Likewise.
39486         * m4/locale-ja.m4: Likewise.
39487         * m4/locale-tr.m4: Likewise.
39488         * m4/locale-zh.m4: Likewise.
39489         * m4/locale_h.m4: Likewise.
39490         * m4/lock.m4: Likewise.
39491         * m4/logl.m4: Likewise.
39492         * m4/mathfunc.m4: Likewise.
39493         * m4/minus-zero.m4: Likewise.
39494         * m4/mktime.m4: Likewise.
39495         * m4/mmap-anon.m4: Likewise.
39496         * m4/multiarch.m4: Likewise.
39497         * m4/nanosleep.m4: Likewise.
39498         * m4/nocrash.m4: Likewise.
39499         * m4/poll.m4: Likewise.
39500         * m4/printf-frexpl.m4: Likewise.
39501         * m4/printf.m4: Likewise.
39502         * m4/signbit.m4: Likewise.
39503         * m4/sinl.m4: Likewise.
39504         * m4/sqrtl.m4: Likewise.
39505         * m4/strerror_r.m4: Likewise.
39506         * m4/tanl.m4: Likewise.
39507         * m4/threadlib.m4: Likewise.
39508         * m4/ttyname_r.m4: Likewise.
39509         * m4/unlink.m4: Likewise.
39510         * m4/visibility.m4: Likewise.
39511         * m4/wcwidth.m4: Likewise.
39512         * tests/minus-zero.h: Likewise.
39513         * tests/test-alloca-opt.c: Likewise.
39514         * tests/test-copy-acl.sh: Likewise.
39515         * tests/test-copy-file.sh: Likewise.
39516         * tests/test-fdatasync.c: Likewise.
39517         * tests/test-file-has-acl.sh: Likewise.
39518         * tests/test-flock.c: Likewise.
39519         * tests/test-fsync.c: Likewise.
39520         * tests/test-localename.c: Likewise.
39521         * tests/test-malloca.c: Likewise.
39522         * tests/test-nonblocking-pipe.h: Likewise.
39523         * tests/test-nonblocking-socket.h: Likewise.
39524         * tests/test-openpty.c: Likewise.
39525         * tests/test-posix_openpt.c: Likewise.
39526         * tests/test-ptsname.c: Likewise.
39527         * tests/test-ptsname_r.c: Likewise.
39528         * tests/test-sameacls.c: Likewise.
39529         * tests/test-select.h: Likewise.
39530         * tests/test-set-mode-acl.sh: Likewise.
39531         * tests/test-snprintf-posix.h: Likewise.
39532         * tests/test-sprintf-posix.h: Likewise.
39533         * tests/test-strtod.c: Likewise.
39534         * tests/test-time.c: Likewise.
39535         * tests/test-vasnprintf-posix.c: Likewise.
39536         * tests/test-vasprintf-posix.c: Likewise.
39537         * doc/acl-resources.txt: Likewise.
39538         * doc/**/*.texi: Likewise.
39539         Reported by Max Horn <max@quendi.de>.
39541 2012-06-22  Bruno Haible  <bruno@clisp.org>
39543         grantpt: Relax requirement regarding invalid file descriptors.
39544         * lib/grantpt.c: Don't include <fcntl.h>.
39545         (grantpt): Don't verify the validity of the file descriptor.
39546         * modules/grantpt (Depends-on): Remove fcntl-h.
39547         * tests/test-grantpt.c (main): Allow grantpt to succeed for invalid
39548         file descriptors.
39549         * doc/posix-functions/grantpt.texi: Document more platforms on which
39550         grantpt succeeds for invalid file descriptors.
39551         Reported by Rich Felker <dalias@aerifal.cx>.
39553 2012-06-22  Bruno Haible  <bruno@clisp.org>
39555         fbufmode test: Don't test unportable behaviour.
39556         * tests/test-fbufmode.c (test_mode): New function, extracted from main.
39557         (main): Invoke it three times.
39558         Reported by Szabolcs Nagy <nsz@port70.net>
39559         and Rich Felker <dalias@aerifal.cx>.
39561 2012-06-21  Bruno Haible  <bruno@clisp.org>
39563         gnulib-tool: Refactor inctests variable.
39564         * gnulib-tool: Normalize inctests to 'true' or 'false', not ''.
39565         (func_modules_transitive_closure,
39566         func_modules_transitive_closure_separately,
39567         func_import, func_create_testdir): Update.
39569         gnulib-tool: --create-[mega]testdir, --[mega]test implies --with-tests.
39570         * gnulib-tool: Accept option --without-tests.
39571         (func_usage): Document --without-tests option. Rearrange.
39572         (inctests): Normalize according to the mode.
39573         * NEWS: Mention the change.
39574         Suggested by Simon Josefsson.
39576 2012-06-21  Bruce Korb  <bkorb@gnu.org>
39578         parse-duration test: Avoid spurious output.
39579         * tests/test-parse-duration.sh: Reindent with leading tabs.
39581 2012-06-21  Jim Meyering  <meyering@redhat.com>
39583         maint: disable the strncpy prohibition
39584         * cfg.mk: Do not prohibit strncpy here.
39586 2012-06-21  Bruno Haible  <bruno@clisp.org>
39588         nonblocking: Avoid compilation error on mingw64.
39589         * m4/stdio_h.m4 (gl_STDIO_H): Invoke gl_MODULE_INDICATOR for scanf,
39590         fscanf.
39591         * modules/vscanf (configure.ac): Invoke gl_MODULE_INDICATOR.
39592         * modules/vfscanf (configure.ac): Likewise.
39593         * lib/stdio-read.c (scanf, fscanf, vscanf, vfscanf): Enable function
39594         definition only if stdio.h has prepared it.
39595         Reported by Daniel P. Berrange <berrange@redhat.com>.
39597 2012-06-20  Bernd Jendrissek  <bernd.jendrissek@gmail.com>  (tiny change)
39599         gnulib-tool: Use readlink if it is available.
39600         * gnulib-tool (func_readlink): Choose function more appropriately.
39602 2012-06-21  Paul Eggert  <eggert@cs.ucla.edu>
39604         posixtm-tests: port to buggy compiler
39605         Problem reported by Simon Josefsson in
39606         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00246.html>.
39607         * modules/posixtm-tests (Depends-on): Add stdint.
39608         * tests/test-posixtm.c (struct posixtm_test.t_expected):
39609         Now of type int_least64_t, not int64_t, both because that's
39610         what INT64_C returns and because int_least64_t works even
39611         on 72-bit hosts.
39612         (T): Use INT64_C on constants outside the traditional int range,
39613         to work around compiler bug noted by Simon.
39615         mktime: fix integer overflow in 'configure'-time test
39616         * m4/mktime.m4 (gl_FUNC_MKTIME): Do not rely on undefined behavior
39617         after integer overflow.  Problem reported by Rich Felker in
39618         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00257.html>.
39619         Also, don't look for further instances of a bug if we've already
39620         found one instance; this helps 'configure' run faster.
39622 2012-06-20  John Darrington  <john@darrington.wattle.id.au>  (tiny change)
39624         tmpfile, clean-temp: Fix invocation of GetVersionEx.
39625         * lib/tmpfile.c (supports_delete_on_close): Initialize parameter for
39626         GetVersionEx correctly.
39627         * lib/clean-temp.c (supports_delete_on_close): Likewise.
39629 2012-06-20  Bruno Haible  <bruno@clisp.org>
39631         fdopen: Allow implementations that don't reject invalid fd arguments.
39632         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Let the test pass if fdopen(-1,...)
39633         succeeds.
39634         Reported by Rich Felker <dalias@aerifal.cx>.
39636 2012-06-20  Simon Josefsson  <simon@josefsson.org>
39638         * modules/parse-duration-tests (test_parse_duration_LDADD): Don't
39639         bring in LIBINTL.
39641 2012-06-20  Paul Eggert  <eggert@cs.ucla.edu>
39643         init.sh: do not rely on autoupated PWD
39644         This addresses symptoms of the problem reported by Nelson H.F. Beebe in
39645         <http://lists.gnu.org/r/bug-gzip/2012-06/msg00008.html>.
39646         Although Nelson's bug was not necessarily fixed by this patch,
39647         it seems wise to make the change for safety.
39648         * tests/init.sh (path_prepend_): Do not rely on PWD updating
39649         automagically after 'cd'; this is not reliable on older shells.
39650         (setup_): Fail if we cannot cd to temporary directory.
39652 2012-06-19  Bruno Haible  <bruno@clisp.org>
39654         stat, fstat: Avoid warnings on mingw64.
39655         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Undefine before
39656         redefining.
39657         * lib/fstat.c (stat, fstat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Likewise.
39658         Reported by Daniel P. Berrange <berrange@redhat.com>.
39660 2012-06-19  Bruno Haible  <bruno@clisp.org>
39662         stdioext: Add support for musl libc.
39664         * m4/fbufmode.m4 (gl_FUNC_FBUFMODE): Test whether __fbufsize exists.
39665         * lib/fbufmode.c (fbufmode): Add conditional code for musl.
39667         * m4/fseterr.m4: New file.
39668         * lib/fseterr.h (fseterr): Define as an alias of __fseterr if that
39669         function exists.
39670         * modules/fseterr (Files): Add m4/fseterr.m4.
39671         (configure.ac): Invoke gl_FUNC_FSETERR. Compile fseterr.c if
39672         __fseterr does not exist.
39673         (Makefile.am): Remove fseterr.c from lib_SOURCES.
39675         * lib/freadable.h: Update comment.
39677         * lib/fwritable.h: Update comment.
39679         * lib/freading.h: Update comment.
39681         * lib/fwriting.h: Update comment.
39683         * m4/freadahead.m4: New file.
39684         * lib/freadahead.h (freadahead): Define as an alias of __freadahead if
39685         that function exists.
39686         * modules/freadahead (Files): Add m4/freadahead.m4.
39687         (configure.ac): Invoke gl_FUNC_FREADAHEAD. Compile freadahead.c if
39688         __freadahead does not exist.
39689         (Makefile.am): Remove freadahead.c from lib_SOURCES.
39691         * m4/freadptr.m4: New file.
39692         * lib/freadptr.h (freadptr): Define as an alias of __freadptr if that
39693         function exists.
39694         * modules/freadptr (Files): Add m4/freadptr.m4.
39695         (configure.ac): Invoke gl_FUNC_FREADPTR. Compile freadptr.c if
39696         __freadptr does not exist.
39697         (Makefile.am): Remove freadptr.c from lib_SOURCES.
39699         * m4/freadseek.m4: New file.
39700         * lib/freadseek.c (freadptrinc): Use __freadptrinc if that function
39701         exists.
39702         * modules/freadseek (Files): Add m4/freadseek.m4.
39703         (configure.ac): Invoke gl_FUNC_FREADSEEK.
39705         * lib/fpurge.c (fpurge): Update comment.
39707         Reported by and with help from Rich Felker <dalias@aerifal.cx>.
39709 2012-06-19  Bruno Haible  <bruno@clisp.org>
39711         *printf-posix: Put more info into config.log.
39712         * m4/printf.m4 (gl_PRINTF_ENOMEM): Emit conftest's error output and
39713         exit code into config.log.
39715 2012-06-19  Bruno Haible  <bruno@clisp.org>
39717         getopt-gnu: Fix exit code overflow in autoconf test.
39718         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Squash exit code values,
39719         to keep them below < 128.
39721 2012-06-17  Jim Meyering  <meyering@redhat.com>
39723         maint.mk: fix typo in code to derive GPG key at release time
39724         * top/maint.mk (gpg_key_ID): Fix typo: $3 -> $$3
39726 2012-06-17  Paul Eggert  <eggert@cs.ucla.edu>
39728         regex: avoid warning when pointers are not long
39729         * lib/regcomp.c (parse_dup_op, mark_opt_subexp): Cast between void *
39730         and uintptr_t, not long, for portability to hosts where pointers and
39731         long have different sizes.  Issue noted by Daniel P. Berrange in
39732         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00122.html>
39733         and fix suggested by Bruno Haible in
39734         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00128.html>.
39736 2012-06-17  Bruno Haible  <bruno@clisp.org>
39738         dummy: Relicense into the public domain.
39739         * modules/dummy (License): Set to "public domain".
39740         Suggested by Reuben Thomas.
39742 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
39744         announce-gen: VPATH issues
39745         * build-aux/announce-gen (--srcdir): New option, used to trim the
39746         $srcdir part of the path from $builddir to NEWS.
39747         * top/maint.mk (announcement): Adjust.
39749 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
39751         gnu-web-doc-update: VPATH builds
39752         * build-aux/gnu-web-doc-update (--builddir): New option.
39753         Revamp the handling of options.
39754         Prefer $(...) to `...`.
39755         Don't pass --tmpdir=. to mktemp, it is useless given that we specify
39756         the template, and it is GNU mktemp specific.
39757         Prefer set -e to long series of &&.
39758         Restore the initial git branch, not "master".
39759         Properly initialize submodules (don't rely only on bootstrap).
39760         Do not reconfigure blindly, use config.status.
39761         * top/README-release: Update instructions for gnu-web-doc-update.
39763 2012-06-11  Jim Meyering  <meyering@redhat.com>
39765         maint.mk: revert most of the previous change re "all these"
39766         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Remove that pair.
39767         For rationale, see the discussion at
39768         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30912
39770 2012-06-10  Karl Berry  <karl@gnu.org>
39772         * build-aux/gnupload: with --dry-run, do not ask for gpg pw.
39774         * build-aux/gnupload: implement --replace, ftp-upload protocol v1.2.
39776 2012-06-10  Bruce Korb  <bkorb@gnu.org>
39778         parse-duration: Relicense under LGPLv2+.
39779         * modules/parse-duration (License): Change to LGPLv2+.
39781 2012-06-10  Jim Meyering  <meyering@redhat.com>
39783         maint.mk: prohibit common grammar error: "all these"
39784         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Add "all these" to
39785         the list of prohibited word sequences.  It should be "all of these".
39786         * lib/tempname.c (__gen_tempname): Fix one of them.
39788 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
39790         do-release-commit-and-tag: support VPATH builds
39791         * build-aux/do-release-commit-and-tag: Prefer $(...) to `...`.
39792         (noteworthy): Defined earlier to factor its value.
39793         (noteworthy_stub): New.
39794         Use it to factor.
39795         (help_version): Split into...
39796         (help, version): these.
39797         Adjust the option processing part.
39798         Support "--option=value" in addition to "--option value".
39799         (builddir): New.
39800         (--builddir): New option.
39801         * top/README-release: Document this.
39802         Reword slightly so that the reader cannot understand that he
39803         has to do these steps before calling do-release-commit-and-tag.
39805 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
39807         readme-release: also require announce-gen and maintainer-makefile
39808         * modules/readme-release (Depends-on): here.
39809         * modules/announce-gen, modules/do-release-commit-and-tag,
39810         modules/gnu-web-doc-update, modules/maintainer-makefile
39811         (Description): Point to readme-release.
39813 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
39815         maint.mk: fix VPATH issues.
39816         * top/maint.mk (news-check): GNU Make understand $< very well.
39817         (release-prep): NEWS is in $(srcdir).
39819 2012-06-05  Akim Demaille  <akim@lrde.epita.fr>
39821         readme-release: require the promoted modules.
39822         * modules/readme-release (Depends-on): Add
39823         do-release-commit-and-tag, gnupload, and gnu-web-doc-update, used
39824         in this text.
39826 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
39827             Bruno Haible  <bruno@clisp.org>
39829         error, strerror-override: Support mingw64 from Fedora 17.
39830         * lib/errno.in.h (GNULIB_defined_ESTREAMS): Use a different indicator
39831         for ETXTBSY, ENODATA, ENOSR, ENOSTR, ETIME, EOTHER, compared to
39832         EINPROGRESS.
39833         * lib/strerror-override.h (strerror_override): Test it.
39834         * lib/strerror-override.c (strerror_override): Likewise.
39835         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also ETXTBSY.
39837 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
39838             Bruno Haible  <bruno@clisp.org>
39840         error, strerror-override: Support mingw64 from Fedora 17.
39841         * lib/errno.in.h (GNULIB_defined_ENOTRECOVERABLE): Use a different
39842         indicator for ENOTRECOVERABLE, compared to EOWNERDEAD.
39843         * lib/strerror-override.h (strerror_override): Test it.
39844         * lib/strerror-override.c (strerror_override): Likewise.
39846 2012-06-03  Bruno Haible  <bruno@clisp.org>
39848         error, strerror-override: Support new errno values from POSIX:2008.
39849         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also EOWNERDEAD and
39850         ENOTRECOVERABLE.
39851         * lib/errno.in.h (EOWNERDEAD, ENOTRECOVERABLE): Define on all
39852         platforms.
39853         * lib/strerror-override.c (strerror_override): Conditionalize the
39854         EOWNERDEAD, ENOTRECOVERABLE handling on GNULIB_defined_EOWNERDEAD.
39855         * lib/strerror-override.h (strerror_override): Declare also if
39856         GNULIB_defined_EOWNERDEAD is defined.
39857         * tests/test-errno.c (e130, e131): New variables.
39858         * doc/posix-headers/errno.texi: Mention the status for EOWNERDEAD,
39859         ENOTRECOVERABLE.
39860         Reported by Paolo Bonzini.
39862 2012-05-31  Jim Meyering  <meyering@redhat.com>
39864         savewd: add missing dependency on sys_wait module
39865         * modules/savewd (Depends-on): Add sys_wait, needed at least
39866         for MSVC.  Report and suggested change by Michael Goffioul.
39868 2012-05-29  Paul Eggert  <eggert@cs.ucla.edu>
39870         system-quote-tests: port to CentOS 5
39871         Problem reported by Tom G. Christensen in
39872         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00255.html>.
39873         * tests/test-system-quote-child.c (fclose, fprintf): Undef.
39875 2012-05-29  Jim Meyering  <meyering@redhat.com>
39877         maint: fix typos in comments and ChangeLog
39878         Culprits identified and fixed mostly automatically using these commands:
39879         git ls-files | misspellings -f - |grep -v '^ERROR:' |perl -pe \
39880         's/^(.*?)\[(\d+)\]: (\w+) -> "(.*?)"$/sed -i '\''${2}s!$3!$4!'\'' $1/'
39881         using http://github.com/lyda/misspell-check
39882         * ChangeLog: Fix typos.
39883         * doc/solaris-versions: Likewise.
39884         * lib/regexec.c (re_search_stub): Likewise.
39885         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
39887 2012-05-27  Paul Eggert  <eggert@cs.ucla.edu>
39889         manywarnings: remove duplicate -Wmultichar entry
39890         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Remove duplicate
39891         entry for -Wmultichar.  -Wno-multichar is in the GCC 4.7.0 manual,
39892         so keep the entry marked as documented.
39894 2012-05-27  Karl Berry  <karl@gnu.org>
39896         * config/srclist.txt (mktime.c): remove last libc sync,
39897         perhaps just temporarily.
39899 2012-05-26  Paul Eggert  <eggert@cs.ucla.edu>
39901         regex: don't assume uint64_t or uint32_t
39902         * lib/regcomp.c (init_word_char): Don't assume that the types
39903         uint64_t and uint32_t exist.  The C standard doesn't guarantee
39904         them, and on some 32-bit compilers there is no uint64_t.
39905         Problem reported by Gianluigi Tiesi in
39906         <http://lists.gnu.org/r/bug-gnulib/2012-03/msg00154.html>.
39908 2012-05-25  Jim Meyering  <meyering@redhat.com>
39910         maint.mk: add strncpy-prohibiting syntax-check rule
39911         * top/maint.mk (sc_prohibit_strncpy): New rule, from coreutils.
39913 2012-05-24  Jim Meyering  <meyering@redhat.com>
39915         maint.mk: compute $(gpg_key_ID) more portably
39916         * top/maint.mk (gpg_key_ID): Use awk in place of sed '{...;...;}'.
39917         That use of sed is not portable to some fringe systems.
39918         Reported by Paul Eggert in
39919         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30793/focus=30802
39921 2012-05-23  Paul Eggert  <eggert@cs.ucla.edu>
39923         mktime: sync from glibc
39924         * config/srclist.txt: Uncomment mktime.c.
39925         * lib/mktime.c: Sync from glibc master.  This incorporates 3 changes.
39926         First, indent with tabs, since glibc uses tabs and doesn't want to
39927         change and we'd rather be identical to glibc.  Also, two small
39928         coding changes:
39929         (isdst_differ): Use &&, not &, as && is the usual style.
39930         (__mktime_internal): Rename local var from abs_diff to approx_abs_diff
39931         for clarity.
39933 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
39935         announce-gen: du -h is more portable than du --human
39936         * build-aux/announce-gen (sizes): Invoke du with -h instead
39937         of --human.  Accept leading white space in its output.
39939 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
39941         announce-gen: Improve diagnostics.
39942         * build-aux/announce-gen: When parsing command line options,
39943         prefer "announce-gen: option --release-type requires an argument"
39944         to "Option release-type requires an argument".
39946 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
39948         maint.mk: gpg_key_ID: use sed more portably
39949         * top/maint.mk (gpg_key_ID): End sed block with a semicolon before
39950         the closing brace.
39951         (refresh-po): Fuse two sed invocations into one.
39953 2012-05-15  Akim Demaille  <akim@lrde.epita.fr>
39955         gitlog-to-changelog: support the log message format used in Bison.
39956         * build-aux/gitlog-to-changelog: Support --strip-tab and
39957         --strip-cherry-picked.
39959 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
39961         poll/select: prevent busy-waiting.  SwitchToThread() only gives away
39962         the rest of the current time slice to another thread in the current
39963         process. So if the thread that feeds the file decscriptor we're
39964         polling is not in the current process, we get busy-waiting.
39965         * lib/poll.c: Use SleepEx(1, TRUE) instead of SwitchToThread().
39966         Patch from Theodore Leblond.
39967         * lib/select.c: Split polling out of the loop that sets the output
39968         fd_sets.  Check for zero result and loop if the wait timeout is
39969         infinite.
39971 2012-05-21  Simon Josefsson  <simon@josefsson.org>
39973         select: Fix build error on IRIX 6.5.
39974         * lib/select.c: Include stddef.h for NULL.
39976 2012-05-21  Simon Josefsson  <simon@josefsson.org>
39978         gc: fix libgcrypt detection on older machines.
39979         * m4/gc.m4: Reject libgcrypt earlier than 1.4.4.  Collapse
39980         copyright years because the file has been distributed every year
39981         since it was created.
39983 2012-05-18  Paul Eggert  <eggert@cs.ucla.edu>
39985         crypto: fix bug in large buffer handling
39986         Problem reported by Serge Belyshev for glibc in
39987         <http://sourceware.org/bugzilla/show_bug.cgi?id=14090> and for gnulib in
39988         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00226.html>.
39989         * lib/md4.c (md4_process_block):
39990         * lib/md5.c (md5_process_block):
39991         * lib/sha1.c (sha1_process_block):
39992         * lib/sha256.c (sha256_process_block):
39993         Don't assume the buffer length is less than 2**32.
39994         * lib/sha512.c (sha512_process_block): Likewise.
39995         Here, the bug is present only in the rare case where the host does
39996         not support uint64_t or where size_t is wider than 64 bits.
39997         Use u64size to work around the problems.
39998         * lib/u64.h (u64size): New macro.
40000 2012-05-15  Pádraig Brady  <P@draigBrady.com>
40002         fsusage: fix block size returned on older Linux 2.6
40004         * lib/fsusage.c: Fall back to (struct statfs).f_frsize
40005         which is available since Linux 2.6.
40006         * m4/fsusage.m4 (STAT_STATFS2_FRSIZE): Always define
40007         when the member is available so it can be used as a fallback.
40008         * doc/posix-functions/statvfs.texi: Mention the hang issue
40009         on Linux < 2.6.36.
40011 2012-05-14  Paul Eggert  <eggert@cs.ucla.edu>
40013         bootstrap: suppress stderr chatter
40014         * build-aux/bootstrap (insert_sorted_if_absent, main program):
40015         Omit unnecessary chatter to stderr.  The main program chatter
40016         was there only inadvertantly.
40018         bootstrap: .gitignore files created by autopoint, libtool
40019         I ran into this problem when bootstrapping the latest diffutils.
40020         After './bootstrap', 'git status' reported lots of untracked files
40021         m4/codeset.m4, m4/gettext.m4, etc.  These files were created by
40022         autopoint and do not need to be version-controlled.
40023         * build-aux/bootstrap: Put into .gitignore the files that
40024         autopoint and libtool create, by keeping track of files that exist
40025         after but not before these programs are run.
40026         (version_controlled_file): Move up.  2nd arg is now full file
40027         name, not base name; this is more convenient.  Put CVS at the end,
40028         as it's now somewhat deprecated.
40030 2012-05-14  Jim Meyering  <meyering@redhat.com>
40032         ignore-value.h: remove unused _GL_ATTRIBUTE_DEPRECATED definition
40033         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Remove now-unused
40034         definition.  Reported by Bruno Haible.
40036 2012-05-13  Bruno Haible  <bruno@clisp.org>
40037             Paul Eggert  <eggert@cs.ucla.edu>
40039         binary-io: Define set_binary_mode function.
40040         * lib/binary-io.h (set_binary_mode): New function.
40041         (SET_BINARY): Define in terms of set_binary_mode.
40042         * modules/binary-io (configure.ac): Require AC_C_INLINE.
40043         * tests/test-binary-io.c (main): Accept an argument, and test either
40044         set_binary_mode or SET_BINARY depending on the argument.
40045         * tests/test-binary-io.sh: Invoke test-binary-io twice, with an
40046         argument. Clean up also t-bin-out0.tmp.
40048 2012-05-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
40050         bootstrap: take advantage of POSIX shell features
40052         The 'bootstrap' script offered by Gnulib script already uses POSIX
40053         shell features (like $((...)) arithmetic expansions) that are not
40054         supported by legacy Bourne shells like Solaris 10 /bin/sh.  This
40055         means that bootstrap must already be run using a proper POSIX shell,
40056         which will thus provide more features, like ${var#pattern} parameter
40057         expansion or inversion of a command exit status with '!'.  We can
40058         thus use these features to improve the clarity and the performances
40059         of the bootstrap script.
40061         Suggested by Eric Blake.
40063         * build-aux/bootstrap: Prefer xpg4 parameter expansions over use
40064         of sed/expr plus command substitutions, to save some forks.  While
40065         we are at it, prefer the POSIX $(...) form of command substitution,
40066         rather than the legacy form `...` (since the former is visually
40067         clearer and interacts better with quoting), and prefer the idiom:
40068           "if ! CMD; then ACTION ..."
40069         over the idiom:
40070           "if CMD; then :; else ACTION ..."
40071         which was required by legacy Bourne shells not supporting '!'.
40073 2012-05-12  Bruno Haible  <bruno@clisp.org>
40075         system-quote: Add more comments.
40076         * lib/system-quote.h: Add more comments about wilcards and limitations.
40077         Suggested by Eli Zaretskii <eliz@gnu.org>.
40079         sh-quote, system-quote: Add comments about wildcards.
40080         * lib/sh-quote.h: Clarify what happens with wildcard characters.
40081         * lib/system-quote.h: Likewise.
40082         Reported by Eli Zaretskii <eliz@gnu.org>.
40084 2012-05-11  Paul Eggert  <eggert@cs.ucla.edu>
40086         fsusage: check for GNU/Linux statvfs problem dynamically
40087         * lib/fsusage.c [STAT_STATVFS && __linux__ && (__GLIBC__||__UCLIBC__)]:
40088         Define STAT_STATFS2_BSIZE too, since in this case the code now
40089         checks dynamically whether statvfs is reliable, falling back on
40090         Linux-style statfs otherwise.
40091         (statvfs_works): New function, for dynamically testing statvfs.
40092         (get_fs_usage) [STAT_STATVFS]: Use it.
40093         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Remove static check for
40094         statvfs on GNU/Linux hosts, since it's now done dynamically.
40096 2012-05-10  Bruno Haible  <bruno@clisp.org>
40098         system-quote, execute, spawn-pipe: Escape '?' on Windows.
40099         * lib/system-quote.c (SHELL_SPECIAL_CHARS, CMD_SPECIAL_CHARS): Add the
40100         '?' character.
40101         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Likewise.
40102         * tests/test-system-quote-main.c (check_all): Check also strings like
40103         "??????????".
40104         Reported by Eli Zaretskii <eliz@gnu.org>.
40106 2012-05-10  Paul Eggert  <eggert@cs.ucla.edu>
40108         _Noreturn: port config.h to gcc -Wundef
40109         * m4/gnulib-common.m4 (gl_COMMON_BODY): Check that __STDC_VERSION__ is
40110         defined before using it, for gcc -Wundef.  Reported by Akim Demaille in
40111         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00147.html>.
40113 2012-05-10  Bruno Haible  <bruno@clisp.org>
40115         system-quote: Refactor.
40116         * lib/system-quote.h (system_quote_copy): Fix comment.
40117         * lib/system-quote.c (windows_createprocess_quote, windows_cmd_quote):
40118         New functions, extracted from system_quote_copy.
40119         (system_quote_length, system_quote_copy): Use these functions.
40120         Reported by Paul Eggert.
40122 2012-05-08  Bruno Haible  <bruno@clisp.org>
40124         execute, spawn-pipe: Escape '*' characters in arguments on Windows.
40125         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Add the '*' character.
40127 2012-05-08  Bruno Haible  <bruno@clisp.org>
40129         Tests for module 'system-quote'.
40130         * modules/system-quote-tests: New file.
40131         * tests/test-system-quote.sh: New file.
40132         * tests/test-system-quote-main.c: New file.
40133         * tests/test-system-quote-child.c: New file.
40135         New module 'system-quote'.
40136         * lib/system-quote.h: New file.
40137         * lib/system-quote.c: New file.
40138         * modules/system-quote: New file.
40140 2012-05-08  Bruno Haible  <bruno@clisp.org>
40142         sh-quote: Make C++ safe and allow multiple inclusion.
40143         * lib/sh-quote.h: Add double-inclusion guard. For C++, wrap function
40144         declarations in extern "C".
40146 2012-05-08  Bruno Haible  <bruno@clisp.org>
40148         sh-quote tests: Make tests stricter.
40149         * tests/test-sh-quote.c (check_one): Check the return value of
40150         shell_quote_copy.
40151         (main): Check a string with a CR character. Check a string that
40152         contains UCHAR_MAX.
40154 2012-05-08  Akim Demaille  <akim@lrde.epita.fr>
40156         warnings.m4: provide a means to specify the program to compile.
40157         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): New, extracted from...
40158         (gl_WARN_ADD): here.
40159         Use gl_AS_VAR_APPEND.
40160         Support an argument to specify the program to compile.
40161         (gl_WARN_ADD): Accept an argument to specify the program to compile.
40162         AC_SUBST the WARN_CFLAGS when they are used.
40163         * modules/warnings (configure.ac): Don't AC_SUBST WARN_CFLAGS,
40164         leave this to gl_WARN_ADD.
40166 2012-05-08  Eric Blake  <eblake@redhat.com>
40168         doc: recommendations on gettext version
40169         * doc/gnulib-tool.texi (gettextize and autopoint): Document the
40170         choice between versions.
40171         * DEPENDENCIES (gettext): Cover both approaches.
40173 2012-05-08  Jim Meyering  <meyering@redhat.com>
40175         init.sh: explain why EXEEXT support uses aliases rather than functions
40176         * tests/init.sh: Add a comment.
40178         init.sh: don't let bash aliases interfere with tests
40179         * tests/init.sh: Undefine any pre-defined aliases if the selected shell
40180         is bash.  This avoids problems for those who alias standard commands to
40181         non-conforming uses, like those reported in http://bugs.gnu.org/11256.
40182         Suggested by Tim Mooney <Tim.Mooney@ndsu.edu>.
40184 2012-05-07  Paul Eggert  <eggert@cs.ucla.edu>
40186         stdint: be more consistent with glibc, SunOS libc
40187         * lib/stdint.in.h (gl_int_fast8_t, gl_uint_fast8_t)
40188         (gl_int_fast16_t, gl_uint_fast16_t)
40189         (gl_int_fast32_t, gl_uint_fast32_t)
40190         (INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX)
40191         (INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX)
40192         (INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
40193         Be consistent with glibc by default, and with SunOS 5.10 and later
40194         if __sun is defined.  This lessens the likelihood of clashes if
40195         code compiled for older hosts is combined with code compiled for
40196         newer ones.  Problem reported by Niels Möller in
40197         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00074.html>.
40199 2012-05-07  Eric Blake  <eblake@redhat.com>
40201         isatty: relax license to LGPLv2+
40202         * modules/isatty (License): Relax license.
40204 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
40206         stat-size: comment fix
40207         * lib/stat-size.h: Remove obsolete comment about indenting.
40209 2012-05-06  Bruno Haible  <bruno@clisp.org>
40211         Tests for module 'sh-quote'.
40212         * modules/sh-quote-tests: New file.
40213         * tests/test-sh-quote.c: New file.
40215 2012-05-06  Bruno Haible  <bruno@clisp.org>
40217         sh-quote: Improve shell_quote_argv's signature.
40218         * lib/sh-quote.h (shell_quote_argv): Make argument array a 'const *'.
40219         * lib/sh-quote.c (shell_quote_argv): Likewise.
40221 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
40223         stdint: document issues with int_fast8_t etc.
40224         * doc/posix-headers/stdint.texi (stdint.h): Say that other
40225         stdint.h substitutes may define these types differently.  See
40226         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00071.html>.
40228 2012-05-05  Bruno Haible  <bruno@clisp.org>
40230         nanosleep: Avoid guessing wrong when cross-compiling to Linux.
40231         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require AC_CANONICAL_HOST. When
40232         cross-compiling, set gl_cv_func_nanosleep to either 'guessing no'
40233         or 'guessing no (mishandles large arguments)'.
40235 2012-05-05  Bruno Haible  <bruno@clisp.org>
40237         link-follow: Avoid guessing wrong when cross-compiling to glibc/Linux.
40238         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Require
40239         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
40240         set gl_cv_func_link_follows_symlink to "guessing no".
40242 2012-05-05  Bruno Haible  <bruno@clisp.org>
40244         tzset: Avoid guessing wrong when cross-compiling to glibc systems.
40245         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require AC_CANONICAL_HOST. When
40246         cross-compiling to a glibc platform, set gl_cv_func_tzset_clobber to
40247         "guessing no".
40248         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Update.
40250 2012-05-05  Bruno Haible  <bruno@clisp.org>
40252         d-ino: Avoid guessing "no" when cross-compiling to glibc/Linux systems.
40253         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Require
40254         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
40255         set gl_cv_struct_dirent_d_ino to "guessing yes".
40257 2012-05-05  Bruno Haible  <bruno@clisp.org>
40259         fseeko-tests, ftello-tests: Avoid "guessing no" when cross-compiling.
40260         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Require AC_CANONICAL_HOST. When
40261         cross-compiling to a glibc platform, set gl_cv_func_ungetc_works to
40262         "guessing yes".
40264 2012-05-05  Bruno Haible  <bruno@clisp.org>
40266         signbit: Avoid "guessing no" when cross-compiling to glibc systems.
40267         * m4/signbit.m4 (gl_SIGNBIT): Require AC_CANONICAL_HOST. When cross-
40268         compiling to a glibc system, set gl_cv_func_signbit and
40269         gl_cv_func_signbit_gcc to "guessing yes".
40271 2012-05-05  Bruno Haible  <bruno@clisp.org>
40273         strerror: Avoid "guessing no" when cross-compiling to glibc systems.
40274         * m4/strerror.m4 (gl_FUNC_STRERROR): Require AC_CANONICAL_HOST. When
40275         cross-compiling to a glibc platform, set gl_cv_func_working_strerror
40276         to "guessing yes".
40277         (gl_FUNC_STRERROR_0): Require AC_CANONICAL_HOST. When cross-compiling
40278         to a glibc platform, set gl_cv_func_strerror_0_works to "guessing yes".
40280 2012-05-05  Bruno Haible  <bruno@clisp.org>
40282         canonicalize[-lgpl]: Avoid "guessing no" when cross-compiling to glibc.
40283         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Require
40284         AC_CANONICAL_HOST. When cross-compiling to a glibc system, set
40285         gl_cv_func_realpath_works to "guessing yes".
40287 2012-05-05  Bruno Haible  <bruno@clisp.org>
40289         gettimeofday: Avoid bad guess when cross-compiling to glibc systems.
40290         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Require
40291         AC_CANONICAL_HOST. When cross-compiling, guess no on glibc platforms.
40293 2012-05-04  Bruno Haible  <bruno@clisp.org>
40295         Tweak last commit.
40296         * m4/off_t.m4 (gl_TYPE_OFF_T): Tweak comments.
40297         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
40299 2012-05-04  Paul Eggert  <eggert@cs.ucla.edu>
40301         unistd_h: make it easier to avoid sys_types_h
40302         This is useful for Emacs, which has its own method of porting to
40303         Windows, and which therefore does not need the sys_types_h module.
40304         * m4/off_t.m4: New file, defining gl_TYPE_OFF_T, which contains
40305         code moved here from gl_SYS_TYPES_H.
40306         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Require it instead of
40307         using the code directly.
40308         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_TYPE_OFF_T, not
40309         gl_SYS_TYPES_H.
40310         * modules/sys_types (Files):
40311         * modules/unistd (Files): Add m4/off_t.m4.
40313 2012-05-03  Bruno Haible  <bruno@clisp.org>
40315         lstat: Avoid "guessing no" when cross-compiling to glibc systems.
40316         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): When cross-
40317         compiling, set gl_cv_func_lstat_dereferences_slashed_symlink to
40318         "guessing yes" or "guessing no".
40319         (gl_FUNC_LSTAT): Update.
40320         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Update.
40321         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
40322         * m4/unlinkat.m4 (gl_FUNC_UNLINKAT): Update.
40324 2012-05-03  Bruno Haible  <bruno@clisp.org>
40326         *alloc-gnu, eealloc: Avoid "guessing no" when cross-compiling to glibc.
40327         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Override in autoconf < 2.70.
40328         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Override in autoconf < 2.70.
40329         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Require AC_CANONICAL_HOST. When
40330         cross-compiling, choose the first alternative on glibc systems.
40331         * modules/eealloc (Files): Add m4/malloc.m4, m4/realloc.m4.
40333 2012-05-03  Bruno Haible  <bruno@clisp.org>
40335         getgroups: Avoid "guessing no" when cross-compiling to glibc systems.
40336         * m4/getgroups.m4 (AC_FUNC_GETGROUPS): Override in autoconf < 2.70.
40337         (gl_FUNC_GETGROUPS): Adapt to change of ac_cv_func_getgroups_works.
40339 2012-05-03  Bruno Haible  <bruno@clisp.org>
40341         chown: Avoid "guessing no" when cross-compiling to glibc systems.
40342         * m4/chown.m4 (AC_FUNC_CHOWN): Override in autoconf < 2.70.
40344 2012-05-03  Bruno Haible  <bruno@clisp.org>
40346         Avoid "guessing no" guesses when cross-compiling to glibc systems.
40347         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Require AC_CANONICAL_HOST. When cross-
40348         compiling to glibc systems, set gl_cv_func_cbrtl_ieee to "guessing yes".
40349         * m4/ceil.m4 (gl_FUNC_CEIL): Require AC_CANONICAL_HOST. When cross-
40350         compiling to glibc systems, set gl_cv_func_ceil_ieee to "guessing yes".
40351         * m4/ceilf.m4 (gl_FUNC_CEILF): Require AC_CANONICAL_HOST. When cross-
40352         compiling to glibc systems, set gl_cv_func_ceilf_ieee to "guessing yes".
40353         * m4/ceill.m4 (gl_FUNC_CEILL): Require AC_CANONICAL_HOST. When cross-
40354         compiling to glibc systems, set gl_cv_func_ceill_ieee to "guessing yes".
40355         * m4/chown.m4 (gl_FUNC_CHOWN): Require AC_CANONICAL_HOST. When cross-
40356         compiling to glibc systems, set gl_cv_func_chown_slash_works,
40357         gl_cv_func_chown_ctime_works to "guessing yes".
40358         * m4/lchown.m4 (gl_FUNC_LCHOWN): Update.
40359         * m4/exp2l.m4 (gl_FUNC_EXP2L): Require AC_CANONICAL_HOST. When cross-
40360         compiling to glibc systems, set gl_cv_func_exp2l_ieee to "guessing yes".
40361         * m4/expm1.m4 (gl_FUNC_EXPM1): Require AC_CANONICAL_HOST. When cross-
40362         compiling to glibc systems, set gl_cv_func_expm1_ieee to "guessing yes".
40363         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require AC_CANONICAL_HOST. When cross-
40364         compiling to glibc systems, set gl_cv_func_open_directory_works to
40365         "guessing yes".
40366         * m4/fstat.m4 (gl_FUNC_FSTAT): Update.
40367         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require AC_CANONICAL_HOST. When
40368         cross-compiling to glibc systems, set gl_cv_func_fdopendir_works to
40369         "guessing yes".
40370         * m4/floor.m4 (gl_FUNC_FLOOR): Require AC_CANONICAL_HOST. When cross-
40371         compiling to glibc systems, set gl_cv_func_floor_ieee to "guessing yes".
40372         * m4/floorf.m4 (gl_FUNC_FLOORF): Require AC_CANONICAL_HOST. When cross-
40373         compiling to glibc systems, set gl_cv_func_floorf_ieee to
40374         "guessing yes".
40375         * m4/fmod.m4 (gl_FUNC_FMOD): Require AC_CANONICAL_HOST. When cross-
40376         compiling to glibc systems, set gl_cv_func_fmod_ieee to "guessing yes".
40377         * m4/fmodf.m4 (gl_FUNC_FMODF): Require AC_CANONICAL_HOST. When cross-
40378         compiling to glibc systems, set gl_cv_func_fmodf_ieee to "guessing yes".
40379         * m4/fmodl.m4 (gl_FUNC_FMODL): Require AC_CANONICAL_HOST. When cross-
40380         compiling to glibc systems, set gl_cv_func_fmodl_ieee to "guessing yes".
40381         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Require AC_CANONICAL_HOST. When
40382         cross-compiling to glibc systems, set gl_cv_func_getgroups_works to
40383         "guessing yes".
40384         * m4/hypot.m4 (gl_FUNC_HYPOT): Require AC_CANONICAL_HOST. When cross-
40385         compiling to glibc systems, set gl_cv_func_hypot_ieee to "guessing yes".
40386         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Require AC_CANONICAL_HOST. When cross-
40387         compiling to glibc systems, set gl_cv_func_hypotf_ieee to
40388         "guessing yes".
40389         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Require AC_CANONICAL_HOST. When cross-
40390         compiling to glibc systems, set gl_cv_func_hypotl_ieee to
40391         "guessing yes".
40392         * m4/link.m4 (gl_FUNC_LINK): Require AC_CANONICAL_HOST. When cross-
40393         compiling to glibc systems, set gl_cv_func_link_works to "guessing yes".
40394         * m4/log.m4 (gl_FUNC_LOG): Require AC_CANONICAL_HOST. When cross-
40395         compiling to glibc systems, set gl_cv_func_log_ieee to "guessing yes".
40396         * m4/logf.m4 (gl_FUNC_LOGF): Require AC_CANONICAL_HOST. When cross-
40397         compiling to glibc systems, set gl_cv_func_logf_ieee to "guessing yes".
40398         * m4/log10.m4 (gl_FUNC_LOG10): Require AC_CANONICAL_HOST. When cross-
40399         compiling to glibc systems, set gl_cv_func_log10_ieee to "guessing yes".
40400         * m4/log10f.m4 (gl_FUNC_LOG10F): Require AC_CANONICAL_HOST. When cross-
40401         compiling to glibc systems, set gl_cv_func_log10f_ieee to
40402         "guessing yes".
40403         * m4/log1p.m4 (gl_FUNC_LOG1P): Require AC_CANONICAL_HOST. When cross-
40404         compiling to glibc systems, set gl_cv_func_log1p_ieee to "guessing yes".
40405         * m4/log1pf.m4 (gl_FUNC_LOG1PF): Require AC_CANONICAL_HOST. When cross-
40406         compiling to glibc systems, set gl_cv_func_log1pf_ieee to
40407         "guessing yes".
40408         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Require AC_CANONICAL_HOST. When cross-
40409         compiling to glibc systems, set gl_cv_func_log1pl_ieee to
40410         "guessing yes".
40411         * m4/log2.m4 (gl_FUNC_LOG2): Require AC_CANONICAL_HOST. When cross-
40412         compiling to glibc systems, set gl_cv_func_log2_ieee to "guessing yes".
40413         * m4/log2f.m4 (gl_FUNC_LOG2F): Require AC_CANONICAL_HOST. When cross-
40414         compiling to glibc systems, set gl_cv_func_log2f_ieee to "guessing yes".
40415         * m4/mkdir.m4 (gl_FUNC_MKDIR): Require AC_CANONICAL_HOST. When cross-
40416         compiling to glibc systems, set gl_cv_func_mkdir_trailing_slash_works,
40417         gl_cv_func_mkdir_trailing_dot_works to "guessing yes".
40418         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Require AC_CANONICAL_HOST. When cross-
40419         compiling to glibc systems, set gl_cv_func_mkfifo_works to
40420         "guessing yes".
40421         * m4/mknod.m4 (gl_FUNC_MKNOD): Require AC_CANONICAL_HOST. When cross-
40422         compiling to glibc systems, set gl_cv_func_mknod_works to
40423         "guessing yes".
40424         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_CANONICAL_HOST. When
40425         cross-compiling to glibc systems, set gl_cv_func_working_mkstemp to
40426         "guessing yes".
40427         * m4/modf.m4 (gl_FUNC_MODF): Require AC_CANONICAL_HOST. When cross-
40428         compiling to glibc systems, set gl_cv_func_modf_ieee to "guessing yes".
40429         * m4/modff.m4 (gl_FUNC_MODFF): Require AC_CANONICAL_HOST. When cross-
40430         compiling to glibc systems, set gl_cv_func_modff_ieee to "guessing yes".
40431         * m4/modfl.m4 (gl_FUNC_MODFL): Require AC_CANONICAL_HOST. When cross-
40432         compiling to glibc systems, set gl_cv_func_modfl_ieee to "guessing yes".
40433         * m4/putenv.m4 (gl_FUNC_PUTENV): Require AC_CANONICAL_HOST. When cross-
40434         compiling to glibc systems, set gl_cv_func_svid_putenv to
40435         "guessing yes".
40436         * m4/readlink.m4 (gl_FUNC_READLINK): Require AC_CANONICAL_HOST. When
40437         cross-compiling to glibc systems, set gl_cv_func_readlink_works to
40438         "guessing yes".
40439         * m4/remainder.m4 (gl_FUNC_REMAINDER): Require AC_CANONICAL_HOST. When
40440         cross-compiling to glibc systems, set gl_cv_func_remainder_ieee to
40441         "guessing yes".
40442         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Require AC_CANONICAL_HOST.
40443         When cross-compiling to glibc systems, set gl_cv_func_remainderf_ieee
40444         to "guessing yes".
40445         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Require AC_CANONICAL_HOST.
40446         When cross-compiling to glibc systems, set gl_cv_func_remainderl_ieee
40447         to "guessing yes".
40448         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require AC_CANONICAL_HOST. When cross-
40449         compiling to glibc systems, set gl_cv_func_rmdir_works to
40450         "guessing yes".
40451         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. When cross-
40452         compiling to glibc systems, set gl_cv_func_unlink_honors_slashes,
40453         gl_cv_func_unlink_parent_fails to "guessing yes".
40454         * m4/remove.m4 (gl_FUNC_REMOVE): Update.
40455         * m4/rename.m4 (gl_FUNC_RENAME): Require AC_CANONICAL_HOST. When cross-
40456         compiling to glibc systems, set gl_cv_func_rename_slash_dst_works,
40457         gl_cv_func_rename_slash_src_works, gl_cv_func_rename_link_works,
40458         gl_cv_func_rename_dest_works to "guessing yes".
40459         * m4/round.m4 (gl_FUNC_ROUND): Require AC_CANONICAL_HOST. When cross-
40460         compiling to glibc systems, set gl_cv_func_round_ieee to "guessing yes".
40461         * m4/roundf.m4 (gl_FUNC_ROUNDF): Require AC_CANONICAL_HOST. When cross-
40462         compiling to glibc systems, set gl_cv_func_roundf_ieee to
40463         "guessing yes".
40464         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require AC_CANONICAL_HOST. When cross-
40465         compiling to glibc systems, set gl_cv_func_roundl_ieee to
40466         "guessing yes".
40467         * m4/setenv.m4 (gl_FUNC_SETENV): Require AC_CANONICAL_HOST. When cross-
40468         compiling to glibc systems, set gl_cv_func_setenv_works to
40469         "guessing yes".
40470         (gl_FUNC_UNSETENV): Require AC_CANONICAL_HOST. When cross-
40471         compiling to glibc systems, set gl_cv_func_unsetenv_works to
40472         "guessing yes".
40473         * m4/sleep.m4 (gl_FUNC_SLEEP): Require AC_CANONICAL_HOST. When cross-
40474         compiling to glibc systems, set gl_cv_func_sleep_works to
40475         "guessing yes".
40476         * m4/stat.m4 (gl_FUNC_STAT): Require AC_CANONICAL_HOST. When cross-
40477         compiling to glibc systems, set gl_cv_func_stat_file_slash to
40478         "guessing yes".
40479         * m4/symlink.m4 (gl_FUNC_SYMLINK): Require AC_CANONICAL_HOST. When
40480         cross-compiling to glibc systems, set gl_cv_func_symlink_works to
40481         "guessing yes".
40482         * m4/trunc.m4 (gl_FUNC_TRUNC): Require AC_CANONICAL_HOST. When cross-
40483         compiling to glibc systems, set gl_cv_func_trunc_ieee to "guessing yes".
40484         * m4/truncf.m4 (gl_FUNC_TRUNCF): Require AC_CANONICAL_HOST. When cross-
40485         compiling to glibc systems, set gl_cv_func_truncf_ieee to
40486         "guessing yes".
40487         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require AC_CANONICAL_HOST. When cross-
40488         compiling to glibc systems, set gl_cv_func_truncl_ieee to
40489         "guessing yes".
40490         * m4/usleep.m4 (gl_FUNC_USLEEP): Require AC_CANONICAL_HOST. When cross-
40491         compiling to glibc systems, set gl_cv_func_usleep_works to
40492         "guessing yes".
40493         * m4/utimens.m4 (gl_UTIMENS): Require AC_CANONICAL_HOST. When cross-
40494         compiling to glibc systems, set gl_cv_func_futimesat_works to
40495         "guessing yes".
40497 2012-05-03  Bruno Haible  <bruno@clisp.org>
40499         Say "guessing yes" or "guessing no" when cross-compiling.
40500         * m4/dup2.m4 (gl_FUNC_DUP2): When cross-compiling, set
40501         gl_cv_func_dup2_works to "guessing yes" or "guessing no".
40502         * m4/getdelim.m4 (gl_FUNC_GETDELIM): When cross-compiling, set
40503         gl_cv_func_working_getdelim to "guessing yes" or "guessing no".
40504         * m4/getline.m4 (gl_FUNC_GETLINE): When cross-compiling, set
40505         am_cv_func_working_getline to "guessing yes" or "guessing no".
40506         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, set
40507         gl_cv_func_memmem_works_always to "guessing yes" or "guessing no".
40508         (gl_FUNC_MEMMEM): When cross-compiling, set
40509         gl_cv_func_memmem_works_fast to "guessing yes" or "guessing no".
40510         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): When cross-compiling, set
40511         gl_cv_func_stpncpy to "guessing yes" or "guessing no".
40512         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): When cross-compiling,
40513         set gl_cv_func_strcasestr_works_always to "guessing yes" or
40514         "guessing no".
40515         (gl_FUNC_STRCASESTR): When cross-compiling, set
40516         gl_cv_func_strcasestr_linear to "guessing yes" or "guessing no".
40517         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): When cross-compiling, set
40518         gl_cv_func_strstr_works_always to "guessing yes" or "guessing no".
40519         (gl_FUNC_STRSTR): When cross-compiling, set
40520         gl_cv_func_strstr_linear to "guessing yes" or "guessing no".
40521         * m4/strtod.m4 (gl_FUNC_STRTOD): When cross-compiling, set
40522         gl_cv_func_strtod_works to "guessing yes" or "guessing no".
40523         * m4/wctype_h.m4 (gl_WCTYPE_H): When cross-compiling, set
40524         gl_cv_func_iswcntrl_works to "guessing yes" or "guessing no".
40526 2012-05-01  Bruno Haible  <bruno@clisp.org>
40528         relocatable-prog: Enable ELF ORIGIN trick also on GNU/kFreeBSD.
40529         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Treat kFreeBSD like Linux.
40530         * build-aux/reloc-ldflags: Likewise.
40531         Suggested by Steven Chamberlain <steven@pyro.eu.org>.
40533 2012-05-01  Bruno Haible  <bruno@clisp.org>
40535         gnulib-tool: Remove transitional code.
40536         * gnulib-tool: Don't warn about --import with 0 arguments any more.
40537         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
40539 2012-05-01  Bruno Haible  <bruno@clisp.org>
40541         getcwd: Fix misindentation.
40542         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Fix indentation.
40544 2012-04-29  Paul Eggert  <eggert@cs.ucla.edu>
40546         exclude: process exclude and include directives in order
40547         This restores the pre-2009 behavior, and is part of a fix of a
40548         grep bug reported by Quentin Arce in
40549         <http://lists.gnu.org/r/bug-grep/2012-04/msg00056.html>.
40550         * lib/exclude.c (struct exclude): Remove 'tail' member.
40551         (new_exclude_segment): Prepend the new segment instead of appending.
40552         Return void, since that's now more convenient.
40553         (file_pattern_matches): Renamed from excluded_file_pattern_p.
40554         (file_name_matches): Renamed from excluded_file_name_p.
40555         (file_pattern_matches, file_name_matches):
40556         Return true if the pattern matches, not if it excludes.
40557         All callers changed.
40558         (excluded_file_name): Process the list in reverse order;
40559         since the list is now reversed this restores the pre-2009 behavior.
40560         (add_exclude): Adjust to new reversed-order list.  Use local var
40561         rather than macro, for clarity.
40562         * tests/test-exclude7.sh: Adjust to corrected behavior.
40564         exclude: handle wildcards with FNM_NOESCAPE and with trailing \
40565         * lib/exclude.c (unescape_pattern): Don't worry about unescaped [;
40566         it's not possible here.  Handle the case of \ at end of pattern
40567         without dumping core.
40568         (add_exclude): Do not unescape the pattern if FNM_NOESCAPE is used.
40570         _Noreturn: future-proof non-GNU and non-MSVC compilers
40571         * build-aux/snippet/_Noreturn.h (_Noreturn):
40572         * m4/gnulib-common.m4 (gl_COMMON_BODY):
40573         Do not define _Noreturn if __STDC_VERSION__ indicates this is
40574         C11 or later.  This is more likely to work with random future C
40575         compilers that are neither GNUish nor MSVCish.  See Vincent Lefevre in
40576         <http://lists.gnu.org/r/bug-gnulib/2012-04/msg00195.html>.
40578         exclude: handle wildcards with FNM_EXTMATCH
40579         * lib/exclude.c (fnmatch_pattern_has_wildcards): Also treat '+(',
40580         '+@', '!(' as wildcards, if FNM_EXTMATCH.  Make it clear in a
40581         comment that "has wildcards" really means "has or may have
40582         wildcards".  Simplify by avoiding the need to call strcspn.
40584 2012-04-29  Bruno Haible  <bruno@clisp.org>
40586         gnulib-tool: Fix list of authors.
40587         * gnulib-tool (func_version): Add Paul Eggert to list of authors.
40589 2012-04-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
40591         bootstrap: support Automake-NG in $buildreq
40592         * bootstrap (check_versions): Handle automake and aclocal from
40593         Automake-NG specially.  They can be specified as respectively
40594         the "automake-ng" and "aclocal-ng" requirements.
40596 2012-04-25  Eric Blake  <eblake@redhat.com>
40598         bootstrap: only force latest Makefile.in.in for gettext module
40599         * build-aux/bootstrap (with_gettext): Only install latest
40600         Makefile.in.in for projects requesting bleeding edge gettext.
40602 2012-04-22  Bruno Haible  <bruno@clisp.org>
40604         doc: Mention reason for replacement on glibc/Linux systems.
40605         * doc/posix-functions/dprintf.texi: Mention the problem with special
40606         'long double' values.
40607         * doc/posix-functions/fprintf.texi: Likewise.
40608         * doc/posix-functions/printf.texi: Likewise.
40609         * doc/posix-functions/snprintf.texi: Likewise.
40610         * doc/posix-functions/sprintf.texi: Likewise.
40611         * doc/posix-functions/vdprintf.texi: Likewise.
40612         * doc/posix-functions/vfprintf.texi: Likewise.
40613         * doc/posix-functions/vprintf.texi: Likewise.
40614         * doc/posix-functions/vsnprintf.texi: Likewise.
40615         * doc/posix-functions/vsprintf.texi: Likewise.
40616         * doc/posix-functions/fcntl.texi: Add glibc/Linux to the list of
40617         platforms with F_DUPFD_CLOEXEC problems.
40618         * doc/posix-functions/glob.texi: Mention which platforms are affected
40619         by the problem with symbolic links.
40620         * doc/posix-functions/linkat.texi: Mention the problem with
40621         AT_SYMLINK_FOLLOW on Linux.
40623 2012-04-22  Bruno Haible  <bruno@clisp.org>
40625         pwrite: Don't replace on all platforms.
40626         * m4/pwrite.m4 (gl_FUNC_PWRITE): Fix syntax error in test program.
40628 2012-04-22  Bruno Haible  <bruno@clisp.org>
40630         rint* tests: Avoid gcc warnings.
40631         * tests/test-rint.c (INFINITY, NAN): Undefine before redefining.
40632         * tests/test-rintf.c (INFINITY, NAN): Likewise.
40633         * tests/test-rintl.c (INFINITY, NAN): Likewise.
40635 2012-04-21  Bruno Haible  <bruno@clisp.org>
40637         users.txt: Update.
40638         * users.txt: Add freedink, wdiff. Update URLs for projects that have
40639         switched from CVS to git, bzr, or svn.
40641 2012-04-21  Bruno Haible  <bruno@clisp.org>
40643         Large File Support for native Windows platforms.
40645         * m4/largefile.m4 (gl_LARGEFILE): New macro.
40646         * modules/largefile (configure.ac): Require gl_LARGEFILE.
40648         * lib/sys_types.in.h (off_t) [WINDOWS_64_BIT_OFF_T]: Define to a 64-bit
40649         type.
40650         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Set WINDOWS_64_BIT_OFF_T.
40651         * modules/sys_types (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T.
40652         * doc/posix-headers/sys_types.texi: Mention the effect of the
40653         'largefile' module.
40655         * lib/fcntl.in.h: Add comments about off_t.
40656         * modules/fcntl-h (Depends-on): Add sys_types.
40658         * lib/unistd.in.h [WINDOWS_64_BIT_OFF_T]: Include <sys/types.h>.
40659         (ftruncate): Replace it if REPLACE_FTRUNCATE is 1.
40660         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_SYS_TYPES_H.
40661         (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_FTRUNCATE.
40662         * modules/unistd (Depends-on): Add sys_types.
40663         (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T, REPLACE_FTRUNCATE.
40665         * lib/lseek.c (rpl_lseek) [_GL_WINDOWS_64_BIT_OFF_T]: Use _lseeki64
40666         instead of lseek.
40667         * m4/lseek.m4 (gl_FUNC_LSEEK): Require gl_SYS_TYPES_H. Set
40668         REPLACE_LSEEK if WINDOWS_64_BIT_OFF_T is 1.
40669         * modules/lseek (Depends-on): Add sys_types.
40671         * lib/ftruncate.c: Put under GPLv3+. Include <windows.h>,
40672         msvc-nothrow.h.
40673         (SetFileSize): New function.
40674         (ftruncate) [_GL_WINDOWS_64_BIT_OFF_T]: New implementation.
40675         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Set REPLACE_FTRUNCATE on Windows
40676         if Large File Support is requested.
40677         * modules/ftruncate (configure.ac): Consider REPLACE_FTRUNCATE.
40678         (Depends-on): Add sys_types, msvc-nothrow. Update conditions.
40680         * lib/stdio.in.h: Add comments about off_t.
40681         * modules/stdio (Depends-on): Add sys_types.
40683         * lib/ftello.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _ftelli64 or ftello64
40684         instead of ftello.
40685         * m4/ftello.m4 (gl_FUNC_FTELLO): Require gl_SYS_TYPES_H. Set
40686         REPLACE_FTELLO if WINDOWS_64_BIT_OFF_T is 1.
40687         (gl_PREREQ_FTELLO): New macro.
40688         * modules/ftello (Depends-on): Add sys_types.
40689         (configure.ac): Incoke gl_PREREQ_FTELLO.
40691         * lib/fseeko.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _fseeki64 or fseeko64
40692         instead of fseeko.
40693         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require gl_SYS_TYPES_H. Set
40694         REPLACE_FSEEKO if WINDOWS_64_BIT_OFF_T is 1.
40695         (gl_PREREQ_FSEEKO): New macro.
40696         * modules/fseeko (Depends-on): Add sys_types.
40697         (configure.ac): Invoke gl_PREREQ_FSEEKO.
40699         * lib/sys_stat.in.h: Add comments about off_t.
40700         (stat, fstat) [WINDOWS_64_BIT_ST_SIZE]: Define to variants that use a
40701         64-bit integer for st_size in 'struct stat'.
40702         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Set WINDOWS_64_BIT_ST_SIZE.
40703         Define _GL_WINDOWS_64_BIT_ST_SIZE.
40704         * modules/sys_stat (Depends-on): Add sys_types.
40705         (Makefile.am): Substitute WINDOWS_64_BIT_ST_SIZE.
40707         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Define to _stati64
40708         instead of stat or _stat.
40710         * lib/fstat.c [_GL_WINDOWS_64_BIT_ST_SIZE]: Use _fstati64 and
40711         'struct _stati64' instead of fstat and 'struct stat'.
40712         * m4/fstat.m4 (gl_FUNC_FSTAT): Require gl_HEADER_SYS_STAT_H. Set
40713         REPLACE_FSTAT if WINDOWS_64_BIT_ST_SIZE is 1.
40715         Reported by Ray Satiro <raysatiro@yahoo.com>.
40717 2012-04-19  Eric Blake  <eblake@redhat.com>
40719         bootstrap: accommodate older libtool
40720         * build-aux/bootstrap (use_libtool): Cater to libtool 1.5.22.
40721         Reported by Daniel P. Berrange.
40723 2012-04-19  Jim Meyering  <meyering@redhat.com>
40725         announce-gen: avoid failure due to lack of Digest::SHA1
40726         Even with the preferred Digest::SHA available, this script
40727         would fail when the backup module, Digest::SHA1, was not installed.
40728         * build-aux/announce-gen: Quote the conditional use of "use".
40729         Reported by Reuben Thomas in:
40730         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30444
40732         bootstrap: don't let a user's CDPATH setting affect this script
40733         When CDPATH is set, cd will sometimes generate output.
40734         When "cd" is run in a subshell whose output matters, that
40735         surprising-to-some output can cause malfunction.
40736         Unsetting CDPATH turns off this shell "feature."
40737         * build-aux/bootstrap (CDPATH): Unset.
40738         Reported by Reuben Thomas in:
40739         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30435
40740         and inspired by his patch here:
40741         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30440
40743 2012-04-16  Akim Demaille  <akim@lrde.epita.fr>
40744         and Jim Meyering  <meyering@redhat.com>
40746         maint.mk: catch "see @xref{}" and similar
40747         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Also
40748         prohibit "See also @xref{", "Also see @pxref{", and similar.
40750 2012-04-16  Jim Meyering  <meyering@redhat.com>
40752         bootstrap: really use gnulib's po/Makefile.in.in
40753         * build-aux/bootstrap: Correct the source file name in previous change.
40754         Reported by Akim Demaille.
40756         configmake: correct minor inconsistency in Makefile rule
40757         * modules/configmake (Makefile.am): All other rules like this one
40758         run the final "mv -f ..." in the same backslash-continued command
40759         as the one that does everything else.  This one put the mv -f ...
40760         command on a separate, non-backslash-continued line.
40761         Make it like the others.
40763         bootstrap: use gnulib's po/Makefile.in.in, not the one from gettext
40764         * build-aux/bootstrap: Use gnulib's po/Makefile.in.in, not
40765         the one from gettext.  Reported by Akim Demaille.
40767 2012-04-16  Joel E. Denny  <joeldenny@joeldenny.org>
40769         Fix recursion of install-* into po directories.
40770         Bison's install-pdf bug reported by Hans Aberg at
40771         <http://lists.gnu.org/r/bug-bison/2011-05/msg00008.html>.
40772         * build-aux/po/Makefile.in.in (install-dvi, install-html)
40773         (install-info, install-pdf, install-ps): New targets.
40775 2012-04-16  Jim Meyering  <meyering@redhat.com>
40777         maint: avoid spurious "make sc_maint" failure
40778         * cfg.mk (exclude_file_name_regexp--sc_trailing_blank): Also
40779         exempt all *.class file names, for lib/javaversion.class.
40781 2012-04-15  Bruno Haible  <bruno@clisp.org>
40783         lseek: Make configure test independent of environment.
40784         * m4/lseek.m4 (gl_FUNC_LSEEK): Require AC_CANONICAL_HOST. On native
40785         Windows, we know that lseek() on pipes is broken; skip the runtime
40786         test.
40788 2012-04-14  Bruno Haible  <bruno@clisp.org>
40790         stat: Bypass buggy override in mingw64.
40791         * m4/stat.m4 (gl_FUNC_STAT): Update comments.
40792         * lib/stat.c (stat) [mingw64]: Define to _stat.
40793         * doc/posix-functions/stat.texi: Mention mingw64 bug.
40795 2012-04-14  Bruno Haible  <bruno@clisp.org>
40797         pathmax: Fix compilation error on MSVC 9.
40798         * modules/pathmax (Depends-on): Add unistd.
40800 2012-04-12  Paul Eggert  <eggert@cs.ucla.edu>
40802         README: document pointer comparison assumption
40803         * README (Portability guidelines): Document assumption about
40804         pointer comparisons, in response to a recent bug-gnulib comment by
40805         Jeffrey Kegler.
40807 2012-04-12  Bruno Haible  <bruno@clisp.org>
40809         Tests for module 'getrusage'.
40810         * modules/getrusage-tests: New file.
40811         * tests/test-getrusage.c: New file.
40813         New module 'getrusage'.
40814         * lib/sys_resource.in.h: Include arg-nonnull.h, c++defs.h,
40815         warn-on-use.h.
40816         (getrusage): New declaration.
40817         * lib/getrusage.c: New file.
40818         * m4/getrusage.m4: New file.
40819         * m4/sys_resource_h.m4 (gl_HEADER_SYS_RESOURCE): Test whether getrusage
40820         is declared.
40821         (gl_SYS_RESOURCE_H_DEFAULTS): Initialize GNULIB_GETRUSAGE,
40822         HAVE_GETRUSAGE.
40823         * modules/sys_resource (Depends-on): Add snippet/arg-nonnull,
40824         snippet/c++defs, snippet/warn-on-use.
40825         (Makefile.am): Update generation of sys/resource.h. Substitute
40826         GNULIB_GETRUSAGE, HAVE_GETRUSAGE.
40827         * modules/getrusage: New file.
40828         * doc/posix-functions/getrusage.texi: Mention the new module.
40830 2012-04-12  Bruno Haible  <bruno@clisp.org>
40832         Tests for module 'sys_resource'.
40833         * modules/sys_resource-tests: New file.
40834         * tests/test-sys_resource.c: New file.
40836         New module 'sys_resource'.
40837         * lib/sys_resource.in.h: New file.
40838         * m4/sys_resource_h.m4: New file.
40839         * modules/sys_resource: New file.
40840         * doc/posix-headers/sys_resource.texi: Mention the new module.
40842 2012-04-12  LRN  <lrn1986@gmail.com>  (tiny change)
40844         ioctl: Fix compilation error on mingw.
40845         * lib/ioctl.c: Include <windows.h>.
40846         Also reported by Ray Satiro <raysatiro@yahoo.com>.
40848 2012-04-04  Jim Meyering  <meyering@redhat.com>
40850         regex: correct #pragma guard expression
40851         * lib/regex.c: -Wsuggest-attribute=pure was introduced in gcc-4.6,
40852         not 4.3.  Correct its cpp guard expression.
40854 2012-04-04  Paul Eggert  <eggert@cs.ucla.edu>
40856         regex: remove unnecessary type punning
40857         Problem reported by Vladimir Serbinenko in
40858         <http://lists.gnu.org/r/bug-gnulib/2012-04/msg00006.html>.
40859         * lib/regex.h (struct re_pattern_buffer): Change the type of
40860         __REPB_PREFIX(buffer) from unsigned char * to struct re_dfa_t *.
40861         Fix comment to match code.
40862         * lib/regcomp.c (re_compile_fastmap, re_compile_fastmap_iter, regfree)
40863         (re_compile_internal, free_workarea_compile, analyze, lower_subexp)
40864         (parse, parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
40865         * lib/regexec.c (regexec, re_search_stub, re_search_internal)
40866         (set_regs):
40867         Omit no-longer-necessary casts.
40869 2012-04-03  Bruno Haible  <bruno@clisp.org>
40871         Tests for module 'ilogbl'.
40872         * modules/ilogbl-tests: New file.
40873         * tests/test-ilogbl.c: New file.
40875         New module 'ilogbl'.
40876         * lib/math.in.h (ilogbl): New declaration.
40877         * lib/ilogbl.c: New file.
40878         * m4/ilogbl.m4: New file.
40879         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbl is declared.
40880         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBL, HAVE_ILOGBL.
40881         * modules/math (Makefile.am): Substitute GNULIB_ILOGBL, HAVE_ILOGBL.
40882         Split sed invocation, to avoid the limit of 100 substitutions of
40883         HP-UX 'sed'.
40884         * modules/ilogbl: New file.
40885         * tests/test-math-c++.cc: Check the declaration of ilogbl.
40886         * doc/posix-functions/ilogbl.texi: Mention the new module.
40888 2012-04-03  Bruno Haible  <bruno@clisp.org>
40890         Tests for module 'ilogbf'.
40891         * modules/ilogbf-tests: New file.
40892         * tests/test-ilogbf.c: New file.
40894         New module 'ilogbf'.
40895         * lib/math.in.h (ilogbf): New declaration.
40896         * lib/ilogbf.c: New file.
40897         * m4/ilogbf.m4: New file.
40898         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbf is declared.
40899         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBF, HAVE_ILOGBF,
40900         REPLACE_ILOGBF.
40901         * modules/math (Makefile.am): Substitute GNULIB_ILOGBF, HAVE_ILOGBF,
40902         REPLACE_ILOGBF.
40903         * modules/ilogbf: New file.
40904         * tests/test-math-c++.cc: Check the declaration of ilogbf.
40905         * doc/posix-functions/ilogbf.texi: Mention the new module.
40907 2012-04-03  Bruno Haible  <bruno@clisp.org>
40909         Tests for module 'ilogb'.
40910         * modules/ilogb-tests: New file.
40911         * tests/test-ilogb.c: New file.
40912         * tests/test-ilogb.h: New file, based on tests/test-logb.h and
40913         tests/test-logb-ieee.h.
40915         New module 'ilogb'.
40916         * lib/math.in.h (ilogb): New declaration.
40917         * lib/ilogb.c: New file.
40918         * m4/ilogb.m4: New file.
40919         * m4/math_h.m4 (gl_MATH_H): Test whether ilogb is declared.
40920         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGB, HAVE_ILOGB,
40921         REPLACE_ILOGB.
40922         * modules/math (Makefile.am): Substitute GNULIB_ILOGB, HAVE_ILOGB,
40923         REPLACE_ILOGB.
40924         * modules/ilogb: New file.
40925         * tests/test-math-c++.cc: Check the declaration of ilogb.
40926         * doc/posix-functions/ilogb.texi: Mention the new module.
40928 2012-04-03  Bruno Haible  <bruno@clisp.org>
40930         math: Provide FP_ILOGB0 and FP_ILOGBNAN.
40931         * lib/math.in.h (FP_ILOGB0, FP_ILOGBNAN): Define fallback.
40932         * tests/test-math.c: Check that FP_ILOGB0, FP_ILOGBNAN are defined.
40933         (main): Check their values.
40934         * doc/posix-headers/math.texi: Mention the FP_ILOGB0, FP_ILOGBNAN
40935         problem.
40937 2012-04-03  Bruno Haible  <bruno@clisp.org>
40939         Tests for module 'logbl-ieee'.
40940         * modules/logbl-ieee-tests: New file.
40941         * tests/test-logbl-ieee.c: New file.
40943         New module 'logbl-ieee'.
40944         * modules/logbl-ieee: New file.
40946         Tests for module 'logb-ieee'.
40947         * modules/logb-ieee-tests: New file.
40948         * tests/test-logb-ieee.c: New file.
40950         New module 'logb-ieee'.
40951         * modules/logb-ieee: New file.
40953         Tests for module 'logbf-ieee'.
40954         * modules/logbf-ieee-tests: New file.
40955         * tests/test-logbf-ieee.c: New file.
40956         * tests/test-logb-ieee.h: New file.
40958         New module 'logbf-ieee'.
40959         * modules/logbf-ieee: New file.
40961 2012-04-03  Bruno Haible  <bruno@clisp.org>
40963         Tests for module 'logbl'.
40964         * modules/logbl-tests: New file.
40965         * tests/test-logbl.c: New file.
40967         New module 'logbl'.
40968         * lib/math.in.h (logbl): New declaration.
40969         * lib/logbl.c: New file.
40970         * m4/logbl.m4: New file.
40971         * m4/math_h.m4 (gl_MATH_H): Test whether logbl is declared.
40972         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBL, HAVE_LOGBL,
40973         REPLACE_LOGBL.
40974         * modules/math (Makefile.am): Substitute GNULIB_LOGBL, HAVE_LOGBL,
40975         REPLACE_LOGBL.
40976         * modules/logbl: New file.
40977         * tests/test-math-c++.cc: Check the declaration of logbl.
40978         * doc/posix-functions/logbl.texi: Mention the new module.
40980 2012-04-02  Bruno Haible  <bruno@clisp.org>
40982         Tests for module 'logbf'.
40983         * modules/logbf-tests: New file.
40984         * tests/test-logbf.c: New file.
40986         New module 'logbf'.
40987         * lib/math.in.h (logbf): New declaration.
40988         * lib/logbf.c: New file.
40989         * m4/logbf.m4: New file.
40990         * m4/math_h.m4 (gl_MATH_H): Test whether logbf is declared.
40991         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBF, HAVE_LOGBF,
40992         REPLACE_LOGBF.
40993         * modules/math (Makefile.am): Substitute GNULIB_LOGBF, HAVE_LOGBF,
40994         REPLACE_LOGBF.
40995         * modules/logbf: New file.
40996         * tests/test-math-c++.cc: Check the declaration of logbf.
40997         * doc/posix-functions/logbf.texi: Mention the new module.
40999 2012-04-02  Bruno Haible  <bruno@clisp.org>
41001         logb tests: More tests.
41002         * tests/test-logb.h: New file, based on tests/test-logb.c and
41003         tests/test-frexp.h.
41004         * tests/test-logb.c: Include minus-zero.h, test-logb.h.
41005         (main): Just invoke test_function.
41006         * modules/logb-tests (Files): Add tests/test-logb.h,
41007         tests/minus-zero.h, tests/randomd.c.
41008         (Makefile.am): Add randomd.c to test_logb_SOURCES.
41010         logb: Provide replacement and workarounds.
41011         * lib/math.in.h (logb): Ensure declaration. Replace if REPLACE_LOGB
41012         is 1.
41013         * lib/logb.c: New file.
41014         * m4/logb.m4 (gl_FUNC_LOGB_WORKS): New macro.
41015         (gl_FUNC_LOGB): Invoke it. Set HAVE_LOGB, REPLACE_LOGB.
41016         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGB.
41017         * modules/math (Makefile.am): Substitute REPLACE_LOGB.
41018         * modules/logb (Files): Add lib/logb.c.
41019         (Depends-on): Add isfinite, frexp, isnand.
41020         (configure.ac): Compile the replacement code logb.c if needed.
41021         * tests/test-math-c++.cc: Check the declaration of logb.
41022         * doc/posix-functions/logb.texi: Mention the replacement and the bug
41023         with subnormal numbers.
41025 2012-04-02  Bruno Haible  <bruno@clisp.org>
41027         log10* tests: Speed up.
41028         * tests/test-log10.h (test_function): Reduce amount of random numbers
41029         to test.
41031 2012-04-01  Bruno Haible  <bruno@clisp.org>
41033         logf-ieee: Fix test whether logf works.
41034         * m4/logf.m4 (gl_FUNC_LOGF): Fix typo in test program.
41036 2012-04-01  Bruno Haible  <bruno@clisp.org>
41038         log10l: Work around log10l-ieee test failure on IRIX 6.5.
41039         * lib/log10l.c: Include <float.h>
41040         (log10l): On IRIX, normalize the +Infinity value.
41041         * modules/log10l (Depends-on): Add 'float'.
41042         * doc/posix-functions/log10l.texi: Mention the IRIX problem with
41043         +Infinity.
41045         log10f-ieee: Work around test failure on NetBSD 5.1.
41046         * m4/log10f-ieee.m4: New file.
41047         * m4/log10f.m4 (gl_FUNC_LOG10F): If gl_FUNC_LOG10F_IEEE is present,
41048         test whether log10f works with a negative argument. Replace it if not.
41049         * lib/log10f.c (log10f): For negative arguments, return NaN.
41050         * modules/log10f-ieee (Files): Add m4/log10f-ieee.m4.
41051         (configure.ac): Invoke gl_FUNC_LOG10F_IEEE.
41052         * doc/posix-functions/log10f.texi: Mention the log10f-ieee module.
41054         log10f-ieee: Work around test failure on Solaris 9.
41055         * modules/log10f-ieee (Depends-on): Add log10-ieee.
41056         (configure.ac): Require gl_FUNC_LOG10F.
41058         log10-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
41059         * m4/log10-ieee.m4: New file.
41060         * m4/log10.m4 (gl_FUNC_LOG10): If gl_FUNC_LOG10_IEEE is present, test
41061         whether log10 works with a negative argument. Replace it if not.
41062         * lib/log10.c (log10): For negative arguments, return NaN.
41063         * modules/log10-ieee (Files): Add m4/log10-ieee.m4.
41064         (configure.ac): Invoke gl_FUNC_LOG10_IEEE.
41065         * doc/posix-functions/log10.texi: Mention the log10-ieee module.
41067         Tests for module 'log10l-ieee'.
41068         * modules/log10l-ieee-tests: New file.
41069         * tests/test-log10l-ieee.c: New file.
41071         New module 'log10l-ieee'.
41072         * modules/log10l-ieee: New file.
41074         Tests for module 'log10-ieee'.
41075         * modules/log10-ieee-tests: New file.
41076         * tests/test-log10-ieee.c: New file.
41078         New module 'log10-ieee'.
41079         * modules/log10-ieee: New file.
41081         Tests for module 'log10f-ieee'.
41082         * modules/log10f-ieee-tests: New file.
41083         * tests/test-log10f-ieee.c: New file.
41084         * tests/test-log10-ieee.h: New file.
41086         New module 'log10f-ieee'.
41087         * modules/log10f-ieee: New file.
41089 2012-04-01  Bruno Haible  <bruno@clisp.org>
41091         log10l: Work around AIX 5.1, IRIX 6.5, OSF/1 5.1 bug.
41092         * lib/math.in.h (log10l): Override if REPLACE_LOG10L is 1.
41093         * lib/log10l.c (log10l): If log10l exists, use it and provide just the
41094         workaround.
41095         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): New macro.
41096         (gl_FUNC_LOG10L): Invoke it. Set REPLACE_LOG10L.
41097         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10L.
41098         * modules/math (Makefile.am): Substitute REPLACE_LOG10L.
41099         * modules/log10l (configure.ac): Consider REPLACE_LOG10L.
41100         (Depends-on): Update conditions.
41101         * doc/posix-functions/log10l.texi: Mention the MSVC9, AIX 5.1,
41102         IRIX 6.5, OSF/1 5.1 problems.
41104 2012-04-01  Bruno Haible  <bruno@clisp.org>
41106         log10f: Work around OSF/1 5.1 bug.
41107         * lib/math.in.h (log10f): Override if REPLACE_LOG10F is 1.
41108         * lib/log10f.c (log10f): If logf exists, use it and provide just the
41109         workaround.
41110         * m4/log10f.m4 (gl_FUNC_LOG10F_WORKS): New macro.
41111         (gl_FUNC_LOG10F): Invoke it. Set REPLACE_LOG10F.
41112         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10F.
41113         * modules/math (Makefile.am): Substitute REPLACE_LOG10F.
41114         * modules/log10f (configure.ac): Consider REPLACE_LOG10F.
41115         (Depends-on): Update conditions.
41116         * doc/posix-functions/log10f.texi: Mention the OSF/1 5.1 problem.
41118 2012-04-01  Bruno Haible  <bruno@clisp.org>
41120         log10: Work around OSF/1 5.1 bug.
41121         * lib/math.in.h (log10): New declaration.
41122         * lib/log10.c: New file.
41123         * m4/log10.m4 (gl_FUNC_LOG10_WORKS): New macro.
41124         (gl_FUNC_LOG10): Invoke it. Set REPLACE_LOG10.
41125         * m4/math_h.m4 (gl_MATH_H): Test whether log10 is declared.
41126         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10, REPLACE_LOG10.
41127         * modules/math (Makefile.am): Substitute GNULIB_LOG10, REPLACE_LOG10.
41128         * modules/log10 (Files): Add lib/log10.c.
41129         (Depends-on): Add math.
41130         (configure.ac): If REPLACE_LOG10 is 1, compile an override.
41131         * tests/test-math-c++.cc: Check the declaration of log10.
41132         * doc/posix-functions/log10.texi: Mention the OSF/1 5.1 problem.
41134 2012-03-31  Bruno Haible  <bruno@clisp.org>
41136         log10l tests: More tests.
41137         * modules/log10l-tests (Files): Add tests/test-log10l.h,
41138         tests/minus-zero.h, tests/randoml.c.
41139         (Makefile.am): Add randoml.c to test_log10l_SOURCES.
41140         * tests/test-log10l.c: Include <float.h>, minus-zero.h, test-log10l.h.
41141         (main): Invoke test_function.
41143         log10f tests: More tests.
41144         * modules/log10f-tests (Files): Add tests/test-log10.h,
41145         tests/minus-zero.h, tests/randomf.c.
41146         (Makefile.am): Add randomf.c to test_log10f_SOURCES.
41147         * tests/test-log10f.c: Include <float.h>, minus-zero.h, test-log10.h.
41148         (main): Invoke test_function.
41150         log10 tests: More tests.
41151         * tests/test-log10.h: New file.
41152         * modules/log10-tests (Files): Add tests/test-log10.h,
41153         tests/minus-zero.h, tests/randomd.c.
41154         (Makefile.am): Add randomd.c to test_log10_SOURCES.
41155         * tests/test-log10.c: Include <float.h>, minus-zero.h, test-log10.h.
41156         (main): Invoke test_function.
41158 2012-03-31  Simon Josefsson  <simon@josefsson.org>
41160         fflush: Fix syntax error.
41161         * lib/fflush.c: Include unused-parameter.h, needed for
41162         _GL_UNUSED_PARAMETER.
41163         * modules/fflush (Depends-on): Add snippet/unused-parameter.
41165 2012-03-30  Paul Eggert  <eggert@cs.ucla.edu>
41167         regex: pacify GCC when compiling GRUB
41168         * lib/regcomp.c (init_dfa): Make a pointer 'const', to avoid
41169         a diagnostic.  Reported by Vladimir Serbinenko in
41170         <http://lists.gnu.org/r/bug-gnulib/2012-03/msg00163.html>.
41172 2012-03-29  Eric Blake  <eblake@redhat.com>
41174         stdio: don't assume gets any more
41175         * m4/stdio_h.m4 (gl_STDIO_H, gl_STDIO_H_DEFAULTS): Drop gets
41176         support.
41177         * modules/stdio (Makefile.am): Likewise.
41178         * lib/stdio-read.c (gets): Likewise.
41179         * tests/test-stdio-c++.cc: Likewise.
41180         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix comment.
41181         * lib/stdio.in.h (gets): Make warning occur in more places.
41182         * doc/posix-functions/gets.texi (gets): Update documentation.
41183         Reported by Christer Solskogen.
41185         maint.mk: fix syntax checks without exclusions
41186         * top/maint.mk (_sc_search_regexp): Allow for empty variable.
41187         Reported by Daniel P. Berrange.
41189         strerror_r: avoid compiler warning
41190         * lib/strerror_r.c (strerror_r): Hoist extern declaration to top
41191         level.
41193         fflush: avoid compiler warning
41194         * lib/fflush.c (update_fpos_cache): Mark variables that are
41195         potentially unused.
41197 2012-03-25  Bruno Haible  <bruno@clisp.org>
41199         Tests for module 'localeconv'.
41200         * modules/localeconv-tests: New file.
41201         * tests/test-localeconv.c: New file.
41203         New module 'localeconv'.
41204         * lib/locale.in.h (localeconv): New declaration.
41205         * lib/localeconv.c: New file.
41206         * m4/localeconv.m4: New file.
41207         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_LOCALECONV,
41208         REPLACE_LOCALECONV.
41209         * modules/locale (Makefile.am): Substitute GNULIB_LOCALECONV,
41210         REPLACE_LOCALECONV.
41211         * modules/localeconv: New file.
41212         * modules/nl_langinfo (Depends-on): Add localeconv.
41213         * modules/human (Depends-on): Likewise.
41214         * doc/posix-functions/localeconv.texi: Mention the new module.
41216 2012-03-25  Bruno Haible  <bruno@clisp.org>
41218         locale: Provide a complete 'struct lconv'.
41219         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
41220         'struct lconv' does not contain int_p_cs_precedes.
41221         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
41222         * doc/posix-headers/locale.texi: Update.
41224         locale: Provide a complete 'struct lconv' on Solaris 10, 11.
41225         * m4/locale_h.m4 (gl_LOCALE_H): On Solaris, define _LCONV_C99.
41226         * doc/posix-headers/locale.texi: Update.
41228         locale: Provide a working 'struct lconv'.
41229         * lib/locale.in.h (lconv): Override if REPLACE_STRUCT_LCONV is 1.
41230         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
41231         'struct lconv' does not even contain decimal_point.
41232         (gl_LOCALE_H_DEFAULTS): Initialize REPLACE_STRUCT_LCONV.
41233         * modules/locale (Makefile.am): Substitute REPLACE_STRUCT_LCONV.
41234         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
41235         * doc/posix-headers/locale.texi: Mention the problems with
41236         'struct lconv'.
41237         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
41239 2012-03-24  Bruno Haible  <bruno@clisp.org>
41241         Enable common subexpression optimization in GCC.
41242         * lib/unitypes.in.h (_UC_ATTRIBUTE_CONST, _UC_ATTRIBUTE_PURE): New
41243         macros.
41244         * lib/unicase.in.h (uc_toupper, uc_tolower, uc_totitle): Declare with
41245         GCC attribute 'const'.
41246         (uc_locale_language): Declare with GCC attribute 'pure'.
41247         * lib/unicase/caseprop.h (uc_is_cased, uc_is_case_ignorable): Declare
41248         with GCC attribute 'const'.
41249         * lib/unictype.in.h (uc_is_general_category_withtable,
41250         uc_combining_class, uc_combining_class_name,
41251         uc_combining_class_long_name, uc_bidi_class_name,
41252         uc_bidi_category_name, uc_bidi_class_long_name, uc_bidi_class,
41253         uc_bidi_category, uc_is_bidi_class, uc_is_bidi_category,
41254         uc_decimal_value, uc_digit_value, uc_numeric_value,
41255         uc_joining_type_name, uc_joining_type_long_name, uc_joining_type,
41256         uc_joining_group_name, uc_joining_group, uc_is_property_*, uc_script,
41257         uc_block, uc_is_c_whitespace, uc_is_java_whitespace,
41258         uc_c_ident_category, uc_java_ident_category, uc_is_alnum, uc_is_alpha,
41259         uc_is_cntrl, uc_is_digit, uc_is_graph, uc_is_lower, uc_is_print,
41260         uc_is_punct, uc_is_space, uc_is_upper, uc_is_xdigit, uc_is_blank):
41261         Declare with GCC attribute 'const'.
41262         (uc_general_category_name, uc_general_category_long_name,
41263         uc_general_category_byname, uc_general_category,
41264         uc_is_general_category, uc_combining_class_byname,
41265         uc_bidi_class_byname, uc_bidi_category_byname, uc_joining_type_byname,
41266         uc_joining_group_byname, uc_script_byname, uc_is_script, uc_is_block):
41267         Declare with GCC attribute 'pure'.
41268         * lib/unigbrk.in.h (uc_graphemeclusterbreak_property,
41269         uc_is_grapheme_break, u8_grapheme_next, u16_grapheme_next,
41270         u32_grapheme_next, u8_grapheme_prev, u16_grapheme_prev,
41271         u32_grapheme_prev, lib/uniname.in.h (unicode_name_character): Declare
41272         with GCC attribute 'pure'.
41273         * lib/uninorm.in.h (uc_composition): Declare with GCC attribute
41274         'const'.
41275         (uninorm_decomposing_form): Declare with GCC attribute 'pure'.
41276         * lib/unistr.in.h (): Declare with GCC attribute 'const'.
41277         (u8_check, u16_check, u32_check, u8_mblen, u16_mblen, u32_mblen,
41278         u8_cmp, u16_cmp, u32_cmp, u8_cmp2, u16_cmp2, u32_cmp2, u8_chr, u16_chr,
41279         u32_chr, u8_mbsnlen, u16_mbsnlen, u32_mbsnlen, u8_strmblen,
41280         u16_strmblen, u32_strmblen, u8_strlen, u16_strlen, u32_strlen,
41281         u8_strnlen, u16_strnlen, u32_strnlen, u8_strcmp_gnu, u8_strcmp,
41282         u16_strcmp, u32_strcmp, u8_strncmp, u16_strncmp, u32_strncmp,
41283         u8_strchr, u16_strchr, u32_strchr, u8_strrchr, u16_strrchr,
41284         u32_strrchr, u8_strcspn, u16_strcspn, u32_strcspn, u8_strspn,
41285         u16_strspn, u32_strspn, u8_strpbrk, u16_strpbrk, u32_strpbrk,
41286         u8_strstr, u16_strstr, u32_strstr, u8_startswith, u16_startswith,
41287         u32_startswith, u8_endswith, u16_endswith, u32_endswith): Declare with
41288         GCC attribute 'pure'.
41289         * lib/uniwbrk.in.h (uc_wordbreak_property): Declare with GCC attribute
41290         'const'.
41291         * lib/uniwidth.in.h (uc_width): Simplify declaration.
41292         (u8_width, u16_width, u32_width, u8_strwidth, u16_strwidth,
41293         u32_strwidth): Declare with GCC attribute 'pure'.
41295         Enable common subexpression optimization in GCC.
41296         * lib/dirent.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
41297         (alphasort): Declare with GCC attribute 'pure'.
41298         * lib/stdlib.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
41299         (atoll): Declare with GCC attribute 'pure'.
41300         * lib/string.in.h (mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
41301         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
41302         mbsspn, strverscmp): Declare with GCC attribute 'pure'.
41303         * lib/wchar.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
41304         (btowc, wctob, wcwidth, wmemchr, wmemcmp, wcslen, wcsnlen, wcscmp,
41305         wcsncmp, wcscasecmp, wcsncasecmp, wcschr, wcsrchr, wcscspn, wcsspn,
41306         wcspbrk, wcsstr, wcswidth): Declare with GCC attribute 'pure'.
41308 2012-03-24  Bruno Haible  <bruno@clisp.org>
41310         gnulib-tool: Avoid unintended error output from 'cmp'.
41311         * gnulib-tool (func_add_file, func_update_file, func_import): Use
41312         "cmp -s", not "cmp > /dev/null".
41314 2012-03-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
41316         gnulib-tool: fix imprecise comments w.r.t. an automake bug
41318         It's not just Automake versions < 1.9b that creates an empty
41319         pkgdatadir at installation time if pkgdata_DATA is specified
41320         to empty; modern automake versions do this as well, at least
41321         until automake 1.11.4 (not yet released at the moment of writing,
41322         but soon to appear).  That behaviour was generally considered a
41323         feature rather than a bug, at least until this discussion:
41324         <http://lists.gnu.org/r/automake/2012-03/msg00014.html>
41326         See also automake bugs #10997 and #11030.
41328         * gnulib-tool (func_emit_lib_Makefile_am): Adjust comments.  Add
41329         reference to relevant automake bug numbers.
41330         (func_emit_tests_Makefile_am): Likewise.
41332 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
41334         announce-gen: use Digest::SHA when possible
41335         * build-aux/announce-gen: Use Digest::SHA when possible, falling
41336         back to Digest::SHA1 if necessary.
41338 2012-03-20  Jim Meyering  <meyering@redhat.com>
41340         tests: avoid gcc warnings about argv vs. const initializers
41341         * tests/test-posix_spawn1.c (main): Cast to "(char *)" to avoid two
41342         warnings about discarding 'const' qualifier from pointer target type.
41343         * tests/test-posix_spawn2.c (main): Likewise.
41345 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
41347         README-release: simplify slightly
41348         * top/README-release: Run "git checkout master" only once.
41350 2012-03-15  Mark Wielaard  <mark@klomp.org>
41352         git-merge-changelog: add specific example on how to use with hg.
41353         * lib/git-merge-changelog.c: Add example on how to use in .hgrc.
41355 2012-03-18  Mark Wielaard  <mark@klomp.org>
41357         lib/git-merge-changelog.c (status): Report bugs to bug-gnulib@gnu.org.
41359 2012-03-18  Andreas Oberritter  <obi@opendreambox.org>
41361         git-version-gen: don't let "prefix" envvar cause trouble
41362         * build-aux/git-version-gen (prefix): Initialize properly,
41363         so as not to use a value specified via the environment.
41364         Details here: http://thread.gmane.org/gmane.comp.gnu.parted.bugs/10810
41366 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
41368         regex: diagnose too-large repeat counts in EREs
41369         Previously, the code did not diagnose the too-large repeat count
41370         in EREs like 'b{1000000000}'; instead, it silently treated the ERE
41371         as if it were 'b\{1000000000}', which is unexpected.
41372         * lib/regcomp.c (parse_dup_op): Fail with REG_ESIZE if a repeat count
41373         is too large.  REG_ESIZE is used nowhere else, and the diagnostic
41374         is a reasonable one for this problem.  Another option would be to
41375         create a new REG_OVERFLOW error for repeat counts that are too large.
41376         (fetch_number): Return RE_DUP_MAX + 1, not REG_ERROR, if the repeat
41377         count is too large, so that the caller can distinguish the two cases.
41378         * lib/regex.h (_REG_ESIZE): Document that this is now a generic
41379         "Too large" return code, and that repeat counts are one example of this.
41381 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
41383         doc: some glibc x32 integer width issues
41384         * doc/posix-headers/sys_types.texi (sys/types.h):
41385         * doc/posix-headers/time.texi (time.h):
41386         Mention that glibc x32 does not conform to POSIX in a couple of
41387         areas related to integer widths.
41389 2012-03-15  Bruno Haible  <bruno@clisp.org>
41391         fmal: Avoid test failure on OpenBSD 5.1/SPARC64.
41392         * lib/fma.c (VOLATILE): New macro.
41393         (FUNC): Use it to work around a GCC compiler bug.
41395 2012-03-13  Bruno Haible  <bruno@clisp.org>
41397         hypotl: Bypass broken implementation in OpenBSD 5.1/SPARC.
41398         * m4/hypotl.m4 (gl_FUNC_HYPOTL_WORKS): New macro.
41399         (gl_FUNC_HYPOTL): Invoke it. If the function does not work, set
41400         REPLACE_HYPOTL to 1.
41401         * doc/posix-functions/hypotl.texi: Mention the OpenBSD 5.1/SPARC bug.
41403 2012-03-13  Bruno Haible  <bruno@clisp.org>
41405         remainderl: Bypass broken implementation in OpenBSD 5.1/SPARC.
41406         * m4/remainderl.m4 (gl_FUNC_REMAINDERL_WORKS): New macro.
41407         (gl_FUNC_REMAINDERL): Invoke it. If the function does not work, set
41408         REPLACE_REMAINDERL to 1.
41409         * doc/posix-functions/remainderl.texi: Mention the OpenBSD 5.1/SPARC
41410         bug.
41412 2012-03-13  Bruno Haible  <bruno@clisp.org>
41414         sqrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
41415         * lib/math.in.h (sqrtl): Replace it if REPLACE_SQRTL is 1.
41416         * m4/sqrtl.m4 (gl_FUNC_SQRTL_WORKS): New macro.
41417         (gl_FUNC_SQRTL): Invoke it. Set REPLACE_SQRTL to 1 if sqrtl() produces
41418         too big rounding errors.
41419         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_SQRTL.
41420         * modules/math (Makefile.am): Substitute REPLACE_SQRTL.
41421         * modules/sqrtl (configure.ac): Consider REPLACE_SQRTL.
41422         (Depends-on): Update conditions.
41423         * tests/test-sqrtl.c (my_ldexpl): New function.
41424         (main): Add test of a particular value.
41425         * doc/posix-functions/sqrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
41427 2012-03-13  Pádraig Brady  <P@draigBrady.com>
41429         doc: Update timer_* platform portability notes.
41430         * doc/posix-functions/timer_create.texi: Add platforms (OpenBSD 4.9)
41431         that always return ENOSYS.
41432         * doc/posix-functions/timer_delete.texi: Likewise.
41433         * doc/posix-functions/timer_gettime.texi: Likewise.
41434         * doc/posix-functions/timer_settime.texi: Likewise.
41436 2012-03-13  Bruno Haible  <bruno@clisp.org>
41438         cbrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
41439         * m4/cbrtl.m4 (gl_FUNC_CBRTL_WORKS): New macro.
41440         (gl_FUNC_CBRTL): Invoke it. If the function does not work, set
41441         REPLACE_CBRTL to 1.
41442         * doc/posix-functions/cbrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
41444 2012-03-13  Bruno Haible  <bruno@clisp.org>
41446         remainderl: Avoid compilation error on AIX >= 5.2.
41447         * lib/math.in.h (remainderl): Undefine macro from the system header.
41449 2012-03-13  Bruno Haible  <bruno@clisp.org>
41451         Avoid compilation errors with MSVC option -fp:strict.
41452         * lib/cbrt.c: Use MSVC specific pragma fenv_access.
41453         * lib/cbrtf.c: Likewise.
41454         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
41456 2012-03-12  Bruno Haible  <bruno@clisp.org>
41458         uninorm: Don't crash in out-of-memory conditions.
41459         * lib/uninorm/u-normalize-internal.h (FUNC): Handle malloc() failure
41460         gracefully.
41461         * lib/uninorm/uninorm-filter.c (uninorm_filter_write): Likewise.
41462         Based on a report and patch by Stephen Gallagher <sgallagh@redhat.com>.
41464 2012-03-13  Akim Demaille  <akim@lrde.epita.fr>
41466         quote: fix syntax-check
41467         * top/maint.mk (sc_prohibit_quote_without_use): quote.h
41468         also exports quote_quoting_options.
41470 2012-03-12  Simon Josefsson  <simon@josefsson.org>
41472         Collapse list of copyright years to ranges.  See
41473         <https://lists.gnu.org/r/bug-gnulib/2012-03/msg00051.html>.
41474         * build-aux/bootstrap.conf, build-aux/csharpcomp.sh.in,
41475         build-aux/csharpexec.sh.in, build-aux/gnupload,
41476         build-aux/install-reloc, build-aux/javacomp.sh.in,
41477         build-aux/javaexec.sh.in, build-aux/ldd.sh.in,
41478         build-aux/move-if-change, build-aux/reloc-ldflags,
41479         build-aux/relocatable.sh.in, build-aux/x-to-1.in: Fix copyright.
41481 2012-03-11  Bruno Haible  <bruno@clisp.org>
41483         log2f-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
41484         * m4/log2f-ieee.m4: New file.
41485         * m4/log2f.m4 (gl_FUNC_LOG2F): If gl_FUNC_LOG2F_IEEE is present, test
41486         whether log2f works with a minus zero argument. Replace it if not.
41487         * modules/log2f-ieee (Files): Add m4/log2f-ieee.m4.
41488         (Depends-on): Add log2-ieee.
41489         (configure.ac): Invoke gl_FUNC_LOG2F_IEEE.
41490         * doc/posix-functions/log2f.texi: Mention the log2f-ieee module.
41492         log2-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
41493         * m4/log2-ieee.m4: New file.
41494         * m4/log2.m4 (gl_FUNC_LOG2): If gl_FUNC_LOG2_IEEE is present, test
41495         whether log2 works with a minus zero argument. Replace it if not.
41496         * modules/log2-ieee (Files): Add m4/log2-ieee.m4.
41497         (configure.ac): Invoke gl_FUNC_LOG2_IEEE.
41498         * doc/posix-functions/log2.texi: Mention the log2-ieee module.
41500         Tests for module 'log2l-ieee'.
41501         * modules/log2l-ieee-tests: New file.
41502         * tests/test-log2l-ieee.c: New file.
41504         New module 'log2l-ieee'.
41505         * modules/log2l-ieee: New file.
41507         Tests for module 'log2-ieee'.
41508         * modules/log2-ieee-tests: New file.
41509         * tests/test-log2-ieee.c: New file.
41511         New module 'log2-ieee'.
41512         * modules/log2-ieee: New file.
41514         Tests for module 'log2f-ieee'.
41515         * modules/log2f-ieee-tests: New file.
41516         * tests/test-log2f-ieee.c: New file.
41517         * tests/test-log2-ieee.h: New file.
41519         New module 'log2f-ieee'.
41520         * modules/log2f-ieee: New file.
41522 2012-03-11  Bruno Haible  <bruno@clisp.org>
41524         Tests for module 'log2l'.
41525         * modules/log2l-tests: New file.
41526         * tests/test-log2l.c: New file.
41528         New module 'log2l'.
41529         * lib/math.in.h (log2l): New declaration.
41530         * lib/log2l.c: New file.
41531         * m4/log2l.m4: New file.
41532         * m4/math_h.m4 (gl_MATH_H): Test whether log2l is declared.
41533         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2L, HAVE_DECL_LOG2L,
41534         REPLACE_LOG2L.
41535         * modules/math (Makefile.am): Substitute GNULIB_LOG2L, HAVE_DECL_LOG2L,
41536         REPLACE_LOG2L.
41537         * modules/log2l: New file.
41538         * tests/test-math-c++.cc: Check the declaration of log2l.
41539         * doc/posix-functions/log2l.texi: Mention the new module and the IRIX
41540         and OSF/1 problems.
41542 2012-03-11  Bruno Haible  <bruno@clisp.org>
41544         Tests for module 'log2f'.
41545         * modules/log2f-tests: New file.
41546         * tests/test-log2f.c: New file.
41548         New module 'log2f'.
41549         * lib/math.in.h (log2f): New declaration.
41550         * lib/log2f.c: New file.
41551         * m4/log2f.m4: New file.
41552         * m4/math_h.m4 (gl_MATH_H): Test whether log2f is declared.
41553         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2F, HAVE_DECL_LOG2F,
41554         REPLACE_LOG2F.
41555         * modules/math (Makefile.am): Substitute GNULIB_LOG2F, HAVE_DECL_LOG2F,
41556         REPLACE_LOG2F.
41557         * modules/log2f: New file.
41558         * tests/test-math-c++.cc: Check the declaration of log2f.
41559         * doc/posix-functions/log2f.texi: Mention the new module and the IRIX
41560         and OSF/1 and Cygwin problems.
41562 2012-03-11  Bruno Haible  <bruno@clisp.org>
41564         Tests for module 'log2'.
41565         * modules/log2-tests: New file.
41566         * tests/test-log2.c: New file.
41567         * tests/test-log2.h: New file.
41569         New module 'log2'.
41570         * lib/math.in.h (log2): New declaration.
41571         * lib/log2.c: New file.
41572         * m4/log2.m4: New file.
41573         * m4/math_h.m4 (gl_MATH_H): Test whether log2 is declared.
41574         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2, HAVE_DECL_LOG2,
41575         REPLACE_LOG2.
41576         * modules/math (Makefile.am): Substitute GNULIB_LOG2, HAVE_DECL_LOG2,
41577         REPLACE_LOG2.
41578         * modules/log2: New file.
41579         * tests/test-math-c++.cc: Check the declaration of log2.
41580         * doc/posix-functions/log2.texi: Mention the new module and the IRIX
41581         and OSF/1 and Cygwin problems.
41583 2012-03-11  Bruno Haible  <bruno@clisp.org>
41585         exp2* tests: More tests.
41586         * tests/test-exp2.h (test_function): Test all integral arguments that
41587         don't need to overflow or denormalized numbers.
41588         * tests/test-exp2.c (MAX_EXP, MIN_EXP): New macros.
41589         * tests/test-exp2f.c (MAX_EXP, MIN_EXP): Likewise.
41590         * tests/test-exp2l.c (MAX_EXP, MIN_EXP): Likewise.
41592 2012-03-10  Bruno Haible  <bruno@clisp.org>
41594         log1pl-ieee: Work around test failure on AIX 7.1.
41595         * modules/log1pl-ieee (Depends-on): Add log1p-ieee.
41597         log1pl-ieee: Work around test failure on IRIX 6.5.
41598         * m4/log1pl-ieee.m4: New file.
41599         * m4/log1pl.m4 (gl_FUNC_LOG1PL): If gl_FUNC_LOG1PL_IEEE is present,
41600         test whether log1pl works with a minus zero argument. Replace it if
41601         not.
41602         * lib/math.in.h (log1pl): Override if REPLACE_LOG1PL is 1.
41603         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1PL.
41604         * modules/math (Makefile.am): Substitute REPLACE_LOG1PL.
41605         * modules/log1pl (configure.ac): Consider REPLACE_LOG1PL.
41606         (Depends-on): Update conditions.
41607         * modules/log1pl-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
41608         m4/signbit.m4.
41609         (configure.ac): Invoke gl_FUNC_LOG1PL_IEEE.
41610         * doc/posix-functions/log1pl.texi: Mention the log1pl-ieee module.
41612         log1pf-ieee: Work around test failure on OpenBSD 4.9 and AIX 7.1.
41613         * m4/log1pf-ieee.m4: New file.
41614         * m4/log1pf.m4 (gl_FUNC_LOG1PF): If gl_FUNC_LOG1PF_IEEE is present,
41615         test whether log1pf works with a minus zero argument. Replace it if
41616         not.
41617         * modules/log1pf-ieee (Files): Add m4/log1pf-ieee.m4, m4/minus-zero.m4,
41618         m4/signbit.m4.
41619         (configure.ac): Invoke gl_FUNC_LOG1PF_IEEE.
41620         * doc/posix-functions/log1pf.texi: Mention the log1pf-ieee module.
41622         log1pf-ieee: Work around test failure on AIX 5.1 and HP-UX 11.
41623         * modules/log1pf-ieee (Depends-on): Add log1p-ieee.
41624         (configure.ac): Require gl_FUNC_LOG1PF.
41626         log1p-ieee: Work around test failure on AIX 7.1 and HP-UX 11.
41627         * m4/log1p-ieee.m4: New file.
41628         * m4/log1p.m4 (gl_FUNC_LOG1P): If gl_FUNC_LOG1P_IEEE is present, test
41629         whether log1p works with a minus zero argument. Replace it if not.
41630         * lib/math.in.h (log1p): Override if REPLACE_LOG1P is 1.
41631         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1P.
41632         * modules/math (Makefile.am): Substitute REPLACE_LOG1P.
41633         * modules/log1p (configure.ac): Consider REPLACE_LOG1P.
41634         (Depends-on): Update conditions.
41635         * modules/log1p-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
41636         m4/signbit.m4.
41637         (configure.ac): Invoke gl_FUNC_LOG1P_IEEE.
41638         * doc/posix-functions/log1p.texi: Mention the log1p-ieee module.
41640         Tests for module 'log1pl-ieee'.
41641         * modules/log1pl-ieee-tests: New file.
41642         * tests/test-log1pl-ieee.c: New file.
41644         New module 'log1pl-ieee'.
41645         * modules/log1pl-ieee: New file.
41647         Tests for module 'log1p-ieee'.
41648         * modules/log1p-ieee-tests: New file.
41649         * tests/test-log1p-ieee.c: New file.
41651         New module 'log1p-ieee'.
41652         * modules/log1p-ieee: New file.
41654         Tests for module 'log1pf-ieee'.
41655         * modules/log1pf-ieee-tests: New file.
41656         * tests/test-log1pf-ieee.c: New file.
41657         * tests/test-log1p-ieee.h: New file.
41659         New module 'log1pf-ieee'.
41660         * modules/log1pf-ieee: New file.
41662 2012-03-10  Bruno Haible  <bruno@clisp.org>
41664         Tests for module 'log1pl'.
41665         * modules/log1pl-tests: New file.
41666         * tests/test-log1pl.c: New file.
41668         New module 'log1pl'.
41669         * lib/math.in.h (log1pl): New declaration.
41670         * lib/log1pl.c: New file.
41671         * m4/log1pl.m4: New file.
41672         * m4/math_h.m4 (gl_MATH_H): Test whether log1pl is declared.
41673         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PL, HAVE_LOG1PL.
41674         * modules/math (Makefile.am): Substitute GNULIB_LOG1PL, HAVE_LOG1PL.
41675         * modules/log1pl: New file.
41676         * tests/test-math-c++.cc: Check the declaration of log1pl.
41677         * doc/posix-functions/log1pl.texi: Mention the new module.
41679 2012-03-10  Bruno Haible  <bruno@clisp.org>
41681         Tests for module 'log1pf'.
41682         * modules/log1pf-tests: New file.
41683         * tests/test-log1pf.c: New file.
41685         New module 'log1pf'.
41686         * lib/math.in.h (log1pf): New declaration.
41687         * lib/log1pf.c: New file.
41688         * m4/log1pf.m4: New file.
41689         * m4/math_h.m4 (gl_MATH_H): Test whether log1pf is declared.
41690         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PF, HAVE_LOG1PF,
41691         REPLACE_LOG1PF.
41692         * modules/math (Makefile.am): Substitute GNULIB_LOG1PF, HAVE_LOG1PF,
41693         REPLACE_LOG1PF.
41694         * modules/log1pf: New file.
41695         * tests/test-math-c++.cc: Check the declaration of log1pf.
41696         * doc/posix-functions/log1pf.texi: Mention the new module.
41698 2012-03-10  Bruno Haible  <bruno@clisp.org>
41700         log1p tests: More tests.
41701         * tests/test-log1p.h: New file.
41702         * modules/log1p-tests (Files): Add tests/test-log1p.h, tests/randomd.c.
41703         (Makefile.am): Add randomd.c to test_log1p_SOURCES.
41704         * tests/test-log1p.c: Include <float.h> and test-log1p.h.
41705         (main): Invoke test_function.
41707         log1p: Provide replacement for Minix and MSVC.
41708         * lib/math.in.h (log1p): New declaration.
41709         * lib/log1p.c: New file.
41710         * m4/log1p.m4: New file.
41711         * m4/math_h.m4 (gl_MATH_H): Test whether log1p is declared.
41712         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1P, HAVE_LOG1P.
41713         * modules/math (Makefile.am): Substitute GNULIB_LOG1P, HAVE_LOG1P.
41714         * modules/log1p (Files): Add lib/log1p.c, m4/log1p.m4.
41715         (Depends-on): Add math, isnand, log, round.
41716         (configure.ac): Invoke gl_FUNC_LOG1P. Arrange to compile replacement if
41717         HAVE_LOG1P is 0.
41718         * tests/test-math-c++.cc: Check the declaration of log1p.
41719         * doc/posix-functions/log1p.texi: Mention the replacement.
41721 2012-03-10  Bruno Haible  <bruno@clisp.org>
41723         math tests: Small simplification.
41724         * tests/test-exp.h (test_function): Use the same err_bound for
41725         'double' on platforms with sizeof (long double) == sizeof (double)
41726         than on platforms with sizeof (long double) > sizeof (double).
41727         * tests/test-exp2.h (test_function): Likewise.
41728         * tests/test-expm1.h (test_function): Likewise.
41729         * tests/test-log.h (test_function): Likewise.
41731 2012-03-10  Bruno Haible  <bruno@clisp.org>
41733         Fix some comments.
41734         * lib/expl.c: Fix an ambiguous comment.
41735         * lib/expm1.c: Likewise.
41736         * lib/expm1l.c: Likewise.
41737         * lib/exp2.c: Likewise.
41738         * lib/exp2l.c: Likewise.
41740 2012-03-10  Paul Eggert  <eggert@cs.ucla.edu>
41742         regex: allow inclusion of <regex.h> before <limits.h>
41743         Without this patch, portable programs had to include <limits.h> before
41744         <regex.h> if they wanted a consistent value for RE_DUP_MAX.
41745         I ran into this problem with a test version of GNU grep on Solaris 8.
41746         * lib/regex.h: Include <limits.h> if _REGEX_INCLUDE_LIMITS_H.
41747         This is done conditionally so that this change can be merged
41748         back to glibc.
41749         * m4/regex.m4 (gl_REGEX): Define _REGEX_INCLUDE_LIMITS_H if
41750         using the included regex.
41752         fts: depend on fdopendir
41753         * modules/fts (Depends-on): Depend on fdopendir.  This is needed
41754         on Solaris 8, at least, since it lacks fdopendir.  Evidently the
41755         problem was introduced when fdopendir was split out.
41757 2012-03-10  Bruno Haible  <bruno@clisp.org>
41759         Remove unused variables.
41760         * m4/fmodf.m4 (gl_FUNC_FMODF): Remove unused variable 'i'.
41761         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
41763 2012-03-10  Bruno Haible  <bruno@clisp.org>
41765         isnanf-nolibm: Fix last commit.
41766         * lib/isnanf-nolibm.h [IRIX]: Don't include <ieeefp.h>. Declare isnanf.
41768         isnanf-nolibm: Make it work on IRIX 6.5 with cc.
41769         * lib/isnanf-nolibm.h [IRIX]: Include <ieeefp.h>.
41771 2012-03-10  Bruno Haible  <bruno@clisp.org>
41773         logf-ieee: Work around test failure on NetBSD 5.1.
41774         * m4/logf-ieee.m4: New file.
41775         * m4/logf.m4 (gl_FUNC_LOGF): If gl_FUNC_LOGF_IEEE is present, test
41776         whether logf works with a negative argument. Replace it if not.
41777         * lib/logf.c (logf): For negative arguments, return NaN.
41778         * modules/logf-ieee (Files): Add m4/logf-ieee.m4.
41779         (configure.ac): Invoke gl_FUNC_LOGF_IEEE.
41780         * doc/posix-functions/logf.texi: Mention the logf-ieee module.
41782         logf-ieee: Work around test failure on Solaris 9.
41783         * modules/logf-ieee (Depends-on): Add log-ieee.
41784         (configure.ac): Require gl_FUNC_LOGF.
41786         log-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
41787         * m4/log-ieee.m4: New file.
41788         * m4/log.m4 (gl_FUNC_LOG): If gl_FUNC_LOG_IEEE is present, test whether
41789         log works with a negative argument. Replace it if not.
41790         * lib/log.c (log): For negative arguments, return NaN.
41791         * modules/log-ieee (Files): Add m4/log-ieee.m4.
41792         (configure.ac): Invoke gl_FUNC_LOG_IEEE.
41793         * doc/posix-functions/log.texi: Mention the log-ieee module.
41795         Tests for module 'logl-ieee'.
41796         * modules/logl-ieee-tests: New file.
41797         * tests/test-logl-ieee.c: New file.
41799         New module 'logl-ieee'.
41800         * modules/logl-ieee: New file.
41802         Tests for module 'log-ieee'.
41803         * modules/log-ieee-tests: New file.
41804         * tests/test-log-ieee.c: New file.
41806         New module 'log-ieee'.
41807         * modules/log-ieee: New file.
41809         Tests for module 'logf-ieee'.
41810         * modules/logf-ieee-tests: New file.
41811         * tests/test-logf-ieee.c: New file.
41812         * tests/test-log-ieee.h: New file.
41814         New module 'logf-ieee'.
41815         * modules/logf-ieee: New file.
41817 2012-03-10  Bruno Haible  <bruno@clisp.org>
41819         log: Fix bug introduced on 2012-03-09.
41820         * m4/log.m4 (gl_FUNC_LOG): Require gl_MATH_H_DEFAULTS.
41822 2012-03-10  Pádraig Brady  <P@draigBrady.com>
41824         timer-time: link explicitly with pthreads on glibc
41825         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
41826         to support static linking, when newer glibc is
41827         detected, as that contains pthread emulation of
41828         POSIX timer functions where required.
41829         * modules/timer-time: Depend on threadlib to
41830         pull in the appropriate library to link.
41832 2012-03-10  Bruno Haible  <bruno@clisp.org>
41834         log* tests: More tests.
41835         * tests/test-log.h: New file.
41836         * tests/test-log.c: Include <float.h>, minus-zero.h, test-log.h.
41837         (main): Invoke test_function.
41838         * tests/test-logf.c: Include <float.h>, minus-zero.h, test-log.h.
41839         (main): Invoke test_function.
41840         * tests/test-logl.c: Include <float.h>, minus-zero.h, test-log.h.
41841         (main): Invoke test_function.
41842         * modules/log-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
41843         tests/randomd.c.
41844         (Makefile.am): Add randomd.c to test_log_SOURCES.
41845         * modules/logf-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
41846         tests/randomf.c.
41847         (Makefile.am): Add randomf.c to test_logf_SOURCES.
41848         * modules/logl-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
41849         tests/randoml.c.
41850         (Depends-on): Add 'float'.
41851         (Makefile.am): Add randoml.c to test_logl_SOURCES.
41853 2012-03-09  Bruno Haible  <bruno@clisp.org>
41855         logl: Work around OSF/1 5.1 bug.
41856         * lib/math.in.h (logl): Override if REPLACE_LOGL is 1.
41857         * lib/logl.c (logl): If logl exists, use it and provide just the
41858         workaround.
41859         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): New macro.
41860         (gl_FUNC_LOGL): Invoke it. Set REPLACE_LOGL.
41861         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGL.
41862         * modules/math (Makefile.am): Substitute REPLACE_LOGL.
41863         * modules/logl (configure.ac): Consider REPLACE_LOGL.
41864         (Depends-on): Update conditions.
41865         * doc/posix-functions/logl.texi: Mention the OSF/1 5.1 problem.
41867 2012-03-09  Bruno Haible  <bruno@clisp.org>
41869         logf: Work around OSF/1 5.1 bug.
41870         * lib/math.in.h (logf): Override if REPLACE_LOGF is 1.
41871         * lib/logf.c (logf): If logf exists, use it and provide just the
41872         workaround.
41873         * m4/logf.m4 (gl_FUNC_LOGF_WORKS): New macro.
41874         (gl_FUNC_LOGF): Invoke it. Set REPLACE_LOGF.
41875         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGF.
41876         * modules/math (Makefile.am): Substitute REPLACE_LOGF.
41877         * modules/logf (configure.ac): Consider REPLACE_LOGF.
41878         (Depends-on): Update conditions.
41879         * doc/posix-functions/logf.texi: Mention the OSF/1 5.1 problem.
41881 2012-03-09  Bruno Haible  <bruno@clisp.org>
41883         log: Work around OSF/1 5.1 bug.
41884         * lib/math.in.h (log): New declaration.
41885         * lib/log.c: New file.
41886         * m4/log.m4 (gl_FUNC_LOG_WORKS): New macro.
41887         (gl_FUNC_LOG): Invoke it. Set REPLACE_LOG.
41888         * m4/math_h.m4 (gl_MATH_H): Test whether log is declared.
41889         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG, REPLACE_LOG.
41890         * modules/math (Makefile.am): Substitute GNULIB_LOG, REPLACE_LOG.
41891         * modules/log (Files): Add lib/log.c.
41892         (Depends-on): Add math.
41893         (configure.ac): If REPLACE_LOG is 1, compile an override.
41894         * tests/test-math-c++.cc: Check the declaration of log.
41895         * doc/posix-functions/log.texi: Mention the OSF/1 5.1 problem.
41897 2012-03-09  Jim Meyering  <meyering@redhat.com>
41899         readtokens.c: adjust wording in a comment
41900         * lib/readtokens.c: Insert omitted "that" in a comment.
41902 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
41904         modechange: add notations +40, 00440, etc.
41905         * lib/modechange.c (mode_compile): Support new notations
41906         +40, -40, =440, 00440.  See <http://debbugs.gnu.org/8391>.
41908 2012-03-08  Bruno Haible  <bruno@clisp.org>
41910         exp2l-ieee: Work around test failure on OpenBSD 4.9 and IRIX 6.5.
41911         * m4/exp2l-ieee.m4: New file.
41912         * m4/exp2l.m4 (gl_FUNC_EXP2L): If gl_FUNC_EXP2L_IEEE is present,
41913         test whether exp2l works with a NaN argument and with a negative
41914         infinity argument. Replace it if not.
41915         * lib/math.in.h (exp2l): Override if REPLACE_EXP2L is 1.
41916         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXP2L.
41917         * modules/math (Makefile.am): Substitute REPLACE_EXP2L.
41918         * modules/exp2l (configure.ac): Consider REPLACE_EXP2L.
41919         (Depends-on): Update conditions.
41920         * modules/exp2l-ieee (Files): Add m4/exp2l-ieee.m4.
41921         (configure.ac): Invoke gl_FUNC_EXP2L_IEEE.
41922         * doc/posix-functions/exp2l.texi: Mention the exp2l-ieee module.
41924         Tests for module 'exp2l-ieee'.
41925         * modules/exp2l-ieee-tests: New file.
41926         * tests/test-exp2l-ieee.c: New file.
41928         New module 'exp2l-ieee'.
41929         * modules/exp2l-ieee: New file.
41931         Tests for module 'exp2-ieee'.
41932         * modules/exp2-ieee-tests: New file.
41933         * tests/test-exp2-ieee.c: New file.
41935         New module 'exp2-ieee'.
41936         * modules/exp2-ieee: New file.
41938         Tests for module 'exp2f-ieee'.
41939         * modules/exp2f-ieee-tests: New file.
41940         * tests/test-exp2f-ieee.c: New file.
41941         * tests/test-exp2-ieee.h: New file.
41943         New module 'exp2f-ieee'.
41944         * modules/exp2f-ieee: New file.
41946 2012-03-08  Bruno Haible  <bruno@clisp.org>
41948         Tests for module 'exp2l'.
41949         * modules/exp2l-tests: New file.
41950         * tests/test-exp2l.c: New file.
41952         New module 'exp2l'.
41953         * lib/math.in.h (exp2l): New declaration.
41954         * lib/exp2l.c: New file.
41955         * lib/expl-table.c: New file, extracted from lib/expl.c.
41956         * lib/expl.c (gl_expl_table): New declaration.
41957         (expl): Remove expl_table. Update reference.
41958         * m4/exp2l.m4: New file.
41959         * m4/math_h.m4 (gl_MATH_H): Test whether exp2l is declared.
41960         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2L, HAVE_DECL_EXP2L.
41961         * modules/math (Makefile.am): Substitute GNULIB_EXP2L, HAVE_DECL_EXP2L.
41962         * modules/exp2l: New file.
41963         * modules/expl (Files): Add lib/expl-table.c.
41964         (configure.ac): Compile also expl-table.c.
41965         * tests/test-math-c++.cc: Check the declaration of exp2l.
41966         * doc/posix-functions/exp2l.texi: Mention the new module and the IRIX
41967         problem.
41969 2012-03-08  Bruno Haible  <bruno@clisp.org>
41971         Tests for module 'exp2f'.
41972         * modules/exp2f-tests: New file.
41973         * tests/test-exp2f.c: New file.
41975         New module 'exp2f'.
41976         * lib/math.in.h (exp2f): New declaration.
41977         * lib/exp2f.c: New file.
41978         * m4/exp2f.m4: New file.
41979         * m4/math_h.m4 (gl_MATH_H): Test whether exp2f is declared.
41980         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2F, HAVE_DECL_EXP2F.
41981         * modules/math (Makefile.am): Substitute GNULIB_EXP2F, HAVE_DECL_EXP2F.
41982         * modules/exp2f: New file.
41983         * tests/test-math-c++.cc: Check the declaration of exp2f.
41984         * doc/posix-functions/exp2f.texi: Mention the new module and the
41985         IRIX problem.
41987 2012-03-08  Bruno Haible  <bruno@clisp.org>
41989         Tests for module 'exp2'.
41990         * modules/exp2-tests: New file.
41991         * tests/test-exp2.c: New file.
41992         * tests/test-exp2.h: New file.
41994         New module 'exp2'.
41995         * lib/math.in.h (exp2): New declaration.
41996         * lib/exp2.c: New file.
41997         * m4/exp2.m4: New file.
41998         * m4/math_h.m4 (gl_MATH_H): Test whether exp2 is declared.
41999         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2, HAVE_DECL_EXP2,
42000         REPLACE_EXP2.
42001         * modules/math (Makefile.am): Substitute GNULIB_EXP2, HAVE_DECL_EXP2,
42002         REPLACE_EXP2.
42003         * modules/exp2: New file.
42004         * tests/test-math-c++.cc: Check the declaration of exp2.
42005         * doc/posix-functions/exp2.texi: Mention the new module and the IRIX
42006         and OpenBSD problems.
42008 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
42010         savedir: fix comment typo
42011         * lib/savedir.c (savedirstream): Fix typo in comment.
42013 2012-03-08  Bruno Haible  <bruno@clisp.org>
42015         test-readtokens.c: use const; remove unwarranted cast
42016         * tests/test-readtokens.c: Declare delim to be const, to avoid a cast.
42018 2012-03-08  Bruno Haible  <bruno@clisp.org>
42020         fmal: Avoid compilation error on AIX.
42021         * lib/math.in.h (fmal): Undefine macro before declaration. Needed on
42022         AIX 5.2..7.1.
42024 2012-03-08  Bruno Haible  <bruno@clisp.org>
42026         fma, fmaf, fmal: Override undeclared system functions on IRIX 6.5.
42027         * m4/fma.m4 (gl_FUNC_FMA): If fma() exists but is not declared,
42028         arrange to set REPLACE_FMA=1, not HAVE_FMA=0.
42029         * m4/fmaf.m4 (gl_FUNC_FMAF): If fmaf() exists but is not declared,
42030         arrange to set REPLACE_FMAF=1, not HAVE_FMAF=0.
42031         * m4/fmal.m4 (gl_FUNC_FMAL): If fmal() exists but is not declared,
42032         arrange to set REPLACE_FMAL=1, not HAVE_FMAL=0.
42034 2012-03-08  Bruno Haible  <bruno@clisp.org>
42036         remainderf: Override buggy system function on IRIX 6.5.
42037         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): New macro.
42038         (gl_FUNC_REMAINDERF): Invoke it. Don't assume remainderf() is declared
42039         when it exists.
42040         * doc/posix-functions/remainderf.texi: Mention the IRIX problems.
42042 2012-03-08  Jim Meyering  <meyering@redhat.com>
42044         test-readtokens.c: avoid const-related compilation warnings
42045         * tests/test-readtokens.c: Avoid const-related compilation warnings.
42047 2012-03-07  Jim Meyering  <meyering@redhat.com>
42048             Bruno Haible  <bruno@clisp.org>
42050         frexp-nolibm, frexpl-nolibm tests: Fix bug introduced on 2012-03-03.
42051         * modules/frexp-nolibm-tests (Files): Add tests/test-frexp.h,
42052         tests/randomd.c.
42053         (Makefile.am): Add randomd.c to test_frexp_nolibm_SOURCES.
42054         * modules/frexpl-nolibm-tests (Files): Add tests/test-frexp.h,
42055         tests/randoml.c.
42056         (Makefile.am): Add randoml.c to test_frexpl_nolibm_SOURCES.
42058 2012-03-07  Bruno Haible  <bruno@clisp.org>
42060         expm1l: Avoid compilation error on AIX.
42061         * lib/math.in.h (expm1l): Undefine macro before declaration. Needed on
42062         AIX 5.2..7.1.
42064 2012-03-07  Bruno Haible  <bruno@clisp.org>
42066         expm1l: Don't override undeclared system function on IRIX 6.5.
42067         * lib/math.in.h (expm1l): Test HAVE_DECL_EXPM1L, not HAVE_EXPM1L.
42068         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Don't assume expm1l() is declared when
42069         it exists. Set HAVE_DECL_EXPM1L.
42070         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_EXPM1L, not
42071         HAVE_EXPM1L.
42072         * modules/math (Makefile.am): Substitute HAVE_DECL_EXPM1L, not
42073         HAVE_EXPM1L.
42074         * doc/posix-functions/expm1l.texi: Mention missing declaration problem.
42076 2012-03-07  Bruno Haible  <bruno@clisp.org>
42078         remainderl: Don't override undeclared system function on IRIX 6.5.
42079         * lib/math.in.h (remainderl): Test HAVE_DECL_REMAINDERL, not
42080         HAVE_REMAINDERL.
42081         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Don't assume remainderl() is
42082         declared when it exists. Set HAVE_DECL_REMAINDERL.
42083         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_REMAINDERL,
42084         not HAVE_REMAINDERL.
42085         * modules/math (Makefile.am): Substitute HAVE_DECL_REMAINDERL, not
42086         HAVE_REMAINDERL.
42087         * doc/posix-functions/remainderl.texi: Mention missing declaration
42088         problem.
42090 2012-03-07  Bruno Haible  <bruno@clisp.org>
42092         rintf: Don't override undeclared system function on IRIX 6.5.
42093         * lib/math.in.h (rintf): Test HAVE_DECL_RINTF, not HAVE_RINTF.
42094         * m4/rintf.m4 (gl_FUNC_RINTF): Don't assume rintf() is declared when it
42095         exists. Set HAVE_DECL_RINTF.
42096         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_RINTF, not
42097         HAVE_RINTF.
42098         * modules/math (Makefile.am): Substitute HAVE_DECL_RINTF, not
42099         HAVE_RINTF.
42100         * doc/posix-functions/rintf.texi: Mention missing declaration problem.
42102 2012-03-07  Bruno Haible  <bruno@clisp.org>
42104         roundl: Avoid compilation error on AIX.
42105         * lib/math.in.h (roundl): Undefine macro before declaration. Needed on
42106         AIX 5.2..7.1.
42108 2012-03-07  Bruno Haible  <bruno@clisp.org>
42110         roundl: Don't override undeclared system function on IRIX 6.5.
42111         * m4/roundl.m4 (gl_FUNC_ROUNDL): Search for roundl() in the libraries
42112         also when it is not declared. Set HAVE_ROUNDL. For replacement code,
42113         test HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
42114         * modules/roundl (configure.ac): For replacement code, test
42115         HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
42116         (Depends-on): Update conditions.
42117         * doc/posix-functions/roundl.texi: Mention the IRIX problem.
42119 2012-03-07  Bruno Haible  <bruno@clisp.org>
42121         roundf: Don't override undeclared system function on IRIX 6.5.
42122         * m4/roundf.m4 (gl_FUNC_ROUNDF): Search for roundf() in the libraries
42123         also when it is not declared. Set HAVE_ROUNDF. For replacement code,
42124         test HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
42125         * modules/roundf (configure.ac): For replacement code, test
42126         HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
42127         (Depends-on): Update conditions.
42128         * modules/roundf-ieee (Depends-on): Update conditions.
42129         * doc/posix-functions/roundf.texi: Mention the IRIX problem.
42131 2012-03-07  Bruno Haible  <bruno@clisp.org>
42133         round: Don't override undeclared system function on IRIX 6.5.
42134         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Accept an optional third
42135         argument.
42136         * m4/round.m4 (gl_FUNC_ROUND): Search for round() in the libraries
42137         also when it is not declared. Set HAVE_ROUND. For replacement code,
42138         test HAVE_ROUND, not HAVE_DECL_ROUND.
42139         * modules/round (configure.ac): For replacement code, test HAVE_ROUND,
42140         not HAVE_DECL_ROUND.
42141         (Depends-on): Update conditions.
42142         * modules/round-ieee (Depends-on): Update conditions.
42143         * doc/posix-functions/round.texi: Mention the IRIX problem.
42145 2012-03-07  Bruno Haible  <bruno@clisp.org>
42147         copysignf: Don't override undeclared system function on IRIX 6.5.
42148         * lib/math.in.h (copysignf): Test HAVE_DECL_COPYSIGNF, not
42149         HAVE_COPYSIGNF.
42150         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Don't assume copysignf() is
42151         declared when it exists. Set HAVE_DECL_COPYSIGNF.
42152         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_COPYSIGNF,
42153         not HAVE_COPYSIGNF.
42154         * modules/math (Makefile.am): Substitute HAVE_DECL_COPYSIGNF, not
42155         HAVE_COPYSIGNF.
42156         * doc/posix-functions/copysignf.texi: Mention missing declaration
42157         problem.
42159 2012-03-07  Jim Meyering  <meyering@redhat.com>
42161         readtokens: add tests
42162         * modules/readtokens-tests: New file.
42163         * tests/test-readtokens.c: New file.
42165 2012-03-07  Jim Meyering  <meyering@redhat.com>
42167         quotearg: the module must now include quote.h
42168         With commit v0.0-7133-g6417476, quotearg.c includes "quote.h".
42169         So must the module.
42170         * modules/quotearg (Files): Add quote.h.
42172 2012-03-06  Paul Eggert  <eggert@cs.ucla.edu>
42174         readtokens: avoid core dumps with unusual calling patterns
42175         Reported by Xu Zhongxing in <http://debbugs.gnu.org/10953>.
42176         * lib/readtokens.c: Include limits.h.
42177         (word, bits_per_word, get_nth_bit, set_nth_bit): New.
42178         (readtoken): Don't cache the delimiters; the cache code was buggy
42179         if !delim && saved_delim, or if the new n_delim differs from the old.
42180         Also, it wasn't thread-safe.
42182 2012-03-07  Bruno Haible  <bruno@clisp.org>
42184         quote: Adhere to common module description layout.
42185         * modules/quote (Makefile.am): Add back empty section.
42187 2012-03-06  Akim Demaille  <demaille@gostai.com>
42189         quote: fuse into quotearg
42190         This patch is made for the benefit of Bison.
42191         quote does not leave the choice of the quoting style to the user.
42192         quoting_style provides poor customizability, yet quoting_options,
42193         which is very rich, is hidden inside quotearg.c.  So in order to
42194         allow quote customization, move its implementation to quotearg.c.
42195         * lib/quote.c: Remove.
42196         * modules/quote: Adjust.
42197         * lib/quotearg.c (quoting_options_from_style): Fix a compiler
42198         warning: provide all the members of literal structs.
42199         (quote_quoting_options): New.
42200         (quote, quote_n): Import implementation from quote.c.
42201         * lib/quote.h: Import the comments from quote.c.
42202         (quote_quoting_options): New.
42204 2012-03-06  Bruno Haible  <bruno@clisp.org>
42206         Tests for module 'expm1l-ieee'.
42207         * modules/expm1l-ieee-tests: New file.
42208         * tests/test-expm1l-ieee.c: New file.
42210         New module 'expm1l-ieee'.
42211         * modules/expm1l-ieee: New file.
42213         Tests for module 'expm1f-ieee'.
42214         * modules/expm1f-ieee-tests: New file.
42215         * tests/test-expm1f-ieee.c: New file.
42217         New module 'expm1f-ieee'.
42218         * modules/expm1f-ieee: New file.
42220         Tests for module 'expm1-ieee'.
42221         * modules/expm1-ieee-tests: New file.
42222         * tests/test-expm1-ieee.c: New file.
42223         * tests/test-expm1-ieee.h: New file.
42225         New module 'expm1-ieee'.
42226         * modules/expm1-ieee: New file.
42227         * m4/expm1-ieee.m4: New file.
42228         * m4/expm1.m4 (gl_FUNC_EXPM1): If gl_FUNC_EXPM1_IEEE is present, test
42229         whether expm1 works with a minus zero argument. Replace it if not.
42230         * lib/math.in.h (expm1): Override if REPLACE_EXPM1 is 1.
42231         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1.
42232         * modules/math (Makefile.am): Substitute REPLACE_EXPM1.
42233         * modules/expm1 (configure.ac): Consider REPLACE_EXPM1.
42234         (Depends-on): Update conditions.
42235         * doc/posix-functions/expm1.texi: Mention the expm1-ieee module and the
42236         AIX problem.
42238 2012-03-06  Bruno Haible  <bruno@clisp.org>
42240         Work around expm1f bug on IRIX 6.5.
42241         * lib/math.in.h (expm1f): Override if REPLACE_EXPM1F is 1.
42242         * m4/expm1f.m4 (gl_FUNC_EXPM1F_WORKS): New macro.
42243         (gl_FUNC_EXPM1F): Invoke it. Set REPLACE_EXPM1F to 1 if expm1f() does
42244         not work.
42245         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1F.
42246         * modules/math (Makefile.am): Substitute REPLACE_EXPM1F.
42247         * modules/expm1f (configure.ac): Consider REPLACE_EXPM1F.
42248         (Depends-on): Update conditions.
42249         * doc/posix-functions/expm1f.texi: Mention the IRIX 6.5 bug.
42251 2012-03-06  Bruno Haible  <bruno@clisp.org>
42253         Tests for module 'expm1l'.
42254         * modules/expm1l-tests: New file.
42255         * tests/test-expm1l.c: New file.
42257         New module 'expm1l'.
42258         * lib/math.in.h (expm1l): New declaration.
42259         * lib/expm1l.c: New file.
42260         * m4/expm1l.m4: New file.
42261         * m4/math_h.m4 (gl_MATH_H): Test whether expm1l is declared.
42262         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1L, HAVE_EXPM1L.
42263         * modules/math (Makefile.am): Substitute GNULIB_EXPM1L, HAVE_EXPM1L.
42264         * modules/expm1l: New file.
42265         * tests/test-math-c++.cc: Check the declaration of expm1l.
42266         * doc/posix-functions/expm1l.texi: Mention the new module.
42268 2012-03-06  Bruno Haible  <bruno@clisp.org>
42270         Tests for module 'expm1f'.
42271         * modules/expm1f-tests: New file.
42272         * tests/test-expm1f.c: New file.
42274         New module 'expm1f'.
42275         * lib/math.in.h (expm1f): New declaration.
42276         * lib/expm1f.c: New file.
42277         * m4/expm1f.m4: New file.
42278         * m4/math_h.m4 (gl_MATH_H): Test whether expm1f is declared.
42279         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1F, HAVE_EXPM1F.
42280         * modules/math (Makefile.am): Substitute GNULIB_EXPM1F, HAVE_EXPM1F.
42281         * modules/expm1f: New file.
42282         * tests/test-math-c++.cc: Check the declaration of expm1f.
42283         * doc/posix-functions/expm1f.texi: Mention the new module.
42285 2012-03-06  Bruno Haible  <bruno@clisp.org>
42287         Tests for module 'expm1'.
42288         * modules/expm1-tests: New file.
42289         * tests/test-expm1.c: New file.
42290         * tests/test-expm1.h: New file.
42292         New module 'expm1'.
42293         * lib/math.in.h (expm1): New declaration.
42294         * lib/expm1.c: New file.
42295         * m4/expm1.m4: New file.
42296         * m4/math_h.m4 (gl_MATH_H): Test whether expm1 is declared.
42297         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1, HAVE_EXPM1.
42298         * modules/math (Makefile.am): Substitute GNULIB_EXPM1, HAVE_EXPM1.
42299         * modules/expm1: New file.
42300         * tests/test-math-c++.cc: Check the declaration of expm1.
42301         * doc/posix-functions/expm1.texi: Mention the new module.
42303 2012-03-06  Bruno Haible  <bruno@clisp.org>
42305         math: Ensure declarations of math functions.
42306         * modules/acosf (Depends-on): Add 'extensions'.
42307         * modules/asinf (Depends-on): Likewise.
42308         * modules/atan2f (Depends-on): Likewise.
42309         * modules/atanf (Depends-on): Likewise.
42310         * modules/cbrt (Depends-on): Likewise.
42311         * modules/cbrtf (Depends-on): Likewise.
42312         * modules/cbrtl (Depends-on): Likewise.
42313         * modules/copysignf (Depends-on): Likewise.
42314         * modules/copysignl (Depends-on): Likewise.
42315         * modules/cosf (Depends-on): Likewise.
42316         * modules/coshf (Depends-on): Likewise.
42317         * modules/expf (Depends-on): Likewise.
42318         * modules/fabsf (Depends-on): Likewise.
42319         * modules/fabsl (Depends-on): Likewise.
42320         * modules/fmaf (Depends-on): Likewise.
42321         * modules/fmal (Depends-on): Likewise.
42322         * modules/fmodf (Depends-on): Likewise.
42323         * modules/fmodl (Depends-on): Likewise.
42324         * modules/frexpf (Depends-on): Likewise.
42325         * modules/frexpl (Depends-on): Likewise.
42326         * modules/hypot (Depends-on): Likewise.
42327         * modules/hypotf (Depends-on): Likewise.
42328         * modules/hypotl (Depends-on): Likewise.
42329         * modules/ldexpf (Depends-on): Likewise.
42330         * modules/ldexpl (Depends-on): Likewise.
42331         * modules/log10f (Depends-on): Likewise.
42332         * modules/log10l (Depends-on): Likewise.
42333         * modules/log1p (Depends-on): Likewise.
42334         * modules/logb (Depends-on): Likewise.
42335         * modules/logf (Depends-on): Likewise.
42336         * modules/modff (Depends-on): Likewise.
42337         * modules/modfl (Depends-on): Likewise.
42338         * modules/powf (Depends-on): Likewise.
42339         * modules/remainderf (Depends-on): Likewise.
42340         * modules/remainderl (Depends-on): Likewise.
42341         * modules/rintf (Depends-on): Likewise.
42342         * modules/rintl (Depends-on): Likewise.
42343         * modules/sinf (Depends-on): Likewise.
42344         * modules/sinhf (Depends-on): Likewise.
42345         * modules/sqrtf (Depends-on): Likewise.
42346         * modules/tanf (Depends-on): Likewise.
42347         * modules/tanhf (Depends-on): Likewise.
42348         * m4/acosf.m4 (gl_FUNC_ACOSF): Require gl_USE_SYSTEM_EXTENSIONS.
42349         * m4/asinf.m4 (gl_FUNC_ASINF): Likewise.
42350         * m4/atan2f.m4 (gl_FUNC_ATAN2F): Likewise.
42351         * m4/atanf.m4 (gl_FUNC_ATANF): Likewise.
42352         * m4/cbrt.m4 (gl_FUNC_CBRT): Likewise.
42353         * m4/cbrtf.m4 (gl_FUNC_CBRTF): Likewise.
42354         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Likewise.
42355         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Likewise.
42356         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Likewise.
42357         * m4/cosf.m4 (gl_FUNC_COSF): Likewise.
42358         * m4/coshf.m4 (gl_FUNC_COSHF): Likewise.
42359         * m4/expf.m4 (gl_FUNC_EXPF): Likewise.
42360         * m4/fabsf.m4 (gl_FUNC_FABSF): Likewise.
42361         * m4/fabsl.m4 (gl_FUNC_FABSL): Likewise.
42362         * m4/fmaf.m4 (gl_FUNC_FMAF): Likewise.
42363         * m4/fmal.m4 (gl_FUNC_FMAL): Likewise.
42364         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
42365         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
42366         * m4/frexpf.m4 (gl_FUNC_FREXPF): Likewise.
42367         * m4/frexpl.m4 (gl_FUNC_FREXPL): Likewise.
42368         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
42369         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
42370         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
42371         * m4/ldexpf.m4 (gl_FUNC_LDEXPF): Likewise.
42372         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
42373         * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
42374         * m4/log10l.m4 (gl_FUNC_LOF10L): Likewise.
42375         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
42376         * m4/logf.m4 (gl_FUNC_LOGF): Likewise.
42377         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
42378         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
42379         * m4/powf.m4 (gl_FUNC_POWF): Likewise.
42380         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
42381         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
42382         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
42383         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
42384         * m4/sinf.m4 (gl_FUNC_SINF): Likewise.
42385         * m4/sinhf.m4 (gl_FUNC_SINHF): Likewise.
42386         * m4/sqrtf.m4 (gl_FUNC_SQRTF): Likewise.
42387         * m4/tanf.m4 (gl_FUNC_TANF): Likewise.
42388         * m4/tanhf.m4 (gl_FUNC_TANHF): Likewise.
42390 2012-03-06  Bruno Haible  <bruno@clisp.org>
42392         math: Update module names in warnings.
42393         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
42394         tanl): Use specific module name in warn-on-use warning.
42396 2012-03-06  Bruno Haible  <bruno@clisp.org>
42398         expl: Simplify computation.
42399         * lib/expl.c (expl): Simplify computation of exp_y. Fix comment.
42401 2012-03-05  Bruno Haible  <bruno@clisp.org>
42403         exp* tests: More tests.
42404         * tests/test-exp.h: New file.
42405         * tests/test-exp.c: Include <float.h> and test-exp.h.
42406         (main): Invoke test_function.
42407         * tests/test-expf.c: Include <float.h> and test-exp.h.
42408         (main): Invoke test_function.
42409         * tests/test-expl.c: Include <float.h> and test-exp.h.
42410         (main): Invoke test_function.
42411         * modules/exp-tests (Files): Add tests/test-exp.h, tests/randomd.c.
42412         (Makefile.am): Add randomd.c to test_exp_SOURCES.
42413         * modules/expf-tests (Files): Add tests/test-exp.h, tests/randomf.c.
42414         (Makefile.am): Add randomf.c to test_expf_SOURCES.
42415         * modules/expl-tests (Files): Add tests/test-exp.h, tests/randoml.c.
42416         (Depends-on): Add 'float'.
42417         (Makefile.am): Add randoml.c to test_expl_SOURCES.
42419         expl: Fix precision of computed result.
42420         * lib/expl.c: Completely rewritten.
42421         * modules/expl (Depends-on): Add isnanl, roundl, ldexpl. Remove floorl.
42422         (Maintainer): Add me.
42423         * m4/expl.m4 (gl_FUNC_EXPL): Update computation of EXPL_LIBM.
42425 2012-03-05  Bruno Haible  <bruno@clisp.org>
42427         cbrt* tests: More tests.
42428         * tests/test-cbrt.h: New file.
42429         * tests/test-cbrt.c: Include <float.h> and test-cbrt.h.
42430         (main): Invoke test_function.
42431         * tests/test-cbrtf.c: Include <float.h> and test-cbrt.h.
42432         (main): Invoke test_function.
42433         * tests/test-cbrtl.c: Include <float.h> and test-cbrt.h.
42434         (main): Invoke test_function.
42435         * modules/cbrt-tests (Files): Add tests/test-cbrt.h, tests/randomd.c.
42436         (Makefile.am): Add randomd.c to test_cbrt_SOURCES.
42437         * modules/cbrtf-tests (Files): Add tests/test-cbrt.h, tests/randomf.c.
42438         (Makefile.am): Add randomf.c to test_cbrtf_SOURCES.
42439         * modules/cbrtl-tests (Files): Add tests/test-cbrt.h, tests/randoml.c.
42440         (Depends-on): Add 'float'.
42441         (Makefile.am): Add randoml.c to test_cbrtl_SOURCES.
42443 2012-03-05  Bruno Haible  <bruno@clisp.org>
42445         hypot* tests: More tests.
42446         * tests/test-hypot.h: New file, partially extracted from
42447         tests/test-hypotl.c.
42448         * tests/test-hypot.c: Include test-hypot.h.
42449         (main): Invoke test_function.
42450         * tests/test-hypotf.c: Include test-hypot.h.
42451         (main): Invoke test_function.
42452         * tests/test-hypotl.c: Include fpucw.h and test-hypot.h.
42453         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING and test_function.
42454         * modules/hypot-tests (Files): Add tests/test-hypot.h, tests/randomd.c.
42455         (Makefile.am): Add randomd.c to test_hypot_SOURCES.
42456         * modules/hypotf-tests (Files): Add tests/test-hypot.h,
42457         tests/randomf.c.
42458         (Makefile.am): Add randomf.c to test_hypotf_SOURCES.
42459         * modules/hypotl-tests (Files): Add tests/test-hypot.h,
42460         tests/randoml.c.
42461         (Depends-on): Add 'fpucw', 'float'.
42462         (Makefile.am): Add randoml.c to test_hypotl_SOURCES.
42464 2012-03-05  Bruno Haible  <bruno@clisp.org>
42466         fpucw: Doc about FreeBSD.
42467         * lib/fpucw.h: Mention FreeBSD in comments.
42469 2012-03-04  Bruno Haible  <bruno@clisp.org>
42471         sqrt* tests: More tests.
42472         * tests/test-sqrt.h: New file.
42473         * tests/test-sqrt.c: Include <float.h> and test-sqrt.h.
42474         (main): Invoke test_function.
42475         * tests/test-sqrtf.c: Include <float.h> and test-sqrt.h.
42476         (main): Invoke test_function.
42477         * tests/test-sqrtl.c: Include <float.h> and test-sqrt.h.
42478         (main): Invoke test_function.
42479         * modules/sqrt-tests (Files): Add tests/test-sqrt.h, tests/randomd.c.
42480         (Makefile.am): Add randomd.c to test_sqrt_SOURCES.
42481         * modules/sqrtf-tests (Files): Add tests/test-sqrt.h, tests/randomf.c.
42482         (Makefile.am): Add randomf.c to test_sqrtf_SOURCES.
42483         * modules/sqrtl-tests (Files): Add tests/test-sqrt.h, tests/randoml.c.
42484         (Depends-on): Add 'float'.
42485         (Makefile.am): Add randoml.c to test_sqrtl_SOURCES.
42487 2012-03-04  Bruno Haible  <bruno@clisp.org>
42489         remainder* tests: More tests.
42490         * tests/test-remainder.h: New file, based on tests/test-fmod.h.
42491         * tests/test-remainder.c: Include <float.h> and test-remainder.h.
42492         (main): Invoke test_function.
42493         * tests/test-remainderf.c: Include <float.h> and test-remainder.h.
42494         (main): Invoke test_function.
42495         * tests/test-remainderl.c: Include <float.h> and test-remainder.h.
42496         (main): Invoke test_function.
42497         * modules/remainder-tests (Files): Add tests/test-remainder.h,
42498         tests/randomd.c.
42499         (Makefile.am): Add randomd.c to test_remainder_SOURCES.
42500         * modules/remainderf-tests (Files): Add tests/test-remainder.h,
42501         tests/randomf.c.
42502         (Makefile.am): Add randomf.c to test_remainderf_SOURCES.
42503         * modules/remainderl-tests (Files): Add tests/test-remainder.h,
42504         tests/randoml.c.
42505         (Depends-on): Add 'float'.
42506         (Makefile.am): Add randoml.c to test_remainderl_SOURCES.
42508 2012-03-04  Bruno Haible  <bruno@clisp.org>
42510         remainder, remainderf, remainderl: Fix computation for large quotients.
42511         * lib/remainder.c: Completely rewritten.
42512         * lib/remainderf.c (remainderf): Use implementation of remainder.c with
42513         USE_FLOAT.
42514         * lib/remainderl.c (remainderl): Use implementation of remainder.c with
42515         USE_LONG_DOUBLE.
42516         * modules/remainder (Depends-on): Add isfinite, signbit, fabs, fmod,
42517         isnand, isinf. Remove round, fma.
42518         * modules/remainderf (Files): Add lib/remainder.c.
42519         (Depends-on): Add isfinite, signbit, fabsf, fmodf, isnanf, isinf.
42520         Remove roundf, fmaf.
42521         * modules/remainderl (Files): Add lib/remainder.c.
42522         (Depends-on): Add float, isfinite, signbit, fabsl, fmodl, isnanl,
42523         isinf. Remove roundl, fmal.
42524         * m4/remainder.m4 (gl_FUNC_REMAINDER): Update computation of
42525         REMAINDER_LIBM.
42526         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Update computation of
42527         REMAINDERF_LIBM.
42528         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Update computation of
42529         REMAINDERL_LIBM.
42531 2012-03-04  Bruno Haible  <bruno@clisp.org>
42533         fmod* tests: More tests.
42534         * tests/test-fmod.h (my_ldexp): New function.
42535         (test_function): Reduce amount of random numbers to test. Add tests
42536         of very large quotients x / y.
42537         * tests/test-fmod.c (MAX_EXP): New macro.
42538         * tests/test-fmodf.c (MAX_EXP): Likewise.
42539         * tests/test-fmodl.c (MAX_EXP): Likewise.
42541 2012-03-04  Bruno Haible  <bruno@clisp.org>
42543         fmod, fmodl: Fix computation for large quotients x / y.
42544         * lib/fmod.c: Completely rewritten.
42545         * lib/fmodl.c (fmodl): Use implementation of fmod.c with
42546         USE_LONG_DOUBLE.
42547         * modules/fmod (Depends-on): Add isfinite, signbit, fabs, frexp, ldexp,
42548         isnand. Remove fma.
42549         * modules/fmodl (Files): Add lib/fmod.c.
42550         (Depends-on): Add float, isfinite, signbit, fabsl,
42551         frexpl, ldexpl, isnanl. Remove fma.
42552         * m4/fmod.m4 (gl_FUNC_FMOD): Update computation of FMOD_LIBM.
42553         * m4/fmodl.m4 (gl_FUNC_FMODL): Update computation of FMODL_LIBM.
42555 2012-03-03  Bruno Haible  <bruno@clisp.org>
42557         fmod* tests: More tests.
42558         * tests/test-fmod.h: New file.
42559         * tests/test-fmod.c: Include <float.h> and test-fmod.h.
42560         (main): Invoke test_function.
42561         * tests/test-fmodf.c: Include <float.h> and test-fmod.h.
42562         (main): Invoke test_function.
42563         * tests/test-fmodl.c: Include <float.h> and test-fmod.h.
42564         (main): Invoke test_function.
42565         * modules/fmod-tests (Files): Add tests/test-fmod.h, tests/randomd.c.
42566         (Makefile.am): Add randomd.c to test_fmod_SOURCES.
42567         * modules/fmodf-tests (Files): Add tests/test-fmod.h, tests/randomf.c.
42568         (Makefile.am): Add randomf.c to test_fmodf_SOURCES.
42569         * modules/fmodl-tests (Files): Add tests/test-fmod.h, tests/randoml.c.
42570         (Depends-on): Add 'float'.
42571         (Makefile.am): Add randoml.c to test_fmodl_SOURCES.
42573 2012-03-03  Bruno Haible  <bruno@clisp.org>
42575         rint* tests: More tests.
42576         * tests/test-rint.h: New file, partially extracted from
42577         tests/test-rintl.c.
42578         * tests/test-rint.c: Include test-rint.h.
42579         (main): Invoke test_function.
42580         * tests/test-rintf.c: Include test-rint.h.
42581         (main): Invoke test_function.
42582         * tests/test-rintl.c: Include test-rint.h.
42583         (main): Invoke test_function.
42584         * modules/rint-tests (Files): Add tests/test-rint.h, tests/randomd.c.
42585         (Makefile.am): Add randomd.c to test_rint_SOURCES.
42586         * modules/rintf-tests (Files): Add tests/test-rint.h, tests/randomf.c.
42587         (Makefile.am): Add randomf.c to test_rintf_SOURCES.
42588         * modules/rintl-tests (Files): Add tests/test-rint.h, tests/randoml.c.
42589         (Makefile.am): Add randoml.c to test_rintl_SOURCES.
42591 2012-03-03  Bruno Haible  <bruno@clisp.org>
42593         modf* tests: More tests.
42594         * tests/test-modf.h: New file.
42595         * tests/test-modf.c: Include <float.h> and test-modf.h.
42596         (main): Invoke test_function.
42597         * tests/test-modff.c: Include <float.h> and test-modf.h.
42598         (main): Invoke test_function.
42599         * tests/test-modfl.c: Include <float.h> and test-modf.h.
42600         (main): Invoke test_function.
42601         * modules/modf-tests (Files): Add tests/test-modf.h, tests/randomd.c.
42602         (Makefile.am): Add randomd.c to test_modf_SOURCES.
42603         * modules/modff-tests (Files): Add tests/test-modf.h, tests/randomf.c.
42604         (Makefile.am): Add randomf.c to test_modff_SOURCES.
42605         * modules/modfl-tests (Files): Add tests/test-modf.h, tests/randoml.c.
42606         (Depends-on): Add 'float'.
42607         (Makefile.am): Add randoml.c to test_modfl_SOURCES.
42609 2012-03-03  Bruno Haible  <bruno@clisp.org>
42611         fabs* tests: More tests.
42612         * tests/test-fabs.h: New file, partially extracted from
42613         tests/test-fabsl.c.
42614         * tests/test-fabs.c (RANDOM): New macro.
42615         * tests/test-fabsf.c (RANDOM): New macro.
42616         * tests/test-fabsl.c (RANDOM): New macro.
42617         * modules/fabs-tests (Files): Add tests/randomd.c.
42618         (Makefile.am): Add randomd.c to test_fabs_SOURCES.
42619         * modules/fabsf-tests (Files): Add tests/randomf.c.
42620         (Makefile.am): Add randomf.c to test_fabsf_SOURCES.
42621         * modules/fabsl-tests (Files): Add tests/randoml.c.
42622         (Makefile.am): Add randoml.c to test_fabsl_SOURCES.
42624 2012-03-03  Bruno Haible  <bruno@clisp.org>
42626         ldexp* tests: More tests.
42627         * tests/test-ldexp.h (test_function): Add some pseudo-randomized tests.
42628         * tests/test-ldexp.c (RANDOM): New macro.
42629         * tests/test-ldexpf.c (RANDOM): New macro.
42630         * tests/test-ldexpl.c (RANDOM): New macro.
42631         * modules/ldexp-tests (Files): Add tests/randomd.c.
42632         (Makefile.am): Add randomd.c to test_ldexp_SOURCES.
42633         * modules/ldexpf-tests (Files): Add tests/randomf.c.
42634         (Makefile.am): Add randomf.c to test_ldexpf_SOURCES.
42635         * modules/ldexpl-tests (Files): Add tests/randoml.c.
42636         (Makefile.am): Add randoml.c to test_ldexpl_SOURCES.
42638 2012-03-03  Bruno Haible  <bruno@clisp.org>
42640         frexp* tests: More tests.
42641         * tests/test-frexp.h (test_function): Add some pseudo-randomized tests.
42642         * tests/test-frexp.c (RANDOM): New macro.
42643         * tests/test-frexpf.c (RANDOM): New macro.
42644         * tests/test-frexpl.c (RANDOM): New macro.
42645         * modules/frexp-tests (Files): Add tests/randomd.c.
42646         (Makefile.am): Add randomd.c to test_frexp_SOURCES.
42647         * modules/frexpf-tests (Files): Add tests/randomf.c.
42648         (Makefile.am): Add randomf.c to test_frexpf_SOURCES.
42649         * modules/frexpl-tests (Files): Add tests/randoml.c.
42650         (Makefile.am): Add randoml.c to test_frexpl_SOURCES.
42652 2012-03-03  Bruno Haible  <bruno@clisp.org>
42654         Support for pseudo-random numbers in tests.
42655         * tests/randomf.c: New file.
42656         * tests/randomd.c: New file.
42657         * tests/randoml.c: New file.
42658         * tests/macros.h (randomf, randomd, randoml): New declarations.
42660 2012-03-03  Bruno Haible  <bruno@clisp.org>
42662         frexp* tests: Refactor.
42663         * tests/test-frexp.h: New file, extracted from tests/test-frexpl.c.
42664         * tests/test-frexp.c: Include and use it.
42665         * tests/test-frexpf.c: Likewise.
42666         * tests/test-frexpl.c: Likewise.
42667         * modules/frexp-tests (Files): Add tests/test-frexp.h.
42668         * modules/frexpf-tests (Files): Likewise.
42669         * modules/frexpl-tests (Files): Likewise.
42671 2012-03-02  Jim Meyering  <meyering@redhat.com>
42673         maint: don't specify XZ_OPT=-9ev in dist-related rule
42674         Using xz's -9 option is warranted only if you have a very large
42675         tarball (see xz's documentation for the sizes vs. presets), and
42676         requires 64MiB of memory at decompression time.
42677         * top/maint.mk (alpha beta stable): Don't specify XZ_OPT=-9ev.
42678         Automake's default of just "-e" is fine.  Override on a
42679         per-package basis by setting XZ_OPT e.g., in cfg.mk.
42681 2012-03-01  Eric Blake  <eblake@redhat.com>
42683         maint.mk: allow announcement for non-gnulib project
42684         * maint.mk (announcement): Skip gnulib version if not used.
42686 2012-03-01  Jim Meyering  <meyering@redhat.com>
42688         maint.mk: avoid spurious failure of _sc_search_regexp-using tests
42689         * top/maint.mk: Initialize _sc_search_regexp parameters, so that
42690         envvar settings cannot interfere.  Otherwise, setting envvars like
42691         prohibit=foo require=bar, etc. would cause spurious test failures.
42693 2012-03-01  Eric Blake  <eblake@redhat.com>
42695         maint.mk: add per-line exclusions to prohibitions
42696         * maint.mk (_sc_search_regexp): Add $exclude parameter.
42697         (sc_prohibit_strcmp, sc_unmarked_diagnostics)
42698         (sc_const_long_option): Use it.
42700 2012-03-01  Bruno Haible  <bruno@clisp.org>
42702         Tests for module 'expl-ieee'.
42703         * modules/expl-ieee-tests: New file.
42704         * tests/test-expl-ieee.c: New file.
42706         New module 'expl-ieee'.
42707         * modules/expl-ieee: New file.
42709         Tests for module 'exp-ieee'.
42710         * modules/exp-ieee-tests: New file.
42711         * tests/test-exp-ieee.c: New file.
42713         New module 'exp-ieee'.
42714         * modules/exp-ieee: New file.
42716         Tests for module 'expf-ieee'.
42717         * modules/expf-ieee-tests: New file.
42718         * tests/test-expf-ieee.c: New file.
42719         * tests/test-exp-ieee.h: New file.
42721         New module 'expf-ieee'.
42722         * modules/expf-ieee: New file.
42724 2012-02-29  Bruno Haible  <bruno@clisp.org>
42726         cbrtl-ieee: Work around test failure on IRIX 6.5.
42727         * m4/cbrtl-ieee.m4: New file.
42728         * m4/cbrtl.m4 (gl_FUNC_CBRTL): If gl_FUNC_CBRTL_IEEE is present,
42729         test whether cbrtl works with a minus zero argument. Replace it if not.
42730         * lib/math.in.h (cbrtl): Override if REPLACE_CBRTL is 1.
42731         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTL.
42732         * modules/math (Makefile.am): Substitute REPLACE_CBRTL.
42733         * modules/cbrtl (configure.ac): Consider REPLACE_CBRTL.
42734         (Depends-on): Update conditions.
42735         * modules/cbrtl-ieee (Files): Add m4/cbrtl-ieee.m4, m4/minus-zero.m4,
42736         m4/signbit.m4.
42737         (configure.ac): Invoke gl_FUNC_CBRTL_IEEE.
42738         * lib/cbrtl.c (cbrtl) [IRIX]: Avoid an unnecessary addition.
42739         * doc/posix-functions/cbrtl.texi: Mention the cbrtl-ieee module.
42741         Tests for module 'cbrtl-ieee'.
42742         * modules/cbrtl-ieee-tests: New file.
42743         * tests/test-cbrtl-ieee.c: New file.
42745         New module 'cbrtl-ieee'.
42746         * modules/cbrtl-ieee: New file.
42748         Tests for module 'cbrt-ieee'.
42749         * modules/cbrt-ieee-tests: New file.
42750         * tests/test-cbrt-ieee.c: New file.
42752         New module 'cbrt-ieee'.
42753         * modules/cbrt-ieee: New file.
42755         Tests for module 'cbrtf-ieee'.
42756         * modules/cbrtf-ieee-tests: New file.
42757         * tests/test-cbrtf-ieee.c: New file.
42758         * tests/test-cbrt-ieee.h: New file.
42760         New module 'cbrtf-ieee'.
42761         * modules/cbrtf-ieee: New file.
42763 2012-02-29  Bruno Haible  <bruno@clisp.org>
42765         cbrtf: Work around bug in IRIX 6.5 system function.
42766         * lib/math.in.h (cbrtf): Override if REPLACE_CBRTF is 1.
42767         * m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): New macro.
42768         (gl_FUNC_CBRTF): Invoke it. Set REPLACE_CBRTF to 1 if cbrtf() does not
42769         work.
42770         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTF.
42771         * modules/math (Makefile.am): Substitute REPLACE_CBRTF.
42772         * modules/cbrtf (configure.ac): Consider REPLACE_CBRTF.
42773         (Depends-on): Update conditions.
42774         * doc/posix-functions/cbrtf.texi: Mention the IRIX 6.5 problem.
42776 2012-02-29  Bruno Haible  <bruno@clisp.org>
42778         Tests for module 'cbrtl'.
42779         * modules/cbrtl-tests: New file.
42780         * tests/test-cbrtl.c: New file.
42782         New module 'cbrtl'.
42783         * lib/math.in.h (cbrtl): New declaration.
42784         * lib/cbrtl.c: New file.
42785         * m4/cbrtl.m4: New file.
42786         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtl is declared.
42787         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTL, HAVE_CBRTL,
42788         HAVE_DECL_CBRTL.
42789         * modules/math (Makefile.am): Substitute GNULIB_CBRTL, HAVE_CBRTL,
42790         HAVE_DECL_CBRTL.
42791         * modules/cbrtl: New file.
42792         * tests/test-math-c++.cc: Check the declaration of cbrtl.
42793         * doc/posix-functions/cbrtl.texi: Mention the new module.
42795 2012-02-29  Bruno Haible  <bruno@clisp.org>
42797         Tests for module 'cbrtf'.
42798         * modules/cbrtf-tests: New file.
42799         * tests/test-cbrtf.c: New file.
42801         New module 'cbrtf'.
42802         * lib/math.in.h (cbrtf): New declaration.
42803         * lib/cbrtf.c: New file.
42804         * m4/cbrtf.m4: New file.
42805         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtf is declared.
42806         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTF, HAVE_CBRTF,
42807         HAVE_DECL_CBRTF.
42808         * modules/math (Makefile.am): Substitute GNULIB_CBRTF, HAVE_CBRTF,
42809         HAVE_DECL_CBRTF.
42810         * modules/cbrtf: New file.
42811         * tests/test-math-c++.cc: Check the declaration of cbrtf.
42812         * doc/posix-functions/cbrtf.texi: Mention the new module.
42814 2012-02-29  Bruno Haible  <bruno@clisp.org>
42816         cbrt: Provide replacement on MSVC and Minix.
42817         * lib/math.in.h (cbrt): New declaration.
42818         * lib/cbrt.c: New file.
42819         * m4/cbrt.m4: New file.
42820         * m4/math_h.m4 (gl_MATH_H): Test whether cbrt is declared.
42821         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRT, HAVE_CBRT.
42822         * modules/math (Makefile.am): Substitute GNULIB_CBRT, HAVE_CBRT.
42823         * modules/cbrt (Files): Add lib/cbrt.c, m4/cbrt.m4.
42824         (Depends-on): Add dependencies.
42825         (configure.ac): Arrange to compile replacement if HAVE_CBRT is 0.
42826         * tests/test-math-c++.cc: Check the declaration of cbrt.
42827         * doc/posix-functions/cbrt.texi: Mention that the module provides a
42828         replacement.
42830 2012-02-29  Bruno Haible  <bruno@clisp.org>
42832         hypotl-ieee: Work around test failure on OSF/1 and native Windows.
42833         * m4/hypotl-ieee.m4: New file.
42834         * m4/hypotl.m4 (gl_FUNC_HYPOTL): If gl_FUNC_HYPOTL_IEEE is present,
42835         test whether hypotl works with mixed NaN and Infinity arguments.
42836         Replace it if not.
42837         * lib/math.in.h (hypotl): Override if REPLACE_HYPOTL is 1.
42838         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_HYPOTL.
42839         * modules/math (Makefile.am): Substitute REPLACE_HYPOTL.
42840         * modules/hypotl (configure.ac): Consider REPLACE_HYPOTL.
42841         (Depends-on): Update conditions.
42842         * modules/hypotl-ieee (Files): Add m4/hypotl-ieee.m4.
42843         (Depends-on): Add hypot-ieee.
42844         (configure.ac): Invoke gl_FUNC_HYPOTL_IEEE.
42845         * doc/posix-functions/hypotl.texi: Mention the hypotl-ieee module.
42847         hypotf-ieee: Work around test failure on OSF/1 and native Windows.
42848         * m4/hypotf-ieee.m4: New file.
42849         * m4/hypotf.m4 (gl_FUNC_HYPOTF): If gl_FUNC_HYPOTF_IEEE is present,
42850         test whether hypotf works with mixed NaN and Infinity arguments.
42851         Replace it if not.
42852         * modules/hypotf-ieee (Files): Add m4/hypotf-ieee.m4.
42853         (Depends-on): Add hypot-ieee.
42854         (configure.ac): Invoke gl_FUNC_HYPOTF_IEEE.
42855         * doc/posix-functions/hypotf.texi: Mention the hypotf-ieee module.
42857         hypot-ieee: Work around test failure on OSF/1 and native Windows.
42858         * lib/math.in.h (hypot): New declaration.
42859         * lib/hypot.c: New file.
42860         * m4/hypot-ieee.m4: New file.
42861         * m4/hypot.m4 (gl_FUNC_HYPOT): If gl_FUNC_HYPOT_IEEE is present, test
42862         whether hypot works with mixed NaN and Infinity arguments. Replace it
42863         if not.
42864         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOT,
42865         REPLACE_HYPOT.
42866         * modules/math (Makefile.am): Substitute GNULIB_HYPOT, REPLACE_HYPOT.
42867         * modules/hypot (Files): Add lib/hypot.c.
42868         (Depends-on): Add dependencies.
42869         (configure.ac): Arrange to compile replacement if REPLACE_HYPOT is 1.
42870         * modules/hypot-ieee (Files): Add m4/hypot-ieee.m4.
42871         (configure.ac): Invoke gl_FUNC_HYPOT_IEEE.
42872         * tests/test-math-c++.cc: Check the declaration of hypot.
42873         * doc/posix-functions/hypot.texi: Mention the hypot-ieee module.
42875         Tests for module 'hypotl-ieee'.
42876         * modules/hypotl-ieee-tests: New file.
42877         * tests/test-hypotl-ieee.c: New file.
42879         New module 'hypotl-ieee'.
42880         * modules/hypotl-ieee: New file.
42882         Tests for module 'hypot-ieee'.
42883         * modules/hypot-ieee-tests: New file.
42884         * tests/test-hypot-ieee.c: New file.
42886         New module 'hypot-ieee'.
42887         * modules/hypot-ieee: New file.
42889         Tests for module 'hypotf-ieee'.
42890         * modules/hypotf-ieee-tests: New file.
42891         * tests/test-hypotf-ieee.c: New file.
42892         * tests/test-hypot-ieee.h: New file.
42894         New module 'hypotf-ieee'.
42895         * modules/hypotf-ieee: New file.
42897 2012-02-29  Bruno Haible  <bruno@clisp.org>
42899         Remove unused variables.
42900         * m4/fmod.m4 (gl_FUNC_FMOD): Remove unused variable 'i'.
42901         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
42902         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
42903         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
42905 2012-02-29  Eric Blake  <eblake@redhat.com>
42907         termios: fix pid_t always, not just for tcgetsid
42908         * doc/posix-headers/termios.texi (termios.h): Mention problem.
42909         * lib/termios.in.h (include): Ensure pid_t on all platforms, not
42910         just when building tcgetsid.
42912 2012-02-29  Bruno Haible  <bruno@clisp.org>
42914         Tests for module 'hypotl'.
42915         * modules/hypotl-tests: New file.
42916         * tests/test-hypotl.c: New file.
42918         New module 'hypotl'.
42919         * lib/math.in.h (hypotl): New declaration.
42920         * lib/hypotl.c: New file.
42921         * m4/hypotl.m4: New file.
42922         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
42923         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTL, HAVE_HYPOTL.
42924         * modules/math (Makefile.am): Substitute GNULIB_HYPOTL, HAVE_HYPOTL.
42925         * modules/hypotl: New file.
42926         * tests/test-math-c++.cc: Check the hypotl declaration.
42927         * doc/posix-functions/hypotl.texi: Mention the new module.
42929 2012-02-29  Eric Blake  <eblake@redhat.com>
42931         tcgetsid: fix cygwin header bug
42932         * lib/termios.in.h (includes) [Cygwin]: Ensure pid_t is defined.
42934         docs: update cygwin progress
42935         * doc/posix-functions/llround.texi (llround): Added in cygwin
42936         1.7.8.
42937         * doc/posix-functions/llroundf.texi (llroundf): Likewise.
42938         * doc/glibc-functions/program_invocation_name.texi
42939         (program_invocation_name): Likewise.
42940         * doc/glibc-functions/program_invocation_short_name.texi
42941         (program_invocation_short_name): Likewise.
42942         * doc/glibc-functions/madvise.texi (madvise): Likewise.
42943         * doc/glibc-functions/pthread_yield.texi (pthread_yield):
42944         Likewise.
42945         * doc/posix-functions/pthread_spin_destroy.texi
42946         (pthread_spin_destroy): Added in cygwin 1.7.10.
42947         * doc/posix-functions/pthread_spin_init.texi (pthread_spin_init):
42948         Likewise.
42949         * doc/posix-functions/pthread_spin_lock.texi (pthread_spin_lock):
42950         Likewise.
42951         * doc/posix-functions/pthread_spin_trylock.texi
42952         (pthread_spin_trylock): Likewise.
42953         * doc/posix-functions/pthread_spin_unlock.texi
42954         (pthread_spin_unlock): Likewise.
42955         * doc/posix-functions/pthread_setschedprio.texi
42956         (pthread_setschedprio): Likewise.
42957         * doc/posix-functions/pthread_attr_getstack.texi
42958         (pthread_attr_getstack): Likewise.
42959         * doc/pastposix-functions/pthread_attr_getstackaddr.texi
42960         (pthread_attr_getstackaddr): Likewise.
42961         * doc/glibc-functions/pthread_getattr_np.texi
42962         (pthread_getattr_np): Likewise.
42963         * doc/glibc-functions/sys_siglist.texi (sys_siglist): Likewise.
42964         * doc/glibc-functions/sysinfo.texi (sysinfo): Likewise.
42965         * doc/posix-functions/clock_settime.texi (clock_settime):
42966         Likewise.
42967         * doc/posix-functions/pthread_attr_getguardsize.texi
42968         (pthread_attr_getguardsize): Likewise.
42969         * doc/posix-functions/pthread_attr_setguardsize.texi
42970         (pthread_attr_setguardsize): Likewise.
42971         * doc/posix-functions/pthread_attr_setstack.texi
42972         (pthread_attr_setstack): Likewise.
42973         * doc/pastposix-functions/pthread_attr_setstackaddr.texi
42974         (pthread_attr_setstackaddr): Likewise.
42975         * doc/posix-functions/clock_getcpuclockid.texi
42976         (clock_getcpuclockid): Likewise.
42977         * doc/posix-functions/pthread_getcpuclockid.texi
42978         (pthread_getcpuclockid): Likewise.
42979         * doc/glibc-functions/error.texi (error): Likewise.
42980         * doc/glibc-functions/error_at_line.texi (error_at_line):
42981         Likewise.
42982         * doc/glibc-functions/error_message_count.texi
42983         (error_message_count): Likewise.
42984         * doc/glibc-functions/error_one_per_line.texi
42985         (error_one_per_line): Likewise.
42986         * doc/glibc-functions/error_print_progname.texi
42987         (error_print_progname): Likewise.
42988         * doc/posix-functions/pthread_condattr_getclock.texi
42989         (pthread_condattr_getclock): Likewise.
42990         * doc/posix-functions/pthread_condattr_setclock.texi
42991         (pthread_condattr_setclock): Likewise.
42992         * doc/posix-functions/clock_nanosleep.texi (clock_nanosleep):
42993         Likewise.
42994         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Likewise.
42995         * doc/glibc-functions/getpt.texi (getpt): Likewise.
42996         * doc/glibc-functions/get_current_dir_name.texi
42997         (get_current_dir_name): Likewise.
42998         * doc/glibc-functions/pthread_sigqueue.texi (pthread_sigqueue):
42999         Likewise.
43000         * doc/posix-functions/tcgetsid.texi (tcgetsid): Likewise, but with
43001         wrong return type.
43002         * doc/glibc-functions/scandirat.texi (scandirat): Added in cygwin
43003         1.7.11.
43005 2012-02-29  Bruno Haible  <bruno@clisp.org>
43007         Tests for module 'hypotf'.
43008         * modules/hypotf-tests: New file.
43009         * tests/test-hypotf.c: New file.
43011         New module 'hypotf'.
43012         * lib/math.in.h (hypotf): New declaration.
43013         * lib/hypotf.c: New file.
43014         * m4/hypotf.m4: New file.
43015         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
43016         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTF, HAVE_HYPOTF,
43017         REPLACE_HYPOTF.
43018         * modules/math (Makefile.am): Substitute GNULIB_HYPOTF, HAVE_HYPOTF,
43019         REPLACE_HYPOTF.
43020         * modules/hypotf: New file.
43021         * tests/test-math-c++.cc: Check the hypotf declaration.
43022         * doc/posix-functions/hypotf.texi: Mention the new module.
43024         hypot: Prepare for hypotf module.
43025         * m4/hypot.m4: New file.
43026         * modules/hypot (Files): Add m4/hypot.m4.
43027         (configure.ac): Invoke gl_FUNC_HYPOT.
43029 2012-02-29  Bruno Haible  <bruno@clisp.org>
43031         hypot tests: More tests.
43032         * tests/test-hypot.c: Include <float.h>.
43033         (main): Add tests about overflow and underflow.
43035 2012-02-29  Bruno Haible  <bruno@clisp.org>
43037         math code: Add comments.
43038         * lib/acosl.c: Add comment about related glibc source files.
43039         * lib/asinl.c: Likewise.
43040         * lib/atanl.c: Likewise.
43041         * lib/expl.c: Likewise.
43042         * lib/logl.c: Likewise.
43043         * lib/sincosl.c: Likewise.
43044         * lib/sinl.c: Likewise.
43045         * lib/tanl.c: Likewise.
43046         * lib/trigl.c: Likewise.
43047         * lib/cosl.c: Likewise. Fix comments.
43049 2012-02-28  Bruno Haible  <bruno@clisp.org>
43051         math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
43052         * lib/math.in.h (HUGE_VAL, HUGE_VALF, HUGE_VALL): Define fallbacks.
43053         * tests/test-math.c: Include macros.h. Check that HUGE_VAL, HUGE_VALF,
43054         HUGE_VALL are defined.
43055         (numeric_equald): Renamed from numeric_equal.
43056         (numeric_equalf, numeric_equall): New functions.
43057         (main): Check also HUGE_VALF, HUGE_VALL.
43058         * modules/math-tests (Files): Add tests/macros.h.
43059         * doc/posix-headers/math.texi: Document the problems with HUGE_VALF and
43060         HUGE_VALL.
43062 2012-02-28  Bruno Haible  <bruno@clisp.org>
43064         doc: Move ISO C11 feature notes into POSIX chapters.
43065         * doc/posix-functions/aligned_alloc.texi: Renamed from
43066         doc/glibc-functions/aligned_alloc.texi.
43067         * doc/posix-functions/quick_exit.texi: Renamed from
43068         doc/glibc-functions/quick_exit.texi.
43069         * doc/posix-headers/uchar.texi: Renamed from
43070         doc/glibc-headers/uchar.texi.
43071         * doc/posix-functions/c16rtomb.texi: Renamed from
43072         doc/glibc-functions/c16rtomb.texi.
43073         * doc/posix-functions/c32rtomb.texi: Renamed from
43074         doc/glibc-functions/c32rtomb.texi.
43075         * doc/posix-functions/mbrtoc16.texi: Renamed from
43076         doc/glibc-functions/mbrtoc16.texi.
43077         * doc/posix-functions/mbrtoc32.texi: Renamed from
43078         doc/glibc-functions/mbrtoc32.texi.
43079         * doc/gnulib.texi: Update.
43080         (Glibc uchar.h): Remove section.
43081         Suggested by Eric Blake.
43083 2012-02-29  Paul Eggert  <eggert@cs.ucla.edu>
43085         stdnoreturn: port to MSVC better
43086         MSVC standard headers use __declspec(noreturn), so #define noreturn
43087         to empty on that platform.  Reported by Bruno Haible in
43088         <http://lists.gnu.org/r/bug-gnulib/2012-02/msg00152.html>.
43089         * lib/stdnoreturn.in.h (noreturn): Define to empty on MSVC.
43090         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h): Document this.
43092 2012-02-28  Bruno Haible  <bruno@clisp.org>
43094         doc: Mention new glibc headers and functions.
43095         * doc/glibc-headers/uchar.texi: New file.
43096         * doc/glibc-functions/aligned_alloc.texi: New file.
43097         * doc/glibc-functions/c16rtomb.texi: New file.
43098         * doc/glibc-functions/c32rtomb.texi: New file.
43099         * doc/glibc-functions/clock_adjtime.texi: New file.
43100         * doc/glibc-functions/fanotify_init.texi: New file.
43101         * doc/glibc-functions/fanotify_mark.texi: New file.
43102         * doc/glibc-functions/inet6_opt_append.texi: New file.
43103         * doc/glibc-functions/inet6_opt_find.texi: New file.
43104         * doc/glibc-functions/inet6_opt_finish.texi: New file.
43105         * doc/glibc-functions/inet6_opt_get_val.texi: New file.
43106         * doc/glibc-functions/inet6_opt_init.texi: New file.
43107         * doc/glibc-functions/inet6_opt_next.texi: New file.
43108         * doc/glibc-functions/inet6_opt_set_val.texi: New file.
43109         * doc/glibc-functions/inet6_rth_add.texi: New file.
43110         * doc/glibc-functions/inet6_rth_getaddr.texi: New file.
43111         * doc/glibc-functions/inet6_rth_init.texi: New file.
43112         * doc/glibc-functions/inet6_rth_reverse.texi: New file.
43113         * doc/glibc-functions/inet6_rth_segments.texi: New file.
43114         * doc/glibc-functions/inet6_rth_space.texi: New file.
43115         * doc/glibc-functions/login.texi: New file.
43116         * doc/glibc-functions/mbrtoc16.texi: New file.
43117         * doc/glibc-functions/mbrtoc32.texi: New file.
43118         * doc/glibc-functions/name_to_handle_at.texi: New file.
43119         * doc/glibc-functions/ntp_gettimex.texi: New file.
43120         * doc/glibc-functions/open_by_handle_at.texi: New file.
43121         * doc/glibc-functions/prlimit.texi: New file.
43122         * doc/glibc-functions/process_vm_readv.texi: New file.
43123         * doc/glibc-functions/process_vm_writev.texi: New file.
43124         * doc/glibc-functions/recvmmsg.texi: New file.
43125         * doc/glibc-functions/scandirat.texi: New file.
43126         * doc/glibc-functions/sendmmsg.texi: New file.
43127         * doc/glibc-functions/setns.texi: New file.
43128         * doc/glibc-functions/timespec_get.texi: New file.
43129         * doc/gnulib.texi: Include them.
43130         (Glibc sys/fanotify.h, Glibc sys/resource.h, Glibc uchar.h): New
43131         sections.
43132         Reported by Eric Blake.
43134 2012-02-28  Bruno Haible  <bruno@clisp.org>
43136         Avoid compilation errors with MSVC option -fp:strict.
43137         * lib/floor.c: Use MSVC specific pragma fenv_access.
43138         * lib/ceil.c: Likewise.
43139         * lib/trunc.c: Likewise.
43140         * lib/round.c: Likewise.
43141         * lib/rint.c: Likewise.
43142         * lib/fma.c: Likewise.
43143         * lib/integer_length.c: Likewise.
43144         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
43145         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
43146         * tests/test-floor2.c: Likewise.
43147         * tests/test-floorf2.c: Likewise.
43148         * tests/test-ceil2.c: Likewise.
43149         * tests/test-ceilf2.c: Likewise.
43150         * tests/test-trunc2.c: Likewise.
43151         * tests/test-truncf2.c: Likewise.
43152         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
43154 2012-02-27  Bruno Haible  <bruno@clisp.org>
43156         Tests for module 'sqrtl-ieee'.
43157         * modules/sqrtl-ieee-tests: New file.
43158         * tests/test-sqrtl-ieee.c: New file.
43160         New module 'sqrtl-ieee'.
43161         * modules/sqrtl-ieee: New file.
43163         Tests for module 'sqrt-ieee'.
43164         * modules/sqrt-ieee-tests: New file.
43165         * tests/test-sqrt-ieee.c: New file.
43167         New module 'sqrt-ieee'.
43168         * modules/sqrt-ieee: New file.
43170         Tests for module 'sqrtf-ieee'.
43171         * modules/sqrtf-ieee-tests: New file.
43172         * tests/test-sqrtf-ieee.c: New file.
43173         * tests/test-sqrt-ieee.h: New file.
43175         New module 'sqrtf-ieee'.
43176         * modules/sqrtf-ieee: New file.
43178 2012-02-27  Bruno Haible  <bruno@clisp.org>
43180         remainderl-ieee: Work around test failure on OSF/1.
43181         * m4/remainderl-ieee.m4: New file.
43182         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): If gl_FUNC_REMAINDERL_IEEE is
43183         present, test whether remainderl works with a zero second argument.
43184         Replace it if not.
43185         * lib/math.in.h (remainderl): Override if REPLACE_REMAINDERL is 1.
43186         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERL.
43187         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERL.
43188         * modules/remainderl (configure.ac): Consider REPLACE_REMAINDERL.
43189         (Depends-on): Update conditions.
43190         * modules/remainderl-ieee (Files): Add m4/remainderl-ieee.m4.
43191         (Depends-on): Add remainder-ieee.
43192         (configure.ac): Invoke gl_FUNC_REMAINDERL_IEEE.
43193         * doc/posix-functions/remainderl.texi: Mention the remainderl-ieee
43194         module.
43196         remainderf-ieee: Work around test failure on OSF/1.
43197         * m4/remainderf-ieee.m4: New file.
43198         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): If gl_FUNC_REMAINDERF_IEEE is
43199         present, test whether remainderf works with a zero second argument.
43200         Replace it if not.
43201         * lib/math.in.h (remainderf): Override if REPLACE_REMAINDERF is 1.
43202         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERF.
43203         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERF.
43204         * modules/remainderf (configure.ac): Consider REPLACE_REMAINDERF.
43205         (Depends-on): Update conditions.
43206         * modules/remainderf-ieee (Files): Add m4/remainderf-ieee.m4.
43207         (Depends-on): Add remainder-ieee.
43208         (configure.ac): Invoke gl_FUNC_REMAINDERF_IEEE.
43209         * doc/posix-functions/remainderf.texi: Mention the remainderf-ieee
43210         module.
43212         remainder-ieee: Work around test failure on OSF/1.
43213         * m4/remainder-ieee.m4: New file.
43214         * m4/remainder.m4 (gl_FUNC_REMAINDER): If gl_FUNC_REMAINDER_IEEE is
43215         present, test whether remainder works with a zero second argument.
43216         Replace it if not.
43217         * lib/math.in.h (remainder): Override if REPLACE_REMAINDER is 1.
43218         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDER.
43219         * modules/math (Makefile.am): Substitute REPLACE_REMAINDER.
43220         * modules/remainder (configure.ac): Consider REPLACE_REMAINDER.
43221         (Depends-on): Update dependencies.
43222         * modules/remainder-ieee (Files): Add m4/remainder-ieee.m4.
43223         (configure.ac): Invoke gl_FUNC_REMAINDER_IEEE.
43224         * doc/posix-functions/remainder.texi: Mention the remainder-ieee module.
43226         Tests for module 'remainderl-ieee'.
43227         * modules/remainderl-ieee-tests: New file.
43228         * tests/test-remainderl-ieee.c: New file.
43230         New module 'remainderl-ieee'.
43231         * modules/remainderl-ieee: New file.
43233         Tests for module 'remainder-ieee'.
43234         * modules/remainder-ieee-tests: New file.
43235         * tests/test-remainder-ieee.c: New file.
43237         New module 'remainder-ieee'.
43238         * modules/remainder-ieee: New file.
43240         Tests for module 'remainderf-ieee'.
43241         * modules/remainderf-ieee-tests: New file.
43242         * tests/test-remainderf-ieee.c: New file.
43243         * tests/test-remainder-ieee.h: New file.
43245         New module 'remainderf-ieee'.
43246         * modules/remainderf-ieee: New file.
43248 2012-02-27  Bruno Haible  <bruno@clisp.org>
43250         modff, modfl: Fix configure syntax error.
43251         * m4/modff.m4 (gl_FUNC_MODFF): Insert ':' command in 'if'.
43252         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
43254 2012-02-27  Bruno Haible  <bruno@clisp.org>
43256         fmodl-ieee: Work around test failures on OSF/1, MSVC 9.
43257         * m4/fmodl-ieee.m4: New file.
43258         * m4/fmodl.m4 (gl_FUNC_FMODL): If gl_FUNC_FMODL_IEEE is present, test
43259         whether fmodl works with zero arguments. Replace it if not.
43260         * modules/fmodl-ieee (Files): Add m4/fmodl-ieee.m4.
43261         (Depends-on): Add fmod-ieee.
43262         (configure.ac): Invoke gl_FUNC_FMODL_IEEE.
43263         * doc/posix-functions/fmodl.texi: Mention the fmodl-ieee module.
43265         fmodf-ieee: Work around test failure on OSF/1.
43266         * m4/fmodf-ieee.m4: New file.
43267         * m4/fmodf.m4 (gl_FUNC_FMODF): If gl_FUNC_FMODF_IEEE is present, test
43268         whether fmodf works with zero arguments. Replace it if not.
43269         * lib/math.in.h (fmodf): Override if REPLACE_FMODF is 1.
43270         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FMODF.
43271         * modules/math (Makefile.am): Substitute REPLACE_FMODF.
43272         * modules/fmodf (configure.ac): Consider REPLACE_FMODF.
43273         (Depends-on): Update dependencies.
43274         * modules/fmodf-ieee (Files): Add m4/fmodf-ieee.m4.
43275         (configure.ac): Invoke gl_FUNC_FMODF_IEEE.
43276         * doc/posix-functions/fmodf.texi: Mention the problem on OSF/1.
43278         fmodf-ieee: Work around test failure on MSVC 9.
43279         * modules/fmodf-ieee (Depends-on): Add fmod-ieee.
43280         * doc/posix-functions/fmodf.texi: Mention the fmodf-ieee module.
43282         fmod-ieee: Work around test failures on OSF/1, mingw.
43283         * m4/fmod-ieee.m4: New file.
43284         * m4/fmod.m4 (gl_FUNC_FMOD): If gl_FUNC_FMOD_IEEE is present, test
43285         whether fmod works with zero arguments. Replace it if not.
43286         * lib/math.in.h (fmod): New declaration.
43287         * lib/fmod.c: New file.
43288         * m4/math_h.m4 (gl_MATH_H): Test whether fmod is declared.
43289         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMOD, REPLACE_FMOD.
43290         * modules/math (Makefile.am): Substitute GNULIB_FMOD, REPLACE_FMOD.
43291         * modules/fmod (Files): Add lib/fmod.c.
43292         (Depends-on): Add math, isinf, trunc, fma.
43293         (configure.ac): Arrange to compile lib/fmod.c if needed.
43294         * modules/fmod-ieee (Files): Add m4/fmod-ieee.m4, m4/minus-zero.m4,
43295         m4/signbit.m4.
43296         (configure.ac): Invoke gl_FUNC_FMOD_IEEE.
43297         * tests/test-math-c++.cc: Check the declaration of fmod.
43298         * doc/posix-functions/fmod.texi: Mention the fmod-ieee module.
43300         fmodl-ieee: Fix test failures.
43301         * lib/fmodl.c (fmodl): Treat Inf specially.
43302         * modules/fmodl (Depends-on): Add isinf.
43304         Tests for module 'fmodl-ieee'.
43305         * modules/fmodl-ieee-tests: New file.
43306         * tests/test-fmodl-ieee.c: New file.
43308         New module 'fmodl-ieee'.
43309         * modules/fmodl-ieee: New file.
43311         Tests for module 'fmod-ieee'.
43312         * modules/fmod-ieee-tests: New file.
43313         * tests/test-fmod-ieee.c: New file.
43315         New module 'fmod-ieee'.
43316         * modules/fmod-ieee: New file.
43318         Tests for module 'fmodf-ieee'.
43319         * modules/fmodf-ieee-tests: New file.
43320         * tests/test-fmodf-ieee.c: New file.
43321         * tests/test-fmod-ieee.h: New file.
43323         New module 'fmodf-ieee'.
43324         * modules/fmodf-ieee: New file.
43326 2012-02-27  Bruno Haible  <bruno@clisp.org>
43328         Tests for module 'rintl-ieee'.
43329         * modules/rintl-ieee-tests: New file.
43330         * tests/test-rintl-ieee.c: New file.
43332         New module 'rintl-ieee'.
43333         * modules/rintl-ieee: New file.
43335         Tests for module 'rint-ieee'.
43336         * modules/rint-ieee-tests: New file.
43337         * tests/test-rint-ieee.c: New file.
43339         New module 'rint-ieee'.
43340         * modules/rint-ieee: New file.
43342         Tests for module 'rintf-ieee'.
43343         * modules/rintf-ieee-tests: New file.
43344         * tests/test-rintf-ieee.c: New file.
43345         * tests/test-rint-ieee.h: New file.
43347         New module 'rintf-ieee'.
43348         * modules/rintf-ieee: New file.
43350 2012-02-26  Paul Eggert  <eggert@cs.ucla.edu>
43352         regex: re_search etc. should return -2 when memory exhausted
43353         This bug was uncovered when testing 'grep'.  Without the fix,
43354         re_search and friends return -1 when memory is exhausted, but -1
43355         means no match, and this causes grep to falsely report no-match
43356         instead of memory-exhaustion.  See
43357         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=13762>.
43358         * lib/regexec.c (re_search_stub): Return -2 (not -1) if there is
43359         trouble; this can occur if re_search_internal ran out of memory.
43361 2012-02-26  Bruno Haible  <bruno@clisp.org>
43363         modfl-ieee: Work around test failures on IRIX, OSF/1, mingw.
43364         * m4/modfl-ieee.m4: New file.
43365         * m4/modfl.m4 (gl_FUNC_MODFL): If gl_FUNC_MODFL_IEEE is present, test
43366         whether modfl works with Inf. Replace it if not.
43367         * lib/math.in.h (modfl): Override if REPLACE_MODFF is 1.
43368         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFL.
43369         * modules/math (Makefile.am): Substitute REPLACE_MODFL.
43370         * modules/modfl (configure.ac): Consider REPLACE_MODFL.
43371         (Depends-on): Update dependencies.
43372         * modules/modfl-ieee (Files): Add m4/modfl-ieee.m4, m4/minus-zero.m4,
43373         m4/signbit.m4.
43374         (configure.ac): Invoke gl_FUNC_MODFL_IEEE.
43375         * doc/posix-functions/modfl.texi: Mention the modfl-ieee module.
43377         modfl-ieee: Fix dependencies.
43378         * modules/modfl-ieee (Depends-on): Add modf-ieee.
43380         modfl-ieee: Fix test failures.
43381         * lib/modfl.c (modfl): Treat NaN and Inf specially.
43382         * modules/modfl (Depends-on): Add isfinite, isinf.
43384         modff-ieee: Work around test failures on *BSD, IRIX, OSF/1, etc.
43385         * m4/modff-ieee.m4: New file.
43386         * m4/modff.m4 (gl_FUNC_MODFF): If gl_FUNC_MODFF_IEEE is present, test
43387         whether modff works with NaN and Inf. Replace it if not.
43388         * lib/math.in.h (modff): Override if REPLACE_MODFF is 1.
43389         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFF.
43390         * modules/math (Makefile.am): Substitute REPLACE_MODFF.
43391         * modules/modff (configure.ac): Consider REPLACE_MODFF.
43392         (Depends-on): Update dependencies.
43393         * modules/modff-ieee (Files): Add m4/modff-ieee.m4, m4/minus-zero.m4,
43394         m4/signbit.m4.
43395         (Depends-on): Add modf-ieee.
43396         (configure.ac): Invoke gl_FUNC_MODFF_IEEE.
43397         * doc/posix-functions/modff.texi: Mention the modff-ieee module.
43399         modf-ieee: Work around test failures on *BSD, IRIX, OSF/1, Cygwin.
43400         * m4/modf-ieee.m4: New file.
43401         * m4/modf.m4 (gl_FUNC_MODF): If gl_FUNC_MODF_IEEE is present, test
43402         whether modf works with NaN and Inf. Replace it if not.
43403         * lib/math.in.h (modf): New declaration.
43404         * lib/modf.c: New file.
43405         * m4/math_h.m4 (gl_MATH_H): Test whether modf is declared.
43406         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODF, REPLACE_MODF.
43407         * modules/math (Makefile.am): Substitute GNULIB_MODF, REPLACE_MODF.
43408         * modules/modf (Files): Add lib/modf.c.
43409         (Depends-on): Add math, isfinite, trunc, isinf.
43410         (configure.ac): Addrange to compile lib/modf.c if needed.
43411         * modules/modf-ieee (Files): Add m4/modf-ieee.m4, m4/minus-zero.m4,
43412         m4/signbit.m4.
43413         (configure.ac): Invoke gl_FUNC_MODF_IEEE.
43414         * tests/test-math-c++.cc: Check the declaration of modf.
43415         * doc/posix-functions/modf.texi: Mention the modf-ieee module.
43417         Tests for module 'modfl-ieee'.
43418         * modules/modfl-ieee-tests: New file.
43419         * tests/test-modfl-ieee.c: New file.
43421         New module 'modfl-ieee'.
43422         * modules/modfl-ieee: New file.
43424         Tests for module 'modf-ieee'.
43425         * modules/modf-ieee-tests: New file.
43426         * tests/test-modf-ieee.c: New file.
43428         New module 'modf-ieee'.
43429         * modules/modf-ieee: New file.
43431         Tests for module 'modff-ieee'.
43432         * modules/modff-ieee-tests: New file.
43433         * tests/test-modff-ieee.c: New file.
43434         * tests/test-modf-ieee.h: New file.
43436         New module 'modff-ieee'.
43437         * modules/modff-ieee: New file.
43439 2012-02-26  Bruno Haible  <bruno@clisp.org>
43441         Tests for module 'fabsl-ieee'.
43442         * modules/fabsl-ieee-tests: New file.
43443         * tests/test-fabsl-ieee.c: New file.
43445         New module 'fabsl-ieee'.
43446         * modules/fabsl-ieee: New file.
43448         Tests for module 'fabs-ieee'.
43449         * modules/fabs-ieee-tests: New file.
43450         * tests/test-fabs-ieee.c: New file.
43452         New module 'fabs-ieee'.
43453         * modules/fabs-ieee: New file.
43455         Tests for module 'fabsf-ieee'.
43456         * modules/fabsf-ieee-tests: New file.
43457         * tests/test-fabsf-ieee.c: New file.
43458         * tests/test-fabs-ieee.h: New file.
43460         New module 'fabsf-ieee'.
43461         * modules/fabsf-ieee: New file.
43463 2012-02-26  Bruno Haible  <bruno@clisp.org>
43465         Tests for module 'fmal-ieee'.
43466         * modules/fmal-ieee-tests: New file.
43467         * tests/test-fmal-ieee.c: New file.
43469         New module 'fmal-ieee'.
43470         * modules/fmal-ieee: New file.
43472         Tests for module 'fma-ieee'.
43473         * modules/fma-ieee-tests: New file.
43474         * tests/test-fma-ieee.c: New file.
43476         New module 'fma-ieee'.
43477         * modules/fma-ieee: New file.
43479         Tests for module 'fmaf-ieee'.
43480         * modules/fmaf-ieee-tests: New file.
43481         * tests/test-fmaf-ieee.c: New file.
43482         * tests/test-fma-ieee.h: New file.
43484         New module 'fmaf-ieee'.
43485         * modules/fmaf-ieee: New file.
43487 2012-02-26  Bruno Haible  <bruno@clisp.org>
43489         Tests for module 'ldexpl-ieee'.
43490         * modules/ldexpl-ieee-tests: New file.
43491         * tests/test-ldexpl-ieee.c: New file.
43493         New module 'ldexpl-ieee'.
43494         * modules/ldexpl-ieee: New file.
43496         Tests for module 'ldexp-ieee'.
43497         * modules/ldexp-ieee-tests: New file.
43498         * tests/test-ldexp-ieee.c: New file.
43500         New module 'ldexp-ieee'.
43501         * modules/ldexp-ieee: New file.
43503         Tests for module 'ldexpf-ieee'.
43504         * modules/ldexpf-ieee-tests: New file.
43505         * tests/test-ldexpf-ieee.c: New file.
43506         * tests/test-ldexp-ieee.h: New file.
43508         New module 'ldexpf-ieee'.
43509         * modules/ldexpf-ieee: New file.
43511 2012-02-26  Bruno Haible  <bruno@clisp.org>
43513         Refactor frexp*-ieee tests.
43514         * tests/test-frexp-ieee.h: New file.
43515         * tests/test-frexpf-ieee.c: Include test-frexp-ieee.h.
43516         (main): Just call test_function.
43517         * tests/test-frexp-ieee.c: Include test-frexp-ieee.h.
43518         (main): Just call test_function.
43519         * tests/test-frexpl-ieee.c: Include test-frexp-ieee.h.
43520         (main): Just call test_function.
43521         * modules/frexpf-ieee-tests (Files): Add tests/test-frexp-ieee.h.
43522         * modules/frexp-ieee-tests (Files): Likewise.
43523         * modules/frexpl-ieee-tests (Files): Likewise.
43525         Tests for module 'frexpl-ieee'.
43526         * modules/frexpl-ieee-tests: New file.
43527         * tests/test-frexpl-ieee.c: New file.
43529         New module 'frexpl-ieee'.
43530         * modules/frexpl-ieee: New file.
43532         Tests for module 'frexp-ieee'.
43533         * modules/frexp-ieee-tests: New file.
43534         * tests/test-frexp-ieee.c: New file.
43536         New module 'frexp-ieee'.
43537         * modules/frexp-ieee: New file.
43539         Tests for module 'frexpf-ieee'.
43540         * modules/frexpf-ieee-tests: New file.
43541         * tests/test-frexpf-ieee.c: New file.
43543         New module 'frexpf-ieee'.
43544         * modules/frexpf-ieee: New file.
43546 2012-02-26  Bruno Haible  <bruno@clisp.org>
43548         roundl-ieee tests: More tests.
43549         * tests/test-roundl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
43550         (main): Add tests for [MX] shaded specification in POSIX.
43551         * modules/roundl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
43552         (Depends-on): Add isnanl-nolibm.
43554         round-ieee tests: More tests.
43555         * tests/test-round-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
43556         (main): Add tests for [MX] shaded specification in POSIX.
43557         * modules/round-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
43558         (Depends-on): Add isnand-nolibm.
43560         roundf-ieee tests: More tests.
43561         * tests/test-roundf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
43562         (main): Add tests for [MX] shaded specification in POSIX.
43563         * modules/roundf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
43564         (Depends-on): Add isnanf-nolibm.
43566         truncl-ieee tests: More tests.
43567         * tests/test-truncl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
43568         (main): Add tests for [MX] shaded specification in POSIX.
43569         * modules/truncl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
43570         (Depends-on): Add isnanl-nolibm.
43572         trunc-ieee tests: More tests.
43573         * tests/test-trunc-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
43574         (main): Add tests for [MX] shaded specification in POSIX.
43575         * modules/trunc-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
43576         (Depends-on): Add isnand-nolibm.
43578         truncf-ieee tests: More tests.
43579         * tests/test-truncf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
43580         (main): Add tests for [MX] shaded specification in POSIX.
43581         * modules/truncf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
43582         (Depends-on): Add isnanf-nolibm.
43584         ceill-ieee tests: More tests.
43585         * tests/test-ceill-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
43586         (main): Add tests for [MX] shaded specification in POSIX.
43587         * modules/ceill-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
43588         (Depends-on): Add isnanl-nolibm.
43590         ceil-ieee tests: More tests.
43591         * tests/test-ceil-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
43592         (main): Add tests for [MX] shaded specification in POSIX.
43593         * modules/ceil-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
43594         (Depends-on): Add isnand-nolibm.
43596         ceilf-ieee tests: More tests.
43597         * tests/test-ceilf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
43598         (main): Add tests for [MX] shaded specification in POSIX.
43599         * modules/ceilf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
43600         (Depends-on): Add isnanf-nolibm.
43602         floorl-ieee tests: More tests.
43603         * tests/test-floorl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
43604         (main): Add tests for [MX] shaded specification in POSIX.
43605         * modules/floorl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
43606         (Depends-on): Add isnanl-nolibm.
43608         floor-ieee tests: More tests.
43609         * tests/test-floor-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
43610         (main): Add tests for [MX] shaded specification in POSIX.
43611         * modules/floor-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
43612         (Depends-on): Add isnand-nolibm.
43614         floorf-ieee tests: More tests.
43615         * tests/test-floorf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
43616         (main): Add tests for [MX] shaded specification in POSIX.
43617         * modules/floorf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
43618         (Depends-on): Add isnanf-nolibm.
43620 2012-02-26  Bruno Haible  <bruno@clisp.org>
43622         fpieee: More comments.
43623         * m4/fpieee.m4 (gl_FP_IEEE): Add more comments.
43625 2012-02-25  Bruno Haible  <bruno@clisp.org>
43627         Tests for module 'log10l'.
43628         * modules/log10l-tests: New file.
43629         * tests/test-log10l.c: New file.
43630         * tests/test-math-c++.cc: Check the declaration of log10l.
43632         New module 'log10l'.
43633         * lib/math.in.h (log10l): New declaration.
43634         * lib/log10l.c: New file.
43635         * m4/log10l.m4: New file.
43636         * modules/log10l: New file.
43637         * m4/math_h.m4 (gl_MATH_H): Test whether log10l is declared.
43638         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10L, HAVE_LOG10L,
43639         HAVE_DECL_LOG10L.
43640         * modules/math (Makefile.am): Substitute GNULIB_LOG10L, HAVE_LOG10L,
43641         HAVE_DECL_LOG10L.
43642         * doc/posix-functions/log10l.texi: Mention the new module.
43644 2012-02-25  Bruno Haible  <bruno@clisp.org>
43646         fmodl, remainder*: Avoid wrong results due to rounding errors.
43647         * lib/fmodl.c (fmodl): Correct the result if it is not within the
43648         expected bounds.
43649         * lib/remainderf.c (remainderf): Likewise.
43650         * lib/remainder.c (remainder): Likewise.
43651         * lib/remainderl.c (remainderl): Likewise.
43653 2012-02-25  Bruno Haible  <bruno@clisp.org>
43655         Tests for module 'remainderl'.
43656         * modules/remainderl-tests: New file.
43657         * tests/test-remainderl.c: New file.
43658         * tests/test-math-c++.cc: Check the declaration of remainderl.
43660         New module 'remainderl'.
43661         * lib/math.in.h (remainderl): New declaration.
43662         * lib/remainderl.c: New file.
43663         * m4/remainderl.m4: New file.
43664         * modules/remainderl: New file.
43665         * m4/math_h.m4 (gl_MATH_H): Test whether remainderl is declared.
43666         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERL, HAVE_REMAINDERL.
43667         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERL,
43668         HAVE_REMAINDERL.
43669         * doc/posix-functions/remainderl.texi: Mention the new module.
43671 2012-02-25  Bruno Haible  <bruno@clisp.org>
43673         Tests for module 'remainderf'.
43674         * modules/remainderf-tests: New file.
43675         * tests/test-remainderf.c: New file.
43676         * tests/test-math-c++.cc: Check the declaration of remainderf.
43678         New module 'remainderf'.
43679         * lib/math.in.h (remainderf): New declaration.
43680         * lib/remainderf.c: New file.
43681         * m4/remainderf.m4: New file.
43682         * modules/remainderf: New file.
43683         * m4/math_h.m4 (gl_MATH_H): Test whether remainderf is declared.
43684         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERF, HAVE_REMAINDERF.
43685         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERF,
43686         HAVE_REMAINDERF.
43687         * doc/posix-functions/remainderf.texi: Mention the new module.
43689 2012-02-25  Bruno Haible  <bruno@clisp.org>
43691         remainder: Support for MSVC.
43692         * lib/math.in.h (remainder): New declaration.
43693         * lib/remainder.c: New file.
43694         * m4/remainder.m4: New file.
43695         * modules/remainder (Files): Add lib/remainder.c, m4/remainder.m4.
43696         (Depends-on): Add math, round, fma.
43697         (configure.ac): Use results of gl_FUNC_REMAINDER.
43698         * m4/math_h.m4 (gl_MATH_H): Test whether remainder is declared.
43699         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDER, HAVE_REMAINDER,
43700         HAVE_DECL_REMAINDER.
43701         * modules/math (Makefile.am): Substitute GNULIB_REMAINDER,
43702         HAVE_REMAINDER, HAVE_DECL_REMAINDER.
43703         * tests/test-math-c++.cc: Check the declaration of remainder.
43704         * doc/posix-functions/remainder.texi: Mention that the MSVC and IRIX 5
43705         problems are fixed.
43707 2012-02-25  Bruno Haible  <bruno@clisp.org>
43709         Tests for module 'fmodl'.
43710         * modules/fmodl-tests: New file.
43711         * tests/test-fmodl.c: New file.
43712         * tests/test-math-c++.cc: Check the declaration of fmodl.
43714         New module 'fmodl'.
43715         * lib/math.in.h (fmodl): New declaration.
43716         * lib/fmodl.c: New file.
43717         * m4/fmodl.m4: New file.
43718         * m4/math_h.m4 (gl_MATH_H): Test whether fmodl is declared.
43719         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODL, HAVE_FMODL,
43720         REPLACE_FMODL.
43721         * modules/math (Makefile.am): Substitute GNULIB_FMODL, HAVE_FMODL,
43722         REPLACE_FMODL.
43723         * modules/fmodl: New file.
43724         * doc/posix-functions/fmodl.texi: Mention the new module.
43726 2012-02-25  Bruno Haible  <bruno@clisp.org>
43728         Tests for module 'modfl'.
43729         * modules/modfl-tests: New file.
43730         * tests/test-modfl.c: New file.
43731         * tests/test-math-c++.cc: Check the declaration of modfl.
43733         New module 'modfl'.
43734         * lib/math.in.h (modfl): New declaration.
43735         * lib/modfl.c: New file.
43736         * m4/modfl.m4: New file.
43737         * m4/math_h.m4 (gl_MATH_H): Test whether modfl is declared.
43738         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFL, HAVE_MODFL.
43739         * modules/math (Makefile.am): Substitute GNULIB_MODFL, HAVE_MODFL.
43740         * modules/modfl: New file.
43741         * doc/posix-functions/modfl.texi: Mention the new module.
43743 2012-02-25  Bruno Haible  <bruno@clisp.org>
43745         Tests for module 'fabsl'.
43746         * modules/fabsl-tests: New file.
43747         * tests/test-fabsl.c: New file.
43748         * tests/test-math-c++.cc: Check the declaration of fabsl.
43750         New module 'fabsl'.
43751         * lib/math.in.h (fabsl): New declaration.
43752         * lib/fabsl.c: New file.
43753         * m4/fabsl.m4: New file.
43754         * m4/math_h.m4 (gl_MATH_H): Test whether fabsl is declared.
43755         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSL, HAVE_FABSL,
43756         REPLACE_FABSL.
43757         * modules/math (Makefile.am): Substitute GNULIB_FABSL, HAVE_FABSL,
43758         REPLACE_FABSL.
43759         * modules/fabsl: New file.
43760         * doc/posix-functions/fabsl.texi: Mention the new module.
43762 2012-02-25  Bruno Haible  <bruno@clisp.org>
43764         fabs tests: More tests.
43765         * tests/test-fabs.c: Include <string.h>, minus-zero.h.
43766         (zero): New variable.
43767         (main): Add tests for signed zero.
43768         * modules/fabs-tests (Files): Add tests/minus-zero.h.
43770         fabsf tests: More tests.
43771         * tests/test-fabsf.c: Include <string.h>, minus-zero.h.
43772         (zero): New variable.
43773         (main): Add tests for signed zero.
43774         * modules/fabsf-tests (Files): Add tests/minus-zero.h.
43776 2012-02-24  Bruno Haible  <bruno@clisp.org>
43778         atanl: Provide function definition on MSVC.
43779         * m4/atanl.m4 (gl_FUNC_ATANL): Test also whether atanl can be used as a
43780         function pointer.
43781         * lib/math.in.h (atanl): Undefine if it does not exist as a function.
43783 2012-02-24  Bruno Haible  <bruno@clisp.org>
43785         acosl: Provide function definition on MSVC.
43786         * m4/acosl.m4 (gl_FUNC_ACOSL): Test also whether acosl can be used as a
43787         function pointer.
43788         * lib/math.in.h (acosl): Undefine if it does not exist as a function.
43790 2012-02-24  Bruno Haible  <bruno@clisp.org>
43792         asinl: Provide function definition on MSVC.
43793         * m4/asinl.m4 (gl_FUNC_ASINL): Test also whether asinl can be used as a
43794         function pointer.
43795         * lib/math.in.h (asinl): Undefine if it does not exist as a function.
43797 2012-02-24  Bruno Haible  <bruno@clisp.org>
43799         tanl: Provide function definition on MSVC.
43800         * m4/tanl.m4 (gl_FUNC_TANL): Test also whether tanl can be used as a
43801         function pointer.
43802         * lib/math.in.h (tanl): Undefine if it does not exist as a function.
43804 2012-02-24  Bruno Haible  <bruno@clisp.org>
43806         cosl: Provide function definition on MSVC.
43807         * m4/cosl.m4 (gl_FUNC_COSL): Test also whether cosl can be used as a
43808         function pointer.
43809         * lib/math.in.h (cosl): Undefine if it does not exist as a function.
43811 2012-02-24  Bruno Haible  <bruno@clisp.org>
43813         sinl: Provide function definition on MSVC.
43814         * m4/sinl.m4 (gl_FUNC_SINL): Test also whether sinl can be used as a
43815         function pointer.
43816         * lib/math.in.h (sinl): Undefine if it does not exist as a function.
43818 2012-02-24  Bruno Haible  <bruno@clisp.org>
43820         logl: Provide function definition on MSVC.
43821         * m4/logl.m4 (gl_FUNC_LOGL): Test also whether logl can be used as a
43822         function pointer.
43823         * lib/math.in.h (logl): Undefine if it does not exist as a function.
43825 2012-02-24  Bruno Haible  <bruno@clisp.org>
43827         expl: Provide function definition on MSVC.
43828         * m4/expl.m4 (gl_FUNC_EXPL): Test also whether expl can be used as a
43829         function pointer.
43830         * lib/math.in.h (expl): Undefine if it does not exist as a function.
43832 2012-02-24  Bruno Haible  <bruno@clisp.org>
43834         sqrtl: Provide function definition on MSVC.
43835         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Test also whether sqrtl can be used as
43836         a function pointer.
43837         * lib/math.in.h (sqrtl): Undefine if it does not exist as a function.
43839 2012-02-24  Bruno Haible  <bruno@clisp.org>
43841         ceill: Provide function definition on MSVC.
43842         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Test also whether ceill can be
43843         used as a function pointer.
43844         * lib/math.in.h (ceill): Undefine if it is not declared as a function.
43846 2012-02-24  Bruno Haible  <bruno@clisp.org>
43848         floorl: Provide function definition on MSVC.
43849         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Test also whether floorl can be
43850         used as a function pointer.
43851         * lib/math.in.h (floorl): Undefine if it is not declared as a function.
43853 2012-02-24  Bruno Haible  <bruno@clisp.org>
43855         ceilf: Provide function definition on MSVC.
43856         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Test also whether ceilf can be
43857         used as a function pointer.
43858         * lib/math.in.h (ceilf): Undefine if it is not declared as a function.
43860 2012-02-24  Bruno Haible  <bruno@clisp.org>
43862         floorf: Provide function definition on MSVC.
43863         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Test also whether floorf can be
43864         used as a function pointer.
43865         * lib/math.in.h (floorf): Undefine if it is not declared as a function.
43867 2012-02-24  Paul Eggert  <eggert@cs.ucla.edu>
43869         stdnoreturn: new module
43870         This implements a replacement for C11's <stdnoreturn.h>.
43871         * doc/gnulib.texi (Header File Substitutes): Add stdnoreturn.
43872         * doc/posix-headers/stdnoreturn.texi, lib/stdnoreturn.in.h:
43873         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
43874         * tests/test-stdnoreturn.c: New files.
43876 2012-02-24  Stanislav Brabec  <sbrabec@suse.cz>  (tiny change)
43878         regex: fix false multibyte matches in some regular expressions
43879         See <http://sourceware.org/bugzilla/show_bug.cgi?id=13637>
43880         and <http://sourceware.org/ml/libc-alpha/2012-02/msg00521.html>.
43881         * lib/regex_internal.c (re_string_skip_chars):
43882         Fix miscomputation of remain_len that may cause incomplete
43883         multi-byte character and false match.
43885 2012-02-24  Jim Meyering  <meyering@redhat.com>
43887         maint.mk: tell sc_prohibit_strcmp to ding "0 == strcmp (...)", too
43888         * top/maint.mk (sc_prohibit_strcmp): Also prohibit uses of strcmp
43889         uses with "==" *before* the call, e.g., 0 == strcmp (...)
43890         Remove now-unnecessary str''cmp obfuscation.
43891         Suggested by Akim Demaille.
43893 2012-02-24  Bruno Haible  <bruno@clisp.org>
43895         streq: Rename macro.
43896         * lib/streq.h (STREQ_OPT): Renamed from STREQ.
43897         * NEWS: Mention the change.
43898         * lib/mbrtowc.c (mbrtowc): Update.
43899         * lib/uniwidth/cjk.h (is_cjk_encoding): Update.
43900         * lib/wcwidth.c (wcwidth): Update.
43901         Suggested by Akim Demaille and Jim Meyering.
43903 2012-02-20  Paul Eggert  <eggert@cs.ucla.edu>
43905         regex: fix typo in definition of MIN
43906         * lib/regex_internal.h (MIN): Fix typo.  Problem reported by Thomas
43907         Schwinge in <http://sourceware.org/bugzilla/show_bug.cgi?id=11638#c4>.
43909 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
43910             Bruno Haible  <bruno@clisp.org>
43912         acl: Don't use ACL_CNT and similar ops, since they are unreliable.
43913         * lib/file-has-acl.c (file_has_acl) [HP-UX, NonStop Kernel]: Read the
43914         entries into a stack-allocated buffer directly.
43915         * lib/copy-acl.c (qcopy_acl) [HP-UX, NonStop Kernel]: Likewise.
43917 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
43918             Bruno Haible  <bruno@clisp.org>
43920         acl: Don't use GETACLCNT and similar ops, since they are unreliable.
43922          - There were several instances of this pattern:
43924              for (;;) {
43925                n = acl (f, GETACLCNT, 0, NULL);
43926                [ allocate an array A of size N ]
43927                if (acl (f, GETACL, n, a) == n)
43928                  break;
43929              }
43931            This loop might never terminate if some other process is constantly
43932            manipulating the file's ACL.  The loop should be rewritten to
43933            terminate.
43935          - The acl (... GETACLNT ...) call is merely an optimization; its value
43936            is merely a hint as to how big to make the array.  A better
43937            optimization is to avoid the acl (... GETACLNT ...)  call entirely,
43938            and just guess a reasonably-big size, growing the size and trying
43939            again if it's not large enough.  This guarantees termination, and
43940            saves a system call.
43942         * lib/acl-internal.h: Include <limits.h>.
43943         (MIN, SIZE_MAX): New macros.
43944         * lib/file-has-acl.c (file_has_acl) [Solaris]: Read the entries into
43945         a stack-allocated buffer, and use malloc if it does not fit. Don't
43946         use GETACLCNT.
43947         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
43949 2012-02-19  Bruno Haible  <bruno@clisp.org>
43951         acl: Fix endless loop on Solaris with vxfs.
43952         * lib/file-has-acl.c (file_has_acl) [Solaris]: Treat a failing
43953         acl()/facl() call for ACE_GETACL like a failing call for ACE_GETACLCNT.
43954         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
43955         * lib/copy-acl.c (qcopy_acl)[Solaris]: Likewise.
43956         * tests/test-sameacls.c (main)[Solaris]: Likewise.
43957         Reported by Bill Jones in
43958         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10639>, via Paul Eggert.
43960 2012-02-19  Bruno Haible  <bruno@clisp.org>
43962         acl: Fix copy-acl test failure on Solaris 11.0.
43963         * lib/file-has-acl.c (NEW_ACE_WRITEA_DATA): New macro.
43964         (acl_ace_nontrivial): Relax the restrictions on access_masks[] so
43965         that this function returns 0 in some more cases.
43967 2012-02-19  Bruno Haible  <bruno@clisp.org>
43969         acl: Update doc references.
43970         * doc/acl-resources.txt: Update links to Solaris documentation.
43972 2012-02-19  Bruno Haible  <bruno@clisp.org>
43974         Fix test failure in many locales on Solaris 11.
43975         * tests/test-pipe-filter-gi1.c (main): Don't use range expression in
43976         'tr' arguments.
43977         * tests/test-pipe-filter-ii1.c (main): Likewise.
43978         * build-aux/bootstrap (check_versions): Run 'tr' command with range
43979         expressions in the C locale.
43980         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
43981         * m4/host-os.m4 (gl_HOST_OS): Likewise.
43983 2012-02-19  Bruno Haible  <bruno@clisp.org>
43985         gnulib-tool: Improve usage message.
43986         * gnulib-tool (func_usage): Move doc of --help and --version to the
43987         section "Operation modes".
43989 2012-02-18  Reuben Thomas  <rrt@sc3d.org>
43991         README-release: make it easier to execute commands
43992         * top/README-release: break commands out on to separate lines.
43994 2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
43996         GNUmakefile: simplify detection of unconfigured trees
43997         * top/GNUmakefile: Use $(wildcard) instead of $(shell) to determine
43998         whether the tree make is being run from is already configured or
43999         not.  Related simplifications.
44001 2012-02-13  Simon Josefsson  <simon@josefsson.org>
44003         * gnulib-tool (func_usage): Document --help and --version.
44005 2012-02-11  Jim Meyering  <meyering@redhat.com>
44007         bootstrap: don't exit 0 upon gnulib-tool failure
44008         * build-aux/bootstrap (gnulib_tool): If gnulib-tool fails, exit with
44009         its exit status, not 0.
44011 2011-12-19  Reuben Thomas  <rrt@sc3d.org>
44013         README-release: various improvements
44014         * top/README-release: Give a command to push changes for the
44015         release.  Add "distcheck" to list of other pre-release checks.
44016         Fix instance of "make stable" which should be "make TYPE".
44018 2012-02-09  Paul Eggert  <eggert@cs.ucla.edu>
44020         maint: replace FSF snail-mail addresses with URLs
44021         * config/argz.mk, lib/accept4.c, lib/alignof.h, lib/alloca.in.h:
44022         * lib/alphasort.c, lib/arcfour.c, lib/arcfour.h, lib/arctwo.c:
44023         * lib/arctwo.h, lib/argz.c, lib/arpa_inet.in.h, lib/asnprintf.c:
44024         * lib/asprintf.c, lib/assert.in.h, lib/base32.c, lib/base32.h:
44025         * lib/base64.c, lib/base64.h, lib/c-ctype.c, lib/c-ctype.h:
44026         * lib/c-strcase.h, lib/c-strcasecmp.c, lib/c-strncasecmp.c:
44027         * lib/check-version.c, lib/check-version.h, lib/config.charset:
44028         * lib/ctype.in.h, lib/des.c, lib/des.h, lib/dup3.c, lib/errno.in.h:
44029         * lib/float+.h, lib/fnmatch.c, lib/fnmatch.in.h, lib/fnmatch_loop.c:
44030         * lib/fseeko.c, lib/gai_strerror.c, lib/gc-gnulib.c:
44031         * lib/gc-libgcrypt.c, lib/gc-pbkdf2-sha1.c, lib/gc.h:
44032         * lib/getaddrinfo.c, lib/getdelim.c, lib/getfilecon.c, lib/getline.c:
44033         * lib/getlogin_r.c, lib/getpass.c, lib/getpass.h, lib/gettext.h:
44034         * lib/gettimeofday.c, lib/glob.in.h, lib/glthread/cond.c:
44035         * lib/glthread/cond.h, lib/glthread/lock.c, lib/glthread/lock.h:
44036         * lib/glthread/thread.c, lib/glthread/thread.h:
44037         * lib/glthread/threadlib.c, lib/glthread/yield.h, lib/hmac-md5.c:
44038         * lib/hmac-sha1.c, lib/hmac.h, lib/iconv.c, lib/iconv.in.h:
44039         * lib/iconv_close.c, lib/iconv_open.c, lib/inet_ntop.c, lib/isfinite.c:
44040         * lib/isinf.c, lib/iswblank.c, lib/langinfo.in.h, lib/link.c:
44041         * lib/localcharset.c, lib/localcharset.h, lib/lseek.c, lib/malloc.c:
44042         * lib/malloca.c, lib/malloca.h, lib/md2.c, lib/md2.h, lib/md4.c:
44043         * lib/md4.h, lib/md5.c, lib/md5.h, lib/memmem.c, lib/mempcpy.c:
44044         * lib/memset.c, lib/memxor.c, lib/memxor.h, lib/minmax.h, lib/mktime.c:
44045         * lib/msvc-inval.c, lib/msvc-inval.h, lib/msvc-nothrow.c:
44046         * lib/msvc-nothrow.h, lib/netdb.in.h, lib/netinet_in.in.h, lib/nproc.c:
44047         * lib/nproc.h, lib/obstack_printf.c, lib/pathmax.h, lib/pipe.c:
44048         * lib/pipe2.c, lib/poll.c, lib/poll.in.h, lib/printf-args.c:
44049         * lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h:
44050         * lib/pselect.c, lib/pthread.in.h, lib/pty-private.h, lib/pty.in.h:
44051         * lib/read-file.c, lib/read-file.h, lib/ref-add.sin, lib/ref-del.sin:
44052         * lib/regcomp.c, lib/regex.c, lib/regex.h, lib/regex_internal.c:
44053         * lib/regex_internal.h, lib/regexec.c, lib/rijndael-alg-fst.c:
44054         * lib/rijndael-alg-fst.h, lib/rijndael-api-fst.c:
44055         * lib/rijndael-api-fst.h, lib/rint.c, lib/rintf.c, lib/rintl.c:
44056         * lib/round.c, lib/roundf.c, lib/roundl.c, lib/scandir.c, lib/select.c:
44057         * lib/sha1.c, lib/sha1.h, lib/size_max.h, lib/snprintf.c:
44058         * lib/stdalign.in.h, lib/stdarg.in.h, lib/stdbool.in.h:
44059         * lib/stddef.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/str-kmp.h:
44060         * lib/str-two-way.h, lib/strcasecmp.c, lib/strcasestr.c, lib/strdup.c:
44061         * lib/striconv.c, lib/striconv.h, lib/string.in.h, lib/strings.in.h:
44062         * lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c, lib/strpbrk.c:
44063         * lib/strptime.c, lib/strsep.c, lib/strstr.c, lib/strverscmp.c:
44064         * lib/sys_file.in.h, lib/sys_ioctl.in.h, lib/sys_select.in.h:
44065         * lib/sys_socket.in.h, lib/sys_stat.in.h, lib/sys_time.in.h:
44066         * lib/sys_times.in.h, lib/sys_types.in.h, lib/sys_uio.in.h:
44067         * lib/sys_utsname.in.h, lib/sys_wait.in.h, lib/tcgetsid.c:
44068         * lib/termios.in.h, lib/time.in.h, lib/time_r.c, lib/timegm.c:
44069         * lib/times.c, lib/unictype/3level.h, lib/unictype/3levelbit.h:
44070         * lib/unistd.in.h, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c:
44071         * lib/vsnprintf.c, lib/waitpid.c, lib/wchar.in.h, lib/wctype.in.h:
44072         * lib/xsize.h, tests/test-closein.c, tests/test-des.c:
44073         * tests/test-fclose.c, tests/test-fgetc.c, tests/test-filevercmp.c:
44074         * tests/test-fputc.c, tests/test-fread.c, tests/test-fwrite.c:
44075         * tests/test-gc-arcfour.c, tests/test-gc-arctwo.c, tests/test-gc-des.c:
44076         * tests/test-gc-hmac-md5.c, tests/test-gc-hmac-sha1.c:
44077         * tests/test-gc-md2.c, tests/test-gc-md4.c, tests/test-gc-md5.c:
44078         * tests/test-gc-pbkdf2-sha1.c, tests/test-gc-rijndael.c:
44079         * tests/test-gc-sha1.c, tests/test-gc.c, tests/test-getdelim.c:
44080         * tests/test-getline.c, tests/test-getndelim2.c, tests/test-md2.c:
44081         * tests/test-md4.c, tests/test-parse-datetime.c, tests/test-perror.c:
44082         * tests/test-perror2.c, tests/test-pipe.c, tests/test-pipe2.c:
44083         * tests/test-poll.c, tests/test-quotearg-simple.c:
44084         * tests/test-quotearg.c, tests/test-quotearg.h:
44085         * tests/test-round-ieee.c, tests/test-round1.c:
44086         * tests/test-roundf-ieee.c, tests/test-roundf1.c:
44087         * tests/test-roundl-ieee.c, tests/test-roundl.c:
44088         * tests/test-safe-alloc.c, tests/test-sigpipe.c:
44089         * tests/test-spawn-pipe-child.c, tests/test-spawn-pipe-main.c:
44090         * tests/test-strerror.c, tests/test-strerror_r.c:
44091         * tests/test-strsignal.c, tests/test-strverscmp.c:
44092         * tests/test-xmemdup0.c:
44093         Replace FSF snail mail addresses with URLs, as per GNU coding
44094         standards.  See glibc bug
44095         <http://sourceware.org/bugzilla/show_bug.cgi?id=13673>.
44097 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
44099         README-release: capitalize a word and split a line
44100         * top/README-release: Fix punctuation and spacing.
44102 2012-02-08  Akim Demaille  <demaille@gostai.com>
44104         fatal-signal: use C prototypes (with explicit void).
44105         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
44106         (init_fatal_signal_set, block_fatal_signals): Fix signatures.
44108 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
44110         regex: spelling fix
44111         * lib/regexec.c: spelling fix
44113         regex: rely on stdint.h for SIZE_MAX
44114         * lib/regex_internal.h (SIZE_MAX): Remove; stdint.h supplies this now.
44116 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
44118         regex: merge glibc changes
44120         * lib/regcomp.c (init_dfa): Tighten overflow checks to test
44121         for IDX_MAX too, since IDX_MAX can be much less than SIZE_MAX.
44122         (init_word_char): Work even if bitset words are not exactly 32 or
44123         64 bits wide.  Don't assume there are no padding bits.
44124         * lib/regex.c [_LIBC]: Do not include <config.h>.
44125         [!_LIBC]: Add pragmas to ignore -Wsuggest-attributes=pure
44126         and -Wtype-limits.
44127         * lib/regex.h (__USE_GNU): Renamed from __USE_GNU_REGEX, to avoid
44128         needless disagreement with glibc.  All uses changed.  Define it to
44129         1 only if _GNU_SOURCE, to match glibc.
44130         (_REG_RM_NAME): Remove; no longer needed, since the names in
44131         question are now all protected by __USE_GNU.
44132         (_REG_RE_NAME): Remove; replaced by glibc's __REPB_PREFIX.
44133         (REG_TRANSLATE_TYPE): Remove; replaced by glibc's __RE_TRANSLATE_TYPE.
44134         * lib/regex_internal.h (MIN): New macro.
44136         2012-01-03 Ulrich Drepper <drepper@gmail.com>
44137         * lib/regcomp.c (init_word_char): Optimize regex a bit.
44139         2011-12-30 Jakub Jelinek <jakub@redhat.com>
44140         * lib/regex_internal.c (re_string_fetch_byte_case):
44141         Fix up regcomp/regexec.  The problem is that parse_bracket_symbol
44142         is miscompiled, and it turns out it is because of an incorrect
44143         attribute on re_string_fetch_byte_case.  Unlike
44144         re_string_peek_byte_case, this one is really not pure, it modifies
44145         memory (increments pstr->cur_idx), and with the pure attribute GCC
44146         assumed it doesn't and it cached the presumed value of
44147         regexp->cur_idx in a variable across the
44148          for (;; ++i)
44149            {
44150              if (i >= BRACKET_NAME_BUF_SIZE)
44151                return REG_EBRACK;
44152              if (token->type == OP_OPEN_CHAR_CLASS)
44153                ch = re_string_fetch_byte_case (regexp);
44154              else
44155                ch = re_string_fetch_byte (regexp);
44156              if (re_string_eoi(regexp))
44157                return REG_EBRACK;
44158              if (ch == delim && re_string_peek_byte (regexp, 0) == ']')
44159                break;
44160              elem->opr.name[i] = ch;
44161            }
44163         2011-11-29 Andreas Schwab <schwab@redhat.com>
44164         * lib/regcomp.c (build_equiv_class):
44165         Fix access after end of search string in regex matcher.
44167         2011-11-12 Ulrich Drepper <drepper@redhat.com>
44168         * lib/regex_internal.c, lib/regex_internal.h: Fix warnings in regex.
44170         2011-10-12 Ulrich Drepper <drepper@redhat.com>
44171         * lib/regcomp.c (parse_branch): One more regex memory leak fixed.
44173         2011-10-11 Ulrich Drepper <drepper@redhat.com>
44174         * lib/regcomp.c (parse_branch, parse_sub_exp):
44175         More regex memory leak fixes and tests.
44176         (parse_sub_exp, parse_bracket_exp):
44177         Fix memory leak for some invalid regular expressions.
44179         2011-05-28 Ulrich Drepper <drepper@gmail.com>
44180         * lib/regex_internal.c, lib/regexec.c:
44181         Fix unnecessary overallocation due to incomplete character.  When
44182         incomplete characters are found at the end of a string the code
44183         ran amok and allocated lots of memory.  Stricter limits are now in
44184         place.
44186         2011-05-20 Reuben Thomas <rrt@sc3d.org>
44187         * lib/regex.h: Update documentation.
44189         2011-05-16 Aharon Robbins <arnold@skeeve.com>
44190         * lib/regex.h: Update RE_SYNTAX*_AWK constants.
44192         2010-05-05 Andreas Schwab <schwab@redhat.com>
44193         * lib/regexec.c (find_collation_sequence_value):
44194         Fix lookup of collation sequence value during regexp matching.
44196         2010-01-22 Ulrich Drepper <drepper@redhat.com>
44197         * lib/regex_internal.c (re_dfa_add_node): Extend overflow detection.
44199         2008-01-16 Ulrich Drepper <drepper@redhat.com>
44200         * lib/regex.h: Cleanup namespace.
44202         2007-11-26 Ulrich Drepper <drepper@redhat.com>
44203         * lib/regex.h (REG_ENOSYS): Define REG_ENOSYS also for __USE_XOPEN2K.
44205         2007-08-26 Ulrich Drepper <drepper@redhat.com>
44206         * lib/regex_internal.h: Prevent some declarations and definitions
44207         to be seen when used in tests.
44209         2005-05-06 Ulrich Drepper <drepper@redhat.com>
44210         * lib/regex_internal.h: Include bits/libc-lock.h or define dummy
44211         __libc_lock_* macros if not _LIBC.
44212         (struct re_dfa_t): Add lock.
44214 2012-02-07  Eric Blake  <eblake@redhat.com>
44216         maint.mk: also prohibit lower-case @var@
44217         * top/maint.mk (sc_makefile_at_at_check): Enhance check to cover
44218         lower case, like @top_srcdir@.
44220 2012-02-04  Eric Blake  <eblake@redhat.com>
44222         canonicalize: avoid uninitialized memory use
44223         * lib/canonicalize-lgpl.c (__realpath): Avoid possibility of
44224         random '/' left in dest.
44225         * lib/canonicalize.c (canonicalize_filename_mode): Likewise.
44227 2012-02-04  Bruno Haible  <bruno@clisp.org>
44229         isatty: Fix test failure of ptsname_r on native Windows.
44230         * lib/isatty.c (_isatty_nothrow): Upon exception, return 0, not -1,
44231         and don't set errno.
44232         (isatty): Test first whether fd is valid. Set errno when returning 0.
44234 2012-02-04  Bruno Haible  <bruno@clisp.org>
44236         spawn-pipe tests: Fix a NULL program name in a diagnostic.
44237         * tests/test-spawn-pipe-main.c: Include progname.h.
44238         (main): Invoke set_program_name.
44239         * modules/spawn-pipe-tests (Depends-on): Add progname.
44241         nonblocking-socket tests: Fix a NULL program name in a diagnostic.
44242         * tests/test-nonblocking-socket-main.c: Include progname.h.
44243         (main): Invoke set_program_name.
44244         * modules/nonblocking-socket-tests (Depends-on): Add progname.
44246         nonblocking-pipe tests: Fix a NULL program name in a diagnostic.
44247         * tests/test-nonblocking-pipe-main.c: Include progname.h.
44248         (main): Invoke set_program_name.
44249         * modules/nonblocking-pipe-tests (Depends-on): Add progname.
44251 2012-02-04  Eric Blake  <eblake@redhat.com>
44253         canonicalize-lgpl: fix // handling
44254         * lib/canonicalize-lgpl.c (__realpath): Don't convert /// to //.
44256         canonicalize: fix // handling
44257         * lib/canonicalize.c (canonicalize_filename_mode): Don't convert
44258         /// to //, since only // is special.
44260 2012-02-04  Bruno Haible  <bruno@clisp.org>
44262         ioctl: Fix test failure on native Windows.
44263         * lib/ioctl.c: Include msvc-nothrow.h.
44264         (primary_ioctl): If fd is not a valid handle, set errno to EBADF.
44266 2012-02-04  Bruno Haible  <bruno@clisp.org>
44268         fsync: Avoid test failure on native Windows.
44269         * lib/fsync.c (fsync) [Windows]: Don't fail if the handle is merely
44270         read-only.
44272 2012-02-04  Bruno Haible  <bruno@clisp.org>
44274         sys_select: Avoid syntax error on OpenBSD 5.0.
44275         * lib/sys_select.in.h [OpenBSD]: When /usr/include/pthread.h is
44276         currently being included, just include the system's <sys/select.h>.
44278 2012-02-04  Bruno Haible  <bruno@clisp.org>
44280         sys_select: Avoid syntax error on OpenBSD 5.0.
44281         * lib/sys_select.in.h: Include <signal.h> only after the include_next
44282         <sys/select.h>, not before.
44283         Reported by Jiri B <jirib@devio.us>.
44285 2012-02-04  Bruno Haible  <bruno@clisp.org>
44287         get-rusage-as, get-rusage-data tests: Avoid test failure with gcc-4.7.
44288         * tests/test-get-rusage-as.c (main): Assign the malloc() results to
44289         global variables.
44290         * tests/test-get-rusage-data.c (main): Likewise.
44291         Reported by Jim Meyering.
44293 2012-02-04  Bruno Haible  <bruno@clisp.org>
44295         stdioext: Fix last commit.
44296         * lib/fwritable.c [EPLAN9]: Include <fcntl.h>.
44298 2012-02-03  Bruno Haible  <bruno@clisp.org>
44300         stdioext: Add tentative support for Plan9.
44301         * lib/stdio-impl.h: Include <errno.h>.
44302         * lib/fseterr.c (fseterr) [EPLAN9]: Add conditional code.
44303         * lib/freadable.c (freadable): Likewise.
44304         * lib/fwritable.c (fwritable): Likewise.
44305         * lib/fbufmode.c (fbufmode): Likewise.
44306         * lib/freading.c (freading): Likewise.
44307         * lib/fwriting.c (fwriting): Likewise.
44308         * lib/freadptr.c (freadptr): Likewise.
44309         * lib/freadseek.c (freadptrinc): Likewise.
44310         * lib/freadahead.c (freadahead): Likewise.
44311         * lib/fpurge.c (fpurge): Likewise.
44312         * lib/fseeko.c (rpl_fseeko): Likewise.
44313         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Plan9.
44314         Reported by Jens Staal <staal1978@gmail.com>.
44316 2012-02-02  Jim Meyering  <meyering@redhat.com>
44318         file-has-acl: suppress a warning from gcc -Wsuggest-attribute=const
44319         * lib/file-has-acl.c (file_has_acl): This function (for some #ifdefs)
44320         would evoke a new gcc warning.  Given all of the #ifdefs, it is better
44321         not even to try to add the attribute.  Instead, add a pragma to suppress
44322         the suggestion/warning.
44324 2012-01-31  Karl Berry  <karl@gnu.org>
44326         setstate doc: typo.
44327         * doc/posix-functions/setstate.texi (setstate): { not (.
44329 2012-01-31  Bruno Haible  <bruno@clisp.org>
44331         popen: Make more robust on Windows.
44332         * lib/popen.c: On native Windows, use the _popen based code even if
44333         HAVE_POPEN is set.
44334         * doc/posix-functions/popen.texi: Mention necessity of COMSPEC
44335         environment variable on native Windows.
44337 2012-01-30  Bruno Haible  <bruno@clisp.org>
44339         pclose: Fix typo.
44340         * lib/stdio.in.h (pclose): Fix typo in warning message.
44342 2012-01-30  Bruno Haible  <bruno@clisp.org>
44344         doc about getlogin_r, setstate.
44345         * doc/posix-functions/getlogin_r.texi: List the incompatible
44346         declaration problem under "not fixed by gnulib".
44347         * doc/posix-functions/setstate.texi: Mention incompatible declaration
44348         problem on Solaris 11 and other platforms.
44350 2012-01-30  Chuanchang Jia  <chuanchang.jia@gmail.com>  (tiny change)
44351             Bruno Haible  <bruno@clisp.org>
44353         poll tests: Make test more robust.
44354         * tests/test-poll.c: Include macros.h.
44355         (test_accept_first, test_pair, test_socket_pair, test_pipe): Verify
44356         return value of various I/O operations.
44357         * modules/poll-tests (Files): Add tests/macros.h.
44359 2012-01-30  Bruno Haible  <bruno@clisp.org>
44361         sys_stat: Fix support for mingw64 and MSVC.
44362         * lib/sys_stat.in.h (stat) [AIX]: Don't redefine 'stat' if the system
44363         header files already do it.
44364         (stat) [mingw, msvc]: Redefine the symbol to which stat is defined, not
44365         stat itself.
44366         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
44368 2012-01-30  Bruno Haible  <bruno@clisp.org>
44370         wcwidth: Work around bug in UTF-8 locale on OpenBSD 5.0.
44371         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test also wcwidth of U+05B0.
44372         * doc/posix-functions/wcwidth.texi: Mention the OpenBSD 5.0 bug.
44374 2012-01-29  Bruno Haible  <bruno@clisp.org>
44376         quotearg: Fix test failure on MacOS X 10.5.
44377         * tests/test-quotearg-simple.c: Include localcharset.h.
44378         (main): If the locale encoding is not ASCII, bypass the tests of
44379         locale_quoting_style and clocale_quoting_style.
44380         * modules/quotearg-tests (Depends-on): Add 'localcharset'.
44382 2012-01-29  Jim Meyering  <meyering@redhat.com>
44384         maint.mk: sc_prohibit_canonicalize_without_use: avoid false positive
44385         * top/maint.mk (sc_prohibit_canonicalize_without_use): Also
44386         detect uses of canonicalize_file_name.
44388 2012-01-28  Bruno Haible  <bruno@clisp.org>
44390         test-framework-sh: Fix test failure with AIX 7.1 diff.
44391         * tests/init.sh (compare_): Don't use 'diff -u' if it inserts a space
44392         in column 1, like 'diff -c' does.
44393         * tests/test-init.sh (test_compare): Don't repeat the test from init.sh
44394         whether 'diff -u' is used. Instead, test whether the output contains
44395         some '@' character.
44397 2012-01-28  Paul Eggert  <eggert@cs.ucla.edu>
44399         strtoimax: eliminate need for stdint.h, inttypes.h checks
44400         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't use
44401         gl_AC_HEADER_STDINT_H or gl_AC_HEADER_INTTYPES_H.  This reduces
44402         the prerequisites for a recently-introduced strtoimax test.
44403         I guess this might cause strtoimax to be replaced when not
44404         strictly necessary on older hosts, but this shouldn't introduce
44405         any bugs and it should make Emacs 'configure' faster on typical
44406         modern hosts.  Problem discovered when importing the latest gnulib
44407         to an Emacs test version.
44408         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4.
44410 2012-01-28  Bruno Haible  <bruno@clisp.org>
44412         sys_time: Override 'struct timeval' on some native Windows platforms.
44413         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Test whether tv_sec
44414         has the right type. Set REPLACE_STRUCT_TIMEVAL if not.
44415         (gl_HEADER_SYS_TIME_H_DEFAULTS): Initialize REPLACE_STRUCT_TIMEVAL.
44416         * lib/sys_time.in.h: Include <winsock2.h> also when 'struct timeval'
44417         needs to be overridden.
44418         (timeval): Override if REPLACE_STRUCT_TIMEVAL is set.
44419         * modules/sys_time (Makefile.am): Substitute REPLACE_STRUCT_TIMEVAL.
44420         * tests/test-sys_select.c: Check that the tv_sec member has the same
44421         size as a 'time_t'.
44422         * tests/test-sys_time.c: Likewise.
44423         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): If REPLACE_STRUCT_TIMEVAL
44424         is set, set also REPLACE_GETTIMEOFDAY.
44425         * lib/gettimeofday.c (gettimeofday): If 'struct timeval' is overridden,
44426         convert the resulting 'struct timeval' before returning.
44427         * lib/select.c: Include <sys/time.h>.
44428         (select, timeval): Undefine at the right place.
44429         * modules/select (Depends-on): Add sys_time.
44430         * doc/posix-headers/sys_time.texi: Mention the problem with tv_sec on
44431         some Windows platforms.
44432         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
44434 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
44436         accept4, fcntl, socket modules: Avoid warnings on x86_64 mingw64.
44437         * lib/accept4.c (accept4): Use intptr_t to convert handle pointer to
44438         an integer.
44439         * lib/fcntl.c (dupfd): Likewise.
44440         * lib/w32sock.h (SOCKET_TO_FD): Likewise.
44442 2012-01-28  Bruno Haible  <bruno@clisp.org>
44444         fcntl: Avoid compilation error on native Windows.
44445         * modules/fcntl (Depends-on): Add 'close'.
44447 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
44449         select, poll, isatty: Avoid warnings on x86_64 mingw64.
44450         * lib/select.c (IsConsoleHandle): Use intptr_t to convert handle
44451         pointer to an integer.
44452         * lib/poll.c (IsConsoleHandle): Likewise.
44453         * lib/isatty.c (IsConsoleHandle): Likewise.
44455 2012-01-28  Jim Meyering  <meyering@redhat.com>
44457         doc: clarify README-release
44458         * top/README-release: Clarify: you should make a point to have
44459         the latest stable versions of build tools in your PATH, and the
44460         reference to buildreq is solely for its list of tool names, not
44461         for its minimal-functional version numbers.
44462         Prompted by discussion with Reuben Thomas and Gary V. Vaughan.
44464         maint.mk: use more readable (yet functionally equivalent) quoting
44465         It is common to quote a single quote in a single quoted string like
44466         this:  '...'\''...'.  Unless you know the idiom, that looks like
44467         gibberish, so prefer to double-quote the string when possible.
44468         Then you can use a more readable, lone single quote: "...'..."
44469         * top/maint.mk (sc_cast_of_argument_to_free): Quoting like this
44470         "don't" is more readable than the equivalent 'don'\''t'.
44471         (sc_cast_of_x_alloc_return_value): Likewise.
44472         (sc_cast_of_alloca_return_value): Likewise.
44473         (sc_makefile_path_separator_check): Similar: use ":" in '...',
44474         rather than '\'':'\''.
44476 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
44478         stdalign: relax _Alignof and tighten _Alignas test
44479         * m4/stdalign.m4 (gl_STDALIGN_H): Relax the _Alignof test,
44480         as it was too strict: alignof must divide offsetof, but it need
44481         not equal offsetof.  Inspired by Joseph S. Myers's comment
44482         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023#c10>.
44483         Conversely, tighten the _Alignas test a bit, as the resulting
44484         alignment must be exactly 8.
44486 2012-01-27  Bruno Haible  <bruno@clisp.org>
44488         stdalign: Document the last change.
44489         * doc/posix-headers/stdalign.texi: Mention GCC bug 52023.
44491 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
44493         stdalign: check that alignof and offsetof are consistent
44494         * m4/stdalign.m4 (gl_STDALIGN_H): Check for GCC bug 52023.
44495         Problem reported for gnulib by Richard W.M. Jones in
44496         <http://lists.gnu.org/r/bug-gnulib/2012-01/msg00340.html>.
44498 2012-01-27  Jim Meyering  <meyering@redhat.com>
44500         update-copyright: accept new option: UPDATE_COPYRIGHT_USE_INTERVALS=2
44501         * build-aux/update-copyright: When UPDATE_COPYRIGHT_USE_INTERVALS=2,
44502         convert a sequence with gaps to the minimal containing range.
44503         For example, convert 2000, 2004-2007, 2009 to 2000-2009.
44504         * tests/test-update-copyright.sh: Test for this.
44505         The FSF confirmed it is ok to do this, assuming there is at
44506         least one significant change per year in the affected range:
44507         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29554/focus=29860
44509 2012-01-26  Bruno Haible  <bruno@clisp.org>
44511         pipe2: refine doc about thread-safety
44512         * doc/glibc-functions/pipe2.texi: Clarify the extent of the
44513         multithread-safety problem.
44514         * doc/glibc-functions/accept4.texi: Likewise.
44516 2012-01-26  Bruno Haible  <bruno@clisp.org>
44518         posix_spawn_file_actions_addopen: Fix 2012-01-08 commit.
44519         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN):
44520         In the test program, include <fcntl.h>, for O_RDONLY.
44522 2012-01-26  Eric Blake  <eblake@redhat.com>
44524         pipe2: document lack of thread-safety in replacement
44525         * doc/glibc-functions/pipe2.texi (pipe2): Mention thread safety
44526         issue in replacement.
44527         * doc/glibc-functions/accept4.texi (accept4): Likewise.
44528         Based on a report by Eric Wong.
44530 2012-01-24  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
44531             Bruno Haible  <bruno@clisp.org>
44533         malloca: Avoid warnings on x86_64 mingw64.
44534         * lib/malloca.c: Include <stdint.h>.
44535         (mmalloca, freea): Use uintptr_t to convert pointers to integers.
44536         * modules/malloca (Depends-on): Add stdint.
44537         * modules/relocatable-prog-wrapper (Depends-on): Likewise.
44539 2012-01-25  Paul Eggert  <eggert@cs.ucla.edu>
44541         obstack: remove __STDC__ conditionals
44542         * lib/obstack.h: Remove __STDC__ conditionals, as suggested by Joseph
44543         S. Myers in <http://cygwin.com/ml/libc-alpha/2012-01/msg00104.html>.
44544         This leaves lib/localcharset.c, m4/iconv.m4, and a confusing comment in
44545         m4/include_next.m4 as the only gnulib-maintained places that still
44546         refer to __STDC__.
44548 2012-01-24  Bruno Haible  <bruno@clisp.org>
44550         havelib: Modern quoting.
44551         * build-aux/config.rpath: Quote 'like this', not `like this', as per
44552         the recent change to the GNU coding standards.
44554 2012-01-24  Bruno Haible  <bruno@clisp.org>
44556         stdint: Improve support for Android.
44557         * lib/stdint.in.h: Test __ANDROID__, not __BIONIC__.
44558         Reported by Simon Josefsson <simon@josefsson.org>.
44560 2012-01-23  Paul Eggert  <eggert@cs.ucla.edu>
44562         doc: omit trailing empty lines from INSTALL etc.
44563         * doc/Makefile (INSTALL): Omit trailing empty lines.
44564         (INSTALL.ISO, INSTALL.UTF-8): Build from INSTALL, so that these also
44565         omit trailing empty lines.  This simplifies the build procedure.
44567 2012-01-23  Jim Meyering  <meyering@redhat.com>
44569         tests: avoid spurious warnings about gl_sockets_startup
44570         Fedora rawhide's gcc version 4.7.0 20120119 with -Wunused-value
44571         would warn about every use of "gl_sockets_startup (SOCKETS_1_1);"
44572         reporting a "statement with no effect".
44573         * tests/test-accept.c (main): Mark as "(void)".
44574         * tests/test-accept4.c (main): Likewise.
44575         * tests/test-bind.c (main): Likewise.
44576         * tests/test-connect.c (main): Likewise.
44577         * tests/test-getpeername.c (main): Likewise.
44578         * tests/test-getsockname.c (main): Likewise.
44579         * tests/test-getsockopt.c (main): Likewise.
44580         * tests/test-listen.c (main): Likewise.
44581         * tests/test-recv.c (main): Likewise.
44582         * tests/test-recvfrom.c (main): Likewise.
44583         * tests/test-send.c (main): Likewise.
44584         * tests/test-sendto.c (main): Likewise.
44585         * tests/test-setsockopt.c (main): Likewise.
44586         * tests/test-shutdown.c (main): Likewise.
44588 2012-01-21  Bruno Haible  <bruno@clisp.org>
44590         locale-fr.m4: Fix for Android.
44591         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Avoid compilation
44592         failure of the test program on Bionic libc.
44594 2012-01-21  Jim Meyering  <meyering@redhat.com>
44596         bootstrap: fail when bootstrap_post_import_hook fails
44597         Otherwise, it's far too easy to miss diagnostics emitted
44598         between gnulib-tool's output and that of running configure.
44599         * build-aux/bootstrap: Fail when bootstrap_post_import_hook fails.
44601 2012-01-17  Jim Meyering  <meyering@redhat.com>
44603         maint: enable sc_trailing_blank
44604         * build-aux/pmccabe.css: Remove trailing blanks.
44605         * doc/acl-cygwin.txt: Likewise.
44606         * doc/gnu-oids.texi: Likewise
44607         * cfg.mk: Enable sc_trailing_blank.
44608         Exempt build-aux/texinfo.tex and doc/Copyright/assign.future.manual.
44610 2012-01-17  Jim Meyering  <meyering@redhat.com>
44612         maint: enable sc_prohibit_openat_without_use
44613         * cfg.mk: Enable sc_prohibit_openat_without_use.
44614         Exempt lib/selinux-at.c.
44616 2012-01-17  Jim Meyering  <meyering@redhat.com>
44618         maint: enable sc_prohibit_cloexec_without_use
44619         * cfg.mk: Enable sc_prohibit_cloexec_without_use.
44620         * lib/dup-safer-flag.c: Don't include "cloexec.h".  Not needed.
44622 2012-01-17  Jim Meyering  <meyering@redhat.com>
44624         maint: enable sc_prohibit_intprops_without_use
44625         * cfg.mk: Enable sc_prohibit_intprops_without_use
44626         * tests/test-nanosleep.c: Don't include "intprops.h".  Not needed.
44628 2012-01-17  Jim Meyering  <meyering@redhat.com>
44630         maint: enable sc_prohibit_hash_pjw_without_use
44631         * cfg.mk: Enable sc_prohibit_hash_pjw_without_use.
44632         * top/maint.mk (sc_prohibit_hash_pjw_without_use): Adjust regexp
44633         to match any use of \<hash_pjw\>, i.e., not necessarily with a
44634         following " (".
44636 2012-01-17  Jim Meyering  <meyering@redhat.com>
44638         maint: enable double-word-prohibiting rule
44639         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_doubled_word.
44640         Exempt three files.
44642 2012-01-17  Jim Meyering  <meyering@redhat.com>
44644         maint: remove empty lines at EOF, but excluding modules/*
44645         Apply syntax rules at home as well as abroad.  Most changes
44646         were induced by running this:
44647           make srcdir=. _build-aux=build-aux -f top/maint.mk \
44648             sc_prohibit_empty_lines_at_EOF | grep -v modules/ \
44649             | xargs perl -pi -0777 -e 's/\n\n+$/\n/'
44650         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_empty_lines_at_EOF.
44651         Exempt modules/* and two binary files.
44652         Also exempt doc/INSTALL*, per request from Bruno Haible.
44653         * doc/regexprops-generic.texi: *Add* a newline at EOF.  There was none.
44654         * doc/Copyright/assign.translation.manual: Remove empty lines at EOF.
44655         * doc/Copyright/request-assign.future: Likewise.
44656         * doc/Copyright/request-disclaim.changes: Likewise.
44657         * doc/INSTALL: Likewise.
44658         * doc/INSTALL.ISO: Likewise.
44659         * doc/INSTALL.UTF-8: Likewise.
44660         * doc/acl-cygwin.txt: Likewise.
44661         * doc/acl-resources.txt: Likewise.
44662         * doc/fdl-1.2.texi: Likewise.
44663         * doc/fdl-1.3.texi: Likewise.
44664         * doc/fdl.texi: Likewise.
44665         * lib/argp-pin.c: Likewise.
44666         * lib/round.c: Likewise.
44667         * lib/unicase/u16-totitle.c: Likewise.
44668         * lib/unictype/block_test.c: Likewise.
44669         * lib/uninorm/canonical-decomposition.c: Likewise.
44670         * m4/README: Likewise.
44671         * m4/relocatable-lib.m4: Likewise.
44672         * tests/test-isnand-nolibm.c: Likewise.
44673         * tests/test-isnand.c: Likewise.
44674         * tests/uninorm/NormalizationTest.txt: Likewise.
44676 2012-01-17  Jim Meyering  <meyering@redhat.com>
44678         maint: add framework to run syntax-check rules against gnulib sources
44679         * cfg.mk: New file, to disable all currently-failing tests.
44680         We'll enable them one by one, as they are made to pass.
44681         * Makefile (sc_maint): New rule.
44683 2012-01-21  Bruno Haible  <bruno@clisp.org>
44685         stdint: Add support for Android.
44686         * lib/stdint.in.h: When included from Bionic <sys/types.h>, just
44687         include the system's <stdint.h>.
44688         Reported by Simon Josefsson <simon@josefsson.org>.
44690 2012-01-19  Jim Meyering  <meyering@redhat.com>
44692         bootstrap: add bootstrap_post_import_hook
44693         Bison does still need something like the gnulib_mk_hook whose
44694         invocation I had to remove along with slurp in commit 767ccd40.
44695         Technically, we could get along without it, but doing so would
44696         have required living with a warning and a mandatory post-bootstrap
44697         automake rerun.
44698         * build-aux/bootstrap (gnulib_mk_hook): Remove definition, too.
44699         (bootstrap_post_import_hook): New function.
44700         Invoke it after gnulib-tool --import and before autoreconf.
44702 2012-01-18  Jim Meyering  <meyering@redhat.com>
44704         gitlog-to-changelog: don't use "no_"-prefixed variable name
44705         * build-aux/gitlog-to-changelog (main): Use getopt's "!" attribute
44706         to enable both --cluster and --no-cluster.  Change variable name,
44707         s/\$no_cluster/$cluster/, and reverse usage to match.
44709         gitlog-to-changelog: use "||", not "or" in expressions
44710         * build-aux/gitlog-to-changelog (main): Use "||", not "or" in
44711         expressions.
44713 2012-01-17  Joel E. Denny  <joeldenny@joeldenny.org>
44715         gitlog-to-changelog: new option --no-cluster
44716         * build-aux/gitlog-to-changelog: New option --no-cluster, disables
44717         clustering of adjacent commit messages.
44719 2012-01-17  Jim Meyering  <meyering@redhat.com>
44721         maint: spell file systems with two words, not one
44722         * m4/ls-mntd-fs.m4 (MOUNTED_INTERIX_STATVFS): Spell file systems with
44723         two words, not one.
44725 2012-01-16  Jim Meyering  <meyering@redhat.com>
44727         bootstrap: add a FIXME comment to ensure we eventually remove the hack
44728         * build-aux/bootstrap (gnulib_tool_options): Add comment.
44730 2012-01-16  Eric Blake  <eblake@redhat.com>
44732         bootstrap: cater to autoconf 2.59
44733         * build-aux/bootstrap (AUTORECONF): Work even when --no-recursive
44734         is not available.
44736         bootstrap: properly check for libtool
44737         * build-aux/bootstrap (libtoolize): Also run libtool when older
44738         usage is detected.
44740 2012-01-15  Bruno Haible  <bruno@clisp.org>
44742         Improve support for MSVC 9.
44743         * lib/unistd.in.h: Include <io.h> when needed to avoid redefinition
44744         clashes on MSVC.
44745         * lib/fcntl.in.h: Likewise.
44746         * lib/stdlib.in.h: Likewise.
44747         * lib/sys_stat.in.h: Likewise.
44749 2011-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
44751         gnupload: we hold the master copy of this script now
44752         For motivation and more information, see:
44753         <http://lists.gnu.org/r/bug-gnulib/2012-01/msg00222.html>
44754         * build-aux/gnupload: Make it clear in the heading comments that the
44755         master copy of this file is maintained by gnulib.  Since we are at
44756         it, bump its copyright year and ...
44757         ($scriptversion): ... the date in its version.
44758         ($usage): Patches and bug reports should be sent to the gnulib list,
44759         not the automake one.
44760         * config/srclist.txt: Don't try to sync 'gnupload' from automake
44761         anymore.
44763 2012-01-15  Bruno Haible  <bruno@clisp.org>
44765         Fix module 'random'.
44766         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether random, srandom,
44767         initstate, setstate are declared.
44769 2012-01-14  Bruno Haible  <bruno@clisp.org>
44771         Tests for module 'random'.
44772         * modules/random-tests: New file.
44773         * tests/test-random.c: New file, based on tests/test-random_r.c.
44775         New module 'random'.
44776         * lib/stdlib.in.h (random, srandom, initstate, setstate): New
44777         declarations.
44778         * lib/random.c: New file, based on glibc/stdlib/random.c.
44779         * m4/random.m4: New file.
44780         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RANDOM,
44781         HAVE_RANDOM.
44782         * modules/stdlib (Makefile.am): Substitute GNULIB_RANDOM, HAVE_RANDOM.
44783         * modules/random: New file.
44784         * config/srclist.txt: Add an entry for random.c.
44785         * doc/posix-functions/random.texi: Mention the 'random' module.
44786         * doc/posix-functions/initstate.texi: Likewise.
44787         * doc/posix-functions/setstate.texi: Likewise.
44788         * doc/posix-functions/srandom.texi: Likewise.
44790 2012-01-12  Bruno Haible  <bruno@clisp.org>
44792         random_r: Use common idioms.
44793         * lib/random_r.c: Include <stdlib.h> first.
44795         random_r: Override incompatible API on AIX, OSF/1.
44796         * lib/stdlib.in.h (random_r, srandom_r, initstate_r, setstate_r):
44797         Override the system function if REPLACE_RANDOM_R is 1.
44798         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Require AC_CANONICAL_HOST. On AIX
44799         and OSF/1, set REPLACE_RANDOM_R.
44800         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_RANDOM_R.
44801         * modules/stdlib (Makefile.am): Substitute REPLACE_RANDOM_R.
44802         * modules/random_r (configure.ac): Test REPLACE_RANDOM_R.
44803         * doc/glibc-functions/initstate_r.texi: Mention the AIX, OSF/1 problem.
44804         * doc/glibc-functions/random_r.texi: Likewise.
44805         * doc/glibc-functions/setstate_r.texi: Likewise.
44807         random_r: Support for MSVC 9.
44808         * lib/random_r.c: Include stdint.h, not inttypes.h.
44810 2012-01-12  Eric Blake  <eblake@redhat.com>
44812         inet_ntop: guard extra work by IF_LINT
44813         * lib/inet_ntop.c (inet_ntop6): Mark spurious initialization, for
44814         better code generation when not checking for warnings.
44815         Suggested by Paul Eggert and Jim Meyering.
44817         strptime: fix regression on mingw
44818         * lib/strptime.c (__strptime_internal) [!_LIBC && !HAVE_TM_GMTOFF]:
44819         Fix regression.  Reported by Bruno Haible.
44821 2012-01-11  Reuben Thomas  <rrt@sc3d.org>
44822             Bruno Haible  <bruno@clisp.org>
44824         copy-file: add error-code-returning variant.
44825         * lib/copy-file.h (GL_COPY_ERR_*): New enumeration items.
44826         (qcopy_file_preserving): New declaration.
44827         * lib/copy-file.c (qcopy_file_preserving): Renamed from
44828         copy_file_preserving. Change return type to 'int'. Don't emit an error
44829         message here.
44830         (copy_file_preserving): New function.
44831         * tests/test-copy-file.c: Include <stdlib.h>.
44832         (main): Test qcopy_file_preserving if the environment variable
44833         NO_STDERR_OUTPUT is set.
44834         * tests/test-copy-file-1.sh: Invoke test-copy-file.sh a second time,
44835         with NO_STDERR_OUTPUT
44836         * tests/test-copy-file-2.sh: Likewise.
44838 2012-01-10  Bruno Haible  <bruno@clisp.org>
44840         copy-file: Use 'quote' module consistently.
44841         * lib/copy-file.c (copy_file_preserving): Use quote().
44843         copy-file: Refactor.
44844         * lib/copy-file.c: Include quote.h.
44845         (copy_file_preserving): Call qcopy_acl instead of copy_acl. Emit error
44846         message here.
44847         * modules/copy-file (Depends-on): Add quote.
44849         acl: Export qcopy_acl.
44850         * lib/acl.h (qcopy_acl): New declaration.
44851         * lib/copy-acl.c (qcopy_acl): Make non-static.
44853         acl: Rename a local variable.
44854         * lib/set-mode-acl.c (set_acl): Use same variable name as in copy_acl.
44856         acl: Align return values of copy_acl and qcopy_acl.
44857         * lib/copy-acl.c (copy_acl): Return the same value as qcopy_acl,
44858         maybe < -1.
44860 2012-01-11  Eric Blake  <eblake@redhat.com>
44862         strptime: silence gcc warnings
44863         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT],
44864         [!_LIBC && !HAVE_TM_GMTOFF]: Avoid unused variables.
44865         Reported by Daniel P. Berrange.
44867         inet_ntop: silence gcc warning
44868         * lib/inet_ntop.c (inet_ntop6): Initialize best.base.
44869         Reported by Daniel P. Berrange.
44871 2012-01-11  Dmitry V. Levin  <ldv@altlinux.org>
44873         getloadavg test: skip the test on GNU/Linux without /proc mounted
44874         GNU libc implements getloadavg(3) on Linux by parsing /proc/loadavg
44875         file.  When /proc is not mounted, it always fails with ENOENT.
44876         * tests/test-getloadavg.c (main): Treat ENOENT return code from
44877         getloadavg(3) the same way as ENOSYS and ENOTSUP.
44879 2012-01-10  Bruno Haible  <bruno@clisp.org>
44881         regex: Avoid link error on MSVC 9.
44882         * modules/regex (Depends-on): Add wctype.
44884 2012-01-10  Bruno Haible  <bruno@clisp.org>
44886         doc: Mention --with-tests option.
44887         * gnulib-tool (func_usage): Suggest --with-tests for --test etc.
44888         * doc/gnulib.texi (Extra tests modules): Mention the need to pass
44889         --with-tests.
44890         Reported by Reuben Thomas.
44892 2012-01-10  Reuben Thomas  <rrt@sc3d.org>
44894         users.txt: order package names lexicographically.
44895         * users.txt: Order package names lexicographically.
44897 2012-01-10  Jim Meyering  <meyering@redhat.com>
44899         maint.mk: fix description in comment
44900         * top/maint.mk (require_exactly_one_NL_at_EOF_): Fix comment.
44902         ignore-value: remove deprecated ignore_ptr function
44903         * lib/ignore-value.h (ignore_ptr): Remove deprecated function.
44904         * NEWS: Note this.
44906 2012-01-09  Jim Meyering  <meyering@redhat.com>
44908         test-init.sh: avoid a subshell
44909         * tests/test-init.sh: Remove protective subshell.
44910         Suggested by Bernhard Voelker.  While a subshell is normally
44911         required to protect against older shells (Solaris, FreeBSD) that
44912         warn about a missing program before performing redirection, the
44913         shell-selection tests performed by init.sh probably exclude any
44914         offending shell.
44916 2012-01-08  Bruno Haible  <bruno@clisp.org>
44918         setlocale tests: Avoid test failure on Solaris 11.0.
44919         * tests/test-setlocale2.sh: Use 'env' to set the LC_ALL environment
44920         variable.
44922 2012-01-08  Bruno Haible  <bruno@clisp.org>
44924         posix_spawn_file_actions_addopen: Work around Solaris 11.0 bug.
44925         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
44926         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
44927         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): New
44928         macro.
44929         * lib/spawn.in.h (posix_spawn_file_actions_addopen): Test
44930         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
44931         * lib/spawn_faction_addopen.c: Add workaround implementation if
44932         HAVE_WORKING_POSIX_SPAWN.
44933         * modules/spawn (Makefile): Substitute
44934         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
44935         * modules/posix_spawn_file_actions_addopen (configure.ac): Invoke
44936         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN. Test
44937         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
44938         (Depends-on): Update conditions.
44939         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
44940         the Solaris 11 bug.
44942 2012-01-08  Bruno Haible  <bruno@clisp.org>
44944         posix_spawn_file_actions_adddup2: Work around Solaris 11.0 bug.
44945         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
44946         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
44947         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2): New
44948         macro.
44949         * lib/spawn.in.h (posix_spawn_file_actions_adddup2): Test
44950         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
44951         * lib/spawn_faction_adddup2.c: Add workaround implementation if
44952         HAVE_WORKING_POSIX_SPAWN.
44953         * modules/spawn (Makefile): Substitute
44954         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
44955         * modules/posix_spawn_file_actions_adddup2 (configure.ac): Invoke
44956         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2. Test
44957         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
44958         (Depends-on): Update conditions.
44959         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
44960         the Solaris 11 bug.
44962 2012-01-08  Bruno Haible  <bruno@clisp.org>
44964         posix_spawn_file_actions_addclose: Work around Solaris 11.0 bug.
44965         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
44966         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
44967         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Define
44968         HAVE_WORKING_POSIX_SPAWN.
44969         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): New macro.
44970         * lib/spawn.in.h (posix_spawn_file_actions_addclose): Test
44971         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
44972         * lib/spawn_faction_addclose.c: Add workaround implementation if
44973         HAVE_WORKING_POSIX_SPAWN.
44974         * modules/spawn (Makefile): Substitute
44975         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
44976         * modules/posix_spawn_file_actions_addclose (configure.ac): Invoke
44977         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE. Test
44978         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
44979         (Depends-on): Update conditions.
44980         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
44981         the Solaris 11 bug.
44983 2012-01-08  Bruno Haible  <bruno@clisp.org>
44985         doc: Update for Solaris 11.0.
44986         * doc/*/*.texi: Mention Solaris 11.0 where appropriate.
44987         * m4/printf.m4: Update comments.
44989 2012-01-08  Bruno Haible  <bruno@clisp.org>
44991         mktime: Avoid compilation error on Solaris 11.
44992         * lib/mktime.c (WRAPV): Define to 0 on all non-glibc systems.
44994 2012-01-08  Bruno Haible  <bruno@clisp.org>
44996         doc: Small fix.
44997         * doc/posix-headers/nl_types.texi: Correct platforms list.
44999 2012-01-08  Simon Josefsson  <simon@josefsson.org>
45001         Add lgpl-3.0 module.
45002         * MODULES.html.sh (Support for building documentation): Add
45003         lgpl-3.0.
45004         * modules/lgpl-3.0: New file.
45006 2012-01-08  Jim Meyering  <meyering@redhat.com>
45008         select.c: indent with spaces, not TABs
45009         * lib/select.c (windows_poll_handle): Indent with spaces, not TABs.
45011 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
45013         quotearg: do not use grave accent for left quote
45014         * lib/quotearg.c (gettext_quote): Map "`" to "'" for
45015         locale_quoting_style.
45016         (quotearg_buffer_restyled): Fix example.
45017         * tests/test-quotearg-simple.c (results_g): Adjust test vectors.
45019 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
45021         quotearg: fall back to Unicode single quotes in UTF-8, GB-18030 locales
45022         Most programs do not have translation catalogs for English and much
45023         less separate catalogs for British and American English.  Drop the
45024         suggestion to translators about these two, and provide it
45025         automatically for Unicode locales.  Like most programs, even those
45026         using American English, we use single quotation marks.  This conflicts
45027         with the American typographic convention, but works better when you
45028         cite the entire error message within double quotes.  It also tries not
45029         to clash with established practice and with what non-gnulib programs
45030         will usually do.
45031         * lib/quotearg.c (gettext_quote): Hard-code U+2018 and U+2019 when
45032         using an UTF-8 or GB-18030 locale.  The list of other locales with
45033         quotes was provided by Bruno Haible.
45034         (quotearg_buffer_restyled): Adjust instructions to translators.
45035         * lib/quotearg.h (locale_quoting_style): Do not put an example in the
45036         text, since this would be wrong when using Unicode.
45037         * modules/quotearg: Depend on c-strcaseeq.
45039 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
45041         quotearg: fix Wikipedia link
45042         * lib/quotearg.c (quotearg_buffer_restyled): Fix link to Wikipedia.
45044 2012-01-07  Simon Josefsson  <simon@josefsson.org>
45046         Fix for mingw with MSVC9.
45047         * m4/ld-version-script.m4: Check that compiler rejects version
45048         scripts with syntax errors.  Reported by Bruno Haible
45049         <bruno@clisp.org>.
45051 2012-01-06  Bruno Haible  <bruno@clisp.org>
45053         Talk about "native Windows API", not "Woe32".
45054         * lib/accept4.c: Update comments to mention native Windows.
45055         * lib/execute.c: Likewise.
45056         * lib/fatal-signal.c: Likewise.
45057         * lib/localcharset.c: Likewise.
45058         * lib/nanosleep.c: Likewise.
45059         * lib/nl_langinfo.c: Likewise.
45060         * lib/pclose.c: Likewise.
45061         * lib/pipe-filter-gi.c: Likewise.
45062         * lib/pipe-filter-ii.c: Likewise.
45063         * lib/pipe.c: Likewise.
45064         * lib/pipe2.c: Likewise.
45065         * lib/popen.c: Likewise.
45066         * lib/progreloc.c: Likewise.
45067         * lib/relocatable.c: Likewise.
45068         * lib/sigaction.c: Likewise.
45069         * lib/sigprocmask.c: Likewise.
45070         * lib/spawn-pipe.h: Likewise.
45071         * lib/spawn-pipe.c: Likewise.
45072         * lib/spawni.c: Likewise.
45073         * lib/stat-time.h: Likewise.
45074         * lib/w32spawn.h: Likewise.
45075         * tests/test-isatty.c: Likewise.
45076         * lib/config.charset: More comments.
45077         * doc/gnulib-intro.texi: Mention native Windows.
45078         * doc/posix-functions/_Exit_C99.texi: Likewise.
45079         * doc/posix-headers/fcntl.texi: Likewise.
45081 2012-01-06  Guillem Jover  <guillem@hadrons.org>  (tiny change)
45083         argp: Avoid crash if translator uses % characters in a translation.
45084         * lib/argp-parse.c (argp_version_parser): Use a "%s" format string.
45085         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
45087 2012-01-06  Paul Eggert  <eggert@cs.ucla.edu>
45089         doc: C11 and C++11 are now official
45090         * doc/posix-headers/assert.texi, doc/posix-headers/stdalign.texi:
45091         * doc/verify.texi, stdalign.in.h, verify.h, m4/gnulib-common.m4:
45092         * m4/stdalign.m4, modules/assert-h, modules/snippet/_Noreturn:
45093         * modules/stdalign:
45094         Replace references to draft C1X to C11, and to draft C++0X to C++11.
45096 2012-01-06  Bruno Haible  <bruno@clisp.org>
45098         uc-is-grapheme-break tests: Tweak.
45099         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Fix an error
45100         message.
45102 2012-01-06  Bruno Haible  <bruno@clisp.org>
45104         test-init.sh: correct the test for diff -u
45105         * tests/test-init.sh: Also redirect stdout to /dev/null.
45107 2012-01-05  Paul Eggert  <eggert@cs.ucla.edu>
45109         Use ', not `, for quoting output.
45110         * build-aux/announce-gen (usage, sizes, print_news_deltas)
45111         (print_changelog_deltas, get_tool_versions, main program):
45112         * build-aux/git-version-gen:
45113         * build-aux/gitlog-to-changelog (usage, parse_amend_file):
45114         * build-aux/move-if-change (help):
45115         * build-aux/useless-if-before-free (usage, main program):
45116         * check-module (parse_module_file, usage)
45117         (find_included_lib_files, check_module):
45118         * lib/argmatch.c (main) [TEST]:
45119         * lib/argp-help.c (_help):
45120         * lib/getopt1.c (main) [TEST]:
45121         * lib/git-merge-changelog.c (usage):
45122         * lib/xstrtol-error.c (xstrtol_error):
45123         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA):
45124         * m4/argz.m4 (gl_FUNC_ARGZ):
45125         * m4/bison.m4 (gl_BISON):
45126         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU):
45127         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
45128         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
45129         * m4/fpending.m4 (gl_PREREQ_FPENDING):
45130         * m4/gc-random.m4 (gl_GC_RANDOM):
45131         * m4/intl.m4 (gt_CHECK_DECL):
45132         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK):
45133         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT)
45134         (AC_TYPE_UNSIGNED_LONG_LONG_INT):
45135         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS):
45136         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
45137         * m4/onceonly.m4 (AC_CHECK_FUNCS_ONCE):
45138         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION):
45139         * tests/test-dirname.c (main):
45140         * tests/test-getpass.c (main):
45141         * tests/test-iconvme.c (main):
45142         * tests/test-parse-datetime.c (LOG):
45143         * tests/test-xstrtoimax.sh:
45144         * tests/test-xstrtol.sh:
45145         * tests/test-xstrtoll.sh:
45146         * tests/test-xstrtoumax.sh:
45147         * tests/unigbrk/test-uc-is-grapheme-break.c (main):
45148         * top/GNUmakefile (abort-due-to-no-makefile):
45149         Quote 'like this', not `like this', as per the recent change to
45150         the GNU coding standards.
45152 2012-01-05  Bruno Haible  <bruno@clisp.org>
45154         strtoimax: Don't force a replacement on systems where intmax_t is int.
45155         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Use a different test if
45156         'intmax_t' is not larger than 'int'.
45157         Reported by Pádraig Brady <P@draigBrady.com>.
45159 2012-01-05  Bruno Haible  <bruno@clisp.org>
45161         doc: Mention NetBSD bugs.
45162         * doc/posix-functions/*printf.texi: Mention a NetBSD 5.1 bug.
45163         * doc/posix-functions/nl_langinfo.texi: Mention another NetBSD 5.1 bug.
45165 2012-01-05  Bruno Haible  <bruno@clisp.org>
45167         strtoumax tests: Enhance tests.
45168         * tests/test-strtoumax.c (main): Add tests for large values.
45170 2012-01-05  Bruno Haible  <bruno@clisp.org>
45172         strtoimax: Work around AIX 5.1 bug.
45173         * lib/inttypes.in.h (strtoimax): Allow overriding the system's
45174         definition.
45175         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Check against the AIX 5.1 bug.
45176         Set HAVE_STRTOIMAX.
45177         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize
45178         REPLACE_STRTOIMAX.
45179         * modules/inttypes-incomplete (Makefile.am): Substitute
45180         REPLACE_STRTOIMAX.
45181         * modules/strtoimax (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
45182         (configure.ac): Test HAVE_STRTOIMAX, REPLACE_STRTOIMAX.
45183         (Depends-on): Update conditions.
45184         * tests/test-strtoimax.c (main): Add tests for large values.
45185         * doc/posix-functions/strtoimax.texi: Mention the AIX 5.1 bug.
45187 2012-01-05  Bruno Haible  <bruno@clisp.org>
45189         inttypes: Modernize.
45190         * lib/inttypes.in.h (strtoimax, strtoumax): Use the C++ safe idioms.
45191         * modules/inttypes-incomplete (Depends-on): Add snippet/c++defs.
45192         (Makefile.am): Update inttypes.h rule.
45194 2012-01-05  Jim Meyering  <meyering@redhat.com>
45196         init.sh: don't waste a subshell just to redirect stderr
45197         * tests/init.sh: In testing for diff -u and diff -c, use a
45198         stderr-redirecting exec inside `...` rather than a subshell.
45200         test-init.sh: avoid failure on HP-UX 11.00
45201         * tests/test-init.sh: Skip "diff -u"-comparing step when compare
45202         resolves to diff -c or cmp.  Reported by Bruno Haible.
45204 2012-01-05  Bruno Haible  <bruno@clisp.org>
45206         Tests for module 'strtoull'.
45207         * modules/strtoull-tests: New file.
45208         * tests/test-strtoull.c: New file, based on tests/test-strtoumax.c.
45210 2012-01-05  Bruno Haible  <bruno@clisp.org>
45212         Tests for module 'strtoll'.
45213         * modules/strtoll-tests: New file.
45214         * tests/test-strtoll.c: New file, based on tests/test-strtoimax.c.
45216 2012-01-05  Bruno Haible  <bruno@clisp.org>
45218         Tests for module 'strtoul'.
45219         * modules/strtoul-tests: New file.
45220         * tests/test-strtoul.c: New file, based on tests/test-strtoumax.c.
45222 2012-01-05  Bruno Haible  <bruno@clisp.org>
45224         Tests for module 'strtol'.
45225         * modules/strtol-tests: New file.
45226         * tests/test-strtol.c: New file, based on tests/test-strtoimax.c.
45228 2012-01-04  Jim Meyering  <meyering@redhat.com>
45230         test-init.sh: accommodate Solaris 5.10's different diff -u output
45231         * tests/test-init.sh: Also exempt @@ lines from the comparison
45232         of diff output, since Solaris 5.10 and GNU diff formats differ.
45233         Reported by Stefano Lattarini.
45235 2012-01-04  Paul Eggert  <eggert@cs.ucla.edu>
45237         test-posixtm: don't assume signed integer wraparound
45238         * tests/test-posixtm.c (main): Don't assume wraparound semantics
45239         after signed integer overflow.  Inspired by (though it may not
45240         fix) Bruno Haible's bug report in
45241         <http://lists.gnu.org/r/bug-gnulib/2012-01/msg00066.html>.
45243         Spell out "Windows 9x" and "Windows XP".
45244         * lib/poll.c, lib/select.c: In comments, replace "Win9x" with
45245         "Windows 9x" and "WinXP" with "Windows XP".
45247 2012-01-04  Jim Meyering  <meyering@redhat.com>
45249         test-vc-list-files-cvs.sh: remove obsolete comment
45250         * tests/test-vc-list-files-cvs.sh: Remove obsolete comment about
45251         double exit.  Now that's all encapsulated via skip_ and Exit.
45253 2012-01-04  Bruno Haible  <bruno@clisp.org>
45255         Talk about "native Windows API", not "Win32".
45256         * lib/classpath.c: Update comments to mention native Windows.
45257         * lib/csharpexec.c: Likewise.
45258         * lib/dup2.c: Likewise.
45259         * lib/error.c: Likewise.
45260         * lib/fcntl.c: Likewise.
45261         * lib/filename.h: Likewise.
45262         * lib/findprog.c: Likewise.
45263         * lib/get-rusage-as.c: Likewise.
45264         * lib/get-rusage-data.c: Likewise.
45265         * lib/getpagesize.c: Likewise.
45266         * lib/javaexec.c: Likewise.
45267         * lib/msvc-inval.c: Likewise.
45268         * lib/msvc-nothrow.c: Likewise.
45269         * lib/nanosleep.c: Likewise.
45270         * lib/nonblocking.c: Likewise.
45271         * lib/printf-parse.c: Likewise.
45272         * lib/setlocale.c: Likewise.
45273         * lib/sigaction.c: Likewise.
45274         * lib/strerror_r.c: Likewise.
45275         * lib/tmpdir.c: Likewise.
45276         * lib/vasnprintf.c: Likewise.
45277         * lib/w32spawn.h: Likewise.
45278         * lib/waitpid.c: Likewise.
45279         * lib/stdio.in.h (fdopen, fopen, freopen): Likewise.
45280         * m4/locale-ar.m4: Likewise.
45281         * m4/locale-fr.m4: Likewise.
45282         * m4/locale-ja.m4: Likewise.
45283         * m4/locale-tr.m4: Likewise.
45284         * m4/locale-zh.m4: Likewise.
45285         * m4/printf.m4: Likewise.
45286         * tests/test-cloexec.c: Likewise.
45287         * tests/test-copy-acl.sh: Likewise.
45288         * tests/test-copy-file.sh: Likewise.
45289         * tests/test-file-has-acl.sh: Likewise.
45290         * tests/test-set-mode-acl.sh: Likewise.
45291         * tests/test-dup-safer.c: Likewise.
45292         * tests/test-dup2.c: Likewise.
45293         * tests/test-dup3.c: Likewise.
45294         * tests/test-fcntl.c: Likewise.
45295         * tests/test-nonblocking-pipe.h: Likewise.
45296         * tests/test-nonblocking-socket.h: Likewise.
45297         * tests/test-pipe.c: Likewise.
45298         * tests/test-pipe2.c: Likewise.
45299         * tests/test-spawn-pipe-child.c: Likewise.
45300         * doc/acl-resources.txt: Likewise.
45301         * lib/getaddrinfo.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
45302         * tests/test-poll.c (WINDOWS_NATIVE): Likewise.
45303         * tests/test-select.h (WINDOWS_NATIVE): Likewise.
45304         * lib/localcharset.c: Update comments to mention native Windows.
45305         (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
45306         * lib/localename.c: Likewise.
45307         * lib/progreloc.c: Likewise.
45308         * lib/relocatable.c: Likewise.
45309         * lib/poll.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
45310         (windows_compute_revents): Renamed from win32_compute_revents.
45311         (windows_compute_revents_socket): Renamed from
45312         win32_compute_revents_socket.
45313         * lib/select.c: Update comments to mention native Windows.
45314         (windows_poll_handle): Renamed from win32_poll_handle.
45315         * m4/threadlib.m4: Update comments to mention native Windows.
45316         (gl_THREADLIB_EARLY_BODY, gl_THREADLIB_BODY): Expect
45317         --enable-threads=windows instead of --enable-threads=win32. Set
45318         USE_WINDOWS_THREADS, not USE_WIN32_THREADS.
45319         * lib/glthread/lock.h: Update comments to mention native Windows.
45320         (USE_WINDOWS_THREADS): Renamed from USE_WIN32_THREADS.
45321         * lib/glthread/lock.c (USE_WINDOWS_THREADS): Renamed from
45322         USE_WIN32_THREADS.
45323         * lib/glthread/cond.h (USE_WINDOWS_THREADS): Likewise.
45324         * lib/glthread/cond.c (USE_WINDOWS_THREADS): Likewise.
45325         * lib/glthread/thread.h (USE_WINDOWS_THREADS): Likewise.
45326         * lib/glthread/thread.c (USE_WINDOWS_THREADS): Likewise.
45327         * lib/glthread/tls.h (USE_WINDOWS_THREADS): Likewise.
45328         * lib/glthread/tls.c (USE_WINDOWS_THREADS): Likewise.
45329         * lib/glthread/yield.h (USE_WINDOWS_THREADS): Likewise.
45330         * tests/test-cond.c (USE_WINDOWS_THREADS): Likewise.
45331         * tests/test-thread_create.c (USE_WINDOWS_THREADS): Likewise.
45332         * tests/test-lock.c (USE_WINDOWS_THREADS): Likewise.
45333         (TEST_WINDOWS_THREADS): Renamed from TEST_WIN32_THREADS.
45334         * tests/test-tls.c: Likewise.
45335         Rationale:
45336         Microsoft renamed the "Win32 API" to "Windows API", as it is available
45337         on both 32-bit and 64-bit Windows systems.
45338         But in gnulib, we treat Cygwin like a Unix platform, therefore the main
45339         line of distinction is between "native Windows" on one side and Unix/
45340         POSIX systems on the other side. More details in
45341         <https://lists.gnu.org/r/bug-gnulib/2012-01/msg00027.html>.
45342         Suggested by Paul Eggert.
45344 2012-01-03  Bruno Haible  <bruno@clisp.org>
45346         isatty: Support for MSVC 9.
45347         * doc/posix-functions/isatty.texi: Mention the MSVC problem.
45348         * lib/isatty.c: Include <errno.h>, msvc-inval.h.
45349         (_isatty_nothrow): New function.
45350         (isatty): Use it instead of _isatty.
45351         (IsConsoleHandle): Add comment, from Paolo Bonzini.
45352         * lib/poll.c (IsConsoleHandle): Likewise.
45353         * lib/select.c (IsConsoleHandle): Likewise.
45354         * m4/isatty.m4 (gl_FUNC_ISATTY): Fix comment. Reported by Eli Zaretskii.
45355         (gl_PREREQ_ISATTY): New macro.
45356         * modules/isatty (Depends-on): Add msvc-inval.
45357         (configure.ac): Invoke gl_PREREQ_ISATTY.
45359 2012-01-03  Jim Meyering  <meyering@redhat.com>
45361         maint.mk: remove temporary transition aid from over 1.5 years ago
45362         * top/maint.mk (_prohibit_regexp): Remove definition whose sole
45363         purpose was to aid in the transition (avoiding silent malfunction)
45364         from that old name to the new _sc_search_regexp.  This shim was
45365         added by commit 219c504b.
45367         init.sh: do not try to accommodate compare arguments starting with "-"
45368         * tests/init.sh (compare_dev_null_): Do not try to accommodate
45369         compare arguments that start with "-".  Besides, we do not worry
45370         about this when invoking diff or cmp; why start now with sed?
45371         Using "--" to separate options from argument would trigger sed
45372         failure in at least Solaris 7, HP-UX 11.00, IRIX 6.5, FreeBSD 6.4,
45373         OpenBSD 4.9 and NetBSD 5.1.  Reported by Bruno Haible.
45375 2012-01-02  Bruno Haible  <bruno@clisp.org>
45377         Enhance tests for module 'isatty'.
45378         * modules/isatty-tests (Depends-on): Add pipe-posix.
45379         * tests/test-isatty.c: Include <fcntl.h>.
45380         (DEV_NULL): New macro.
45381         (main): Test the resut of isatty() also on regular files, pipes, and
45382         /dev/null.
45384         New module 'isatty'.
45385         * lib/unistd.in.h (isatty): New declaration.
45386         * lib/isatty.c: New file, based on an idea of
45387         Bastien Roucariès <roucaries.bastien@gmail.com>.
45388         * m4/isatty.m4: New file.
45389         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether isatty is declared.
45390         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ISATTY, REPLACE_ISATTY.
45391         * modules/unistd (Makefile.am): Substitute GNULIB_ISATTY,
45392         REPLACE_ISATTY.
45393         * modules/isatty: New file.
45394         * doc/posix-functions/isatty.texi: Mention the new module.
45395         Suggested by Paolo Bonzini.
45397 2012-01-02  Bruno Haible  <bruno@clisp.org>
45399         canonicalize: Tweak 2011-12-29 commit.
45400         * lib/canonicalize.c (canonicalize_filename_mode): Fix typo in comment.
45401         * lib/canonicalize.h (canonicalize_filename_mode): Update specification.
45403 2012-01-02  Jim Meyering  <meyering@redhat.com>
45405         gitlog-to-changelog: describe input syntax in --help output
45406         * build-aux/gitlog-to-changelog (usage) [SPECIAL SYNTAX]: New section.
45408         gitlog-to-changelog: fix typo in --help: show backslash before email @
45409         * build-aux/gitlog-to-changelog (usage): An "@" was backslash-escaped
45410         in sources, but not in actual output.
45412 2011-12-30  Jim Meyering  <meyering@redhat.com>
45414         gitlog-to-changelog: don't malfunction when name contains %-directive
45415         * build-aux/gitlog-to-changelog (main): Don't let a %-directive
45416         in a name string cause trouble.  E.g., with a user name of "%s",
45417         gitlog-to-changelog would fail with "Missing argument in sprintf at..."
45419 2011-12-30  Gary V. Vaughan  <gary@gnu.org>
45421         gitlog-to-changelog: Copyright-paperwork-exempt: yes == (tiny change)
45422         * build-aux/gitlog-to-changelog (main): Map the string, at beginning
45423         of line in a git commit log, "Copyright-paperwork-exempt: yes", to
45424         the "  (tiny change)" notation that is appended to the standard
45425         ChangeLog "date  name  email" header line.
45427 2012-01-01  Jim Meyering  <meyering@redhat.com>
45429         test-framework-sh: init.sh: fix "make dist" failure
45430         When using gnulib-tool's --with-tests option and any module that
45431         depends on test-framework-sh, "make dist" would fail due to the
45432         lack of init.sh *in lib/*.  The EXTRA_DIST += init.sh is required
45433         in the gltests directory, and not in the gllib/ directory.
45434         One way to work around that is to move the EXTRA_DIST += init.sh
45435         from the primary module to the -tests one:
45436         * modules/test-framework-sh-tests (EXTRA_DIST): Add init.sh here, ...
45437         * modules/test-framework-sh (Makefile.am): ...not here.
45438         Reported by Tom G. Christensen in
45439         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29519
45441         version-etc: update copyright year reported by --version
45442         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2012.
45444 2011-12-31  Pádraig Brady  <P@draigBrady.com>
45446         canonicalize: only stat() if required
45447         * lib/canonicalize.c (canonicalize_filename_mode):
45448         Avoid calling l?stat() when both CAN_MISSING,
45449         and CAN_NOLINKS are set, as we neither need
45450         to resolve symlinks or test component existence.
45452 2011-12-31  Paul Eggert  <eggert@cs.ucla.edu>
45454         doc: cover st_ino issues once; add OpenVMS etc.
45455         * doc/posix-functions/stat.texi (stat):
45456         * doc/posix-functions/lstat.texi (lstat):
45457         * doc/posix-functions/fstatat.texi (fstatat):
45458         * doc/posix-functions/fstat.texi (fstat):
45459         Move general 'struct stat' stuff to sys_stat.texi,
45460         leaving behind a pointer.
45461         * doc/posix-headers/sys_stat.texi (sys/stat.h):
45462         Merge duplicate info about 'struct stat' problems into here.
45463         Mention issues with OpenVMS, GNU/Linux NFS, NetApp, ClearCase,
45464         and suggest partial workarounds.
45466         same-inode: port to OpenVMS
45467         * lib/same-inode.h (SAME_INODE): Port to OpenVMS by checking all
45468         three st_ino values.
45470 2011-12-30  Pádraig Brady  <P@draigBrady.com>
45472         canonicalize: fix references to stat() and lstat()
45473         * lib/canonicalize.c (canonicalize_filename_mode):
45474         Ensure references always resolve to a replacement
45475         function if required (even via a macro).
45477 2011-12-30  Jim Meyering  <meyering@redhat.com>
45479         gitlog-to-changelog: remove a little duplication
45480         * build-aux/gitlog-to-changelog (main): Grep @lines once,
45481         rather than twice.
45483 2011-12-29  Pádraig Brady  <P@draigBrady.com>
45485         canonicalize: add support for not resolving symlinks
45486         * lib/canonicalize.h: Add the CAN_NOLINKS flag to
45487         indicate we don't want to follow symlinks.  Also
45488         provide CAN_MODE_MASK to aid setting these existing
45489         mutually exclusive values.
45490         * lib/canonicalize.c (canonicalize_filename_mode):
45491         Extract the flags from can_mode parameter, which
45492         are currently just used to select between stat()
45493         and lstat().  Also ensure that mutually exclusive
45494         values are flagged immediately as invalid.
45495         * tests/test-canonicalize.c: Verify symlinks are
45496         not followed, and that invalid flag combinations
45497         are diagnosed.
45499 2011-12-25  Jim Meyering  <meyering@redhat.com>
45501         gitlog-to-changelog: do not clump multi-paragraph entries
45502         Identical header lines (date,name,email+coauthors) are suppressed,
45503         thus putting all entries with those same characteristics under
45504         a single header.  However, when a log entry consists of two or
45505         more paragraphs, it may not be clear where it starts and ends.
45506         This change makes it so that such an entry is always separated
45507         from others by a header line, even when that header would
45508         otherwise be suppressed.
45509         * build-aux/gitlog-to-changelog: Implement the above.
45510         Inspired by a related request from Stefano Lattarini in
45511         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29456
45513 2011-12-25  Paul Eggert  <eggert@cs.ucla.edu>
45515         announce-gen: fix `cmd' typo in diagnostic
45516         * build-aux/announce-gen (print_changelog_deltas): Fix typo in
45517         diagnostic: a missing '$' meant that the command was not output.
45519 2011-12-23  Jim Meyering  <meyering@redhat.com>
45521         test-framework-sh: distribute init.sh
45522         * modules/test-framework-sh (EXTRA_DIST): Append init.sh.
45523         Otherwise, "make -C gnulib-tests check" (at least in grep) would
45524         fail due to the lack of init.sh.
45526         maint: remove explicit Files: tests/init.sh; depend on test-framework-sh
45527         * modules/atexit-tests: Rather than listing tests/init.sh,
45528         now that there's a module for it, simply depend on that new module.
45529         * modules/closein-tests: Likewise.
45530         * modules/exclude-tests: Likewise.
45531         * modules/getcwd-tests: Likewise.
45532         * modules/perror-tests: Likewise.
45533         * modules/pread-tests: Likewise.
45534         * modules/pwrite-tests: Likewise.
45535         * modules/vc-list-files-tests: Likewise.
45536         * modules/verify-tests: Likewise.
45537         * modules/xalloc-die-tests: Likewise.
45538         * modules/xstrtoimax-tests: Likewise.
45539         * modules/xstrtol-tests: Likewise.
45540         * modules/xstrtoll-tests: Likewise.
45541         * modules/xstrtoumax-tests: Likewise.
45542         * modules/yesno-tests: Likewise.
45544 2011-12-22  Jim Meyering  <meyering@redhat.com>
45546         test-framework-sh: add minimal tests of init.sh's compare function
45547         * modules/test-framework-sh-tests: New file.
45548         * tests/test-init.sh: New file.
45550         test-framework-sh: new module
45551         * modules/test-framework-sh: New file.
45552         * MODULES.html.sh (Support for maintaining and releasing projects):
45553         List it.
45555         init.sh: do not emit simulated diff output to stderr
45556         * tests/init.sh (compare_dev_null_): Print to stdout, not stderr.
45558 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
45560         .gitignore: ignore gnulib.dvi and regex.info
45561         * doc/.gitignore:add gnulib.dvi and regex.info
45563 2011-12-22  Jim Meyering  <meyering@redhat.com>
45565         init.sh: correct previous change
45566         * tests/init.sh (compare): My previous change was wrong.
45567         Don't clobber "$?".  Spotted by Stefano Lattarini and Pádraig Brady.
45569         init.sh: avoid unwarranted test failure when using "set -e"
45570         * tests/init.sh (compare): Ignore nonzero exit from compare_dev_null_.
45571         Otherwise, in a test script that uses "set -e" (like many in vc-dwim)
45572         a use like "compare exp out" would get evoke an unconditional failure.
45574 2011-12-21  Alfred M. Szmidt  <ams@gnu.org>
45576         bootstrap: fix it to honor $ACLOCAL_FLAGS once again
45577         The 2011-12-17 change, commit 767ccd40, replaced a manual invocation
45578         of aclocal that used explicit $ACLOCAL_FLAGS with an invocation of
45579         autoreconf that did not.
45580         * build-aux/bootstrap: Use $ACLOCAL_FLAGS when invoking autoreconf.
45581         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
45583 2011-12-17  Jim Meyering  <meyering@redhat.com>
45585         bootstrap: remove some now-unneeded code
45586         This script arose back when gnulib-tool was young.
45587         Since then, it has seen improvements that render much of this
45588         script unnecessary.  In particular, it can now make symlinks
45589         to the files it uses.  Also, I no longer see as much value in
45590         marking files as read-only via comments.
45591         If you relied on the symlink-creation feature of the preceding
45592         version of this script, you can get most of that functionality
45593         by adding the --symlink option to the definition of
45594         gnulib_tool_option_extras in your bootstrap.conf file.
45595         * build-aux/bootstrap (AUTOPOINT, AUTORECONF): Factor out definitions.
45596         Run autopoint and libtoolize *before* gnulib-tool.
45597         After it, run an abbreviated autoreconf, rather than a loop around
45598         all tools.
45599         (slirp, bt_mark_as_generated): Remove functions.
45601 2011-12-18  Paul Eggert  <eggert@cs.ucla.edu>
45603         ftoastr: fix typo
45604         * lib/ftoastr.h: Fix misspelling in comment.
45606 2011-12-18  Reuben Thomas  <rrt@sc3d.org>
45608         * top/README-release: fix punctuation.
45610 2011-12-17  Jim Meyering  <meyering@redhat.com>
45612         bootstrap: correct the recent buildreq change
45613         The 2011-12-07 commit, 39f5f1e4, omitted some '*'s, and thus
45614         had no effect.
45615         * build-aux/bootstrap (buildreq): Bracket each search term with
45616         "*...*", so that the shell "case" statement works as intended.
45617         Add comments.
45619 2011-12-17  Bernhard Voelker  <mail@bernhard-voelker.de>
45621         build: let bootstrap resort to wget when downloading .po files
45622         * build-aux/bootstrap (download_po_files): Fallback to wget when
45623         downloading the .po files via rsync fails.  This is necessary to
45624         bootstrap from behind a strict firewall.
45626 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
45628         stdint: don't assume C++11 when compiling with g++
45629         Problem reported for glibc 2.14 and g++ by Alexander V. Lukyanov in
45630         <http://lists.gnu.org/r/bug-gnulib/2011-12/msg00099.html>.
45631         * m4/stdint.m4 (gl_STDINT_H): Don't go to extra work to make it
45632         work also in C++ before C++11, as that improperly inhibits
45633         generating a substitute stdint.h for that case.
45635 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
45637         alloca: protect comment from gnulib-tool
45638         * lib/alloca.c: Change "GCC version 2" to "GCC 2" in comment, so
45639         that gnulib-tool doesn't think it's a license, and munge it to
45640         say "GCC version 3".
45642 2011-12-15  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
45644         localcharset: Use an absolute path in TESTS_ENVIRONMENT.
45645         * modules/localcharset (LOCALCHARSET_TESTS_ENVIRONMENT): Use
45646         $(abs_top_builddir) instead of $(top_builddir).
45648 2011-12-14  Alex Nelson  <ajnelson@cs.ucsc.edu>  (tiny change)
45650         strftime-tests: also test nanoseconds
45651         * tests/test-strftime.c (T): Add a test of %N.
45653 2011-12-13  Paul Eggert  <eggert@cs.ucla.edu>
45655         inttypes, stdint: add C++11 support
45656         C++11 says there's no need to define __STDC_CONSTANT_MACROS etc.
45657         when including inttypes.h and stdint.h.  Support this change to
45658         the standard.
45659         * doc/posix-headers/inttypes.texi (inttypes.h):
45660         * doc/posix-headers/stdint.texi (stdint.h): Document this.
45661         * lib/inttypes.in.h (__STDC_FORMAT_MACROS) [! __cplusplus]:
45662         Define if not defined already, for the benefit of pre-C++11 hosts.
45663         Define the standard format macros (e.g., PRId8) always.
45664         * lib/stdint.in.h (__STDC_CONSTANT_MACROS, __STDC_LIMIT_MACROS):
45665         Likewise, if __cpluspus.  Define the standard constant and limit
45666         macros (e.g., INT8_C, INT8_MAX) always.
45667         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Do not define
45668         GL_TRIGGER_STDC_LIMIT_MACROS or __STDC_LIMIT_MACROS; no longer needed.
45669         * m4/stdint.m4 (gl_STDINT_H): Update comments about these macros.
45670         * tests/test-inttypes.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS)
45671         (__STDC_FORMAT_MACROS): Do not define, since we assume C++11 API now.
45672         * tests/test-stdint.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS):
45673         Likewise.
45675 2011-12-12  Paul Eggert  <eggert@cs.ucla.edu>
45677         nonblocking tests: Fix test failure on Linux/PPC.
45678         Suggested by Prerna Saxena in
45679         <http://lists.gnu.org/r/bug-gnulib/2011-12/msg00080.html>.
45680         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/PPC64]:
45681         Set to 1100000.
45683 2011-12-12  Jim Meyering  <meyering@redhat.com>
45685         argmatch: don't hard-code `' when listing valid option arguments
45686         * lib/argmatch.c (argmatch_valid): Don't hard-code `%s'.  Instead,
45687         use the quote function to add quotes.  Use fputs rather than
45688         fprintf for the format string with no format directive.
45690 2011-12-07  Eric Blake  <eblake@redhat.com>
45692         bootstrap: detect tools required by gnulib-tool
45693         * build-aux/bootstrap (buildreq): Provide minimum implicit
45694         dependencies.
45695         * DEPENDENCIES: Mention patch as a prereq.
45697 2011-12-04  Bruno Haible  <bruno@clisp.org>
45699         sethostname: Port to Windows platforms.
45700         * lib/sethostname.c: Provide an alternate implementation for Windows
45701         platforms.
45702         * tests/test-sethostname2.c (geteuid): Redefine on Cygwin.
45703         (main): Skip the test if sethostname() fails with EPERM. On Windows
45704         platforms, don't check the result of gethostname().
45706 2011-12-04  Bruno Haible  <bruno@clisp.org>
45707             Jim Meyering  <meyering@redhat.com>
45709         tests: Avoid spurious error message on platforms without mktemp program.
45710         * tests/init.sh (mktempd_): Run mktemp in a subcommand.
45712 2011-12-04  Bruno Haible  <bruno@clisp.org>
45714         sethostname: Fix documentation.
45715         * doc/glibc-functions/sethostname.texi: Move the Solaris problem to the
45716         "not fixed" section.
45718 2011-12-03  Bruno Haible  <bruno@clisp.org>
45720         gnulib-tool: Verify that the License field is present and non-empty.
45721         * gnulib-tool (func_get_license_raw): New function, extracted from
45722         func_get_license.
45723         (func_get_license): Use it. Warn if the module is not a test module and
45724         has no license.
45725         Suggested by Jim Meyering.
45727 2011-12-03  Bruno Haible  <bruno@clisp.org>
45729         sethostname tests: Fix link error on mingw.
45730         * tests/test-sethostname1.c: New file, extracted from
45731         tests/test-sethostname.c.
45732         * tests/test-sethostname2.c: New file, extracted from
45733         tests/test-sethostname.c.
45734         * tests/test-sethostname.c: Remove file.
45735         * modules/sethostname-tests (Files): Add tests/test-sethostname1.c,
45736         tests/test-sethostname2.c. Remove tests/test-sethostname.c.
45737         (Depends-on): Add gethostname.
45738         (Makefile.am): Compile both test-sethostname1 and test-sethostname2.
45739         Link the latter with $(GETHOSTNAME_LIB).
45741         sethostname tests: Fix compilation error on mingw.
45742         * tests/test-sethostname.c: Don't include <sys/types.h>.
45743         (geteuid): Use a dummy value without uid_t.
45744         * modules/sethostname-tests (Depends-on): Remove sys_types.
45746         sethostname tests: Avoid a gcc warning.
45747         * tests/test-sethostname.c (main): Remove an unused variable.
45749         Tweak last commit.
45750         * modules/sethostname-tests (Files): Sort by decreasing importance.
45751         (configure.ac): Check for geteuid.
45752         * tests/test-sethostname.c (main): Emit error messages to stderr. Skip
45753         the test when there's nothing to test. Drop an unnecessary cast.
45754         Improve an error message. Verify that the final sethostname() call
45755         succeeds.
45757 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
45759         Add a test suite for the sethostname module.
45760         * modules/sethostname-tests: New file.  A test program
45761         for the sethostname module.
45762         * tests/test-sethostname.c: Likewise.
45764 2011-12-03  Bruno Haible  <bruno@clisp.org>
45766         Tweak last commit.
45767         * lib/unistd.in.h (sethostname): Keep declarations in alphabetic order.
45768         Fix preprocessor directives indentation. Fix typos.
45769         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Keep alphabetic order.
45770         * modules/unistd (Makefile): Likewise.
45772 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
45774         Integrate the sethostname module into unistd.
45775         * lib/unistd.in.h: Integrate the SETHOSTNAME preprocessor handling
45776         into the unistd.h header.
45777         * m4/unistd_h.m4: Setup the autoconf handling for the SETHOSTNAME
45778         preprocessor directives.
45779         * modules/unistd: Setup the Makefile substitutions of the
45780         SETHOSTNAME preprocessor directives.
45782 2011-12-03  Bruno Haible  <bruno@clisp.org>
45784         Tweak last commit.
45785         * lib/sethostname.c: Don't include <string.h>.
45786         (sethostname): No need to copy the argument string to the stack. Don't
45787         call clearerr. Preserve errno when fprintf failed.
45788         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): Comment about HOST_NAME_MAX.
45789         Don't invoke AC_REPLACE_FUNCS.
45790         * modules/sethostname (Link): Remove empty section.
45791         * doc/glibc-functions/sethostname.texi: Gnulib does not fix the ENOSYS
45792         failure problem.
45794 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
45796         New module 'sethostname'.
45797         * lib/sethostname.c (sethostname): New file.  Provide sethostname
45798         for systems that lack it.
45799         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): New file.  Detection of
45800         sethostname declaration and function.
45801         * modules/sethostname: New file.  Define the sethostname module.
45803 2011-12-03  Bruno Haible  <bruno@clisp.org>
45805         Tweak last commit.
45806         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Trim blank line.
45808 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
45810         Split the HOST_NAME_MAX detection into a separate m4 macro.
45811         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Make this a separate
45812         macro so it can be used by the pending sethostname module.
45814 2011-12-03  Bruno Haible  <bruno@clisp.org>
45816         Fix module descriptions syntax.
45817         * modules/argv-iter (License): Fix syntax.
45818         * modules/di-set (License): Likewise.
45819         * modules/ino-map (License): Likewise.
45820         Reported by Stefano Lattarini <stefano.lattarini@gmail.com>.
45822 2011-12-02  Paul Eggert  <eggert@cs.ucla.edu>
45824         stdalign: port to Clang 3.0
45825         Problem reported by Simon Josefsson in
45826         <http://lists.gnu.org/r/bug-gnulib/2011-12/msg00005.html>.
45827         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Clang 3.0,
45828         which has <stdalign.h> but which does not define alignof.
45829         * m4/stdalign.m4 (gl_STDALIGN_H): Check for Clang 3.0's problem.
45831 2011-12-01  Eric Blake  <eblake@redhat.com>
45833         mktempd: silence dd usage
45834         * build-aux/mktempd (rand_bytes): Silence dd.
45836 2011-11-30  Simon Josefsson  <simon@josefsson.org>
45838         manywarnings: Don't mention gcc version in docstring.
45839         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Doc fix.  Suggested by
45840         Jim Meyering <meyering@redhat.com>.
45842 2011-11-30  Jim Meyering  <meyering@redhat.com>
45844         hash: mark a few floating point constants with "f" suffix
45845         * lib/hash.c (DEFAULT_GROWTH_THRESHOLD, DEFAULT_GROWTH_FACTOR)
45846         (DEFAULT_SHRINK_THRESHOLD, DEFAULT_SHRINK_FACTOR): Mark literal
45847         floating point constants with "f", since they're destined to be
45848         saved/used as "float"s.
45850 2011-11-29  Paolo Bonzini  <bonzini@gnu.org>
45852         float tests: Correct and re-enable assertion about LDBL_MIN_EXP.
45853         * tests/test-float.c (test_long_double): Correct and re-enable the
45854         assertion about LDBL_MIN_EXP that was disabled on 2011-08-31.
45856 2011-11-29  Matthew Wala  <wala1@illinois.edu>  (tiny change)
45858         Avoid subtracting two pointers that don't point into the same block.
45859         * lib/argp-help.c (hol_append): Reorder pointer subtractions so that
45860         only pointers into the same memory block are subtracted. We cannot
45861         assume that sizeof (ptrdiff_t) == sizeof (void *).
45863 2011-11-29  Eric Blake  <eblake@redhat.com>
45865         maint.mk: add syntax check for use of compare from init.sh
45866         * top/maint.mk (sc_prohibit_reversed_compare_failure): New rule,
45867         moved here from coreutils.
45869         manywarnings: drop -Wunsuffixed-float-constants
45870         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): C99 does not allow
45871         '1.0D', which is the only way to silence this warning for 'double'.
45873 2011-11-29  Jim Meyering  <meyering@redhat.com>
45875         hash: mark compute_bucket_size with the pure attribute
45876         * lib/hash.c (compute_bucket_size): Use _GL_ATTRIBUTE_PURE.
45878         quotearg, propername: correct pragma guard expression
45879         * lib/quotearg.c: Enable pragma for gcc-4.6 and newer, not 4.3 and newer.
45880         * lib/propername.c: Likewise.  Reported by Bernhard Voelker.
45882 2011-11-28  Jim Meyering  <meyering@redhat.com>
45884         propername: do not mark proper_name with the const attribute
45885         * lib/propername.h (proper_name): Do *not* mark as _GL_ATTRIBUTE_CONST,
45886         since it examines data pointed to by its parameter.
45887         * lib/propername.c (proper_name): Instead, add a pragma to suppress
45888         the suggestion from -Wsuggest-attribute=const.
45890         propername: mark one more function as const
45891         * lib/propername.h (proper_name): Mark as _GL_ATTRIBUTE_CONST.
45893 2011-11-27  Jim Meyering  <meyering@redhat.com>
45895         mark functions with const and pure attributes
45897         Mark functions per suggestions from gcc-4.6 when using these options:
45898         -Wsuggest-attribute=pure -Wsuggest-attribute=const.
45899         Use gnulib's _GL_ATTRIBUTE_PURE and _GL_ATTRIBUTE_CONST macros.
45900         Follow these guidelines: when possible, apply the attribute to
45901         an extern declaration, not to its definition.  Apply it to the
45902         definition only when the definition is static.
45903         * lib/argmatch.h (argmatch, argmatch_to_argument): Mark.
45904         * lib/argv-iter.h (argv_iter_n_args): Likewise.
45905         * lib/base64.h (isbase64): Likewise.
45906         * lib/basename-lgpl.c (last_component, base_len): Likewise.
45907         * lib/c-ctype.h (c_isascii, c_isalnum, c_isalpha): Likewise.
45908         (c_isblank, c_iscntrl, c_isdigit, c_islower, c_isgraph): Likewise.
45909         (c_isprint, c_ispunct, c_isspace, c_isupper, c_isxdigit): Likewise.
45910         (c_tolower, c_toupper): Likewise.
45911         * lib/c-strcase.h (c_strcasecmp, c_strncasecmp): Likewise.
45912         * lib/chdir-long.c (find_non_slash): Likewise.
45913         * lib/dirname.h (base_len, dir_len, last_component): Likewise.
45914         * lib/exclude.h (fnmatch_pattern_has_wildcards): Likewise.
45915         * lib/file-type.h (file_type): Likewise.
45916         * lib/filenamecat-lgpl.c (longest_relative_suffix): Likewise.
45917         * lib/filevercmp.c (verrevcmp): Likewise.
45918         * lib/freadahead.h (freadahead): Likewise.
45919         * lib/fts.c (fts_maxarglen): Likewise.
45920         * lib/hash-pjw.h (hash_pjw): Likewise.
45921         * lib/hash-triple.h (triple_hash_no_name, triple_compare_ino_str):
45922         * lib/hash.c (is_prime, next_prime): Likewise.
45923         * lib/hash.c (hash_get_n_buckets, hash_get_n_buckets_used): Likewise.
45924         (hash_get_n_entries, hash_get_max_bucket_length): Likewise.
45925         (hash_table_ok, hash_get_first, hash_string): Likewise.
45926         (compute_bucket_size): Likewise.
45927         * lib/i-ring.h (i_ring_empty): Likewise.
45928         * lib/isnan.c (isnanl): Likewise.
45929         * lib/math.h (isnanl, rpl_isnanl): Likewise.
45930         * lib/memcasecmp.h (memcasecmp): Likewise.
45931         * lib/memchr2.h (memchr2): Likewise.
45932         * lib/memcmp2.h (memcmp2): Likewise.
45933         * lib/parse-datetime.y (lookup_zone): Likewise.
45934         * lib/sockets.h (gl_sockets_startup, gl_sockets_cleanup)
45935         [!WINDOWS_SOCKETS]: Likewise.
45936         * lib/strnlen1.h (strnlen1): Likewise.
45937         * lib/uniwidth.in.h (uc_width): Likewise.
45938         * lib/quotearg.c: Add pragma to avoid unwarranted suggestion from
45939         gcc's -Wsuggest-attribute=pure for quoting_options_from_style.
45940         (quoting_options_from_style): Add a comment.
45941         * lib/propername.h (proper_name): Add a comment.
45943 2011-11-27  Bruno Haible  <bruno@clisp.org>
45945         Remove unused macros from !_LIBC code in glibc-borrowed files.
45946         * lib/fnmatch.c (STRCOLL): Remove macro.
45947         * lib/fnmatch_loop.c (STRCOLL): Remove undef.
45948         * lib/glob.c (__stat, __readdir64): Remove macros.
45949         * lib/tempname.c (__open64, __xstat64): Remove macros.
45950         Suggested by Paul Eggert.
45952 2011-11-27  Bruno Haible  <bruno@clisp.org>
45954         getcwd: Fix link error on MSVC 9.
45955         * modules/getcwd (Depends-on): Add readdir, rewinddir.
45957 2011-11-27  Bruno Haible  <bruno@clisp.org>
45959         Don't set REPLACE_FOO to 1 if HAVE_FOO is 0.
45960         * m4/opendir.m4 (gl_FUNC_OPENDIR): Don't set REPLACE_OPENDIR to 1 if
45961         HAVE_OPENDIR is 0.
45962         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Don't set REPLACE_CLOSEDIR to 1 if
45963         HAVE_CLOSEDIR is 0.
45964         * m4/dup2.m4 (gl_FUNC_DUP2): Don't set REPLACE_DUP2 to 1 if HAVE_DUP2
45965         is 0.
45966         * m4/dup3.m4 (gl_FUNC_DUP3): Update comments.
45968 2011-11-27  Bruno Haible  <bruno@clisp.org>
45970         getcwd: Fix bug from 2011-08-17.
45971         * m4/getcwd.m4 (gl_FUNC_GETCWD): Set REPLACE_GETCWD to 1 only on
45972         platforms that need it.
45973         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Consider a return
45974         code of 4 to be a failure, not a success. This ensures that
45975         REPLACE_GETCWD becomes 1 on OpenBSD 4.9 and NetBSD 5.1.
45977 2011-11-27  Bruno Haible  <bruno@clisp.org>
45979         binary-io tests: Avoid test failure on mingw when libtool is used.
45980         * tests/test-binary-io.c (main): Don't remove t-bin-out2.tmp here.
45981         Don't verify the size of t-bin-out1.tmp here.
45982         * tests/test-binary-io.sh: Verify it here.
45983         Reported by Simon Josefsson.
45985 2011-11-26  Bruno Haible  <bruno@clisp.org>
45987         Fix conflict between two instantiations of module 'unistd'.
45988         * gnulib-tool (func_emit_autoconf_snippet): Substitute
45989         ${include_guard_prefix} also in the autoconf snippet.
45990         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Don't set GNULIB_UNISTD_H_GETOPT.
45991         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize
45992         GNULIB_UNISTD_H_GETOPT.
45993         * modules/getopt-posix (configure.ac): Set the
45994         GNULIB_${gl_include_guard_prefix}_UNISTD_H_GETOPT variable.
45995         * modules/getopt-gnu (configure.ac): Likewise.
45996         * modules/unistd (Makefile.am): Change the substitution value of
45997         GNULIB_UNISTD_H_GETOPT to depend on the include guard prefix.
45998         Reported by Simon Josefsson.
46000 2011-11-25  Bruno Haible  <bruno@clisp.org>
46002         pagealign_alloc: Doc and comments.
46003         * doc/posix-functions/posix_memalign.texi: Refer to the pagealign_alloc
46004         module.
46005         * lib/pagealign_alloc.c (pagealign_alloc): Add comment.
46007 2011-11-25  Jim Meyering  <meyering@redhat.com>
46009         test-update-copyright.sh: avoid false-positive failure
46010         * tests/test-update-copyright.sh: Use $TMP.? (not $TMP.*), to work
46011         around false positive failure on Cygwin/Windows.  The latter was
46012         matching erroneously-created files with names like
46013         update-copyright.test-ex.4.bak.  Reported by Simon Josefsson.
46015 2011-11-25  Simon Josefsson  <simon@josefsson.org>
46017         valgrind-tests.m4: Avoid breakage if valgrind on bash fails.
46018         * m4/valgrind-tests.m4: Check that the parameters that will be
46019         used works, not just a subset of them.  Reported by Bruno Haible
46020         <bruno@clisp.org>.
46022 2011-11-24  Jim Meyering  <meyering@redhat.com>
46024         test-stdalign.c: comment out long double tests
46025         * tests/test-stdalign.c: Don't try to reduce alignment of long double
46026         variables.  That provokes errors like this from gcc-4.7.0 20111124:
46027         error: '_Alignas' specifiers cannot reduce alignment of \
46028         'static_longdouble_alignas'.
46030 2011-11-22  Jim Meyering  <meyering@redhat.com>
46032         init.sh: make "compare /dev/null FILE" output more readable
46033         * tests/init.sh (compare_): Document the preferred order of arguments.
46034         (emit_diff_u_header_): New function.
46035         (compare_dev_null_): Emit a simulated diff, rather than just the
46036         contents of the unexpected file.  Suggestion from Bruno Haible.
46038 2011-11-21  Jim Meyering  <meyering@redhat.com>
46039             Eric Blake  <eblake@redhat.com>
46041         init.sh: work around OSF/1 5.1's mishandling of /dev/null
46042         * tests/init.sh: Make our compare function slightly more portable.
46043         Reported by Bruno Haible in
46044         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/4020
46046 2011-11-21  Simon Josefsson  <simon@josefsson.org>
46048         * m4/gnulib-common.m4 (_Noreturn): Check that _MSC_VER is defined
46049         before using it, in code that ends up in config.h.
46051 2011-11-20  Bruno Haible  <bruno@clisp.org>
46053         getcwd: Work around getcwd bug on AIX 5..7.
46054         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Require
46055         AC_CANONICAL_HOST. Assign exit code 31 to the bug seen on AIX 5.1..7.1.
46056         Use a different value for gl_cv_func_getcwd_path_max. Move the
46057         definition of HAVE_PARTLY_WORKING_GETCWD from here...
46058         * m4/getcwd.m4 (gl_FUNC_GETCWD): ... to here. Invoke
46059         gl_FUNC_GETCWD_PATH_MAX also when $gl_cv_func_getcwd_null is 'no'.
46060         Define HAVE_MINIMALLY_WORKING_GETCWD.
46061         * lib/getcwd.c (__getcwd): Don't use the system's getcwd on platforms
46062         where it is not even minimally working, that is, on AIX.
46063         * tests/test-getcwd.c (test_long_name): Distinguish the same cases as
46064         m4/getcwd-path-max.m4.
46065         (main): Update exit code computation.
46066         * doc/posix-functions/getcwd.texi: Mention list of platforms where
46067         getcwd does not handle long file names.
46069 2011-11-20  Bruno Haible  <bruno@clisp.org>
46071         getcwd: Fix bug from 2009-09-10.
46072         * m4/getcwd.m4 (gl_FUNC_GETCWD): Treat "guessing yes" like "yes", not
46073         like "no".
46075 2011-11-20  Simon Josefsson  <simon@josefsson.org>
46077         * m4/manywarnings.m4: Add more warnings from gcc 4.6.2.
46079 2011-11-20  Bruno Haible  <bruno@clisp.org>
46081         fma tests: Avoid shadowing local variables.
46082         * tests/test-fma2.h (test_function): Reduce scope of x, y, z, result,
46083         expected.
46085 2011-11-20  Bruno Haible  <bruno@clisp.org>
46087         copysignf tests: Fix.
46088         * tests/test-copysignf.c: Fix signature check.
46090 2011-11-20  Bruno Haible  <bruno@clisp.org>
46092         fma: Remove unused code.
46093         * lib/fma.c (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): Remove
46094         unused macros.
46096 2011-11-20  Bruno Haible  <bruno@clisp.org>
46098         sethostname: Fix doc about AIX.
46099         * doc/glibc-functions/sethostname.texi: Drop mention that AIX 5.1 lacks
46100         sethostname; it has it.
46102         sethostname: Mention more portability problems.
46103         * doc/glibc-functions/sethostname.texi: Mention the missing declaration
46104         problem.
46105         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
46107 2011-11-19  Bruno Haible  <bruno@clisp.org>
46109         Depend on module fcntl-h when AT_FDCWD is used.
46110         * modules/utimens (Depends-on): Add fcntl-h.
46111         * modules/areadlinkat (Depends-on): Likewise.
46112         * modules/areadlinkat-with-size (Depends-on): Likewise.
46113         * modules/faccessat (Depends-on): Likewise.
46114         * modules/fchmodat (Depends-on): Likewise.
46115         * modules/fchownat (Depends-on): Likewise.
46116         * modules/getcwd (Depends-on): Likewise.
46117         * modules/mkdirat (Depends-on): Likewise.
46118         * modules/mkfifoat (Depends-on): Likewise.
46119         * modules/readlinkat (Depends-on): Likewise.
46120         * modules/symlinkat (Depends-on): Likewise.
46121         * modules/dup2-tests (Depends-on): Likewise.
46122         * modules/fdutimensat-tests (Depends-on): Likewise.
46123         * modules/futimens-tests (Depends-on): Likewise.
46125 2011-11-19  Bruno Haible  <bruno@clisp.org>
46127         euidaccess: Update a comment.
46128         * lib/euidaccess.c: Update comment about platforms with faccessat.
46130 2011-11-19  Bruno Haible  <bruno@clisp.org>
46132         openat: Fix file list.
46133         * modules/openat (Files): Remove lib/at-func.c.
46135 2011-11-19  Bruno Haible  <bruno@clisp.org>
46137         fstatat: Simplify.
46138         * lib/fstatat.c (AT_FUNC_NAME): Define as fstatat. On platforms where
46139         gnulib should define rpl_fstatat, there is a
46140         "#define fstatat rpl_fstatat" in <sys/stat.h>.
46142 2011-11-19  Bruno Haible  <bruno@clisp.org>
46144         Ensure 'inline' can be used in tests/test-utimens-common.h.
46145         * modules/fdutimensat-tests (configure.ac): Require AC_C_INLINE.
46146         * modules/futimens-tests (configure.ac): Likewise.
46147         * modules/utimens-tests (configure.ac): Likewise.
46148         * modules/utimensat-tests (configure.ac): Likewise.
46150 2011-11-19  Simon Josefsson  <simon@josefsson.org>
46152         * lib/hash.c (hash_insert): Use hash_insert_if_absent,
46153         not hash_insert0.
46154         (hash_insert_if_absent): Doc fix.
46156 2011-11-19  Simon Josefsson  <simon@josefsson.org>
46158         * m4/readline.m4 (gl_FUNC_READLINE): Check for readline/history.h.
46160 2011-11-18  Paul Eggert  <eggert@cs.ucla.edu>
46162         test-getcwd: disambiguate exit status
46163         * tests/test-getcwd.c (test_long_name): Return 0..7.
46164         (main): Exit with an unambiguous exit status.  The old
46165         code yielded a mysterious mixture of two failure codes.
46167         fstatat: fix configuration bug on mingw, OpenBSD 4, Solaris 8
46168         * lib/fstatat.c (AT_FUNC_NAME): Use HAVE_FSTAT, not
46169         HAVE_WORKING_FSTATAT_ZERO_FLAG, to decide whether to define
46170         rpl_fstatat or fstatat.  This should fix the other problem
46171         reported by Kai Habel in
46172         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00237.html>.
46173         A similar problem was reported for OpenBSD 4.6 by Mats Erik Andersson
46174         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00239.html>
46175         and I reproduced it on a Solaris 8 host we still have in production.
46177 2011-11-18  Jim Meyering  <meyering@redhat.com>
46179         hash: deprecate poorly-named hash_insert0: use hash_insert_if_absent
46180         * lib/hash.c (hash_insert_if_absent): Rename from hash_insert0.
46181         Add a sentence to the comment.
46182         (hash_insert0): New function that simply calls hash_insert_if_absent.
46183         * lib/hash.h (hash_insert_if_absent): Declare it.
46184         (hash_insert0): Add deprecation attribute.
46185         (_GL_ATTRIBUTE_DEPRECATED): Define.
46186         * lib/di-set.c (di_set_insert): Use hash_insert_if_absent,
46187         not hash_insert0.
46188         * NEWS: Mention it, even though it's not really an incompatible change.
46190 2011-11-18  Dagobert Michelsen  <dam@opencsw.org>  (tiny change)
46192         openat: avoid compilation failure due to lack of <errno.h> inclusion
46193         * lib/openat.c: Include <errno.h>.
46195 2011-11-17  Paul Eggert  <eggert@cs.ucla.edu>
46197         * modules/getcwd (Depends-on): Add fdopendir.
46198         This fixes one of the two problems reported by Kai Habel in
46199         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00237.html>.
46201         modules/crypto/gc-*: simplify dependencies and fix stdalign.h bug
46202         stdalign problem reported by Ian Beckwith in
46203         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00238.html>.
46204         * modules/crypto/gc-arcfour (Depends-on):
46205         Depend conditionally on crypto/arcfour.
46206         * modules/crypto/gc-arctwo (Depends-on):
46207         Depend conditionally on crypto/arctwo.
46208         * modules/crypto/gc-des (Depends-on):
46209         Depend conditionally on crypto/des.
46210         * modules/crypto/gc-hmac-md5 (Depends-on):
46211         Depend conditionally on crypto/hmac-md5.
46212         * modules/crypto/gc-hmac-sha1 (Depends-on):
46213         Depend conditionally on crypto/hmac-sha1.
46214         * modules/crypto/gc-md2 (Depends-on): Remove stdint, minmax.
46215         * modules/crypto/gc-md4 (Depends-on):
46216         Depend conditionally on crypto/md4.
46217         * modules/crypto/gc-md5 (Depends-on):
46218         Depend conditionally on crypto/md5.
46219         * modules/crypto/gc-rijndael (Depends-on):
46220         Depend conditionally on crypto/rijndael.
46221         * modules/crypto/gc-sha1 (Depends-on):
46222         Depend conditionally on crypto/sha1.
46223         * modules/crypto/gc-arcfour:
46224         * modules/crypto/gc-arctwo:
46225         * modules/crypto/gc-des:
46226         * modules/crypto/gc-hmac-md5:
46227         * modules/crypto/gc-hmac-sha1:
46228         * modules/crypto/gc-md2:
46229         * modules/crypto/gc-md4:
46230         * modules/crypto/gc-md5:
46231         * modules/crypto/gc-rijndael:
46232         * modules/crypto/gc-sha1:
46233         (Files, Depends-on, configure.ac): Remove now-unnecessary stuff,
46234         now that the conditional dependencies do the work for us.
46236 2011-11-17  Jim Meyering  <meyering@redhat.com>
46238         tests: factor st_ctime-comparison out of two headers
46239         * tests/test-utimens-common.h (ctime_compare): Define.
46240         * tests/test-futimens.h (test_futimens): Replace open-coded equivalent.
46241         * tests/test-lutimens.h (test_lutimens): Likewise.
46242         * tests/test-utimens.h (test_utimens): Likewise.
46244         test-getcwd: don't leave behind a confdir3/ directory upon interrupt
46245         Invoke the test program via an init.sh-using wrapper.
46246         * tests/test-getcwd.sh: New file.
46247         * modules/getcwd-tests (Files): Add it.
46248         (Makefile.am) [TESTS]: Invoke the shell script wrapper.
46250 2011-11-01  Gary V. Vaughan  <gary@gnu.org>
46252         gitlog-to-changelog: support multi-author commits.
46253         The FSF cares about keeping track of all authors of patches to its
46254         projects, but Git doesn't provide obvious support for multi-author
46255         changesets. Consensus seems to be forming around the use of extra
46256         Signed-off-by inspired lines in the log message formatted as
46257         `Co-authored-by: A U Thor <email@example.com>' for round-tripping
46258         multi-author commits between version control systems.
46259         * gitlog-to-changelog: Extract `Co-authored-by:' lines from the git
46260         log message and output in standard ChangeLog multi-author format.
46261         Reported by Peter Rosin <peda@lysator.liu.se>
46263 2011-11-15  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
46264             Bruno Haible  <bruno@clisp.org>
46266         Fix some modules' file list.
46267         * modules/fstatat (Files): Add m4/lstat.m4.
46268         * modules/openat (Files): Likewise.
46269         * modules/unlinkat (Files): Likewise.
46271 2011-11-15  Gary V. Vaughan  <gary@gnu.org>
46273         maint.mk: fix tight-scope.mk generation in VPATH builds.
46274         * top/maint.mk (tight-scope.mk): Make sure to prefix file
46275         reference with $(srcdir) so that the file is found correctly even
46276         when running `make syntax-check' in a VPATH build.
46278 2011-11-13  Bruno Haible  <bruno@clisp.org>
46279             Jim Meyering  <meyering@redhat.com>
46281         Silence successful tests that use 'compare' on AIX, HP-UX, Solaris.
46282         * tests/init.sh (compare): Remove "No differences encountered" or
46283         synonymous output from the 'diff' program.
46285 2011-11-13  Bruno Haible  <bruno@clisp.org>
46287         Makefile: Tweak indentation.
46288         * Makefile: Use tab as first character in every line that contains rule
46289         commands.
46291 2011-11-13  Bruno Haible  <bruno@clisp.org>
46293         Syntax check for copyright statements.
46294         * check-copyright: New file.
46295         * Makefile (sc_check_copyright): New rule.
46297 2011-11-13  Simon Josefsson  <simon@josefsson.org>
46299         * build-aux/git-version-gen: Add --prefix to configure the tag
46300         match string.
46302 2011-11-13  Simon Josefsson  <simon@josefsson.org>
46304         * build-aux/git-version-gen: Add --help and --version.
46306 2011-11-12  Jim Meyering  <meyering@redhat.com>
46308         revamp the other test-exclude?.sh scripts to use init.sh, too
46309         * tests/test-exclude1.sh: Use init.sh.
46310         * tests/test-exclude2.sh: Likewise.
46311         * tests/test-exclude3.sh: Likewise.
46312         * tests/test-exclude4.sh: Likewise.
46313         * tests/test-exclude5.sh: Likewise.
46314         * tests/test-exclude6.sh: Likewise.
46315         * tests/test-exclude7.sh: Likewise.
46316         * tests/test-exclude8.sh: Likewise.
46317         * modules/exclude-tests (Files): List init.sh.
46319         test-exclude2.sh, test-exclude5.sh: fail if test-exclude fails
46320         These shell scripts ignored failure of the binary test-exclude,
46321         so making the latter return 77 didn't cause them to be skipped.
46322         * tests/test-exclude5.sh: Exit with test-exclude's error status
46323         when that program fails.  Revamp to use init.sh.
46324         * tests/test-exclude2.sh: Likewise.
46326         test-exclude: fix a typo
46327         * tests/test-exclude.c (main): Test for "leading_dir", not "leading-dir".
46329 2011-11-11  Bruno Haible  <bruno@clisp.org>
46331         obstack: Fix compilation error on MSVC 9.
46332         * lib/obstack.c (print_and_abort): Declare with _Noreturn specifier.
46334 2011-11-11  Jim Meyering  <meyering@redhat.com>
46336         test-exclude: skip tests rather than failing on deficient systems
46337         * tests/test-exclude.c (main): Skip tests that use FNM_CASEFOLD
46338         and FNM_LEADING_DIR on systems that lack the definitions.  This affects
46339         at least Solaris 9.  Reported and diagnosed by Dagobert Michelsen in
46340         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/3947/focus=3950
46342 2011-11-10  Bruno Haible  <bruno@clisp.org>
46344         ptsname_r test: Avoid gcc warning on glibc systems.
46345         * tests/test-ptsname_r.c (null_ptr): New function.
46346         (test_errors): Use it.
46348 2011-11-10  Bruno Haible  <bruno@clisp.org>
46350         ptsname_r: Avoid compilation error on OSF/1 5.1.
46351         * lib/stdlib.in.h (ptsname_r): Override if REPLACE_PTSNAME_R is 1.
46352         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_PTSNAME_R.
46353         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Set REPLACE_PTSNAME_R if the
46354         function is not declared or incompatibly declared.
46355         * modules/stdlib (Makefile.am): Substitute REPLACE_PTSNAME_R.
46356         * modules/ptsname_r (Depends-on, configure.ac): Update.
46357         * doc/glibc-functions/ptsname_r.texi: Mention the OSF/1 problems.
46359 2011-11-10  Bruno Haible  <bruno@clisp.org>
46361         fstatat: Make cross-compilation guess succeed everywhere except on AIX.
46362         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Require AC_CANONICAL_HOST.
46363         When cross-compiling, guess yes on all platforms except AIX.
46364         Reported by Ludovic Courtès <ludo@gnu.org>.
46366 2011-11-09  Bruno Haible  <bruno@clisp.org>
46368         ptsname_r tests: Fix bugs.
46369         * tests/test-ptsname_r.c (test_errors): Change return type to 'void'.
46370         Fix ptsname_r calls. Reduce loop rounds to a reasonable amount.
46372 2011-11-09  Paul Eggert  <eggert@cs.ucla.edu>
46374         fstatat: work with cross-compilation
46375         Problem reported by Ludovic Courtès in
46376         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00136.html>.
46377         * m4/fstatat.m4 (gl_FUNC_FSTATAT): When cross-compiling, report
46378         "cross-compiling" and assume the bug is present.  Replace
46379         FSTATAT_ZERO_FLAG_BROKEN with HAVE_WORKING_FSTATAT_ZERO_FLAG with
46380         an inverted sense, to be more conservative about our assumptions.
46381         * lib/fstatat.c (rpl_fstatat): Adjust to renamed macro.
46383 2011-11-09  Bruno Haible  <bruno@clisp.org>
46385         Improve MODULES.html output.
46386         * modules/mkfifoat (Description): Use the word "function".
46387         * modules/readlinkat (Description): Likewise.
46388         * modules/symlinkat (Description): Likewise.
46390 2011-11-09  Eric Blake  <eblake@redhat.com>
46392         ptsname_r-tests: new test module
46393         * modules/ptsname_r-tests: New module.
46394         * tests/test-ptsname_r.c: New file.
46396         ptsname_r: new module
46397         * modules/ptsname_r: New module.
46398         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): New file.
46399         * lib/ptsname.c (__ptsname_r): Split...
46400         * lib/ptsname_r.c: ...into new file.
46401         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
46402         (gl_STDLIB_H_DEFAULTS): Set witness defaults.
46403         * modules/stdlib (Makefile.am): Substitute witnesses.
46404         * lib/stdlib.in.h (ptsname_r): Declare it.
46405         * doc/glibc-functions/ptsname_r.texi (ptsname_r): Document it.
46406         * MODULES.html.sh (Misc): Likewise.
46407         * modules/ptsname (Depends-on): Alter dependency.
46408         * doc/posix-functions/ptsname.texi (ptsname): Mention new module.
46410 2011-11-09  Jim Meyering  <meyering@redhat.com>
46412         announce-gen: be more concise when there's only one URL+tarball
46413         * build-aux/announce-gen (get_tool_versions): When you distribute
46414         only one type of tarball, combine the first two "Here are..."
46415         sections and make the key-checking grammar independent of
46416         how many tarballs there are.
46418 2011-11-09  Eric Blake  <eblake@redhat.com>
46420         openpty: provide a stub on mingw
46421         * lib/pty.in.h (includes): Provide forward declarations.
46422         * lib/openpty.c (openpty) [mingw]: Provide ENOSYS stub.
46424         raise: fix mingw handling of SIGPIPE
46425         * lib/sigprocmask.c (_gl_raise_SIGPIPE): Provide a return value.
46427 2011-11-08  Bruno Haible  <bruno@clisp.org>
46429         More conditional dependencies.
46430         * modules/faccessat (Depends-on): Add conditions.
46431         * modules/fchmodat (Depends-on): Likewise.
46432         * modules/fchownat (Depends-on): Likewise.
46433         * modules/fstatat (Depends-on): Likewise.
46434         * modules/mkfifoat (Depends-on): Likewise.
46435         * modules/readlinkat (Depends-on): Likewise.
46436         * modules/symlinkat (Depends-on): Likewise.
46437         * modules/unlinkat (Depends-on): Likewise.
46438         * modules/utimensat (Depends-on): Likewise.
46439         * modules/mkdirat (Depends-on): Add sys_stat. Add conditions.
46440         * modules/linkat (Depends-on): Refine the conditions.
46441         * modules/renameat (Depends-on): Likewise.
46443 2011-11-08  Bruno Haible  <bruno@clisp.org>
46445         faccessat: Move AC_LIBOBJ invocation to module description.
46446         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT): New macro.
46447         (gl_FUNC_FACESSAT): Don't test for access() here. Move AC_LIBOBJ
46448         invocation from here...
46449         * modules/faccessat (configure.ac): ... to here. Invoke
46450         gl_PREREQ_FACCESSAT.
46452 2011-11-08  Bruno Haible  <bruno@clisp.org>
46454         faccessat: Simplify autoconf macro.
46455         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Don't require gl_FUNC_OPENAT,
46456         gl_FUNC_EUIDACCESS.
46458 2011-11-08  Bruno Haible  <bruno@clisp.org>
46460         renameat: Fix dependencies.
46461         * modules/renameat (Depends-on): Add stdbool.
46463 2011-11-08  Bruno Haible  <bruno@clisp.org>
46465         mkfifoat: Fix module description.
46466         * modules/mkfifoat (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR,
46467         not gl_UNISTD_MODULE_INDICATOR.
46469 2011-11-08  Bruno Haible  <bruno@clisp.org>
46471         fstatat: Remove unused dependency.
46472         * modules/fstatat (Depends-on): Remove fstat.
46474 2011-11-08  Simon Josefsson  <simon@josefsson.org>
46476         GNUmakefile: behave when Makefile is missing.
46477         * top/GNUmakefile: Always initialize _build-aux and _autoreconf.
46479 2011-11-08  Bruno Haible  <bruno@clisp.org>
46481         openat: Conditionalize dependencies.
46482         * lib/openat.c: Reduce the scope of some #includes.
46483         * modules/openat (Depends-on): Add conditions.
46485 2011-11-07  Jim Meyering  <meyering@redhat.com>
46487         maint.mk: extract GPG key ID without using a temporary file
46488         * top/maint.mk (gpg_key_ID): Extract GPG key ID from signed tag, but
46489         without using a temporary file.  Based on a suggestion from Werner Koch
46490         in http://thread.gmane.org/gmane.comp.encryption.gpg.devel/16496
46492 2011-11-07  Eric Blake  <eblake@redhat.com>
46494         grantpt: fix typo
46495         * lib/stdlib.in.h (grantpt): Check correct function.
46497         maint.mk: silence new syntax check
46498         * top/maint.mk (sc_prohibit_dirent_without_use): Add missing @.
46500 2011-11-06  Bruno Haible  <bruno@clisp.org>
46502         Doc about floating-point and math API.
46503         * doc/posix-headers/float.texi: Mention problem with FLT_ROUNDS.
46504         * doc/posix-headers/math.texi: Mention problem with math_errhandling.
46506 2011-11-06  Bruno Haible  <bruno@clisp.org>
46508         stdalign tests: Skip the test when compiled by Sun C.
46509         * tests/test-stdalign.c (main): Skip the test on Sun C.
46511 2011-11-06  Bruno Haible  <bruno@clisp.org>
46513         ansi-c++-opt: Complete the 2011-06-05 change.
46514         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is found but
46515         does not support namespaces, set the variable to "no", not to ":".
46517 2011-11-06  Paul Eggert  <eggert@cs.ucla.edu>
46519         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Sun review ID.
46521 2011-11-06  Bruno Haible  <bruno@clisp.org>
46523         copysignl: Fix result for zero argument on HP-UX 11 with HP C.
46524         * lib/copysignl.c (compute_minus_zerol) [HP-UX]: New function.
46525         (minus_zerol) [HP-UX]: New macro.
46526         (unary_minus) [HP-UX]: New function.
46527         (copysignl) [HP-UX]: Use unary_minus function.
46529 2011-11-06  Bruno Haible  <bruno@clisp.org>
46531         ldexp, ldexpf, ldexpl: Enhance tests.
46532         * tests/test-ldexp.h: New file, combining code from tests/test-ldexp.c
46533         and tests/test-ldexpl.c.
46534         * tests/test-ldexpl.c: (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO,
46535         LDEXP, MIN_EXP, MAX_EXP): New macros.
46536         Include test-ldexp.h.
46537         (main): Just call test_function.
46538         * tests/test-ldexp.c: Include float.h, isnand-nolibm.h, minus-zero.h,
46539         infinity.h, nan.h.
46540         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
46541         MAX_EXP): New macros.
46542         Include test-ldexp.h.
46543         (x, y): Remove variables.
46544         (main): Just call test_function.
46545         * tests/test-ldexpf.c: Include float.h, isnanf-nolibm.h, minus-zero.h,
46546         infinity.h, nan.h.
46547         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
46548         MAX_EXP): New macros.
46549         Include test-ldexp.h.
46550         (x, y): Remove variables.
46551         (main): Just call test_function.
46552         * modules/ldexpl-tests (Files): Add tests/test-ldexp.h.
46553         * modules/ldexp-tests (Files): Add tests/test-ldexp.h,
46554         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
46555         (Depends-on): Add isnand-nolibm, signbit, float.
46556         * modules/ldexpf-tests (Files): Add tests/test-ldexp.h,
46557         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
46558         (Depends-on): Add isnanf-nolibm, signbit, float.
46560 2011-11-06  Bruno Haible  <bruno@clisp.org>
46562         math tests: Cosmetics.
46563         * tests/test-math-c++.cc: Reorder declarations.
46565 2011-11-05  Bruno Haible  <bruno@clisp.org>
46567         fma*: Simplify test.
46568         * tests/test-fma2.h (FORGIVE_GLIBC_BUG): Remove macro.
46569         (test_function): Remove all if (FORGIVE_GLIBC_BUG) statements.
46571         Tests for module 'fmal'.
46572         * modules/fmal-tests: New file.
46573         * tests/test-fmal1.c: New file.
46574         * tests/test-fmal2.c: New file.
46576         New module 'fmal'.
46577         * lib/math.in.h (fmal): New declaration.
46578         * lib/fmal.c: New file.
46579         * m4/fmal.m4: New file.
46580         * m4/math_h.m4 (gl_MATH_H): Test whethern fmal is declared.
46581         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAL, HAVE_FMAL, REPLACE_FMAL.
46582         * modules/math (Makefile.am): Substitute GNULIB_FMAL, HAVE_FMAL,
46583         REPLACE_FMAL.
46584         * modules/fmal: New file.
46585         * doc/posix-functions/fmal.texi: Mention the new module and the various
46586         bugs.
46588         Tests for module 'fmaf'.
46589         * modules/fmaf-tests: New file.
46590         * tests/test-fmaf1.c: New file.
46591         * tests/test-fmaf2.c: New file.
46593         New module 'fmaf'.
46594         * lib/math.in.h (fmaf): New declaration.
46595         * lib/fmaf.c: New file.
46596         * m4/fmaf.m4: New file.
46597         * m4/math_h.m4 (gl_MATH_H): Test whethern fmaf is declared.
46598         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAF, HAVE_FMAF, REPLACE_FMAF.
46599         * modules/math (Makefile.am): Substitute GNULIB_FMAF, HAVE_FMAF,
46600         REPLACE_FMAF.
46601         * modules/fmaf: New file.
46602         * doc/posix-functions/fmaf.texi: Mention the new module and the various
46603         bugs.
46605         Tests for module 'fma'.
46606         * modules/fma-tests: New file.
46607         * tests/test-fma1.c: New file.
46608         * tests/test-fma1.h: New file.
46609         * tests/test-fma2.c: New file.
46610         * tests/test-fma2.h: New file.
46612         New module 'fma'.
46613         * lib/math.in.h (fma): New declaration.
46614         * lib/fma.c: New file.
46615         * m4/fma.m4: New file.
46616         * m4/fegetround.m4: New file.
46617         * m4/math_h.m4 (gl_MATH_H): Test whethern fma is declared.
46618         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMA, HAVE_FMA, REPLACE_FMA.
46619         * modules/math (Makefile.am): Substitute GNULIB_FMA, HAVE_FMA,
46620         REPLACE_FMA.
46621         * modules/fma: New file.
46622         * doc/posix-functions/fma.texi: Mention the new module and the various
46623         bugs.
46625         Extend gl_MATHFUNC.
46626         * m4/mathfunc.m4 (gl_MATHFUNC): Accept an 4th parameter of INCLUDES.
46627         Support 'void' as argument type.
46628         * m4/rint.m4 (gl_FUNC_RINT): Update gl_MATHFUNC invocation.
46630 2011-11-05  Jim Meyering  <meyering@redhat.com>
46632         maint.mk: also prohibit inclusion of dirent.h without use
46633         * top/maint.mk (sc_prohibit_dirent_without_use): New rule.
46635 2011-11-05  Bruno Haible  <bruno@clisp.org>
46637         ldexpl tests: Avoid test failure on MSVC 9.
46638         * tests/test-ldexpl.c (main): Use a temporary variable for the expected
46639         value. Needed in order to enforce the conversion from a value greater
46640         than LDBL_MAX to Infinity.
46642 2011-11-05  Bruno Haible  <bruno@clisp.org>
46644         New modules 'at-internal', 'openat-h', split off from module 'openat'.
46645         * modules/at-internal: New file, extracted from modules/openat.
46646         * modules/openat-h: New file.
46647         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_OPENAT. Don't
46648         invoke gl_PREREQ_OPENAT and gl_MODULE_INDICATOR.
46649         * modules/openat (Description): Add reference to POSIX function.
46650         (Files): Remove lib/openat.h, lib/openat-proc.c.
46651         (Depends-on): Add at-internal, openat-h. Remove fdopendir, gettext-h,
46652         intprops, unistd.
46653         (configure.ac): Remove AC_LIBOBJ of openat-proc. Invoke
46654         gl_PREREQ_OPENAT, gl_MODULE_INDICATOR here. Invoke
46655         gl_FCNTL_MODULE_INDICATOR.
46656         (Include): Remove unistd.h, openat.h.
46657         * modules/areadlinkat (Files): Add lib/at-func.c.
46658         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
46659         openat-die, openat-h, save-cwd.
46660         * modules/areadlinkat-with-size (Files): Add lib/at-func.c.
46661         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
46662         openat-die, openat-h, save-cwd, unistd.
46663         * modules/faccessat (Files): Add lib/at-func.c, lib/openat-priv.h.
46664         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
46665         openat-h, save-cwd. Remove fcntl-h, openat.
46666         * modules/fchmodat (Files): Remove lib/openat.h.
46667         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
46668         openat, stdbool, unistd.
46669         * modules/fchownat (Files): Remove lib/openat.h.
46670         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
46671         openat, stdbool, sys_stat.
46672         * modules/fdopendir (Files): Remove lib/openat-priv.h,
46673         lib/openat-proc.c.
46674         (Depends-on): Add at-internal.
46675         (condigure.ac): Remove AC_LIBOBJ of openat-proc.
46676         * modules/fstatat (Files): Remove lib/openat.h.
46677         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
46678         stdbool, unistd.
46679         * modules/fts (Depends-on): Add openat-h.
46680         * modules/linkat (Depends-on): Add at-internal, openat-h. Remove
46681         openat.
46682         * modules/mkdirat (Files): Remove lib/openat.h.
46683         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
46684         openat, stdbool, sys_stat.
46685         * modules/mkfifoat (Files): Add lib/at-func.c.
46686         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
46687         openat-h, save-cwd. Remove fcntl-h, openat.
46688         * modules/openat-die (Depends-on): Add openat-h. Remove openat.
46689         * modules/readlinkat (Files): Add lib/at-func.c.
46690         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
46691         openat-h, save-cwd. Remove fcntl-h, openat.
46692         * modules/renameat (Depends-on): Add at-internal, openat-h. Remove
46693         openat.
46694         * modules/selinux-at (Files): Add lib/at-func.c.
46695         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
46696         fcntl-h, openat-die, openat-h, save-cwd, unistd. Remove openat.
46697         * modules/symlinkat (Files): Add lib/at-func.c.
46698         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
46699         openat-h, save-cwd. Remove fcntl-h, openat.
46700         * modules/unlinkat (Files): Remove lib/openat.h.
46701         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
46702         stdbool.
46703         * modules/utimensat (Files): Add lib/at-func.c.
46704         (Depends-on): Add at-internal, dosname, errno, fchdir, fcntl-h,
46705         openat-die, openat-h, save-cwd.
46706         * modules/fchownat-tests (Depends-on): Add openat-h. Remove openat.
46707         * modules/fdutimensat-tests (Depends-on): Add openat.
46708         * modules/fstatat-tests (Depends-on): Add openat-h.
46709         * modules/readlinkat-tests (Depends-on): Add openat.
46710         * modules/symlinkat-tests (Depends-on): Add openat.
46712 2011-11-05  Bruno Haible  <bruno@clisp.org>
46714         openat: Include <stdbool.h>.
46715         * lib/openat.c: Include <stdbool.h>.
46717 2011-11-04  Bruno Haible  <bruno@clisp.org>
46719         fchownat, renameat, unlinkat: Fix dependencies.
46720         * modules/fchownat (Depends-on): Add fstatat.
46721         * modules/renameat (Depends-on): Likewise.
46722         * modules/unlinkat (Depends-on): Likewise.
46724 2011-11-04  Paul Eggert  <eggert@cs.ucla.edu>
46726         openat: remove direct dependency on dirent
46727         * lib/openat.h: Don't include <dirent.h>; it's no longer needed,
46728         and hasn't been needed ever since fdopendir was split into its own
46729         module on 2009-08-31.
46730         * modules/openat (Depends-on): Remove dirent.
46732 2011-11-04  Bruno Haible  <bruno@clisp.org>
46734         renameat: Optimize code size.
46735         * modules/renameat (configure.ac): Don't compile at-func2.c if
46736         REPLACE_RENAMEAT is 1.
46738 2011-11-04  Bruno Haible  <bruno@clisp.org>
46740         openat tests: Fix file list.
46741         * modules/openat-tests (Files): Add tests/test-open.h.
46743 2011-11-04  Bruno Haible  <bruno@clisp.org>
46745         openat, fchmodat, fchownat, linkat, renameat: Fix dependencies.
46746         * modules/fchmodat (Depends-on): Add openat-die.
46747         * modules/fchownat (Depends-on): Likewise.
46748         * modules/linkat (Depends-on): Likewise.
46749         * modules/renameat (Depends-on): Likewise.
46750         * modules/openat (Depends-on): Add dirent.
46752 2011-11-04  Jim Meyering  <meyering@redhat.com>
46754         at-func*.c: fix comments
46755         * lib/at-func2.c: Correct/improve first-line comment.
46756         * lib/at-func.c: Correct grammar in first-line comment.
46758 2011-11-04  Bruno Haible  <bruno@clisp.org>
46760         New module 'mkdirat', split off from module 'openat'.
46761         * m4/mkdirat.m4: New file. extracted from m4/openat.m4.
46762         * m4/openat.m4 (gl_FUNC_OPENAT): Don't require gl_SYS_STAT_H_DEFAULTS.
46763         Don't test for mkdirat. Don't set GNULIB_MKDIRAT, HAVE_MKDIRAT.
46764         * modules/mkdirat: New file, extracted from modules/openat.
46765         * modules/openat (Files): Remove lib/mkdirat.c.
46766         (Depends-on): Remove mkdir.
46767         (configure.ac): Remove AC_LIBOBJ of mkdirat.
46768         (Include): Remove <sys/stat.h>.
46769         * modules/mkdirat-tests: New file, extracted from modules/openat-tests.
46770         * modules/openat-tests (Files): Remove tests/test-mkdirat.c,
46771         tests/test-mkdir.h.
46772         (Depends-on): Remove ignore-value.
46773         (Makefile.am): Remove rules for test-mkdirat.
46774         * doc/posix-functions/mkdirat.texi: Mention module 'mkdirat' instead
46775         of module 'openat'.
46776         * NEWS: Mention the change.
46778 2011-11-04  Bruno Haible  <bruno@clisp.org>
46780         closedir: Avoid warning on mingw.
46781         * lib/closedir.c: Include <unistd.h>.
46783 2011-11-04  Bruno Haible  <bruno@clisp.org>
46785         New module 'fstatat', split off from module 'openat'.
46786         * lib/openat.h (statat, lstatat): Enable only if GNULIB_FSTATAT is
46787         defined.
46788         * m4/fstatat.m4: New file. extracted from m4/openat.m4.
46789         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FSTATAT. Don't invoke
46790         gl_FUNC_FSTATAT.
46791         (gl_FUNC_FSTATAT): Moved to m4/fstatat.m4.
46792         * modules/fstatat: New file, extracted from modules/openat.
46793         * modules/openat (Files): Remove lib/fstatat.c.
46794         (Depends-on): Remove lstat.
46795         (configure.ac): Remove AC_LIBOBJ of fstatat.
46796         * modules/fstatat-tests: New file, extracted from modules/openat-tests.
46797         * modules/openat-tests (Files): Remove tests/test-fstatat.c,
46798         tests/test-lstat.h, tests/test-stat.h.
46799         (Depends-on): Remove getcwd-lgpl.
46800         (Makefile.am): Remove rules for test-fstatat.
46801         * doc/posix-functions/fstatat.texi: Mention module 'fstatat' instead
46802         of module 'openat'.
46803         * NEWS: Mention the change.
46804         * modules/getcwd (Depends-on): Add fstatat.
46805         * modules/linkat (Depends-on): Likewise.
46806         * modules/mkfifoat-tests (Depends-on): Likewise.
46807         * modules/utimensat (Depends-on): Add fstatat. Remove openat.
46809 2011-11-03  Bruno Haible  <bruno@clisp.org>
46811         New module 'unlinkat', split off from module 'openat'.
46812         * m4/unlinkat.m4: New file, extracted from m4/openat.m4.
46813         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_UNLINKAT,
46814         REPLACE_UNLINKAT, HAVE_UNLINKAT. Don't test for unlinkat.
46815         * modules/unlinkat: New file, extracted from modules/openat. Correct
46816         the dependency conditions.
46817         * modules/openat (Files): Remove lib/unlinkat.c.
46818         (Depends-on): Remove rmdir, unlink.
46819         (configure.ac): Remove AC_LIBOBJ of unlinkat.
46820         * modules/unlinkat-tests: New file, extracted from modules/openat-tests.
46821         * modules/openat-tests (Files): Remove tests/test-unlinkat.c,
46822         tests/test-rmdir.h, tests/test-unlink.h.
46823         (Depends-on): Remove unlinkdir.
46824         (Makefile.am): Remove rules for test-unlinkat.
46825         * doc/posix-functions/unlinkat.texi: Mention module 'unlinkat' instead
46826         of module 'openat'.
46827         * NEWS: Mention the change.
46828         * modules/linkat-tests (Depends-on): Add unlinkat.
46829         * modules/mkfifoat-tests (Depends-on): Likewise.
46830         * modules/readlinkat-tests (Depends-on): Likewise.
46832 2011-11-02  Bruno Haible  <bruno@clisp.org>
46834         New module 'fchmodat', split off from module 'openat'.
46835         * lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is
46836         defined.
46837         * m4/fchmodat.m4: New file, extracted from m4/openat.m4.
46838         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test
46839         for fchmodat, lchmod. Don't set HAVE_FCHMODAT.
46840         * modules/fchmodat: New file, extracted from modules/openat.
46841         * modules/openat (Files): Remove lib/fchmodat.c.
46842         (configure.ac): Remove AC_LIBOBJ of fchmodat.
46843         * modules/fchmodat-tests: New file, extracted from modules/openat-tests.
46844         * modules/openat-tests (Files): Remove tests/test-fchmodat.c.
46845         (Makefile.am): Remove rules for test-fchmodat.
46846         * doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead
46847         of module 'openat'.
46848         * NEWS: Mention the change.
46850 2011-11-02  Jim Meyering  <meyering@redhat.com>
46852         putenv: indent #definition of "environ" to placate cppi
46853         * lib/putenv.c (environ): Make indentation reflect cpp nesting.
46855         gitlog-to-changelog: provide a ChangeLog-repair mechanism
46856         Git logs are often treated as immutable, because editing them
46857         changes the SHA1 checksums of all descendants.  Thus, errors in
46858         git logs tend to stay there forever.  However, when we generate
46859         a ChangeLog file -- typically for distribution -- from that git log,
46860         we can actually make corrections in the generated file.  The key
46861         lies in recording in machine-readable/applicable form the desired
46862         corrections.  See --help for description and an example.
46863         * build-aux/gitlog-to-changelog (parse_amend_file): New function.
46864         (usage): Describe it; alphabetize option descriptions.
46865         (main): Honor the new option, carefully.
46867 2011-11-01  Jim Meyering  <meyering@redhat.com>
46869         gitlog-to-changelog: avoid an infloop
46870         * build-aux/gitlog-to-changelog: Don't infloop for a commit log
46871         that ends up being empty.
46873 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
46875         * MODULES.html.sh: Fix sed-script shell quoting and locale issues.
46876         (func_module): Replace foo=` ... sed -e COMPLICATED ... ` with
46877         bar=COMPLICATED; foo=` ... sed -e "$bar" ... ` when COMPLICATED
46878         contains (possibly-quoted) backslashes.  This should avoid
46879         all-too-common shell bugs if COMPLICATED contains backslashes in
46880         the "wrong" places.  Reported by David Evans in
46881         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00013.html>.
46882         When 'sed' uses character ranges like A-Z, invoke it in the C locale,
46883         because we want ASCII ranges.  Is there some reason we don't use
46884         the C locale everywhere in this script?
46885         (func_module, top level): Avoid unwanted pathname expansion when
46886         $repo_url_prefix or $repo_url_suffix_repl contain shell
46887         metacharacters like '?' and '*'.
46889 2011-11-01  Bruno Haible  <bruno@clisp.org>
46891         fchownat: Improve description.
46892         * modules/fchownat (Description): Add link to function.
46894 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
46896         * tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8.
46897         mingw supports alignments only up to 8 (!).  Reported by Bruno Haible in
46898         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00006.html>.
46899         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
46901 2011-11-01  Bruno Haible  <bruno@clisp.org>
46903         alignof: Avoid collision with stdalign module.
46904         * lib/alignof.h (alignof): Remove macro.
46905         * NEWS: Mention the change.
46906         Reported by Paul Eggert.
46908 2011-11-01  Bruno Haible  <bruno@clisp.org>
46910         New module 'fchownat', split off from module 'openat'.
46911         * lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is
46912         defined.
46913         * m4/fchownat.m4: New file, extracted from m4/openat.m4.
46914         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't
46915         invoke gl_FUNC_FCHOWNAT.
46916         (gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG,
46917         gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4.
46918         * modules/fchownat: New file, extracted from modules/openat.
46919         * modules/openat (Files): Remove lib/fchownat.c.
46920         (Depends-on): Remove lchown.
46921         (configure.ac): Remove AC_LIBOBJ of fchownat.
46922         * modules/fchownat-tests: New file, extracted from modules/openat-tests.
46923         * modules/openat-tests (Files): Remove tests/test-fchownat.c,
46924         tests/test-chown.h, tests/test-lchown.h, tests/nap.h.
46925         (Depends-on): Remove mgetgroups, usleep, stat-time.
46926         (configure.ac): Remove test for getegid.
46927         (Makefile.am): Remove rules for test-fchownat.
46928         * doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead
46929         of module 'openat'.
46930         * NEWS: Mention the change.
46932 2011-10-31  Paul Eggert  <eggert@cs.ucla.edu>
46934         stdalign: port better to MSVC and to Sun C 5.11
46935         This fixes some of the problems reported by Bruno Haible in
46936         <http://lists.gnu.org/r/bug-gnulib/2011-10/msg00300.html>.
46937         * doc/posix-headers/stdalign.texi (stdalign.h): Document more
46938         shortcomings of MSVC and of Sun C 5.11.
46939         * lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis
46940         around __declspec arg.
46941         * modules/stdalign-tests (Files): Add tests/macros.h.
46942         * tests/test-stdalign.c: Do not include <stdlib.h>; no longer needed.
46943         Include macros.h, for ASSERT.
46944         (DECLARE_ALIGNED): Remove.
46945         (TEST_ALIGNMENT): Define to 16 if alignment is supported (more likely
46946         to catch bug), and to 1 if not (simplifies the rest of the code).
46947         (CHECK_STATIC): Always declare the alignment test vars; that's simpler.
46948         (CHECK_AUTO): Remove.
46949         (CHECK_ALIGNED): Check only the alignment of the static vars,
46950         since auto var alignment isn't supported by Sun C 5.11.
46951         (CHECK_TYPES): Remove.  All uses replaced by inline code, so that
46952         ASSERT failures are easier to diagnose.
46954 2011-10-31  Bruno Haible  <bruno@clisp.org>
46956         doc about some IRIX 5.3 problems.
46957         * doc/posix-functions/getpwnam_r.texi: Mention incompatible declaration
46958         on IRIX 5.3.
46959         * doc/posix-headers/poll.texi: Mention missing nfds_t on IRIX 5.3.
46960         * doc/posix-functions/ptsname.texi: Mention missing declaration on IRIX
46961         5.3.
46962         * doc/posix-functions/grantpt.texi: Likewise.
46963         * doc/posix-functions/unlockpt.texi: Likewise.
46964         * doc/posix-functions/lgamma.texi: Likewise.
46965         * doc/posix-functions/nextafter.texi: Likewise.
46966         * doc/posix-functions/remainder.texi: Likewise.
46967         * doc/posix-functions/select.texi: Mention misplaced declaration on
46968         IRIX 5.3.
46969         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
46971 2011-10-31  Dmitry V. Levin  <ldv@altlinux.org>
46973         gitlog-to-changelog: fix git-log invocation.
46974         git-log mishandles date strings before 1970-01-01 UTC, and there is
46975         no use to specify --since=1970-01-01 by default anyway.
46976         * build-aux/gitlog-to-changelog: By default, when no --since option
46977         was given, do not specify explicit --since option to git-log.
46979 2011-10-30  Dmitry V. Levin  <ldv@altlinux.org>
46981         gitlog-to-changelog: new option --append-dot.
46982         * build-aux/gitlog-to-changelog: New option --append-dot, makes the
46983         first non-blank line of each commit message terminated with a dot.
46985 2011-10-30  Bruno Haible  <bruno@clisp.org>
46987         ffsl, ffsll: Avoid compilation error due to 'restrict'.
46988         * lib/ffsl.h: Include <config.h>.
46989         Suggested by Tom G. Christensen <tgc@jupiterrise.com>.
46991 2011-10-30  Jim Meyering  <meyering@redhat.com>
46993         GNUmakefile: reenable "make syntax-check" for most projects
46994         Since Friday's commit 05e2d798, "maint.mk: don't maintain a second
46995         build-aux variable", "syntax-check" would do nothing but succeed with
46996         the "No version control files detected..." diagnostic (unless you
46997         happened to override _build-aux via cfg.mk).
46998         * top/GNUmakefile (_autoreconf, _build-aux): Move default definitions
46999         to precede inclusion of maint.mk.  Otherwise, these variables would
47000         be used undefined in any project that does not override the default.
47002 2011-10-29  Dmitry V. Levin  <ldv@altlinux.org>
47004         gitlog-to-changelog: treat a message with only blank lines as empty.
47005         * build-aux/gitlog-to-changelog: Move the code that removes leading and
47006         trailing blank lines before the code that issues a warning about an
47007         empty commit message.
47009 2011-10-30  Jim Meyering  <meyering@redhat.com>
47011         test-parse-datetime.c: avoid new DST-related false positive test failure
47012         * tests/test-parse-datetime.c (gmt_offset): Determine the "gmt_offset"
47013         based on the time/date we'll convert, not the current time.
47014         Otherwise, the moment we cross a DST boundary like today's in
47015         Europe, (CEST to CET), that offset ends up being one hour off.
47017 2011-10-27  Bruno Haible  <bruno@clisp.org>
47019         fstat: Tweak documentation.
47020         * modules/fstat (Description): More precise description.
47022 2011-10-27  Bruno Haible  <bruno@clisp.org>
47024         Update documentation regarding 'largefile' module.
47025         * doc/posix-functions/fstat.texi: Tweak wording.
47026         * doc/posix-functions/opendir.texi: Mention that the module fixes the
47027         problems with huge directories and/or small ino_t types.
47028         * doc/posix-functions/readdir.texi: Likewise.
47029         * doc/posix-functions/rewinddir.texi: Likewise.
47031 2011-10-28  Gary V. Vaughan  <gary@gnu.org>
47033         maint.mk: don't maintain a second build-aux variable.
47034         * maint.mk (build_aux): Removed.  The maintainer-makefile module
47035         depends on GNUmakefile, which already maintains a cfg.mk
47036         overridable $(_build-aux) for projects with a non-standard
47037         build-aux directory location, although without the $(srcdir)
47038         prefix.  Use that variable consistently instead of introducing a
47039         second one.  Adjust all call sites.
47041 2011-10-27  Paul Eggert  <eggert@cs.ucla.edu>
47043         Add stdalign module and use it in other modules.
47044         This is based on a previous proposal by Bruno Haible
47045         <https://lists.gnu.org/r/bug-gnulib/2011-07/msg00226.html>.
47047         stdalign: new module
47048         * doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4:
47049         * modules/stdalign: New files.
47050         * MODULES.html.sh (c1x_core_properties): Add stdalign.
47051         * doc/gnulib.texi (Header File Substitutes): Add stdalign.
47053         stdalign-tests: new module
47054         * modules/stdalign-tests, tests/test-stdalign.c: New files.
47056         argp: use stdalign
47057         * lib/argp-parse.c: Include <stdalign.h>.
47058         (alignof): Remove.
47059         * modules/argp (Depends-on): Add stdalign.
47061         crypto libraries: use stdalign
47062         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
47063         Include <stdalign.h> and <stdint.h>.  Do not include <stddef.h>.
47064         Do not include <stdlib.h> twice, in md4.c.
47065         (UNALIGNED_P): Simplify by using alignof.  Use uintptr_t, not size_t,
47066         because we are accessing a pointer's bit-pattern, not a size.
47067         * modules/crypto/gc-md4 (Depends-on): Add stdalign.
47068         * modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4:
47069         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
47070         * modules/crypto/sha512: Likewise.
47072         sys_socket: use stdalign, not alignof
47073         * lib/sys_socket.in.h: Include <stdalign.h> instead of <alignof.h>.
47074         * modules/sys_socket (Depends-on): Depend on stdalign, not alignof.
47076 2011-10-27  Bruno Haible  <bruno@clisp.org>
47078         raise test: Avoid a test failure on Linux/MIPS.
47079         * tests/test-raise.c (main): Try raising signal 199, not 99. Needed
47080         because 99 is a valid signal on Linux/MIPS.
47082 2011-10-27  Bruno Haible  <bruno@clisp.org>
47084         nonblocking tests: Fix test failure on Linux/MIPS.
47085         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]:
47086         Set to 270000.
47088 2011-10-27  Bruno Haible  <bruno@clisp.org>
47090         utimensat: Work around problem on Linux/hppa.
47091         * lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec
47092         values.
47093         * doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa.
47095 2011-10-25  Jim Meyering  <meyering@redhat.com>
47097         maint.mk: fix a bug in sc_prohibit_stddef_without_use
47098         * top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/
47099         after symbols like NULL, size_t, etc.
47100         Reported by Alfred M. Szmidt.
47102         maint.mk: exempt ENODATA from a syntax-check rule
47103         * top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA
47104         from the sc_prohibit_always-defined_macros syntax-check rule.
47105         Add a comment.  See this for more details:
47106         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795
47108 2011-10-23  Jim Meyering  <meyering@redhat.com>
47110         fts: close parent dir FD before returning from post-traversal fts_read
47111         The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to
47112         unlink A, even though an FD open on A remained.  This is suboptimal
47113         (holding a file descriptor open longer than needed), but otherwise not
47114         a problem on Unix-like kernels.  However, on Cygwin with certain Novell
47115         file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html),
47116         that represents a real problem: it causes the removal of A to fail
47117         with e.g., "rm: cannot remove `A': Device or resource busy"
47119         fts visits each directory twice and keeps a cache (fts_fd_ring) of
47120         directory file descriptors.  After completing the final, FTS_DP,
47121         visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD
47122         cache, but then proceeded to add a new FD to it via the subsequent
47123         FCHDIR (which calls cwd_advance_fd and i_ring_push).  Before, the
47124         final file descriptor would be closed only via fts_close's call to
47125         fd_ring_clear.  Now, it is usually closed earlier, via the final
47126         FTS_DP-returning fts_read call.
47127         * lib/fts.c (restore_initial_cwd): New function, converted from
47128         the macro.  Call fd_ring_clear *after* FCHDIR, not before it.
47129         Update callers.
47130         Reported by Franz Sirl via the above URL, with analysis by Eric Blake
47131         in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739
47133 2011-10-23  Gary V. Vaughan  <gary@gnu.org>
47134             Bruno Haible  <bruno@clisp.org>
47135             Jim Meyering  <jim@meyering.net>
47137         readme-release: improve safety of release prep instructions.
47138         * README-release: Don't git pull all branches when only master
47139         is needed for the release process.
47140         Run make maintainer-clean before changing trees and merging.
47141         Don't try to run ./configure right after git pull in case files
47142         that influence the bootstrap process have changed, move the
47143         ./configure step to after running ./bootstrap.
47144         Don't bootstrap "one last time"... it's the first time!
47146 2011-10-22  Bruno Haible  <bruno@clisp.org>
47148         errno, strerror-override: Support for MSVC 10.
47149         * lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro.
47150         (ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP,
47151         ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK,
47152         EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT,
47153         EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN,
47154         ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT,
47155         ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]:
47156         Assign values compatible with MSVC 10.
47157         (ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER):
47158         New macros.
47159         (GNULIB_defined_EWINSOCK): New macro.
47160         * lib/strerror-override.c (strerror_override): Update accordingly.
47161         * lib/strerror-override.h: Likewise.
47162         * lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no
47163         longer equal to the corresponding errno value.
47164         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
47166 2011-10-22  Bruno Haible  <bruno@clisp.org>
47168         perror: Recognize when test program crashes.
47169         * m4/perror.m4 (gl_FUNC_PERROR): If the test program crashes due to
47170         strerror, set gl_cv_func_perror_works to no.
47171         Reported by Daniel Richard G. <skunk@iskunk.org>.
47173         perror: Fix indentation.
47174         * m4/perror.m4 (gl_FUNC_PERROR): Fix indentation.
47176 2011-10-22  Bruno Haible  <bruno@clisp.org>
47178         isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
47179         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_1,
47180         _GL_MATH_CXX_REAL_FLOATING_DECL_2): nEW MACROS.
47181         (isfinite, isinf, isnan, signbit): In C++, define as overloaded
47182         functions, not as a macro.
47183         * tests/test-math-c++.cc (REAL_FLOATING_CHECK, OVERLOADED_CHECK): New
47184         macros.
47185         (isfinite, isinf, isnan, signbit): Check overloaded functions and
47186         absence of macro.
47187         Suggested by Eric Blake.
47188         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
47190 2011-10-21  Bruno Haible  <bruno@clisp.org>
47192         relocatable-prog-wrapper: Don't leave object files behind.
47193         * build-aux/install-reloc: Re-synchronize list of .o files to be
47194         removed with list of compilation units.
47196 2011-10-20  Bruno Haible  <bruno@clisp.org>
47198         openpty, posix_openpt: Remove code duplication.
47199         * lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c.
47200         * lib/openpty.c: Include <stdlib.h>.
47201         (openpty): Use posix_openpt on all platforms except IRIX.
47202         * modules/openpty (Depends-on): Add posix_openpt. Add conditions.
47204 2011-10-20  Bruno Haible  <bruno@clisp.org>
47206         unlockpt: Detect invalid argument.
47207         * lib/unlockpt.c: Include <fcntl.h>.
47208         (unlockpt): Check whether fd is valid, using fcntl().
47209         * modules/unlockpt (Depends-on): Add fcntl-h.
47211 2011-10-20  Bruno Haible  <bruno@clisp.org>
47213         openpty: Avoid compilation error on AIX 6.1.
47214         * lib/pty.in.h [AIX]: Include <sys/ioctl.h>, for 'struct winsize'.
47216 2011-10-20  Bruno Haible  <bruno@clisp.org>
47218         posix_openpt: Support for OpenBSD.
47219         * lib/posix_openpt.c [OpenBSD]: Include <sys/ioctl.h>, <sys/tty.h>.
47220         (posix_openpt) [OpenBSD]: New code.
47221         * lib/grantpt.c: Include <fcntl.h>.
47222         (grantpt) [OpenBSD]: Only test whether fd is valid, nothing else.
47223         * modules/grantpt (Depends-on): Add fcntl-h.
47225 2011-10-20  Bruno Haible  <bruno@clisp.org>
47227         posix_openpt test: Coding style.
47228         * tests/test-posix_openpt.c: Use GNU coding style.
47230 2011-10-20  Bruno Haible  <bruno@clisp.org>
47232         grantpt: Support --avoid=pt_chown.
47233         * modules/grantpt (Files): Add lib/pty-private.h.
47235 2011-10-20  Bruno Haible  <bruno@clisp.org>
47237         posix_openpt: Fix autoconf macro.
47238         * m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Fix variable name. Remove
47239         unneeded check for _getpty.
47241 2011-10-20  Bruno Haible  <bruno@clisp.org>
47243         openpty: Update comments.
47244         * lib/openpty.c: Add comments about Minix.
47246 2011-10-19  Eric Blake  <eblake@redhat.com>
47248         openpty: relax license
47249         * modules/openpty (License): Change from LGPLv3+ to LGPLv2+.
47251         pt_chown: use configmake to simplify build
47252         * modules/pt_chown (Makefile.am): Drop line guaranteed by configmake.
47254         ptsname and others: relax license
47255         * modules/grantpt (License): Change from LGPLv3+ to LGPLv2+.
47256         * modules/unlockpt (License): Likewise.
47257         * modules/pt_chown (License): Likewise.
47258         * modules/ptsname (License): Likewise.
47259         * modules/ttyname_r (License): Likewise.
47261 2011-10-19  Jim Meyering  <meyering@redhat.com>
47263         posix_openpt: remove spurious #endif
47264         * lib/posix_openpt.c (posix_openpt): Remove spurious #endif.
47266 2011-10-19  Gary V. Vaughan  <gary@gnu.org>
47268         maint.mk: Respect $(build_aux) in web-manual rule.
47269         * top/maint.mk (web-manual): Find gen-announce script in user's
47270         $(build_aux) directory instead of hard-coding 'build-aux'.
47272 2011-10-19  Bruno Haible  <bruno@clisp.org>
47274         posix_openpt: Fix compilation error.
47275         * lib/posix_openpt.c (posix_openpt): Renamed from posix_openpty.
47276         * doc/posix-functions/posix_openpt.texi: Mention ENOENT error code.
47277         Mention the openpty module as an alternative.
47279 2011-10-19  Bruno Haible  <bruno@clisp.org>
47281         Support for old NeXTstep 3.3 frexp().
47282         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm. Limit the
47283         execution time of the test to 5 seconds.
47284         Reported by Daniel Richard G. <skunk@iskunk.org>.
47286 2011-10-19  Bruno Haible  <bruno@clisp.org>
47288         Support for old NeXTstep 3.3 sed.
47289         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): In the sed address
47290         part, use /.../, not \|...|. Escape periods in the header file name.
47291         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
47292         Reported by Daniel Richard G. <skunk@iskunk.org>.
47294 2011-10-18  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
47296         Support for old NeXTstep 3.3 gcc.
47297         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Write
47298         'defined __STRICT_ANSI__', not '__STRICT_ANSI__'.
47299         * lib/math.in.h (_GL_NUM_UINT_WORDS etc.): Likewise.
47300         * lib/spawn.in.h (_Restrict_arr_): Likewise.
47301         * lib/regex.h (_Restrict_arr_): Likewise.
47302         * lib/regex_internal.h (re_token_t): Likewise.
47303         * lib/regexec.c (check_node_accept_bytes): Likewise.
47304         * tests/test-printf-posix.c (func1, func2, func3, func4): Likewise.
47306 2011-10-18  Eric Blake  <eblake@redhat.com>
47308         posix_openpt: new module
47309         * modules/posix_openpt: New module.
47310         * m4/posix_openpt.m4: New file.
47311         * lib/posix_openpt.c: Likewise.
47312         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
47313         (gl_STDLIB_H_DEFAULTS): Set defaults.
47314         * modules/stdlib (Makefile.am): Substitute macros.
47315         * lib/stdlib.in.h (posix_openpt): Declare.
47316         * MODULES.html.sh (systems lacking POSIX:2008): Document it.
47317         * doc/posix-functions/posix_openpt.texi (posix_openpt): Likewise.
47318         * modules/posix_openpt-tests: New test module.
47319         * tests/test-posix_openpt.c: New test.
47321 2011-10-15  Bruno Haible  <bruno@clisp.org>
47323         xstrtoll: Fix compilation failure.
47324         * lib/xstrtol.c (ULLONG_MAX, LLONG_MAX, LLONG_MIN): New macros, taken
47325         from lib/strtol.c.
47326         * doc/posix-headers/limits.texi: Mention missing numerical limits on
47327         some platforms.
47328         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
47330 2011-10-15  Bruno Haible  <bruno@clisp.org>
47332         vasnprintf: Optimize bit search operation.
47333         * lib/vasnprintf.c (divide): Use optimizations from integer_length.c.
47334         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require
47335         gl_DOUBLE_EXPONENT_LOCATION.
47336         * modules/vasnprintf (Files): Add m4/exponentd.m4.
47337         * modules/unistdio/u8-vasnprintf (Files): Likewise.
47338         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
47339         * modules/unistdio/u16-vasnprintf (Files): Likewise.
47340         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
47341         * modules/unistdio/u32-vasnprintf (Files): Likewise.
47342         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
47343         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
47344         * m4/isnand.m4 (gl_PREREQ_ISNAND): Use AC_REQUIRE.
47346 2011-10-15  Bruno Haible  <bruno@clisp.org>
47348         vasnprintf: Fix comments.
47349         * lib/vasnprintf.c (decode_long_double, decode_double): Fix comments.
47351 2011-10-14  Bruno Haible  <bruno@clisp.org>
47353         Tests for module 'integer_length_ll'.
47354         * modules/integer_length_ll-tests: New file.
47355         * tests/test-integer_length_ll.c: New file.
47357         New module 'integer_length_ll'.
47358         * lib/integer_length_ll.c: New file.
47359         * modules/integer_length_ll: New file.
47361 2011-10-14  Bruno Haible  <bruno@clisp.org>
47363         Tests for module 'integer_length_l'.
47364         * modules/integer_length_l-tests: New file.
47365         * tests/test-integer_length_l.c: New file.
47367         New module 'integer_length_l'.
47368         * lib/integer_length_l.c: New file.
47369         * modules/integer_length_l: New file.
47371 2011-10-14  Bruno Haible  <bruno@clisp.org>
47373         Tests for module 'integer_length'.
47374         * modules/integer_length-tests: New file.
47375         * tests/test-integer_length.c: New file.
47377         New module 'integer_length'.
47378         * lib/integer_length.h: New file.
47379         * lib/integer_length.c: New file.
47380         * modules/integer_length: New file.
47382 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
47384         popen: Fix dependency conditions.
47385         * modules/popen (Depends-on, configure.ac): Fix shell syntax error.
47387 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
47389         perror: Fix autoconf test.
47390         * m4/perror.m4 (gl_FUNC_PERROR): In the test program, include
47391         <stdlib.h> and <string.h>.
47393 2011-10-14  Bruno Haible  <bruno@clisp.org>
47395         ffsl: Optimize on 64-bit platforms.
47396         * lib/ffsl.h (FUNC): Omit a test from the last loop round. Do loop
47397         unrolling.
47399 2011-10-13  Bruno Haible  <bruno@clisp.org>
47401         ffsl: Optimize on 32-bit platforms.
47402         * lib/ffsl.h (FUNC): If TYPE has the same representation as 'int', just
47403         use ffs() without a loop.
47405         ffsl, ffsll: Optimize for GCC.
47406         * lib/ffsl.h (FUNC): Use GCC_BUILTIN if defined.
47407         * lib/ffsl.c (GCC_BUILTIN): New macro.
47408         * lib/ffsll.c (GCC_BUILTIN): Likewise.
47410 2011-10-13  Bruno Haible  <bruno@clisp.org>
47412         ffs, bcopy, memset: Support symbol renaming via config.h.
47413         * lib/ffs.c: Include <config.h>.
47414         * lib/bcopy.c: Likewise.
47415         * lib/memset.c: Likewise.
47417 2011-10-10  Bruno Haible  <bruno@clisp.org>
47419         atanl: Simplify for platforms where 'long double' == 'double'.
47420         * lib/atanl.c (atanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
47421         alternative implementation.
47422         * m4/atanl.m4 (gl_FUNC_ATANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
47423         Determine ATANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
47424         * modules/atanl (Depends-on): Add atan. Update conditions.
47426 2011-10-10  Bruno Haible  <bruno@clisp.org>
47428         acosl: Simplify for platforms where 'long double' == 'double'.
47429         * lib/acosl.c (acosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
47430         alternative implementation.
47431         * m4/acosl.m4 (gl_FUNC_ACOSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
47432         Determine ACOSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
47433         * modules/acosl (Depends-on): Add acos. Update conditions.
47435 2011-10-10  Bruno Haible  <bruno@clisp.org>
47437         asinl: Simplify for platforms where 'long double' == 'double'.
47438         * lib/asinl.c (asinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
47439         alternative implementation.
47440         * m4/asinl.m4 (gl_FUNC_ASINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
47441         Determine ASINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
47442         * modules/asinl (Depends-on): Add asin. Update conditions.
47444 2011-10-10  Bruno Haible  <bruno@clisp.org>
47446         tanl: Simplify for platforms where 'long double' == 'double'.
47447         * lib/tanl.c (tanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
47448         implementation.
47449         * m4/tanl.m4 (gl_FUNC_TANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
47450         Determine TANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
47451         * modules/tanl (Depends-on): Add tan. Update conditions.
47452         (configure.ac): Don't compile trigl.c if
47453         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
47455 2011-10-10  Bruno Haible  <bruno@clisp.org>
47457         cosl: Simplify for platforms where 'long double' == 'double'.
47458         * lib/cosl.c (cosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
47459         implementation.
47460         * m4/cosl.m4 (gl_FUNC_COSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
47461         Determine COSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
47462         * modules/cosl (Depends-on): Add cos. Update conditions.
47463         (configure.ac): Don't compile sincosl.c and trigl.c if
47464         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
47466 2011-10-10  Bruno Haible  <bruno@clisp.org>
47468         sinl: Simplify for platforms where 'long double' == 'double'.
47469         * lib/sinl.c (sinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
47470         implementation.
47471         * m4/sinl.m4 (gl_FUNC_SINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
47472         Determine SINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
47473         * modules/sinl (Depends-on): Add sin. Update conditions.
47474         (configure.ac): Don't compile sincosl.c and trigl.c if
47475         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
47477 2011-10-10  Bruno Haible  <bruno@clisp.org>
47479         logl: Simplify for platforms where 'long double' == 'double'.
47480         * lib/logl.c (logl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
47481         implementation.
47482         * m4/logl.m4 (gl_FUNC_LOGL): Require gl_LONG_DOUBLE_VS_DOUBLE.
47483         Determine LOGL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
47484         * modules/logl (Depends-on): Add log. Update conditions.
47486 2011-10-10  Bruno Haible  <bruno@clisp.org>
47488         expl: Simplify for platforms where 'long double' == 'double'.
47489         * lib/expl.c (expl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
47490         implementation.
47491         * m4/expl.m4 (gl_FUNC_EXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
47492         Determine EXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
47493         * modules/expl (Depends-on): Add exp. Update conditions.
47495 2011-10-10  Bruno Haible  <bruno@clisp.org>
47497         sqrtl: Simplify for platforms where 'long double' == 'double'.
47498         * lib/sqrtl.c (sqrtl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
47499         alternative implementation.
47500         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
47501         Determine SQRTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
47502         * modules/sqrtl (Depends-on): Update conditions.
47504 2011-10-10  Bruno Haible  <bruno@clisp.org>
47506         ldexpl: Simplify for platforms where 'long double' == 'double'.
47507         * lib/ldexpl.c (ldexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
47508         alternative implementation.
47509         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
47510         Determine LDEXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
47511         * modules/ldexpl (Depends-on): Add ldexp. Update conditions.
47513 2011-10-10  Tom G. Christensen  <tgc@jupiterrise.com>  (tiny change)
47515         ffsll: set correct witness
47516         * modules/ffsll (configure.ac): Fix typo.
47518 2011-10-10  Bruno Haible  <bruno@clisp.org>
47520         printf-frexpl: Simplify for platforms where 'long double' == 'double'.
47521         * lib/printf-frexpl.c: Include <config.h>.
47522         (printf_frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
47523         * lib/printf-frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a
47524         second time.
47525         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Require
47526         gl_LONG_DOUBLE_VS_DOUBLE.
47527         * modules/printf-frexpl (Depends-on): Add printf-frexp. Update
47528         conditions.
47530 2011-10-10  Bruno Haible  <bruno@clisp.org>
47532         frexpl: Simplify for platforms where 'long double' == 'double'.
47533         * lib/frexpl.c: Include <config.h>.
47534         (frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
47535         * lib/frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
47536         time.
47537         * m4/frexpl.m4 (gl_FUNC_FREXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
47538         Determine FREXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
47539         (gl_FUNC_FREXPL_NO_LIBM): Require gl_LONG_DOUBLE_VS_DOUBLE.
47540         * modules/frexpl (Depends-on): Add frexp. Update conditions.
47541         * modules/frexpl-nolibm (Depends-on): Add frexp-nolibm. Update
47542         conditions.
47544 2011-10-10  Jim Meyering  <meyering@redhat.com>
47546         test-renameat: don't leave behind a temporary file
47547         * tests/test-renameat.c (main): Don't forget to remove a temporary file.
47548           ERROR: files left in build directory after distclean:
47549           ./gltests/test-renameat.too
47550           make[1]: *** [distcleancheck] Error 1
47551         Reported by Tom G. Christensen.
47553 2011-10-09  Bruno Haible  <bruno@clisp.org>
47555         rint: Determine RINT_LIBM correctly on AIX 7.
47556         * m4/mathfunc.m4 (gl_MATHFUNC): Try to invoke the function also
47557         directly, not only through a function pointer. Also accept an optional
47558         4th argument with extra code.
47559         * m4/rint.m4 (gl_FUNC_RINT): Pass an extra code that gets turned into a
47560         rintf() call by gcc when optimizing.
47562         mathfunc.m4: Refactor.
47563         * m4/mathfunc.m4 (gl_MATHFUNC): Assign the argument list to a temporary
47564         m4 variable.
47566 2011-10-09  Bruno Haible  <bruno@clisp.org>
47568         rintl: Simplify for platforms where 'long double' == 'double'.
47569         * lib/rintl.c: Include <config.h>.
47570         (rintl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
47571         * lib/rint.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
47572         time.
47573         * m4/rintl.m4 (gl_FUNC_RINTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
47574         Determine RINTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
47575         * modules/rintl (Depends-on): Add rint. Update conditions.
47577 2011-10-09  Bruno Haible  <bruno@clisp.org>
47579         roundl: Simplify for platforms where 'long double' == 'double'.
47580         * lib/roundl.c: Include <config.h>.
47581         (roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
47582         * lib/round.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
47583         time.
47584         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require gl_LONG_DOUBLE_VS_DOUBLE.
47585         Determine ROUNDL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
47586         * modules/roundl (Depends-on): Add round. Update conditions.
47588 2011-10-09  Bruno Haible  <bruno@clisp.org>
47590         truncl: Simplify for platforms where 'long double' == 'double'.
47591         * lib/truncl.c: Include <config.h>.
47592         (truncl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
47593         * lib/trunc.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
47594         time.
47595         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require gl_LONG_DOUBLE_VS_DOUBLE.
47596         Determine TRUNCL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
47597         * modules/truncl (Depends-on): Add trunc. Update conditions.
47599 2011-10-09  Bruno Haible  <bruno@clisp.org>
47601         ceill: Simplify for platforms where 'long double' == 'double'.
47602         * lib/ceill.c: Include <config.h>.
47603         (ceill) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
47604         * lib/ceil.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
47605         time.
47606         * m4/ceill.m4 (gl_FUNC_CEILL): Require gl_LONG_DOUBLE_VS_DOUBLE.
47607         Determine CEILL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
47608         * modules/ceill (Depends-on): Add ceil. Update conditions.
47610 2011-10-09  Bruno Haible  <bruno@clisp.org>
47612         floorl: Simplify for platforms where 'long double' == 'double'.
47613         * lib/floorl.c: Include <config.h>.
47614         (floorl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
47615         * lib/floor.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
47616         time.
47617         * m4/floorl.m4 (gl_FUNC_FLOORL): Require gl_LONG_DOUBLE_VS_DOUBLE.
47618         Determine FLOORL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
47619         * modules/floorl (Depends-on): Add floor. Update conditions.
47621 2011-10-09  Bruno Haible  <bruno@clisp.org>
47623         rint: Fix ordering constraints.
47624         * m4/rint.m4 (gl_FUNC_RINT): Require gl_MATH_H_DEFAULTS.
47625         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
47626         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
47628 2011-10-09  Bruno Haible  <bruno@clisp.org>
47630         copysignl: Simplify for platforms where 'long double' == 'double'.
47631         * lib/copysignl.c (copysignl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
47632         alternative.
47633         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Require gl_LONG_DOUBLE_VS_DOUBLE.
47634         Determine COPYSIGNL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
47635         * modules/copysignl (Depends-on): Add copysign. Update conditions.
47637 2011-10-09  Bruno Haible  <bruno@clisp.org>
47639         Tests for module 'rintl'.
47640         * modules/rintl-tests: New file.
47641         * tests/test-rintl.c: New file.
47643         New module 'rintl'.
47644         * lib/math.in.h (rintl): New declaration.
47645         * lib/rintl.c: New file.
47646         * m4/rintl.m4: New file.
47647         * m4/math_h.m4 (gl_MATH_H): Test whether rintl is declared.
47648         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTL, HAVE_RINTL.
47649         * modules/math (Makefile.am): Substitute GNULIB_RINTL, HAVE_RINTL.
47650         * modules/rintl: New file.
47651         * tests/test-math-c++.cc: Check the declaration of rintl.
47652         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
47653         $(RINTL_LIBM). Needed on IRIX 6.5 with cc.
47654         * doc/posix-functions/rintl.texi: Mention the new module.
47656 2011-10-09  Bruno Haible  <bruno@clisp.org>
47658         Tests for module 'rintf'.
47659         * modules/rintf-tests: New file.
47660         * tests/test-rintf.c: New file.
47662         New module 'rintf'.
47663         * lib/math.in.h (rintf): New declaration.
47664         * lib/rintf.c: New file.
47665         * m4/rintf.m4: New file.
47666         * m4/math_h.m4 (gl_MATH_H): Test whether rintf is declared.
47667         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTF, HAVE_RINTF.
47668         * modules/math (Makefile.am): Substitute GNULIB_RINTF, HAVE_RINTF.
47669         * modules/rintf: New file.
47670         * tests/test-math-c++.cc: Check the declaration of rintf.
47671         * doc/posix-functions/rintf.texi: Mention the new module.
47673 2011-10-09  Bruno Haible  <bruno@clisp.org>
47675         rint: Support for MSVC.
47676         * lib/math.in.h (rint): New declaration.
47677         * lib/rint.c: New file.
47678         * m4/rint.m4: New file.
47679         * m4/math_h.m4 (gl_MATH_H): Test whether rint is declared.
47680         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINT, HAVE_RINT.
47681         * modules/math (Makefile.am): Substitute GNULIB_RINT, HAVE_RINT.
47682         * modules/rint (Description): Fix.
47683         (Files): Add lib/rint.c, m4/rint.m4.
47684         (Depends-on): Add math.
47685         (configure.ac): Invoke gl_FUNC_RINT, AC_LIBOBJ,
47686         gl_MATH_MODULE_INDICATOR.
47687         * tests/test-math-c++.cc: Check the declaration of rint.
47688         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
47689         $(RINT_LIBM). Needed on IRIX 6.5 with cc.
47690         * doc/posix-functions/rint.texi: Mention the replacement provided by
47691         the module.
47693         rint tests: More tests.
47694         * tests/test-rint.c: Include <float.h>, <stdio.h>, isnand-nolibm.h,
47695         minus-zero.h, infinity.h, nan.h.
47696         (main): Skip the test if the current rounding mode is not standard. Add
47697         tests for negative numbers, minus zero, infinity, NaN.
47698         * modules/rint-tests (Files): Add tests/minus-zero.h, tests/infinity.h,
47699         tests/nan.h.
47700         (Depends-on): Add isnand-nolibm.
47702 2011-10-09  Bruno Haible  <bruno@clisp.org>
47704         Tests for module 'copysignl'.
47705         * modules/copysignl-tests: New file.
47706         * tests/test-copysignl.c: New file.
47708         New module 'copysignl'.
47709         * lib/math.in.h (copysignl): New declaration.
47710         * lib/copysignl.c: New file.
47711         * m4/copysignl.m4: New file.
47712         * m4/math_h.m4 (gl_MATH_H): Test whether copysignl is declared.
47713         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNL, HAVE_COPYSIGNL.
47714         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNL,
47715         HAVE_COPYSIGNL.
47716         * modules/copysignl: New file.
47717         * tests/test-math-c++.cc: Check the declaration of copysignl.
47718         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
47719         $(COPYSIGNL_LIBM). Needed on IRIX 6.5 with cc.
47720         * doc/posix-functions/copysignl.texi: Mention the new module.
47722 2011-10-09  Bruno Haible  <bruno@clisp.org>
47724         Tests for module 'copysignf'.
47725         * modules/copysignf-tests: New file.
47726         * tests/test-copysignf.c: New file.
47728         New module 'copysignf'.
47729         * lib/math.in.h (copysignf): New declaration.
47730         * lib/copysignf.c: New file.
47731         * m4/copysignf.m4: New file.
47732         * m4/math_h.m4 (gl_MATH_H): Test whether copysignf is declared.
47733         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNF, HAVE_COPYSIGNF.
47734         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNF,
47735         HAVE_COPYSIGNF.
47736         * modules/copysignf: New file.
47737         * tests/test-math-c++.cc: Check the declaration of copysignf.
47738         * doc/posix-functions/copysignf.texi: Mention the new module.
47740 2011-10-09  Bruno Haible  <bruno@clisp.org>
47742         Ensure that HAVE_* variables are set to 1 before they are set to 0.
47743         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require gl_DIRENT_H_DEFAULTS.
47744         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS.
47745         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
47746         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Require
47747         gl_SIGNAL_H_DEFAULTS.
47749 2011-10-09  Bruno Haible  <bruno@clisp.org>
47751         poll: Make macro safer.
47752         * m4/poll.m4 (gl_FUNC_POLL): Complain if, after invoking gl_POLL_H,
47753         ac_cv_header_poll_h is not set.
47755 2011-10-09  Bruno Haible  <bruno@clisp.org>
47757         copysign: Provide replacement.
47758         * lib/math.in.h (copysign): New declaration.
47759         * lib/copysign.c: New file.
47760         * m4/copysign.m4: New file.
47761         * m4/math_h.m4 (gl_MATH_H): Test whether copysign is declared.
47762         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGN, HAVE_COPYSIGN.
47763         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGN,
47764         HAVE_COPYSIGN.
47765         * modules/copysign (Description): Clarify.
47766         (Files): Add lib/copysign.c, m4/copysign.m4.
47767         (Depends-on): Add math, signbit.
47768         (configure.ac): Invoke gl_FUNC_COPYSIGN, AC_LIBOBJ,
47769         gl_MATH_MODULE_INDICATOR.
47770         * tests/test-math-c++.cc: Check the declaration of copysign.
47771         * doc/posix-functions/copysign.texi: Mention the effects of the module
47772         on Minix and MSVC.
47774 2011-10-09  Bruno Haible  <bruno@clisp.org>
47776         isinf: Ensure macro on AIX 5.1.
47777         * m4/isinf.m4 (gl_ISINF): Also test whether isinf is defined as a
47778         macro.
47779         * doc/posix-functions/isinf.texi: Mention also AIX 5.1 as deficient.
47781 2011-10-09  Bruno Haible  <bruno@clisp.org>
47783         *printf-posix tests: Fix for platforms where 'long double' == 'double'.
47784         * modules/snprintf-posix-tests (configure.ac): Require
47785         gl_LONG_DOUBLE_VS_DOUBLE.
47786         * modules/sprintf-posix-tests (configure.ac): Likewise.
47787         * modules/vasnprintf-posix-tests (configure.ac): Likewise.
47788         * modules/vasprintf-posix-tests (configure.ac): Likewise.
47789         * modules/vsnprintf-posix-tests (configure.ac): Likewise.
47790         * modules/vsprintf-posix-tests (configure.ac): Likewise.
47791         * tests/test-snprintf-posix.h (test_function): Avoid 80-bit long double
47792         tests on platforms where 'long double' is the same as 'double'.
47793         * tests/test-sprintf-posix.h (test_function): Likewise.
47794         * tests/test-vasnprintf-posix.c (test_function): Likewise.
47795         * tests/test-vasprintf-posix.c (test_function): Likewise.
47797         *printf: Fix for platforms where 'long double' == 'double'.
47798         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
47799         gl_LONG_DOUBLE_VS_DOUBLE. Don't blindly assume 80-bit 'long double'.
47800         * modules/dprintf-posix (Files): Add m4/math_h.m4.
47801         * modules/fprintf-posix (Files): Likewise.
47802         * modules/obstack-printf-posix (Files): Likewise.
47803         * modules/snprintf-posix (Files): Likewise.
47804         * modules/sprintf-posix (Files): Likewise.
47805         * modules/vasnprintf (Files): Likewise.
47806         * modules/vasnprintf-posix (Files): Likewise.
47807         * modules/vasprintf-posix (Files): Likewise.
47808         * modules/vdprintf-posix (Files): Likewise.
47809         * modules/vfprintf-posix (Files): Likewise.
47810         * modules/vsnprintf-posix (Files): Likewise.
47811         * modules/vsprintf-posix (Files): Likewise.
47812         * modules/unistdio/u8-vasnprintf (Files): Likewise.
47813         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
47814         * modules/unistdio/u16-vasnprintf (Files): Likewise.
47815         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
47816         * modules/unistdio/u32-vasnprintf (Files): Likewise.
47817         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
47818         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
47820         isnanl[-nolibm]: Fix for platforms where 'long double' == 'double'.
47821         * lib/isnan.c (rpl_isnanl): Don't blindly assume 80-bit 'long double'.
47822         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
47823         (gl_FUNC_ISNANL_WORKS): Likewise. Don't blindly assume 80-bit
47824         'long double'.
47825         * modules/isnanl-nolibm (Files): Add m4/math_h.m4.
47827         isinf: Fix for platforms where 'long double' == 'double'.
47828         * m4/isinf.m4 (gl_ISINFL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
47829         Don't blindly assume 80-bit 'long double'.
47831         isfinite: Fix for platforms where 'long double' == 'double'.
47832         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
47833         Don't blindly assume 80-bit 'long double'.
47835         isfinite, isinf, isnan tests: Avoid syntax error on MSVC 9.
47836         * m4/math_h.m4 (gl_LONG_DOUBLE_VS_DOUBLE): New macro.
47837         * modules/isfinite-tests (configure.ac): Require
47838         gl_LONG_DOUBLE_VS_DOUBLE.
47839         * modules/isinf-tests (configure.ac): Likewise.
47840         * modules/isnan-tests (configure.ac): Likewise.
47841         * modules/isnanl-tests (configure.ac): Likewise.
47842         * modules/isnanl-nolibm-tests (configure.ac): Likewise.
47843         * tests/test-isfinite.c (test_isfinitel): Avoid 80-bit long double
47844         tests on platforms where 'long double' is the same as 'double'.
47845         * tests/test-isinf.c (test_isinfl): Likewise.
47846         * tests/test-isnan.c (test_long_double): Likewise.
47847         * tests/test-isnanl.h (main): Likewise.
47849 2011-10-08  Bruno Haible  <bruno@clisp.org>
47851         Tests for module 'tanhf'.
47852         * modules/tanhf-tests: New file.
47853         * tests/test-tanhf.c: New file.
47855         New module 'tanhf'.
47856         * lib/math.in.h (tanhf): New declaration.
47857         * lib/tanhf.c: New file.
47858         * m4/tanhf.m4: New file.
47859         * m4/math_h.m4 (gl_MATH_H): Test whether tanhf is declared.
47860         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANHF, HAVE_TANHF.
47861         * modules/math (Makefile.am): Substitute GNULIB_TANHF, HAVE_TANHF.
47862         * modules/tanhf: New file.
47863         * tests/test-math-c++.cc: Check the declaration of tanhf.
47864         * doc/posix-functions/tanhf.texi: Mention the new module.
47866         tanh: Use a .m4 file.
47867         * m4/tanh.m4: New file.
47868         * modules/tanh (Files): Add it.
47869         (configure.ac): Just invoke gl_FUNC_TANH.
47871 2011-10-08  Bruno Haible  <bruno@clisp.org>
47873         Tests for module 'coshf'.
47874         * modules/coshf-tests: New file.
47875         * tests/test-coshf.c: New file.
47877         New module 'coshf'.
47878         * lib/math.in.h (coshf): New declaration.
47879         * lib/coshf.c: New file.
47880         * m4/coshf.m4: New file.
47881         * m4/math_h.m4 (gl_MATH_H): Test whether coshf is declared.
47882         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSHF, HAVE_COSHF.
47883         * modules/math (Makefile.am): Substitute GNULIB_COSHF, HAVE_COSHF.
47884         * modules/coshf: New file.
47885         * tests/test-math-c++.cc: Check the declaration of coshf.
47886         * doc/posix-functions/coshf.texi: Mention the new module.
47888         cosh: Use a .m4 file.
47889         * m4/cosh.m4: New file.
47890         * modules/cosh (Files): Add it.
47891         (configure.ac): Just invoke gl_FUNC_COSH.
47893 2011-10-08  Bruno Haible  <bruno@clisp.org>
47895         Tests for module 'sinhf'.
47896         * modules/sinhf-tests: New file.
47897         * tests/test-sinhf.c: New file.
47899         New module 'sinhf'.
47900         * lib/math.in.h (sinhf): New declaration.
47901         * lib/sinhf.c: New file.
47902         * m4/sinhf.m4: New file.
47903         * m4/math_h.m4 (gl_MATH_H): Test whether sinhf is declared.
47904         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINHF, HAVE_SINHF.
47905         * modules/math (Makefile.am): Substitute GNULIB_SINHF, HAVE_SINHF.
47906         * modules/sinhf: New file.
47907         * tests/test-math-c++.cc: Check the declaration of sinhf.
47908         * doc/posix-functions/sinhf.texi: Mention the new module.
47910         sinh: Use a .m4 file.
47911         * m4/sinh.m4: New file.
47912         * modules/sinh (Files): Add it.
47913         (configure.ac): Just invoke gl_FUNC_SINH.
47915 2011-10-08  Bruno Haible  <bruno@clisp.org>
47917         Tests for module 'atan2f'.
47918         * modules/atan2f-tests: New file.
47919         * tests/test-atan2f.c: New file.
47921         New module 'atan2f'.
47922         * lib/math.in.h (atan2f): New declaration.
47923         * lib/atan2f.c: New file.
47924         * m4/atan2f.m4: New file.
47925         * m4/math_h.m4 (gl_MATH_H): Test whether atan2f is declared.
47926         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATAN2F, HAVE_ATAN2F.
47927         * modules/math (Makefile.am): Substitute GNULIB_ATAN2F, HAVE_ATAN2F.
47928         * modules/atan2f: New file.
47929         * tests/test-math-c++.cc: Check the declaration of atan2f.
47930         * doc/posix-functions/atan2f.texi: Mention the new module.
47932         atan2: Use a .m4 file.
47933         * m4/atan2.m4: New file.
47934         * modules/atan2 (Files): Add it.
47935         (configure.ac): Just invoke gl_FUNC_ATAN2.
47937 2011-10-08  Bruno Haible  <bruno@clisp.org>
47939         Tests for module 'atanf'.
47940         * modules/atanf-tests: New file.
47941         * tests/test-atanf.c: New file.
47943         New module 'atanf'.
47944         * lib/math.in.h (atanf): New declaration.
47945         * lib/atanf.c: New file.
47946         * m4/atanf.m4: New file.
47947         * m4/math_h.m4 (gl_MATH_H): Test whether atanf is declared.
47948         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATANF, HAVE_ATANF.
47949         * modules/math (Makefile.am): Substitute GNULIB_ATANF, HAVE_ATANF.
47950         * modules/atanf: New file.
47951         * tests/test-math-c++.cc: Check the declaration of atanf.
47952         * doc/posix-functions/atanf.texi: Mention the new module.
47954         atan: Use a .m4 file.
47955         * m4/atan.m4: New file.
47956         * modules/atan (Files): Add it.
47957         (configure.ac): Just invoke gl_FUNC_ATAN.
47959 2011-10-08  Bruno Haible  <bruno@clisp.org>
47961         Tests for module 'acosf'.
47962         * modules/acosf-tests: New file.
47963         * tests/test-acosf.c: New file.
47965         New module 'acosf'.
47966         * lib/math.in.h (acosf): New declaration.
47967         * lib/acosf.c: New file.
47968         * m4/acosf.m4: New file.
47969         * m4/math_h.m4 (gl_MATH_H): Test whether acosf is declared.
47970         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ACOSF, HAVE_ACOSF.
47971         * modules/math (Makefile.am): Substitute GNULIB_ACOSF, HAVE_ACOSF.
47972         * modules/acosf: New file.
47973         * tests/test-math-c++.cc: Check the declaration of acosf.
47974         * doc/posix-functions/acosf.texi: Mention the new module.
47976         acos: Use a .m4 file.
47977         * m4/acos.m4: New file.
47978         * modules/acos (Files): Add it.
47979         (configure.ac): Just invoke gl_FUNC_ACOS.
47981 2011-10-08  Bruno Haible  <bruno@clisp.org>
47983         Tests for module 'asinf'.
47984         * modules/asinf-tests: New file.
47985         * tests/test-asinf.c: New file.
47987         New module 'asinf'.
47988         * lib/math.in.h (asinf): New declaration.
47989         * lib/asinf.c: New file.
47990         * m4/asinf.m4: New file.
47991         * m4/math_h.m4 (gl_MATH_H): Test whether asinf is declared.
47992         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ASINF, HAVE_ASINF.
47993         * modules/math (Makefile.am): Substitute GNULIB_ASINF, HAVE_ASINF.
47994         * modules/asinf: New file.
47995         * tests/test-math-c++.cc: Check the declaration of asinf.
47996         * doc/posix-functions/asinf.texi: Mention the new module.
47998         asin: Use a .m4 file.
47999         * m4/asin.m4: New file.
48000         * modules/asin (Files): Add it.
48001         (configure.ac): Just invoke gl_FUNC_ASIN.
48003 2011-10-08  Bruno Haible  <bruno@clisp.org>
48005         Tests for module 'tanf'.
48006         * modules/tanf-tests: New file.
48007         * tests/test-tanf.c: New file.
48009         New module 'tanf'.
48010         * lib/math.in.h (tanf): New declaration.
48011         * lib/tanf.c: New file.
48012         * m4/tanf.m4: New file.
48013         * m4/math_h.m4 (gl_MATH_H): Test whether tanf is declared.
48014         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANF, HAVE_TANF.
48015         * modules/math (Makefile.am): Substitute GNULIB_TANF, HAVE_TANF.
48016         * modules/tanf: New file.
48017         * tests/test-math-c++.cc: Check the declaration of tanf.
48018         * doc/posix-functions/tanf.texi: Mention the new module.
48020         tan: Use a .m4 file.
48021         * m4/tan.m4: New file.
48022         * modules/tan (Files): Add it.
48023         (configure.ac): Just invoke gl_FUNC_TAN.
48025 2011-10-08  Bruno Haible  <bruno@clisp.org>
48027         Tests for module 'cosf'.
48028         * modules/cosf-tests: New file.
48029         * tests/test-cosf.c: New file.
48031         New module 'cosf'.
48032         * lib/math.in.h (cosf): New declaration.
48033         * lib/cosf.c: New file.
48034         * m4/cosf.m4: New file.
48035         * m4/math_h.m4 (gl_MATH_H): Test whether cosf is declared.
48036         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSF, HAVE_COSF.
48037         * modules/math (Makefile.am): Substitute GNULIB_COSF, HAVE_COSF.
48038         * modules/cosf: New file.
48039         * tests/test-math-c++.cc: Check the declaration of cosf.
48040         * doc/posix-functions/cosf.texi: Mention the new module.
48042         cos: Use a .m4 file.
48043         * m4/cos.m4: New file.
48044         * modules/cos (Files): Add it.
48045         (configure.ac): Just invoke gl_FUNC_COS.
48047 2011-10-08  Bruno Haible  <bruno@clisp.org>
48049         Tests for module 'sinf'.
48050         * modules/sinf-tests: New file.
48051         * tests/test-sinf.c: New file.
48053         New module 'sinf'.
48054         * lib/math.in.h (sinf): New declaration.
48055         * lib/sinf.c: New file.
48056         * m4/sinf.m4: New file.
48057         * m4/math_h.m4 (gl_MATH_H): Test whether sinf is declared.
48058         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINF, HAVE_SINF.
48059         * modules/math (Makefile.am): Substitute GNULIB_SINF, HAVE_SINF.
48060         * modules/sinf: New file.
48061         * tests/test-math-c++.cc: Check the declaration of sinf.
48062         * doc/posix-functions/sinf.texi: Mention the new module.
48064         sin: Use a .m4 file.
48065         * m4/sin.m4: New file.
48066         * modules/sin (Files): Add it.
48067         (configure.ac): Just invoke gl_FUNC_SIN.
48069 2011-10-08  Bruno Haible  <bruno@clisp.org>
48071         Tests for module 'powf'.
48072         * modules/powf-tests: New file.
48073         * tests/test-powf.c: New file.
48075         New module 'powf'.
48076         * lib/math.in.h (powf): New declaration.
48077         * lib/powf.c: New file.
48078         * m4/powf.m4: New file.
48079         * m4/math_h.m4 (gl_MATH_H): Test whether powf is declared.
48080         (gl_MATH_H_DEFAULTS): Initialize GNULIB_POWF, HAVE_POWF.
48081         * modules/math (Makefile.am): Substitute GNULIB_POWF, HAVE_POWF.
48082         * modules/powf: New file.
48083         * tests/test-math-c++.cc: Check the declaration of powf.
48084         * doc/posix-functions/powf.texi: Mention the new module.
48086         pow: Use a .m4 file.
48087         * m4/pow.m4: New file.
48088         * modules/pow (Files): Add it.
48089         (configure.ac): Just invoke gl_FUNC_POW.
48091 2011-10-08  Bruno Haible  <bruno@clisp.org>
48093         Tests for module 'log10f'.
48094         * modules/log10f-tests: New file.
48095         * tests/test-log10f.c: New file.
48097         New module 'log10f'.
48098         * lib/math.in.h (log10f): New declaration.
48099         * lib/log10f.c: New file.
48100         * m4/log10f.m4: New file.
48101         * m4/math_h.m4 (gl_MATH_H): Test whether log10f is declared.
48102         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10F, HAVE_LOG10F.
48103         * modules/math (Makefile.am): Substitute GNULIB_LOG10F, HAVE_LOG10F.
48104         * modules/log10f: New file.
48105         * tests/test-math-c++.cc: Check the declaration of log10f.
48106         * doc/posix-functions/log10f.texi: Mention the new module.
48108         log10: Use a .m4 file.
48109         * m4/log10.m4: New file.
48110         * modules/log10 (Files): Add it.
48111         (configure.ac): Just invoke gl_FUNC_LOG10.
48113 2011-10-08  Bruno Haible  <bruno@clisp.org>
48115         Tests for module 'logf'.
48116         * modules/logf-tests: New file.
48117         * tests/test-logf.c: New file.
48119         New module 'logf'.
48120         * lib/math.in.h (logf): New declaration.
48121         * lib/logf.c: New file.
48122         * m4/logf.m4: New file.
48123         * m4/math_h.m4 (gl_MATH_H): Test whether logf is declared.
48124         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGF, HAVE_LOGF.
48125         * modules/math (Makefile.am): Substitute GNULIB_LOGF, HAVE_LOGF.
48126         * modules/logf: New file.
48127         * tests/test-math-c++.cc: Check the declaration of logf.
48128         * doc/posix-functions/logf.texi: Mention the new module.
48130         log: Use a .m4 file.
48131         * m4/log.m4: New file.
48132         * modules/log (Files): Add it.
48133         (configure.ac): Just invoke gl_FUNC_LOG.
48135 2011-10-08  Bruno Haible  <bruno@clisp.org>
48137         Tests for module 'expf'.
48138         * modules/expf-tests: New file.
48139         * tests/test-expf.c: New file.
48141         New module 'expf'.
48142         * lib/math.in.h (expf): New declaration.
48143         * lib/expf.c: New file.
48144         * m4/expf.m4: New file.
48145         * m4/math_h.m4 (gl_MATH_H): Test whether expf is declared.
48146         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPF, HAVE_EXPF.
48147         * modules/math (Makefile.am): Substitute GNULIB_EXPF, HAVE_EXPF.
48148         * modules/expf: New file.
48149         * tests/test-math-c++.cc: Check the declaration of expf.
48150         * doc/posix-functions/expf.texi: Mention the new module.
48152         exp: Use a .m4 file.
48153         * m4/exp.m4: New file.
48154         * modules/exp (Files): Add it.
48155         (configure.ac): Just invoke gl_FUNC_EXP.
48157 2011-10-08  Bruno Haible  <bruno@clisp.org>
48159         Tests for module 'sqrtf'.
48160         * modules/sqrtf-tests: New file.
48161         * tests/test-sqrtf.c: New file.
48163         New module 'sqrtf'.
48164         * lib/math.in.h (sqrtf): New declaration.
48165         * lib/sqrtf.c: New file.
48166         * m4/sqrtf.m4: New file.
48167         * m4/math_h.m4 (gl_MATH_H): Test whether sqrtf is declared.
48168         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SQRTF, HAVE_SQRTF.
48169         * modules/math (Makefile.am): Substitute GNULIB_SQRTF, HAVE_SQRTF.
48170         * modules/sqrtf: New file.
48171         * tests/test-math-c++.cc: Check the declaration of sqrtf.
48172         * doc/posix-functions/sqrtf.texi: Mention the new module.
48174 2011-10-08  Bruno Haible  <bruno@clisp.org>
48176         Tests: Avoid link failures w.r.t. libintl.
48177         * modules/faccessat-tests (Makefile.am): Link test-faccessat against
48178         $(LIBINTL).
48179         * modules/fchdir-tests (Makefile.am): Link test-fchdir against
48180         $(LIBINTL).
48181         * modules/getcwd-lgpl-tests (Makefile.am): Link test-getcwd-lgpl
48182         against $(LIBINTL).
48183         * modules/getcwd-tests (Makefile.am): Link test-getcwd against
48184         $(LIBINTL).
48185         * modules/openat-tests (Makefile.am): Link test-fchmodat against
48186         $(LIBINTL).
48187         * modules/stat-tests (Makefile.am): Link test-stat against $(LIBINTL).
48189 2011-10-08  Bruno Haible  <bruno@clisp.org>
48191         pow tests: Defeat compiler optimizations.
48192         * tests/test-pow.c (main): Assign arguments to x and y before use.
48194 2011-10-08  Bruno Haible  <bruno@clisp.org>
48196         gnulib-tool: Improve last commit.
48197         * gnulib-tool (func_modules_transitive_closure): Simplify code.
48198         (func_emit_autoconf_snippets): Instead of invoking func_acceptable,
48199         ignore dependencies that are not among the modules list.
48201 2011-10-07  Paul Eggert  <eggert@cs.ucla.edu>
48203         gnulib-tool: don't follow dependencies to avoided modules
48204         This fixes a bug that is related to the previous one.
48205         * gnulib-tool (func_modules_transitive_closure)
48206         (func_emit_autoconf_snippets):
48207         Check whether a dependency is acceptable before using it.
48208         (--extract-dependencies): Report an error if --avoid is also used,
48209         since this combination of options is not yet supported.
48211         gnulib-tool: fix typo that broke Emacs on powerpc-apple-darwin9.8.0.
48212         Problem reported by Peter Dyballa in
48213         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9696>.
48214         * gnulib-tool (func_emit_autoconf_snippets): Quote with "", not '',
48215         when echoing "$condition".
48217 2011-10-07  Bruno Haible  <bruno@clisp.org>
48219         Fix documentation about math functions on MacOS X.
48220         * doc/posix-functions/exp2.texi: Don't say the function is missing on
48221         MacOS X 10.5.
48222         * doc/posix-functions/fdim.texi: Likewise.
48223         * doc/posix-functions/feclearexcept.texi: Likewise.
48224         * doc/posix-functions/fegetenv.texi: Likewise.
48225         * doc/posix-functions/fegetround.texi: Likewise.
48226         * doc/posix-functions/feholdexcept.texi: Likewise.
48227         * doc/posix-functions/feraiseexcept.texi: Likewise.
48228         * doc/posix-functions/fesetenv.texi: Likewise.
48229         * doc/posix-functions/fesetround.texi: Likewise.
48230         * doc/posix-functions/fetestexcept.texi: Likewise.
48231         * doc/posix-functions/feupdateenv.texi: Likewise.
48232         * doc/posix-functions/fmax.texi: Likewise.
48233         * doc/posix-functions/fmin.texi: Likewise.
48234         * doc/posix-functions/log2.texi: Likewise.
48235         * doc/posix-functions/modff.texi: Likewise.
48236         * doc/posix-functions/nan.texi: Likewise.
48237         * doc/posix-functions/nanf.texi: Likewise.
48238         * doc/posix-functions/nextafterf.texi: Likewise.
48239         * doc/posix-functions/remquo.texi: Likewise.
48241 2011-10-07  Bruno Haible  <bruno@clisp.org>
48243         modff: Drop assumption about library that defines modff.
48244         * m4/modff.m4 (gl_FUNC_MODFF): Use gl_MATHFUNC macro instead of
48245         AC_CHECK_FUNCS.
48246         * modules/modff (Files): Add m4/mathfunc.m4.
48248 2011-10-07  Bernhard Voelker  <mail@bernhard-voelker.de>
48250         raise tests: Avoid a GCC warning.
48251         * tests/test-raise.c (handler): Use _Noreturn.
48253 2011-10-07  Bruno Haible  <bruno@clisp.org>
48255         Tests for module 'ldexpf'.
48256         * modules/ldexpf-tests: New file.
48257         * tests/test-ldexpf.c: New file.
48259         New module 'ldexpf'.
48260         * lib/math.in.h (ldexpf): New declaration.
48261         * lib/ldexpf.c: New file.
48262         * m4/ldexpf.m4: New file.
48263         * m4/math_h.m4 (gl_MATH_H): Test whether ldexpf is declared.
48264         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LDEXPF, HAVE_LDEXPF.
48265         * modules/math (Makefile.am): Substitute GNULIB_LDEXPF, HAVE_LDEXPF.
48266         * modules/ldexpf: New file.
48267         * tests/test-math-c++.cc: Check the declaration of ldexpf.
48268         * doc/posix-functions/ldexpf.texi: Mention the new module.
48270 2011-10-06  Bruno Haible  <bruno@clisp.org>
48272         frexpf: Work around problems on IRIX and mingw.
48273         * lib/math.in.h (frexpf): Consider also REPLACE_FREXPF.
48274         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPF.
48275         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): New macro.
48276         (gl_FUNC_FREXPF): Invoke it. Set REPLACE_FREXPF.
48277         * modules/frexpf (Depends-on, configure.ac): Consider REPLACE_FREXPF.
48278         * modules/math (Makefile.am): Substitute REPLACE_FREXPF.
48279         * doc/posix-functions/frexpf.texi: Mention the IRIX and mingw problems.
48281 2011-10-06  Bruno Haible  <bruno@clisp.org>
48283         fabsf: Drop assumption about library that defines fabsf.
48284         * m4/fabsf.m4 (gl_FUNC_FABSF): Use gl_MATHFUNC macro instead of
48285         AC_CHECK_FUNCS.
48286         * modules/fabsf (Files): Add m4/mathfunc.m4.
48288 2011-10-06  Bruno Haible  <bruno@clisp.org>
48290         frexpf: Drop assumption about library that defines frexpf.
48291         * m4/mathfunc.m4 (gl_MATHFUNC): Support also the argument types
48292         'int *', 'float *', 'long double *', 'float', 'long double'.
48293         * m4/frexpf.m4 (gl_FUNC_FREXPF): Use gl_MATHFUNC macro instead of
48294         AC_CHECK_FUNCS.
48295         * modules/frexpf (Files): Add m4/mathfunc.m4.
48297         Tests for module 'frexpf'.
48298         * modules/frexpf-tests: New file.
48299         * tests/test-frexpf.c: New file.
48301         New module 'frexpf'.
48302         * lib/math.in.h (frexpf): New declaration.
48303         * lib/frexpf.c: New file.
48304         * m4/frexpf.m4: New file.
48305         * m4/math_h.m4 (gl_MATH_H): Test whether frexpf is declared.
48306         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPF, HAVE_FREXPF.
48307         * modules/math (Makefile.am): Substitute GNULIB_FREXPF, HAVE_FREXPF.
48308         * modules/frexpf: New file.
48309         * tests/test-math-c++.cc: Check the declaration of frexpf.
48310         * doc/posix-functions/frexpf.texi: Mention the new module.
48312 2011-10-06  Bruno Haible  <bruno@clisp.org>
48314         math: Sort function declarations of math.in.h.
48315         * lib/math.in.h (frexp, logb): Move declarations.
48317 2011-10-05  Bruno Haible  <bruno@clisp.org>
48319         Tests for module 'modff'.
48320         * modules/modff-tests: New file.
48321         * tests/test-modff.c: New file.
48323         New module 'modff'.
48324         * lib/math.in.h (modff): New declaration.
48325         * lib/modff.c: New file.
48326         * m4/modff.m4: New file.
48327         * m4/math_h.m4 (gl_MATH_H): Test whether modff is declared.
48328         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFF, HAVE_MODFF.
48329         * modules/math (Makefile.am): Substitute GNULIB_MODFF, HAVE_MODFF.
48330         * modules/modff: New file.
48331         * tests/test-math-c++.cc: Check the declaration of modff.
48332         * doc/posix-functions/modff.texi: Mention the new module.
48334         modf tests: Make test sharper.
48335         * tests/test-modf.c (main): Strengthen upper bound.
48337         modf: Use a .m4 file.
48338         * m4/modf.m4: New file.
48339         * modules/modf (Files): Add it.
48340         (configure.ac): Just invoke gl_FUNC_MODF.
48342 2011-10-05  Bruno Haible  <bruno@clisp.org>
48344         Tests for module 'fmodf'.
48345         * modules/fmodf-tests: New file.
48346         * tests/test-fmodf.c: New file.
48348         New module 'fmodf'.
48349         * lib/math.in.h (fmodf): New declaration.
48350         * lib/fmodf.c: New file.
48351         * m4/fmodf.m4: New file.
48352         * m4/math_h.m4 (gl_MATH_H): Test whether fmodf is declared.
48353         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODF, HAVE_FMODF.
48354         * modules/math (Makefile.am): Substitute GNULIB_FMODF, HAVE_FMODF.
48355         * modules/fmodf: New file.
48356         * tests/test-math-c++.cc: Check the declaration of fmodf.
48357         * doc/posix-functions/fmodf.texi: Mention the new module.
48359         fmod: Use a .m4 file.
48360         * m4/fmod.m4: New file.
48361         * modules/fmod (Files): Add it.
48362         (configure.ac): Just invoke gl_FUNC_FMOD.
48364 2011-10-05  Bruno Haible  <bruno@clisp.org>
48366         Tests for module 'fabsf'.
48367         * modules/fabsf-tests: New file.
48368         * tests/test-fabsf.c: New file.
48370         New module 'fabsf'.
48371         * lib/math.in.h (fabsf): New declaration.
48372         * lib/fabsf.c: New file.
48373         * m4/fabsf.m4: New file.
48374         * m4/math_h.m4 (gl_MATH_H): Test whether fabsf is declared.
48375         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSF, HAVE_FABSF.
48376         * modules/math (Makefile.am): Substitute GNULIB_FABSF, HAVE_FABSF.
48377         * modules/fabsf: New file.
48378         * tests/test-math-c++.cc: Check the declaration of fabsf.
48379         * doc/posix-functions/fabsf.texi: Mention the new module.
48381         fabs: Use a .m4 file.
48382         * m4/fabs.m4: New file.
48383         * modules/fabs (Files): Add it.
48384         (configure.ac): Just invoke gl_FUNC_FABS.
48386 2011-10-05  Jim Meyering  <meyering@redhat.com>
48388         file-has-acl: revert both recent changes, 80af92af and 95f7c57f
48389         * lib/file-has-acl.c: While the 2011-10-03 change does fix the
48390         ls -lL regression introduced in coreutils-8.12, it does so at the
48391         cost of an additional stat call in the common case.  Besides, now
48392         that the kernel change that prompted commit 95f7c57f has been reverted
48393         (see https://bugzilla.redhat.com/show_bug.cgi?id=720325#c24)
48394         we have no use for commit 95f7c57f, "file-has-acl: use
48395         acl_extended_file_nofollow if available".
48397 2011-10-03  Kamil Dudka  <kdudka@redhat.com>
48399         file-has-acl: revert unintended change in behavior of ls -L
48400         * lib/file-has-acl.c (acl_extended_file_wrap): New function,
48401         derived from...
48402         (file_has_acl): ...code here.  Call it.
48403         This problem was introduced with 2011-07-22 commit 95f7c57f,
48404         "file-has-acl: use acl_extended_file_nofollow if available".
48405         See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28538
48407 2011-10-03  Bruno Haible  <bruno@clisp.org>
48409         poll: Avoid link errors on MSVC.
48410         * m4/poll.m4 (gl_FUNC_POLL): Determine LIB_POLL.
48411         * modules/poll (Depends-on): Add sockets.
48412         (Link): New section.
48413         * NEWS: Mention the change.
48414         * modules/poll-tests (Makefile.am): Link test-poll against $(LIB_POLL).
48415         * modules/poll-h-c++-tests (Makefile.am): Link test-poll-h-c++ against
48416         $(LIB_POLL) instead of $(LIBSOCKET).
48418 2011-10-03  Bruno Haible  <bruno@clisp.org>
48420         sys_select tests: Fix link error on MSVC 9.
48421         * modules/sys_select-c++-tests (Makefile.am): Link test-sys_select-c++
48422         with $(LIB_SELECT) instead of $(LIBSOCKET).
48424 2011-10-03  Bruno Haible  <bruno@clisp.org>
48426         sys_select: Fix compilation error on mingw.
48427         * lib/sys_select.in.h: On native Windows, include <io.h>.
48429 2011-10-03  Bruno Haible  <bruno@clisp.org>
48431         wmemset: Support for MSVC.
48432         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Use a small test program to test
48433         whether wmemset() exists.
48435 2011-10-03  Bruno Haible  <bruno@clisp.org>
48437         wmemmove: Support for MSVC.
48438         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Use a small test program to test
48439         whether wmemmove() exists.
48441 2011-10-03  Bruno Haible  <bruno@clisp.org>
48443         wmemcpy: Support for MSVC.
48444         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Use a small test program to test
48445         whether wmemcpy() exists.
48447 2011-10-03  Bruno Haible  <bruno@clisp.org>
48449         wmemcmp: Support for MSVC.
48450         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Use a small test program to test
48451         whether wmemcmp() exists.
48453 2011-10-03  Bruno Haible  <bruno@clisp.org>
48455         wmemchr: Support for MSVC.
48456         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Use a small test program to test
48457         whether wmemchr() exists.
48459 2011-10-03  Bruno Haible  <bruno@clisp.org>
48461         glthread/*, strsignal: Support for MSVC.
48462         * lib/glthread/cond.h: Define WIN32_LEAN_AND_MEAN, so as to avoid
48463         including <winsock.h> on MSVC 9.
48464         * lib/glthread/lock.h: Likewise.
48465         * lib/glthread/thread.h: Likewise.
48466         * lib/glthread/tls.h: Likewise.
48467         * lib/glthread/yield.h: Likewise.
48468         * lib/strsignal.c: Include <string.h> first. Don't include <unistd.h>
48469         if HAVE_UNISTD_H is false.
48470         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Test for <unistd.h>.
48472 2011-10-03  Bruno Haible  <bruno@clisp.org>
48474         nonblocking tests: Fix test failure on OpenBSD/SPARC64.
48475         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE) [OpenBSD]:
48476         Set to 100000.
48478 2011-10-03  Bruno Haible  <bruno@clisp.org>
48480         acl: Fix specification.
48481         * lib/file-has-acl.c (file_has_acl): Fix specification.
48483 2011-10-03  Bruno Haible  <bruno@clisp.org>
48485         relocatable-lib[-lgpl]: Avoid expensive /proc access on Linux, Cygwin.
48486         * lib/relocatable.c (ENABLE_COSTLY_RELOCATABLE): New macro.
48487         (compute_curr_prefix, shared_library_fullname,
48488         find_shared_library_fullname, get_shared_library_fullname, relocate):
48489         Use it together with PIC && INSTALLDIR.
48490         Reported by <jojelino@gmail.com>
48491         via Charles Wilson <cygwin@cwilson.fastmail.fm>.
48493 2011-10-01  Jim Meyering  <meyering@redhat.com>
48495         maint.mk: adjust a release-related rule not to require use of gzip
48496         * top/maint.mk (writable-files): Don't hard-code use of .tar.gz.
48497         Instead, check each file in $(DIST_ARCHIVES).  This is better for
48498         projects that build only .tar.xz files.  Also fix an erroneous test.
48500         test-linkat: don't leave behind a temporary file
48501         * tests/test-linkat.c (main): Don't forget to remove a temporary file.
48502         Otherwise, coreutils' "make distcheck" would fail with this:
48503           Only in /c/cu/tests/torture/coreutils/test/\
48504             coreutils-8.13.22-d5caf.old/gnulib-tests: test-linkat.too
48505           make[2]: *** [my-distcheck] Error 1
48507         float, math: add omitted file
48508         * lib/itold.c: Add file, required for yesterday's float change.
48510 2011-10-01  Bruno Haible  <bruno@clisp.org>
48512         isinf: Fix for OpenBSD/x86.
48513         * m4/isinf.m4 (gl_ISINFL_WORKS): Also test the behaviour of isinf on
48514         pseudo-NaNs, pseudo-Infinities, and other non-IEEE values.
48515         * doc/posix-functions/isinf.texi: Mention the problem on OpenBSD/x86.
48517 2011-10-01  Bruno Haible  <bruno@clisp.org>
48519         isfinite: Fix syntax error in configure test.
48520         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Fix syntax error.
48522         isfinite: Fix typo.
48523         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): When cross-compiling, set
48524         gl_cv_func_isfinitel_works, not gl_cv_func_isnanl_works.
48526 2011-10-01  Bruno Haible  <bruno@clisp.org>
48528         nonblocking tests: Fix test failure on Linux/IA-64.
48529         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/IA-64]:
48530         Set to 270000.
48532 2011-10-01  Bruno Haible  <bruno@clisp.org>
48534         mkfifoat tests: Fix a test failure on mingw.
48535         * tests/test-mkfifoat.c (main): Allow mkfifoat or test_mknodat to fail
48536         with error ENOSYS.
48538 2011-09-30  Bruno Haible  <bruno@clisp.org>
48540         float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
48541         * m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to
48542         'long double'. Set REPLACE_ITOLD.
48543         * lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations.
48544         * lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations.
48545         * lib/itold.c: New file.
48546         * modules/float (Files): Add lib/itold.c.
48547         (configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c.
48548         (Makefile.am): Substitute REPLACE_ITOLD.
48549         * modules/math (Depends-on): Add float.
48550         (Makefile.am): Substitute REPLACE_ITOLD.
48551         * doc/posix-headers/float.texi: Mention problem on Linux/SPARC64.
48552         * doc/posix-headers/math.texi: Likewise.
48553         * doc/posix-functions/logl.texi: Likewise.
48555 2011-09-30  Bruno Haible  <bruno@clisp.org>
48557         nonblocking tests: Fix test failure on Linux/SPARC (32-bit and 64-bit).
48558         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/SPARC]:
48559         Set to 140000.
48561 2011-09-30  Bruno Haible  <bruno@clisp.org>
48563         gnulib-tool: Improve suggestion where to put gl_EARLY invocation.
48564         * gnulib-tool (func_import): If the configure.ac has an AC_PROG_CC_STDC
48565         invocation, say "right after AC_PROG_CC_STDC", not "right after
48566         AC_PROG_CC".
48567         Reported by Gary V. Vaughan <gary@gnu.org>.
48569 2011-09-30  Bruno Haible  <bruno@clisp.org>
48571         Centralize C99 requirement.
48572         * m4/gnulib-common.m4 (gl_PROG_CC_C99): New macro.
48573         * modules/stdarg (configure.ac-early): Invoke it instead of
48574         AC_PROG_CC_STDC.
48575         Reported by Gary V. Vaughan and Paul Eggert.
48577 2011-09-29  Bruno Haible  <bruno@clisp.org>
48579         float: Fix LDBL_MAX value on Linux/PowerPC.
48580         * m4/float_h.m4 (gl_FLOAT_H): Set FLOAT_H and REPLACE_FLOAT_LDBL also
48581         on Linux/PowerPC.
48582         * lib/float.in.h (LDBL_MAX): Redefine also on Linux/PowerPC.
48583         * lib/float.c (gl_LDBL_MAX): Also define on Linux/PowerPC.
48584         * doc/posix-headers/float.texi: Mention Linux/PowerPC as an affected
48585         platform.
48586         Reported by Andreas Metzler <ametzler@downhill.at.eu.org>.
48588 2011-09-29  Bruno Haible  <bruno@clisp.org>
48590         doc: Improve doc about gl_EARLY.
48591         * doc/gnulib-tool.texi (Initial import): Mention where to place an
48592         AC_PROG_CC_STDC invocation.
48593         Reported by Gary V. Vaughan <gary@gnu.org>.
48595 2011-09-28  Bruno Haible  <bruno@clisp.org>
48597         fgetc, fputc, fread, fwrite tests: Fix link error.
48598         * tests/test-fgetc.c (main): Don't invoke gl_msvc_inval_ensure_handler
48599         on non-MSVC platforms.
48600         * tests/test-fputc.c (main): Likewise.
48601         * tests/test-fread.c (main): Likewise.
48602         * tests/test-fwrite.c (main): Likewise.
48603         Reported by Jim Meyering.
48605 2011-09-27  Bruno Haible  <bruno@clisp.org>
48607         fputc, fwrite tests: Avoid test failure on MSVC.
48608         * tests/test-fgetc.c: Include msvc-inval.h.
48609         (main): Invoke gl_msvc_inval_ensure_handler.
48610         * tests/test-fputc.c: Include msvc-inval.h.
48611         (main): Invoke gl_msvc_inval_ensure_handler.
48612         * tests/test-fread.c: Include msvc-inval.h.
48613         (main): Invoke gl_msvc_inval_ensure_handler.
48614         * tests/test-fwrite.c: Include msvc-inval.h.
48615         (main): Invoke gl_msvc_inval_ensure_handler.
48616         * modules/fgetc-tests (Depends-on): Add msvc-inval.
48617         * modules/fputc-tests (Depends-on): Likewise.
48618         * modules/fread-tests (Depends-on): Likewise.
48619         * modules/fwrite-tests (Depends-on): Likewise.
48621 2011-09-27  Bruno Haible  <bruno@clisp.org>
48623         raise: Fix double declaration with modules 'sigprocmask' and 'sigpipe'.
48624         * lib/signal.in.h (GNULIB_defined_signal_blocking): New macro.
48625         (raise): Remove older, duplicated declaration.
48626         (_gl_raise_SIGPIPE): New declaration.
48627         * lib/sigprocmask.c (_gl_raise_SIGPIPE): New function.
48628         (rpl_raise): Remove function.
48629         * lib/raise.c (rpl_raise, raise): Merge into a single function. Handle
48630         a gnulib-defined SIGPIPE here.
48631         * m4/raise.m4 (gl_FUNC_RAISE): Set REPLACE_RAISE also if the module
48632         'sigprocmask' has detected missing signal-blocking and the module
48633         'sigpipe' is enabled.
48634         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
48636 2011-09-26  Gijs van Tulder  <gvtulder@gmail.com>
48638         base64-tests: avoid memory leak
48639         * tests/test-base64.c (main): Plug memory leak.
48641         base32: new module
48642         * modules/base32: New module.
48643         * lib/base32.c: New file.
48644         * lib/base32.h: Likewise.
48645         * m4/base32.m4: Likewise.
48646         * modules/base32-tests: New test.
48647         * tests/test-base32.c: Likewise.
48648         * MODULES.html.sh (Misc): Mention it.
48650 2011-09-26  Paul Eggert  <eggert@cs.ucla.edu>
48652         gnulib: use more-standard license notice wording
48653         * gnulib-tool (func_emit_copyright_notice): When emitting a
48654         license notice into a file, use the standard wording as suggested
48655         by the current information for GNU maintainers, except say "file"
48656         rather than "program".  The new wording gives a license version
48657         number, which addresses an issue raised by Glenn Morris in
48658         <http://lists.gnu.org/r/bug-gnulib/2011-09/msg00397.html>.
48659         * m4/onceonly.m4: Use that same wording here, too.
48661         dup2: minor simplification
48662         * m4/dup2.m4 (gl_PREREQ_DUP2): Don't require AC_C_INLINE,
48663         as lib/dup2.c no longer uses 'inline'.
48665 2011-09-25  Bruno Haible  <bruno@clisp.org>
48667         strings: Fix compilation error on MSVC.
48668         * lib/strings.in.h: Include <stddef.h> for size_t.
48670 2011-09-25  Bruno Haible  <bruno@clisp.org>
48672         fflush et al.: Document limitation on MSVC.
48673         * doc/posix-functions/fflush.texi: Document possible crash in handling
48674         mode other than DEFAULT_HANDLING.
48675         * doc/posix-functions/fgetc.texi: Likewise.
48676         * doc/posix-functions/fputc.texi: Likewise.
48677         * doc/posix-functions/fread.texi: Likewise.
48678         * doc/posix-functions/fwrite.texi: Likewise.
48680 2011-09-25  Bruno Haible  <bruno@clisp.org>
48682         msvc-inval: Allow three invalid parameter handling modes.
48683         * lib/msvc-inval.h: Don't include <stdlib.h> here.
48684         (DEFAULT_HANDLING, HAIRY_LIBRARY_HANDLING, SANE_LIBRARY_HANDLING): New
48685         macros.
48686         (gl_msvc_inval_ensure_handler, TRY_MSVC_INVAL, CATCH_MSVC_INVAL,
48687         DONE_MSVC_INVAL): Implement DEFAULT_HANDLING. Treat
48688         SANE_LIBRARY_HANDLING as a no-op.
48689         * lib/msvc-inval.c: Treat SANE_LIBRARY_HANDLING as a no-op. Include
48690         <stdlib.h>.
48691         (gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING.
48693 2011-09-25  Bruno Haible  <bruno@clisp.org>
48695         msvc-inval: Make handler multithread-safe.
48696         * lib/msvc-inval.h (struct gl_msvc_inval_per_thread): New type.
48697         (gl_msvc_inval_restart, gl_msvc_inval_restart_valid): Remove
48698         declarations.
48699         (gl_msvc_inval_current): New declaration.
48700         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
48701         Operate on the structure returned by gl_msvc_inval_current().
48702         * lib/msvc-inval.c (gl_msvc_inval_restart, gl_msvc_inval_restart_valid):
48703         Remove varaiables.
48704         (tls_index, tls_initialized): New variables.
48705         (not_per_thread): New variable.
48706         (gl_msvc_inval_current): New function.
48707         (gl_msvc_invalid_parameter_handler) [!_MSC_VER]: Use the structure
48708         returned by gl_msvc_inval_current().
48710 2011-09-25  Bruno Haible  <bruno@clisp.org>
48712         msvc-inval: Install handler globally.
48713         * lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for
48714         !_MSC_VER.
48715         (gl_msvc_invalid_parameter_handler): Remove declaration.
48716         (gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New
48717         declarations.
48718         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
48719         Install the handler globally, don't uninstall it.
48720         * lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable.
48721         (gl_msvc_invalid_parameter_handler): Make static. If the restart is not
48722         currently valid, call RaiseException instead.
48723         (gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also
48724         for !_MSC_VER.
48726 2011-09-25  Bruno Haible  <bruno@clisp.org>
48728         strerror_r-posix: Fix for MSVC 9.
48729         * lib/strerror_r.c (local_snprintf): New function.
48730         (snprintf): Define to local_snprintf, not to _snprintf.
48732 2011-09-25  Bruno Haible  <bruno@clisp.org>
48734         ftruncate: Support for MSVC 9.
48735         * lib/ftruncate.c: Include errno.h, msvc-inval.h.
48736         (chsize_nothrow): New function.
48737         (chsize): Redefine as a macro.
48738         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Require AC_C_INLINE.
48739         * modules/ftruncate (Depends-on): Add msvc-inval.
48741 2011-09-25  Bruno Haible  <bruno@clisp.org>
48743         New module 'fstat'.
48744         * lib/sys_stat.in.h (fstat): Declare only if GNULIB_FSTAT is set.
48745         * lib/fstat.c: New file, based on a piece of lib/fchdir.c.
48746         * lib/fchdir.c (rpl_fstat): Remove function.
48747         * m4/fstat.m4: New file.
48748         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_FSTAT.
48749         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether fstat is
48750         declared.
48751         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FSTAT.
48752         * modules/sys_stat (Makefile.am): Substitute GNULIB_FSTAT.
48753         * modules/fstat: New file.
48754         * modules/sys_stat-tests (Depends-on): Remove fstat-tests.
48755         * tests/test-sys_stat-c++.cc (fstat): Check only if GNULIB_TEST_FSTAT
48756         is set.
48757         * doc/posix-functions/fstat.texi: Mention the new module and the
48758         problem on MSVC.
48759         * NEWS: Mention the change.
48760         * modules/acl (Depends-on): Add fstat.
48761         * modules/chdir-safer (Depends-on): Likewise.
48762         * modules/chown (Depends-on): Likewise.
48763         * modules/copy-file (Depends-on): Likewise.
48764         * modules/fchdir (Depends-on): Likewise.
48765         * modules/fdopendir (Depends-on): Likewise.
48766         * modules/fopen (Depends-on): Likewise.
48767         * modules/fts (Depends-on): Likewise.
48768         * modules/getcwd (Depends-on): Likewise.
48769         * modules/isapipe (Depends-on): Likewise.
48770         * modules/linkat (Depends-on): Likewise.
48771         * modules/lseek (Depends-on): Likewise.
48772         * modules/mkdir-p (Depends-on): Likewise.
48773         * modules/open (Depends-on): Likewise.
48774         * modules/openat (Depends-on): Likewise.
48775         * modules/read-file (Depends-on): Likewise.
48776         * modules/renameat (Depends-on): Likewise.
48777         * modules/utimens (Depends-on): Likewise.
48779 2011-09-25  Bruno Haible  <bruno@clisp.org>
48781         linkat: Fix compilation on MSVC 9.
48782         * lib/linkat.c: Don't include <stdint.h>.
48784 2011-09-25  Bruno Haible  <bruno@clisp.org>
48786         fclose: Support for MSVC 9.
48787         * lib/fclose.c: Include msvc-inval.h.
48788         (fclose_nothrow): New function.
48789         (rpl_fclose): Use it.
48790         * modules/fclose (Depends-on): Add msvc-inval.
48791         * doc/posix-functions/fclose.texi: Mention the problem on MSVC.
48793 2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>
48795         dup2: minor simplifications
48796         * lib/dup2.c (ms_windows_dup2): Omit 'inline' as it's not clear
48797         that it's a performance win.
48798         (rpl_dup2): Change "if !((defined _WIN32 || defined __WIN32__) &&
48799         ! defined __CYGWIN__)" to "ifdef F_GETFL".
48801 2011-09-24  Jim Meyering  <meyering@redhat.com>
48803         test-futimens: avoid a warning from gcc -Wshadow
48804         * tests/test-futimens.h (test_futimens): Rename inner local, s/fd/fd0/
48805         to avoid a shadowing warning.
48807 2011-09-24  Bruno Haible  <bruno@clisp.org>
48809         fdopen: Support for MSVC 9.
48810         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Set REPLACE_FDOPEN also if
48811         HAVE_MSVC_INVALID_PARAMETER_HANDLER is 1.
48812         * lib/fdopen.c: Include msvc-inval.h.
48813         (fdopen_nothrow): New function.
48814         (rpl_fdopen): Use it.
48815         * modules/fdopen (Depends-on): Add msvc-inval.
48816         * modules/fclose-tests (Depends-on): Add fdopen.
48817         * modules/fflush-tests (Depends-on): Likewise.
48818         * modules/fgetc-tests (Depends-on): Likewise.
48819         * modules/fputc-tests (Depends-on): Likewise.
48820         * modules/fread-tests (Depends-on): Likewise.
48821         * modules/freopen-tests (Depends-on): Likewise.
48822         * modules/fseeko-tests (Depends-on): Likewise.
48823         * modules/ftello-tests (Depends-on): Likewise.
48824         * modules/fwrite-tests  (Depends-on): Likewise.
48825         * doc/posix-functions/fdopen.texi: Mention the problem on MSVC.
48827 2011-09-24  Bruno Haible  <bruno@clisp.org>
48829         fgetc, fputc, fread, fwrite tests: Avoid compilation error on MSVC.
48830         * modules/fgetc-tests (Depends-on): Add unistd.
48831         * modules/fputc-tests (Depends-on): Likewise.
48832         * modules/fread-tests (Depends-on): Likewise.
48833         * modules/fwrite-tests (Depends-on): Likewise.
48835 2011-09-24  Bruno Haible  <bruno@clisp.org>
48837         dup: Simplify autoconf test.
48838         * m4/dup.m4 (gl_FUNC_DUP): Don't run a test program. Instead, just rely
48839         on gl_MSVC_INVAL's result.
48841 2011-09-24  Bruno Haible  <bruno@clisp.org>
48843         Tests for function fwrite().
48844         * modules/fwrite-tests: New file.
48845         * tests/test-fwrite.c: New file.
48846         * modules/stdio-tests (Depends-on): Add fwrite-tests.
48848         Tests for function fread().
48849         * modules/fread-tests: New file.
48850         * tests/test-fread.c: New file.
48851         * modules/stdio-tests (Depends-on): Add fread-tests.
48853         Activate fputc tests.
48854         * modules/stdio-tests (Depends-on): Add fputc-tests.
48856         Enhance fgetc, fputc tests.
48857         * tests/test-fgetc.c (main): Also test the stream's error indicator.
48858         * tests/test-fputc.c (main): Likewise.
48860 2011-09-24  Bruno Haible  <bruno@clisp.org>
48862         write: Support for MSVC 9.
48863         * lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
48864         is not 1.
48865         * lib/write.c (write_nothrow): New function.
48866         (rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
48867         not 1. Use write_nothrow.
48868         * m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
48869         invalid parameter handler.
48870         (gl_PREREQ_WRITE): New macro.
48871         * modules/write (Depends-on): Add msvc-inval.
48872         (configure.ac): Invoke gl_PREREQ_WRITE.
48873         * doc/posix-functions/write.texi: Mention the problem on MSVC.
48875 2011-09-24  Bruno Haible  <bruno@clisp.org>
48877         read: Fix last commit.
48878         * lib/read.c (read_nothrow): Change return type to 'ssize_t'.
48880 2011-09-24  Bruno Haible  <bruno@clisp.org>
48882         dup2: Fix last commit.
48883         * lib/dup2.c: Restore comments. Treat Cygwin like Unix.
48884         (rpl_dup2): Disable fcntl workaround on native Windows.
48886         sigprocmask: Make code safer.
48887         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' before the code
48888         section that changes macro definitions for this compilation unit.
48890 2011-09-23  Paul Eggert  <eggert@cs.ucla.edu>
48892         dup2: clarify by coalescing Windows-specific material
48893         * lib/dup2.c: Move '#include "msvc-inval.h"' and '#include
48894         "msvc-nothrow.h"' to the Windows-specific section, so that the
48895         Emacs source need not contain these include files.
48896         (ms_windows_dup2): Rename from dup2_nothrow, and move all the
48897         Windows-specific fixes into this function rather than just the
48898         nothrow fix, as this shortens and clarifies the code.  Always
48899         define as a function, as that's a bit cleaner than having it be
48900         sometimes a function and sometimes a macro.
48901         (rpl_dup2): Move the Windows-specific stuff out of here and into
48902         ms_windows_dup2.  Don't protect the Haiku-related fix with
48903         "#if !defined __linux__", as the same code also works around
48904         a Linux kernel bug, and it doesn't add any system calls on any
48905         platform.  Add comment about FreeBSD 6.1.
48907         sigprocmask: move #include directive
48908         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' to the
48909         Windows-specific section, so that the Emacs source need not
48910         contain msvc-inval.h.
48912 2011-09-23  Bruno Haible  <bruno@clisp.org>
48914         read: Support for MSVC 9.
48915         * lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
48916         is not 1.
48917         * lib/read.c (read_nothrow): New function.
48918         (rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
48919         read_nothrow.
48920         * m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
48921         invalid parameter handler.
48922         (gl_PREREQ_READ): New macro.
48923         * modules/read (Depends-on): Add msvc-inval.
48924         (configure.ac): Invoke gl_PREREQ_READ.
48925         * doc/posix-functions/read.texi: Mention the problem on MSVC.
48927 2011-09-23  Bruno Haible  <bruno@clisp.org>
48929         close: Support for MSVC 9.
48930         * lib/close.c: Include <errno.h>, msvc-inval.h.
48931         (close_nothrow): New function.
48932         (rpl_close): Use it.
48933         * m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an
48934         invalid parameter handler.
48935         * modules/close (Depends-on): Add msvc-inval.
48936         * modules/dup2-tests (Depends-on): Add close.
48937         * modules/dup3-tests (Depends-on): Likewise.
48938         * modules/fcntl-tests (Depends-on): Likewise.
48939         * modules/spawn-pipe-tests (Depends-on): Likewise.
48940         * modules/unistd-safer-tests (Depends-on): Likewise.
48941         * doc/posix-functions/close.texi: Mention the problem on MSVC.
48943 2011-09-23  Bruno Haible  <bruno@clisp.org>
48945         New module 'dup'.
48946         * lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
48947         Allow replacement.
48948         * lib/dup.c: New file.
48949         * lib/fchdir.c (rpl_dup): Remove function.
48950         * m4/dup.m4: New file.
48951         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
48952         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
48953         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
48954         * modules/unistd (Makefile.am): Substitute GNULIB_DUP.
48955         * modules/dup: New file.
48956         * tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
48957         'dup' module is in use.
48958         * modules/fdopendir (Depends-on): Add dup.
48959         * modules/fdutimensat-tests (Depends-on): Likewise.
48960         * modules/fts (Depends-on): Likewise.
48961         * modules/futimens-tests (Depends-on): Likewise.
48962         * modules/posix_spawnp-tests (Depends-on): Likewise.
48963         * modules/unistd-safer-tests (Depends-on): Likewise.
48964         * modules/utimens-tests (Depends-on): Likewise.
48965         * doc/posix-functions/dup.texi: Mention the new module and the problem
48966         on MSVC.
48968 2011-09-23  Bruno Haible  <bruno@clisp.org>
48970         getdtablesize: Support for MSVC 9.
48971         * lib/getdtablesize.c: Include msvc-inval.h.
48972         (_setmaxstdio_nothrow): New function.
48973         (_setmaxstdio): Redefine it.
48974         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro.
48975         * modules/getdtablesize (Depends-on): Add msvc-inval.
48976         (configure.ac): Invoke gl_PREREQ_GETDTABLESIZE.
48978 2011-09-23  Bruno Haible  <bruno@clisp.org>
48980         signal-h: Rename from signal.
48981         * modules/signal-h: Renamed from modules/signal.
48982         * modules/pthread_sigmask (Depends-on): Update.
48983         * modules/raise (Depends-on): Likewise.
48984         * modules/sigaction (Depends-on): Likewise.
48985         * modules/sigpipe (Depends-on): Likewise.
48986         * modules/sigprocmask (Depends-on): Likewise.
48987         * modules/sys_select (Depends-on): Likewise.
48988         * modules/signal-h-tests: Renamed from modules/signal-tests.
48989         (Files, Depends-on, Makefile.am): Update.
48990         * tests/test-signal-h.c: Renamed from tests/test-signal.c.
48991         * modules/signal-h-c++-tests: Renamed from modules/signal-c++-tests.
48992         (Files, Makefile.am): Update.
48993         * tests/test-signal-h-c++.cc: Renamed from tests/test-signal-c++.cc.
48994         * tests/test-signal-h-c++2.cc: Renamed from tests/test-signal-c++2.cc.
48995         * modules/signal: New placeholder file.
48996         * MODULES.html.sh (Support for systems lacking POSIX:2008): Update.
48997         * doc/posix-headers/signal.texi: Update.
48998         * NEWS: Mention the change.
49000 2011-09-23  Bruno Haible  <bruno@clisp.org>
49002         sigprocmask: Avoid crashes through signal() on MSVC 9.
49003         * lib/sigprocmask.c: Include msvc-inval.h.
49004         (signal_nothrow): New function.
49005         (signal): Redefine it.
49006         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE.
49007         * modules/sigprocmask (Depends-on): Add msvc-inval.
49008         * doc/posix-functions/signal.texi: Mention the problem on MSVC.
49010 2011-09-23  Bruno Haible  <bruno@clisp.org>
49012         Tests for module 'raise'.
49013         * modules/raise-tests: New file.
49014         * tests/test-raise.c: New file.
49016         raise: Support for MSVC.
49017         * lib/signal.in.h (raise): New declaration.
49018         * lib/raise.c (raise_nothrow, rpl_raise): New alternate implementation
49019         for native Windows platforms.
49020         * m4/raise.m4: New file.
49021         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_RAISE,
49022         HAVE_RAISE, REPLACE_RAISE.
49023         * modules/signal (Makefile.am): Substitute GNULIB_RAISE, HAVE_RAISE,
49024         REPLACE_RAISE.
49025         * modules/raise (Status, Notice): Remove fields.
49026         (Files): Add m4/raise.m4.
49027         (Depends-on): Add signal, msvc-inval.
49028         (configure.ac): Use the common idioms.
49029         (Maintainer): Add me.
49030         * tests/test-signal-c++.cc: Check the signature of raise.
49031         * doc/posix-functions/raise.texi: Mention the problem on MSVC.
49033 2011-09-23  Bruno Haible  <bruno@clisp.org>
49035         pipe2: Fix compilation on pre-C99 compilers.
49036         * lib/pipe2.c (pipe2): Surround verify(...) declaration with braces.
49038 2011-09-23  Bruno Haible  <bruno@clisp.org>
49040         New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9.
49041         * lib/msvc-nothrow.h: New file.
49042         * lib/msvc-nothrow.c: New file.
49043         * m4/msvc-nothrow.m4: New file.
49044         * modules/msvc-nothrow: New file.
49045         * lib/dup2.c: Include msvc-nothrow.h.
49046         (rpl_dup2): No need to protect _get_osfhandle call here.
49047         * lib/accept4.c: Include msvc-nothrow.h.
49048         * lib/error.c: Likewise.
49049         * lib/fcntl.c: Likewise.
49050         * lib/lseek.c: Likewise.
49051         * lib/nonblocking.c: Likewise.
49052         * lib/poll.c: Likewise.
49053         * lib/read.c: Likewise.
49054         * lib/select.c: Likewise.
49055         * lib/sockets.h: Likewise.
49056         * lib/sockets.c: Likewise.
49057         * lib/stdio-read.c: Likewise.
49058         * lib/stdio-write.c: Likewise.
49059         * lib/write.c: Likewise.
49060         * lib/w32sock.h: Likewise.
49061         * lib/w32spawn.h: Likewise.
49062         * lib/flock.c: Include msvc-nothrow.h instead of <io.h>.
49063         * lib/fsync.c: Likewise.
49064         * lib/isapipe.c: Likewise.
49065         * modules/dup2 (Depends-on): Add msvc-nothrow.
49066         * modules/accept4 (Depends-on): Likewise.
49067         * modules/error (Depends-on): Likewise.
49068         * modules/fcntl (Depends-on): Likewise.
49069         * modules/lseek (Depends-on): Likewise.
49070         * modules/nonblocking (Depends-on): Likewise.
49071         * modules/poll (Depends-on): Likewise.
49072         * modules/read (Depends-on): Likewise.
49073         * modules/select (Depends-on): Likewise.
49074         * modules/sockets (Depends-on): Likewise.
49075         * modules/sigpipe (Depends-on): Likewise.
49076         * modules/write (Depends-on): Likewise.
49077         * modules/accept (Depends-on): Likewise.
49078         * modules/bind (Depends-on): Likewise.
49079         * modules/connect (Depends-on): Likewise.
49080         * modules/gethostname (Depends-on): Likewise.
49081         * modules/getpeername (Depends-on): Likewise.
49082         * modules/getsockname (Depends-on): Likewise.
49083         * modules/getsockopt (Depends-on): Likewise.
49084         * modules/ioctl (Depends-on): Likewise.
49085         * modules/listen (Depends-on): Likewise.
49086         * modules/recv (Depends-on): Likewise.
49087         * modules/recvfrom (Depends-on): Likewise.
49088         * modules/send (Depends-on): Likewise.
49089         * modules/sendto (Depends-on): Likewise.
49090         * modules/setsockopt (Depends-on): Likewise.
49091         * modules/shutdown (Depends-on): Likewise.
49092         * modules/socket (Depends-on): Likewise.
49093         * modules/execute (Depends-on): Likewise.
49094         * modules/spawn-pipe (Depends-on): Likewise.
49095         * modules/flock (Depends-on): Likewise.
49096         * modules/fsync (Depends-on): Likewise.
49097         * modules/isapipe (Depends-on): Likewise.
49098         * tests/test-cloexec.c: Include msvc-nothrow.h.
49099         * tests/test-dup-safer.c: Likewise.
49100         * tests/test-dup2.c: Likewise.
49101         * tests/test-dup3.c: Likewise.
49102         * tests/test-fcntl.c: Likewise.
49103         * tests/test-pipe.c: Likewise.
49104         * tests/test-pipe2.c: Likewise.
49105         * modules/cloexec-tests (Depends-on): Add msvc-nothrow.
49106         * modules/unistd-safer-tests (Depends-on): Likewise.
49107         * modules/dup2-tests (Depends-on): Likewise.
49108         * modules/dup3-tests (Depends-on): Likewise.
49109         * modules/fcntl-tests (Depends-on): Likewise.
49110         * modules/pipe-posix-tests (Depends-on): Likewise.
49111         * modules/pipe2-tests (Depends-on): Likewise.
49113 2011-09-23  Bruno Haible  <bruno@clisp.org>
49115         dup2: Make code more maintainable.
49116         * lib/dup2.c (dup2_nothrow): New function, extracted from rpl_dup2.
49117         (rpl_dup2): Use it.
49118         * m4/dup2.m4 (gl_PREREQ_DUP2): New macro.
49119         * modules/dup2 (configure.ac): Invoke it.
49120         Reported by Paul Eggert.
49122 2011-09-23  Bruno Haible  <bruno@clisp.org>
49124         msvc-inval: Fix compilation error.
49125         * lib/msvc-inval.h: Include <excpt.h>.
49127 2011-09-23  Bruno Haible  <bruno@clisp.org>
49129         mkdir: Tweak for MSVC 9.
49130         * lib/sys_stat.in.h: Update comments.
49131         * doc/posix-functions/mkdir.texi: Mention problem on MSVC 9.
49133         Tests for module 'chdir'.
49134         * modules/chdir-tests: New file.
49135         * tests/test-chdir.c: New file.
49137         New module 'chdir'.
49138         * modules/chdir: New file.
49139         * lib/unistd.in.h: Include <io.h>, <direct.h> also for chdir.
49140         (chdir): New declaration.
49141         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared.
49142         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR.
49143         * modules/unistd (Makefile.am): Substitute GNULIB_CHDIR.
49144         * tests/test-unistd-c++.cc: Check signature of chdir.
49145         * doc/posix-functions/chdir.texi: Mention problem on native Windows.
49146         * modules/chdir-long (Depends-on): Add chdir.
49147         * modules/fchdir (Depends-on): Likewise.
49148         * modules/rename (Depends-on): Likewise.
49149         * modules/savewd (Depends-on): Likewise.
49151         rmdir: Support for mingw, MSVC 9.
49152         * lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir.
49153         * doc/posix-functions/getcwd.texi: Mention problem on native Windows.
49155         getcwd: Tweak for MSVC 9.
49156         * lib/unistd.in.h: Update comments.
49157         * doc/posix-functions/getcwd.texi: Mention problem on MSVC 9.
49159 2011-09-22  Bruno Haible  <bruno@clisp.org>
49161         strerror_r-posix: Avoid a link error on MSVC.
49162         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf.
49163         * lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist.
49165 2011-09-22  Bruno Haible  <bruno@clisp.org>
49167         select: Avoid link errors on MSVC.
49168         * m4/select.m4 (gl_FUNC_SELECT): Determine LIB_SELECT.
49169         * modules/select (Link): Replace $(LIBSOCKET) with $(LIB_SELECT).
49170         * modules/pselect (Link): Likewise.
49171         * NEWS: Mention the change.
49172         * modules/select-tests (Makefile.am): Link test-select, test-select-fd,
49173         test-select-stdin against $(LIB_SELECT).
49174         * modules/pselect-tests (Makefile.am): Link test-pselect against
49175         $(LIB_SELECT).
49177 2011-09-22  Bruno Haible  <bruno@clisp.org>
49179         select: Avoid compilation error on MSVC.
49180         * lib/select.c: Don't include <stdbool.h>.
49182 2011-09-21  Bruno Haible  <bruno@clisp.org>
49184         Consolidate all uses of PATH_MAX in *.m4 files.
49185         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET, gl_PATHMAX_SNIPPET_PREREQ): New
49186         macros.
49187         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use gl_PATHMAX_SNIPPET_PREREQ
49188         and gl_PATHMAX_SNIPPET.
49189         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
49190         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
49191         * modules/chdir-long (Files): Add m4/pathmax.m4.
49192         * modules/getcwd (Files): Likewise.
49194 2011-09-21  Bruno Haible  <bruno@clisp.org>
49196         ftruncate: Un-deprecate, concentrate on Win32 support.
49197         * modules/ftruncate (Status, Notice): Remove sections.
49198         (Depends-on): Add largefile.
49199         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on
49200         non-mingw platforms.
49201         * lib/ftruncate.c: Remove code for the older platforms. For Win32,
49202         include <io.h>.
49203         * modules/perror-tests (Depends-on): Add ftruncate.
49204         * doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the
49205         'ftruncate' module.
49207 2011-09-21  Bruno Haible  <bruno@clisp.org>
49209         Add dependencies to new dirent related modules.
49210         * modules/opendir (Depends-on): Add closedir.
49211         * modules/getcwd (Depends-on): Add opendir, closedir.
49212         * modules/dirent-safer-tests (Depends-on): Likewise.
49213         * modules/fdopendir-tests (Depends-on): Likewise.
49214         * modules/rename-tests (Depends-on): Add opendir, readdir, closedir.
49215         * modules/renameat-tests (Depends-on): Likewise.
49217 2011-09-21  Bruno Haible  <bruno@clisp.org>
49219         opendir: Avoid compilation error on mingw.
49220         * lib/opendir.c: Include <stddef.h> always. Include <unistd.h> as well.
49221         * modules/opendir (Depends-on): Add unistd.
49223 2011-09-21  Bruno Haible  <bruno@clisp.org>
49225         ftruncate tests: Avoid a test failure on mingw.
49226         * tests/test-ftruncate.c (main): Allow a failure with EACCES.
49228 2011-09-21  Bruno Haible  <bruno@clisp.org>
49230         select tests: Avoid test failures on OSF/1 5.1 and mingw.
49231         * tests/test-select.h (test_bad_fd): Disable all tests on OSF/1 and
49232         native Windows.
49234 2011-09-21  Bruno Haible  <bruno@clisp.org>
49236         New module 'fdopen'.
49237         * lib/stdio.in.h (fdopen): New declaration.
49238         * lib/fdopen.c: New file.
49239         * m4/fdopen.m4: New file.
49240         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FDOPEN,
49241         REPLACE_FDOPEN.
49242         * modules/stdio (Makefile.am): Substitute GNULIB_FDOPEN,
49243         REPLACE_FDOPEN.
49244         * modules/fdopen: New file.
49245         * modules/stdio-tests (Depends-on): Remove fdopen-tests.
49246         * tests/test-stdio-c++.cc: Check signature of fdopen.
49247         * doc/posix-functions/fdopen.texi: Mention the new module.
49249 2011-09-21  Bruno Haible  <bruno@clisp.org>
49251         unlockpt tests: Avoid test failure on NetBSD 5.1.
49252         * tests/test-unlockpt.c (main): Skip the EBADF tests on NetBSD.
49253         * doc/posix-functions/unlockpt.texi: Mention the bug on NetBSD.
49255 2011-09-21  Bruno Haible  <bruno@clisp.org>
49257         getlogin, getlogin_r tests: Avoid test failure on Linux/SPARC.
49258         * tests/test-getlogin.c (main): Allow a failure with EINVAL.
49259         * tests/test-getlogin_r.c (main): Likewise.
49261 2011-09-20  Bruno Haible  <bruno@clisp.org>
49263         time tests: Don't require pid_t.
49264         * doc/posix-headers/time.texi: Revert last change.
49265         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Revert last change.
49266         * tests/test-time.c: Comment out the check for pid_t.
49268 2011-09-20  Bruno Haible  <bruno@clisp.org>
49270         fsync tests: Avoid a test failure on mingw.
49271         * tests/test-fsync.c (main): Allow a failure with EIO.
49273 2011-09-20  Bruno Haible  <bruno@clisp.org>
49275         euidaccess: Update comments.
49276         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments.
49278 2011-09-20  Bruno Haible  <bruno@clisp.org>
49280         Ensure EBADF returns for socket functions on mingw.
49281         * lib/accept.c (rpl_accept): Fail with error EBADF if the file
49282         descriptor is invalid.
49283         * lib/bind.c (rpl_bind): Likewise.
49284         * lib/connect.c (rpl_connect): Likewise.
49285         * lib/getpeername.c (rpl_getpeername): Likewise.
49286         * lib/getsockname.c (rpl_getsockname): Likewise.
49287         * lib/getsockopt.c (rpl_getsockopt): Likewise.
49288         * lib/listen.c (rpl_listen): Likewise.
49289         * lib/recv.c (rpl_recv): Likewise.
49290         * lib/recvfrom.c (rpl_recvfrom): Likewise.
49291         * lib/send.c (rpl_send): Likewise.
49292         * lib/sendto.c (rpl_sendto): Likewise.
49293         * lib/setsockopt.c (rpl_setsockopt): Likewise.
49294         * lib/shutdown.c (rpl_shutdown): Likewise.
49296 2011-09-20  Bruno Haible  <bruno@clisp.org>
49298         select tests: EBADF tests.
49299         * tests/test-select.h (do_select_bad_fd, do_select_bad_fd_nowait,
49300         test_bad_fd): New functions.
49301         (test_function): Invoke also test_bad_fd.
49303 2011-09-20  Bruno Haible  <bruno@clisp.org>
49305         Tests for module 'posix_spawn_file_actions_addopen.
49306         * modules/posix_spawn_file_actions_addopen-tests: New file.
49307         * tests/test-posix_spawn_file_actions_addopen.c: New file.
49309         Tests for module 'posix_spawn_file_actions_adddup2'.
49310         * modules/posix_spawn_file_actions_adddup2-tests: New file.
49311         * tests/test-posix_spawn_file_actions_adddup2.c: New file.
49313         Tests for module 'posix_spawn_file_actions_addclose'.
49314         * modules/posix_spawn_file_actions_addclose-tests: New file.
49315         * tests/test-posix_spawn_file_actions_addclose.c: New file.
49317 2011-09-20  Bruno Haible  <bruno@clisp.org>
49319         Tests for module 'unlockpt'.
49320         * modules/unlockpt-tests: New file.
49321         * tests/test-unlockpt.c: New file.
49322         * doc/posix-functions/unlockpt.texi: Mention the Cygwin 1.7 problem.
49324         Tests for module 'grantpt'.
49325         * modules/grantpt-tests: New file.
49326         * tests/test-grantpt.c: New file.
49327         * doc/posix-functions/grantpt.texi: Mention the Cygwin 1.7 problem.
49329 2011-09-20  Bruno Haible  <bruno@clisp.org>
49331         freopen tests: EBADF tests.
49332         * tests/test-freopen.c: Include errno.h, unistd.h.
49333         (main): Add tests for EBADF, commented out for the moment.
49335         fclose tests: EBADF tests.
49336         * tests/test-fclose.c (main): Add tests for EBADF.
49338         fflush tests: EBADF tests.
49339         * tests/test-fflush.c: Include errno.h, macros.h.
49340         (main): Add tests for EBADF.
49342         ftello tests: EBADF tests.
49343         * tests/test-ftello4.sh: New file.
49344         * tests/test-ftello4.c: New file.
49345         * modules/ftello-tests (Files): Add them.
49346         (Makefile.am): Arrange to compile test-ftello4 and run test-ftello4.sh.
49348         fseeko tests: EBADF tests.
49349         * tests/test-fseeko4.sh: New file.
49350         * tests/test-fseeko4.c: New file.
49351         * modules/fseeko-tests (Files): Add them.
49352         (Makefile.am): Arrange to compile test-fseeko4 and run test-fseeko4.sh.
49354         Tests for function fputc().
49355         * modules/fputc-tests: New file.
49356         * tests/test-fputc.c: New file.
49357         * modules/stdio-tests (Depends-on): Add fputc-tests.
49359         Tests for function fgetc().
49360         * modules/fgetc-tests: New file.
49361         * tests/test-fgetc.c: New file.
49362         * modules/stdio-tests (Depends-on): Add fgetc-tests.
49364         Tests for function fdopen().
49365         * modules/fdopen-tests: New file.
49366         * tests/test-fdopen.c: New file.
49367         * modules/stdio-tests (Depends-on): Add fdopen-tests.
49369         Tests for module 'vdprintf'.
49370         * modules/vdprintf-tests: New file.
49371         * tests/test-vdprintf.c: New file.
49373         Tests for module 'dprintf'.
49374         * modules/dprintf-tests: New file.
49375         * tests/test-dprintf.c: New file.
49377 2011-09-20  Bruno Haible  <bruno@clisp.org>
49379         Tests for module 'ioctl'.
49380         * modules/ioctl-tests: New file.
49381         * tests/test-ioctl.c: New file.
49383 2011-09-20  Bruno Haible  <bruno@clisp.org>
49385         fcntl tests: EBADF tests.
49386         * tests/test-fcntl.c (main): Add more tests for EBADF.
49388 2011-09-20  Bruno Haible  <bruno@clisp.org>
49390         utimensat tests: EBADF tests.
49391         * tests/test-utimensat.c (main): Add tests for EBADF.
49393         renameat tests: EBADF tests.
49394         * tests/test-renameat.c (main): Add tests for EBADF.
49396         mkfifoat tests: EBADF tests.
49397         * tests/test-mkfifoat.c (main): Add tests for EBADF.
49399         readlinkat tests: EBADF tests.
49400         * tests/test-readlinkat.c (main): Add tests for EBADF.
49402         symlinkat tests: EBADF tests.
49403         * tests/test-symlinkat.c (main): Add tests for EBADF.
49405         linkat tests: EBADF tests.
49406         * tests/test-linkat.c (main): Add tests for EBADF.
49408         Tests for module 'faccessat'.
49409         * modules/faccessat-tests: New file.
49410         * tests/test-faccessat.c: New file.
49412         fdopendir tests: EBADF tests.
49413         * tests/test-fdopendir.c (main): Add more tests for EBADF.
49415         openat tests: EBADF tests.
49416         * tests/test-fchownat.c (main): Add tests for EBADF.
49417         * tests/test-fstatat.c (main): Likewise.
49418         * tests/test-mkdirat.c (main): Likewise.
49419         * tests/test-openat.c (main): Likewise.
49420         * tests/test-unlinkat.c (main): Likewise.
49421         * tests/test-fchmodat.c: New file.
49422         * modules/openat-tests (Files): Add tests/test-fchmodat.c.
49423         (Makefile.am): Also run 'test-fchmodat'.
49425 2011-09-20  Bruno Haible  <bruno@clisp.org>
49427         utimens, futimens, fdutimensat tests: EBADF tests.
49428         * tests/test-futimens.h (test_futimens): Add more tests for EBADF.
49430         Tests for function fstat().
49431         * modules/fstat-tests: New file.
49432         * tests/test-fstat.c: New file.
49433         * modules/sys_stat-tests (Depends-on): Add fstat-tests.
49435 2011-09-20  Bruno Haible  <bruno@clisp.org>
49437         test-ttyname_r tests: EBADF tests.
49438         * tests/test-ttyname_r.c (main): Add tests for EBADF.
49440         Tests for module 'isatty'.
49441         * modules/isatty-tests: New file.
49442         * tests/test-isatty.c: New file.
49444         Tests for module 'write'.
49445         * modules/write-tests: New file.
49446         * tests/test-write.c: New file.
49448         Tests for module 'read'.
49449         * modules/read-tests: New file.
49450         * tests/test-read.c: New file.
49452         pwrite tests: EBADF tests.
49453         * tests/test-pwrite.c (main): Add tests for EBADF.
49455         pread tests: EBADF tests.
49456         * tests/test-pread.c (main): Add tests for EBADF.
49458         lseek tests: EBADF tests.
49459         * tests/test-lseek.c (main): Add more tests for EBADF.
49461         Tests for module 'ftruncate'.
49462         * modules/ftruncate-tests: New file.
49463         * tests/test-ftruncate.sh: New file.
49464         * tests/test-ftruncate.c: New file.
49466         fsync tests: EBADF tests.
49467         * tests/test-fsync.c (main): Add more tests for EBADF.
49469         fdatasync tests: EBADF tests.
49470         * tests/test-fdatasync.c (main): Add more tests for EBADF.
49472         Tests for module 'fchown'.
49473         * modules/fchown-tests: New file.
49474         * tests/test-fchown.c: New file.
49476         Tests for module 'fchmod'.
49477         * modules/fchmod-tests: New file.
49478         * tests/test-fchmod.c: New file.
49480         fchdir tests: EBADF tests.
49481         * tests/test-fchdir.c (main): Add more tests for EBADF.
49483         dup2 tests: EBADF tests.
49484         * tests/test-dup2.c (main): Add more tests for EBADF.
49486         Tests for module 'dup'.
49487         * modules/dup-tests: New file.
49488         * tests/test-dup.c: New file.
49490         Tests for module 'close'.
49491         * modules/close-tests: New file.
49492         * tests/test-close.c: New file.
49494 2011-09-20  Bruno Haible  <bruno@clisp.org>
49496         Tests for module 'shutdown'.
49497         * modules/shutdown-tests: New file.
49498         * tests/test-shutdown.c: New file.
49500         Tests for module 'setsockopt'.
49501         * modules/setsockopt-tests: New file.
49502         * tests/test-setsockopt.c: New file.
49504         Tests for module 'sendto'.
49505         * modules/sendto-tests: New file.
49506         * tests/test-sendto.c: New file.
49508         Tests for module 'send'.
49509         * modules/send-tests: New file.
49510         * tests/test-send.c: New file.
49512         Tests for module 'recvfrom'.
49513         * modules/recvfrom-tests: New file.
49514         * tests/test-recvfrom.c: New file.
49516         Tests for module 'recv'.
49517         * modules/recv-tests: New file.
49518         * tests/test-recv.c: New file.
49520         Tests for module 'listen'.
49521         * modules/listen-tests: New file.
49522         * tests/test-listen.c: New file.
49524         Tests for module 'getsockopt'.
49525         * modules/getsockopt-tests: New file.
49526         * tests/test-getsockopt.c: New file.
49528         Tests for module 'getsockname'.
49529         * modules/getsockname-tests: New file.
49530         * tests/test-getsockname.c: New file.
49532         Tests for module 'getpeername'.
49533         * modules/getpeername-tests: New file.
49534         * tests/test-getpeername.c: New file.
49536         Tests for module 'connect'.
49537         * modules/connect-tests: New file.
49538         * tests/test-connect.c: New file.
49540         Tests for module 'bind'.
49541         * modules/bind-tests: New file.
49542         * tests/test-bind.c: New file.
49544         accept4 tests: Fix for native Windows.
49545         * tests/test-accept4.c: Include sockets.h.
49546         (main): Invoke gl_sockets_startup.
49547         * modules/accept4-tests (Depends-on): Add sockets.
49549         accept tests: Fix for native Windows.
49550         * tests/test-accept.c: Include sockets.h.
49551         (main): Invoke gl_sockets_startup.
49552         * modules/accept-tests (Depends-on): Add sockets.
49554 2011-09-19  Bruno Haible  <bruno@clisp.org>
49556         msvc-inval: Require a semicolon after DONE_MSVC_INVAL.
49557         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Wrap in a
49558         do...while(0).
49559         * lib/dup2.c (rpl_dup2): Add a semicolon after DONE_MSVC_INVAL.
49560         Suggested by Paul Eggert.
49562 2011-09-19  Bruno Haible  <bruno@clisp.org>
49564         sched: Ensure pid_t is defined.
49565         * m4/sched_h.m4 (gl_SCHED_H): Arrange to override <sched.h> if it does
49566         not define pid_t.
49567         * lib/sched.in.h: Include <sys/types.h>.
49568         * doc/posix-headers/sched.texi: Mention the pid_t problem.
49569         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
49571 2011-09-19  Bruno Haible  <bruno@clisp.org>
49573         msvc-inval: Ensure the entire expansion is a single statement.
49574         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Add an extra pair
49575         of braces.
49577 2011-09-19  Jim Meyering  <meyering@redhat.com>
49579         tests: use printf, not echo in init.sh's warn_ function
49580         * tests/init.sh (warn_): Use printf, not echo.  The latter would
49581         misbehave when given strings containing a backslash or starting
49582         with e.g., -n.  James Youngman suggested setting IFS.
49584 2011-09-19  Eric Blake  <eblake@redhat.com>
49586         futimens: enhance test
49587         * tests/test-futimens.h (test_futimens): Also check for EBADF on
49588         closed non-negative fd.
49590         date: accept 'hence' as opposite of 'ago'
49591         * lib/parse-datetime.y (relative_time_table): Add 'hence'.
49592         * tests/test-parse-datetime.c (main): Enhance test.
49593         Suggested by Jesse Wilson.
49595 2011-09-19  Jim Meyering  <meyering@redhat.com>
49597         getcwd: don't fail in a deep directory on a system without openat
49598         Before this change, getcwd would fail when called from a directory
49599         of depth PATH_MAX / 3 or greater.  That was due to the fact that
49600         the non-openat implementation used "..", "../..", "../../..", etc.
49601         to access ancestor directories.  With too many, that string would
49602         be longer than PATH_MAX.
49603         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Define also when we are
49604         using gnulib's openat replacement.
49605         * m4/openat.m4: Set GNULIB_OPENAT, so getcwd.c knows when
49606         we're using the replacement function.
49608 2011-09-14  Martin von Gagern  <Martin.vGagern@gmx.net>
49610         maint.mk: avoid warnings from perl about missing files
49611         * top/maint.mk (def_sym_regex): Ignore files listed in
49612         $(gl_other_headers_) that do not exist, say because a project
49613         does not use a corresponding module.
49615 2011-09-18  Paul Eggert  <eggert@cs.ucla.edu>
49617         stat: use pathmax.h only if needed
49618         * lib/stat.c: Include pathmax.h only if REPLACE_FUNC_STAT_DIR.
49619         This is better for Emacs, which does not have a mingw port and
49620         therefore can avoid the pathmax module.
49622         utimens: remove dependency on dup2
49623         * lib/utimens.c (fdutimens): Don't invoke dup2; it's not needed
49624         to work around the Linux kernel bug.
49625         * modules/utimens (Depends-on): Remove dup2.
49627 2011-09-18  Bruno Haible  <bruno@clisp.org>
49629         inet_ntop, inet_pton: Look for it also in libresolv.
49630         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): If the function was not found in
49631         libnsl, search for it in libresolv.
49632         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
49633         Needed on Solaris 7.
49635 2011-09-18  Bruno Haible  <bruno@clisp.org>
49637         accept, accept4 tests: Avoid link error on Solaris.
49638         * modules/accept-tests (Makefile.am): Link test-accept against
49639         $(LIBSOCKET).
49640         * modules/accept4-tests (Makefile.am): Link test-accept4 against
49641         $(LIBSOCKET).
49643         accept4: Avoid link error on Solaris.
49644         * modules/accept4 (Link): New section.
49646         socket functions: Avoid link errors on Solaris.
49647         * modules/accept (Depends-on): Add socketlib.
49648         (Link): New section.
49649         * modules/bind (Depends-on): Add socketlib.
49650         (Link): New section.
49651         * modules/connect (Depends-on): Add socketlib.
49652         (Link): New section.
49653         * modules/getpeername (Depends-on): Add socketlib.
49654         (Link): New section.
49655         * modules/getsockname (Depends-on): Add socketlib.
49656         (Link): New section.
49657         * modules/getsockopt (Depends-on): Add socketlib.
49658         (Link): New section.
49659         * modules/listen (Depends-on): Add socketlib.
49660         (Link): New section.
49661         * modules/recv (Depends-on): Add socketlib.
49662         (Link): New section.
49663         * modules/recvfrom (Depends-on): Add socketlib.
49664         (Link): New section.
49665         * modules/send (Depends-on): Add socketlib.
49666         (Link): New section.
49667         * modules/sendto (Depends-on): Add socketlib.
49668         (Link): New section.
49669         * modules/setsockopt (Depends-on): Add socketlib.
49670         (Link): New section.
49671         * modules/shutdown (Depends-on): Add socketlib.
49672         (Link): New section.
49673         * modules/socket (Depends-on): Add socketlib.
49674         (Link): New section.
49676 2011-09-18  Bruno Haible  <bruno@clisp.org>
49678         ptsname tests: Let the test fail rather than hang (e.g. on AIX 5.1).
49679         * tests/test-ptsname.c (main): Terminate the test if it takes longer
49680         than 5 seconds.
49681         * modules/ptsname-tests (configure.ac): Test for alarm.
49683 2011-09-18  Bruno Haible  <bruno@clisp.org>
49685         posix_spawn_file_actions_add*: Fix module dependencies.
49686         * modules/posix_spawn_file_actions_addclose (Dependencies): Add
49687         posix_spawn_file_actions_init.
49688         * modules/posix_spawn_file_actions_adddup2 (Dependencies): Likewise.
49689         * modules/posix_spawn_file_actions_addopen (Dependencies): Likewise.
49691 2011-09-18  Bruno Haible  <bruno@clisp.org>
49693         rename, renameat tests: Avoid test failures on FreeBSD 6.4.
49694         * tests/test-rename.h (test_rename): Allow error code EEXIST.
49695         * tests/test-renameat.c (main): Likewise.
49697 2011-09-18  Bruno Haible  <bruno@clisp.org>
49699         Tests for module 'accept4'.
49700         * modules/accept4-tests: New file.
49701         * tests/test-accept4.c: New file.
49703 2011-09-18  Bruno Haible  <bruno@clisp.org>
49705         Tests for module 'accept'.
49706         * modules/accept-tests: New file.
49707         * tests/test-accept.c: New file.
49709 2011-09-18  Bruno Haible  <bruno@clisp.org>
49711         dup2: Support for MSVC.
49712         * lib/dup2.c: Include msvc-inval.h.
49713         (rpl_dup2): Handle invalid parameter notifications during dup2 and
49714         _get_osfhandle calls.
49715         * modules/dup2 (Depends-on): Add msvc-inval.
49716         * doc/posix-functions/dup2.texi: Mention problem on MSVC.
49718         New module 'msvc-inval'.
49719         * lib/msvc-inval.h: New file.
49720         * lib/msvc-inval.c: New file.
49721         * m4/msvc-inval.m4: New file.
49722         * modules/msvc-inval: New file.
49724 2011-09-17  Bruno Haible  <bruno@clisp.org>
49726         Tests for module 'pclose'.
49727         * modules/pclose-tests: New file.
49729         New module 'pclose'.
49730         * lib/stdio.in.h (pclose): New declaration.
49731         * lib/pclose.c: New file.
49732         * m4/pclose.m4: New file.
49733         * m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared.
49734         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE.
49735         * modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE.
49736         * modules/pclose: New file.
49737         * modules/popen-tests (Depends-on): Add pclose.
49738         * modules/popen-safer-tests (Depends-on): Likewise.
49739         * doc/posix-functions/pclose.texi: Mention the new module.
49741 2011-09-17  Bruno Haible  <bruno@clisp.org>
49743         popen: Support for MSVC.
49744         * lib/stdio.in.h (popen): Declare it if the system lacks this function.
49745         * lib/popen.c (popen): Provide alternate definition for native Windows.
49746         * m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN.
49747         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN.
49748         * modules/popen (Depends-on, configure.ac): Update condition.
49749         * modules/stdio (Makefile.am): Substitute HAVE_POPEN.
49750         * doc/posix-functions/popen.texi: Mention that the MSVC problem is
49751         fixed.
49753 2011-09-17  Bruno Haible  <bruno@clisp.org>
49755         isnanl, isnand, isnanf: Work around MSVC bug.
49756         * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity.
49758 2011-09-17  Bruno Haible  <bruno@clisp.org>
49760         sys_socket tests: Fix recent mistake.
49761         * tests/test-sys_socket.c (t1): Avoid collision of identifiers.
49763 2011-09-17  Bruno Haible  <bruno@clisp.org>
49765         putenv: Support for MSVC.
49766         * modules/putenv (Depends-on): Add environ.
49767         * lib/putenv.c (environ): Disable declaration.
49768         * lib/unistd.in.h: Update comment.
49770 2011-09-17  Bruno Haible  <bruno@clisp.org>
49772         math: Avoid macro redefinition warnings on MSVC.
49773         * lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl):
49774         Undefine before redefining.
49776 2011-09-17  Bruno Haible  <bruno@clisp.org>
49778         doc: Mention functions which are declared as macros.
49779         * doc/posix-functions/*[fl].texi: Mention that some functions are
49780         defined as macros with arguments only.
49782 2011-09-17  Bruno Haible  <bruno@clisp.org>
49784         Add dependencies to new dirent related modules.
49785         * modules/backupfile (Depends-on): Add opendir, readdir, closedir.
49786         * modules/fts (Depends-on): Likewise.
49787         * modules/glob (Depends-on): Likewise.
49788         * modules/savedir (Depends-on): Likewise.
49789         * modules/scandir (Depends-on): Likewise.
49790         * modules/dirent-safer (Depends-on): Add opendir, closedir.
49791         * modules/fdopendir (Depends-on): Add opendir.
49793 2011-09-17  Bruno Haible  <bruno@clisp.org>
49795         inet_pton: Support for MSVC on Windows Vista or newer.
49796         * lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON.
49797         * lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if
49798         HAVE_DECL_INET_PTON is defined.
49799         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2.
49800         On platforms with <winsock2.h>, test whether inet_pton is declared in
49801         <ws2tcpip.h>. If so, arrange to replace it.
49802         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
49803         REPLACE_INET_PTON.
49804         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON.
49805         * modules/inet_pton (Files): Add m4/sys_socket_h.m4.
49806         (Depends-on, configure.ac): Update condition.
49807         * doc/posix-functions/inet_pton.texi: Mention the MSVC problem.
49809 2011-09-17  Bruno Haible  <bruno@clisp.org>
49811         inet_ntop: Support for MSVC on Windows Vista or newer.
49812         * lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP.
49813         * lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if
49814         HAVE_DECL_INET_NTOP is defined.
49815         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2.
49816         On platforms with <winsock2.h>, test whether inet_ntop is declared in
49817         <ws2tcpip.h>. If so, arrange to replace it.
49818         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
49819         REPLACE_INET_NTOP.
49820         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP.
49821         * modules/inet_ntop (Files): Add m4/sys_socket_h.m4.
49822         (Depends-on, configure.ac): Update condition.
49823         * doc/posix-functions/inet_ntop.texi: Mention the MSVC problem.
49825 2011-09-16  Eric Blake  <eblake@redhat.com>
49827         test-fsync: yet another enhancement
49828         * tests/test-fsync.c (main): Also test behavior on read-only text
49829         file.
49831 2011-09-16  Bruno Haible  <bruno@clisp.org>
49833         Enhance fsync, fdatasync tests.
49834         * tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO.
49835         * tests/test-fdatasync.c (main): Likewise.
49837 2011-09-16  Bruno Haible  <bruno@clisp.org>
49839         Support for MSVC compiler: Ensure mode_t gets defined.
49840         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T.
49841         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
49842         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
49843         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise.
49844         * tests/test-fcntl-h.c: Check that mode_t is defined.
49845         * tests/test-sys_stat.c: Likewise.
49846         * tests/test-sys_types.c: Likewise.
49847         * doc/posix-headers/fcntl.texi: Mention the missing mode_t problem.
49848         * doc/posix-headers/sys_stat.texi: Likewise.
49849         * doc/posix-headers/sys_types.texi: Likewise.
49851 2011-09-16  Bruno Haible  <bruno@clisp.org>
49853         sys_stat: Support for MSVC.
49854         * lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists.
49855         * tests/test-sys_stat.c: Don't assume that S_IFBLK exists.
49856         * doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on
49857         MSVC.
49859 2011-09-16  Bruno Haible  <bruno@clisp.org>
49861         Support for MSVC compiler: Ensure off_t gets defined.
49862         * lib/unistd.in.h: Include <sys/types.h>.
49863         * tests/test-fcntl-h.c: Check that off_t is defined.
49864         * tests/test-sys_stat.c: Likewise.
49865         * tests/test-sys_types.c: Likewise.
49867 2011-09-16  Eric Blake  <eblake@redhat.com>
49869         fdatasync: port to Solaris
49870         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC.
49871         * modules/fdatasync (Link): Document it.
49872         * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it.
49874         fdatasync: port to MacOS X 10.7
49875         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
49876         declared.
49877         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
49878         * modules/unistd (Makefile.am): Substitute it.
49879         * lib/unistd.in.h (fdatasync): Declare on MacOS.
49880         * doc/posix-functions/fdatasync.texi (fdatasync): Document it.
49882         fdatasync: minor improvements
49883         * modules/fdatasync (Depends-on): Add condition for fsync.
49884         * lib/fdatasync.c (fdatasync): Add comment.
49885         * tests/test-unistd-c++.cc: Test fdatasync.
49887         unistd: update refs to newer POSIX
49888         * lib/unistd.in.h: Prefer POSIX 2008 over 2001.
49889         Suggested by Bruno Haible.
49891         fdatasync: new module
49892         * modules/fsync (Description): Document difference to fdatasync.
49893         * modules/fdatasync: New module.
49894         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
49895         * lib/fdatasync.c (fdatasync): Likewise.
49896         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
49897         defaults.
49898         * modules/unistd (Makefile.am): Set witnesses.
49899         * lib/unistd.in.h (fdatasync): Declare.
49900         * MODULES.html.sh: Document it.
49901         * doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
49902         * modules/fdatasync-tests: New test.
49903         * tests/test-fdatasync.c: Likewise.
49905 2011-09-16  Eric Blake  <eblake@redhat.com>
49907         test-fsync: enhance tests
49908         * modules/fsync-tests (Depends-on): Add errno, for mingw.
49909         * tests/test-fsync.c (main): Enhance test.
49911 2011-09-15  Bruno Haible  <bruno@clisp.org>
49913         Support for MSVC compiler: Ensure ssize_t gets defined.
49914         * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem.
49915         * doc/posix-headers/stdio.texi: Likewise.
49916         * modules/stdio (Depends-on): Add ssize_t.
49917         * modules/sys_socket (Depends-on): Likewise.
49918         * modules/sys_types (Depends-on): Likewise.
49919         * modules/sys_uio (Depends-on): Likewise.
49920         * modules/unistd (Depends-on): Likewise.
49921         * tests/test-sys_socket.c: Check that size_t and ssize_t are defined.
49922         * tests/test-sys_types.c: Check that ssize_t is defined.
49924 2011-09-14  Bruno Haible  <bruno@clisp.org>
49926         Avoid using #, the m4 comment starter character, near brackets.
49927         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as
49928         delimiter character in sed expressions.
49929         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
49930         Suggested by Eric Blake.
49932         Properly quote AC_CHECK_DECLS' 4th argument.
49933         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th
49934         argument.
49935         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
49936         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
49937         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
49938         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
49939         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
49940         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise.
49941         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise.
49942         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise.
49943         * m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise.
49944         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
49945         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise.
49946         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
49947         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
49948         * m4/isinf.m4 (gl_ISINF): Likewise.
49949         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
49950         * m4/readutmp.m4 (gl_READUTMP): Likewise.
49951         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
49952         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
49953         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
49954         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
49955         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
49956         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
49957         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise.
49958         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
49959         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
49960         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
49961         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise.
49962         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
49963         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
49964         Reported by Eric Blake.
49966         Properly quote AC_CHECK_DECL's 4th argument.
49967         * m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th
49968         argument.
49969         * m4/argp.m4 (gl_ARGP): Likewise.
49970         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
49971         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
49972         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
49973         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
49974         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise.
49975         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
49976         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
49977         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
49978         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
49979         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
49980         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
49981         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
49982         Reported by Eric Blake.
49984 2011-09-14  Eric Blake  <eblake@redhat.com>
49986         opendir: avoid compile warning
49987         * lib/opendir.c (includes): Always include errno.h.
49988         Reported by Tatsuro MATSUOKA.
49990 2011-09-14  Jim Meyering  <meyering@redhat.com>
49992         maint.mk: sc_tight_scope: propagate failure from sub-make
49993         * top/maint.mk (sc_tight_scope): Actually initialize and use $fail.
49994         Reported by Martin von Gagern.
49996 2011-09-13  Bruno Haible  <bruno@clisp.org>
49998         tempname: Support for MSVC.
49999         * doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on
50000         MSVC.
50001         * modules/tempname (Depends-on): Add fcntl-h.
50003 2011-09-13  Bruno Haible  <bruno@clisp.org>
50005         sys_time: Support for MSVC.
50006         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke
50007         gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also
50008         include <winsock2.h>.
50009         * lib/sys_time.in.h: On MSVC, include <winsock2.h> and hide its
50010         function declarations that collide with POSIX.
50011         * modules/sys_time (Files): Add m4/sys_socket_h.m4.
50012         (Makefile.am): Substitute HAVE_WINSOCK2_H.
50014 2011-09-13  Bruno Haible  <bruno@clisp.org>
50016         stat: Support for MSVC.
50017         * lib/stat.c: Include pathmax.h.
50018         * modules/stat (Depends-on): Add pathmax.
50020         pathmax: Support for native Windows.
50021         * lib/pathmax.h (PATH_MAX): Define to 260 on native Windows.
50023 2011-09-12  Bruno Haible  <bruno@clisp.org>
50025         New modules 'opendir', 'readdir', 'rewinddir', 'closedir'.
50026         * lib/dirent.in.h (struct dirent): New type.
50027         (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK,
50028         DT_WHT): New macros.
50029         (DIR): New type.
50030         (opendir, closedir): Declare only if the module 'opendir' is enabled.
50031         (readdir, rewinddir): New declarations.
50032         * lib/dirent-private.h: New file.
50033         * lib/opendir.c: New file.
50034         * lib/readdir.c: New file.
50035         * lib/rewinddir.c: New file.
50036         * lib/closedir.c: New file.
50037         * lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions.
50038         * m4/opendir.m4: New file.
50039         * m4/readdir.m4: New file.
50040         * m4/rewinddir.m4: New file.
50041         * m4/closedir.m4: New file.
50042         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR,
50043         REPLACE_CLOSEDIR here.
50044         * m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir,
50045         readdir, rewinddir are declared.
50046         (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR,
50047         GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR,
50048         HAVE_REWINDDIR, HAVE_CLOSEDIR.
50049         * modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR,
50050         GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR,
50051         HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR.
50052         * modules/opendir: New file.
50053         * modules/readdir: New file.
50054         * modules/rewinddir: New file.
50055         * modules/closedir: New file.
50056         * doc/posix-functions/opendir.texi: Mention the 'opendir' module.
50057         * doc/posix-functions/readdir.texi: Mention the 'readdir' module.
50058         * doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module.
50059         * doc/posix-functions/closedir.texi: Mention the 'closedir' module.
50060         * NEWS: Mention the 'fchdir' change.
50062 2011-09-11  Bruno Haible  <bruno@clisp.org>
50064         asm-underscore.m4: Support for MSVC.
50065         * m4/asm-underscore.m4 (gl_C_ASM): New macro.
50066         (gl_ASM_SYMBOL_PREFIX): Require it. Use its results.
50068 2011-09-11  Reuben Thomas  <rrt@sc3d.org>
50070         Doc about crypt functions.
50071         * doc/posix-functions/crypt.texi: Expand range of glibc versions
50072         needing for _GNU_SOURCE to get crypt.
50073         * doc/posix-functions/encrypt.texi: Likewise.
50074         * doc/posix-functions/setkey.texi: Likewise.
50076 2011-09-11  Bruno Haible  <bruno@clisp.org>
50078         doc: Update regarding MSVC 9.
50079         * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely
50080         tested".
50081         * doc/posix-functions/*.texi: Update with info about MSVC 9.
50082         * doc/posix-headers/*.texi: Likewise.
50083         * doc/pastposix-functions/*.texi: Likewise.
50084         * doc/glibc-functions/*.texi: Likewise.
50085         * doc/glibc-headers/*.texi: Likewise.
50087 2011-09-11  Bruno Haible  <bruno@clisp.org>
50089         unistd et al.: Don't assume <unistd.h> exists.
50090         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it
50091         does not exist.
50092         * m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not
50093         exist. But include <stdlib.h>.
50094         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
50095         include <io.h> and <stdlib.h> instead. Don't test symbolink links if
50096         symlink() does not exist.
50097         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist,
50098         include <io.h> instead.
50099         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows.
50100         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist,
50101         include <direct.h> instead.
50102         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
50103         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
50104         * m4/lseek.m4 (gl_FUNC_LSEEK): If <unistd.h> does not exist, include
50105         <io.h> instead.
50106         * m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links
50107         correctly if the system does not have hard links.
50108         * m4/rmdir.m4 (gl_FUNC_RMDIR): If <unistd.h> does not exist, include
50109         <direct.h> instead.
50110         * m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass
50111         it when looking for function declarations.
50112         * m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include
50113         <direct.h> and <io.h> instead.
50114         * doc/posix-headers/unistd.texi: More details about MSVC problem.
50116 2011-09-11  Bruno Haible  <bruno@clisp.org>
50118         strcase: Support for MSVC.
50119         * modules/strcase (Status, Notice): Remove obsoletion mark.
50120         * doc/posix-functions/strcasecmp.texi: Mention MSVC problem.
50121         * doc/posix-functions/strncasecmp.texi: Likewise.
50123         strings: Don't assume <strings.h> exists.
50124         * lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
50125         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
50126         * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
50127         * doc/posix-headers/strings.texi: Mention the MSVC problem.
50129 2011-09-11  Bruno Haible  <bruno@clisp.org>
50131         dirent: Don't assume <dirent.h> exists.
50132         * lib/dirent.in.h: Include <dirent.h> only if HAVE_DIRENT_H is 1.
50133         * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H.
50134         * modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H.
50135         * doc/posix-headers/dirent.texi: Mention the MSVC problem.
50137 2011-09-11  Bruno Haible  <bruno@clisp.org>
50139         Fix wint_t on MSVC.
50140         * lib/wchar.in.h (wint_t): On MSVC, override it.
50141         * lib/wctype.in.h (wint_t): Likewise.
50142         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on
50143         MSVC.
50144         * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC.
50145         * doc/posix-headers/wctype.texi: Likewise.
50147 2011-09-11  Bruno Haible  <bruno@clisp.org>
50149         sys_types: Fix typo.
50150         * lib/sys_types.in.h: Fix typo in comment.
50151         Reported by Paul Eggert.
50153         Support for MSVC compiler: Ensure size_t gets defined.
50154         * modules/strings (Depends-on): Add 'sys_types'.
50155         * modules/sys_uio (Depends-on): Likewise.
50156         * lib/sys_uio.in.h: Update comment.
50158         C++ tests for module 'sys_types'.
50159         * modules/sys_types-c++-tests: New file.
50160         * tests/test-sys_types-c++.cc: New file.
50162         Tests for module 'sys_types'.
50163         * modules/sys_types-tests: New file.
50164         * tests/test-sys_types.c: New file.
50166         New module 'sys_types'.
50167         * lib/sys_types.in.h: New file.
50168         * m4/sys_types_h.m4: New file.
50169         * modules/sys_types: New file.
50170         * doc/posix-headers/sys_types.texi: Mention the new module and the
50171         size_t problem on MSVC 9.
50173 2011-09-11  Bruno Haible  <bruno@clisp.org>
50175         Support for MSVC compiler: Avoid division by a literal 0.
50176         * lib/math.in.h (NAN): Define through a function call also on MSVC.
50177         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
50178         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
50179         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
50180         (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
50181         * tests/infinity.h: New file.
50182         * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
50183         on MSVC.
50184         * tests/test-ceilf1.c: Include infinity.h.
50185         (main): Use Infinityf.
50186         * tests/test-ceil1.c: Include infinity.h.
50187         (main): Use Infinityd.
50188         * tests/test-ceill.c: Include infinity.h.
50189         (main): Use Infinityl.
50190         * tests/test-dprintf-posix.c: Include infinity.h.
50191         (test_function): Use Infinityd.
50192         * tests/test-floorf1.c: Include infinity.h.
50193         (main): Use Infinityf.
50194         * tests/test-floor1.c: Include infinity.h.
50195         (main): Use Infinityd.
50196         * tests/test-floorl.c: Include infinity.h.
50197         (main): Use Infinityl.
50198         * tests/test-fprintf-posix.c: Include infinity.h.
50199         (test_function): Use Infinityd.
50200         * tests/test-frexp.c: Include infinity.h.
50201         (main): Use Infinityd.
50202         * tests/test-frexpl.c: Include infinity.h.
50203         (main): Use Infinityl.
50204         * tests/test-isfinite.c: Include infinity.h.
50205         (test_isfinitef): Use Infinityf.
50206         (test_isfinited): Use Infinityd.
50207         (test_isfinitel): Use Infinityl.
50208         * tests/test-isinf.c: Include infinity.h.
50209         (test_isinff): Use Infinityf.
50210         (test_isinfd): Use Infinityd.
50211         (test_isinfl): Use Infinityl.
50212         * tests/test-isnan.c: Include infinity.h.
50213         (test_float): Use Infinityf.
50214         (test_double): Use Infinityd.
50215         (test_long_double): Use Infinityl.
50216         * tests/test-isnanf.h: Include infinity.h.
50217         (main): Use Infinityf.
50218         * tests/test-isnand.h: Include infinity.h.
50219         (main): Use Infinityd.
50220         * tests/test-isnanl.h: Include infinity.h.
50221         (main): Use Infinityl.
50222         * tests/test-ldexpl.c: Include infinity.h.
50223         (main): Use Infinityl.
50224         * tests/test-printf-posix.h: Include infinity.h.
50225         (test_function): Use Infinityd.
50226         * tests/test-roundf1.c: Include infinity.h.
50227         (main): Use Infinityf.
50228         * tests/test-round1.c: Include infinity.h.
50229         (main): Use Infinityd.
50230         * tests/test-roundl.c: Include infinity.h.
50231         (main): Use Infinityl.
50232         * tests/test-signbit.c: Include infinity.h.
50233         (test_signbitf): Use Infinityf.
50234         (test_signbitd): Use Infinityd.
50235         (test_signbitl): Use Infinityl.
50236         * tests/test-snprintf-posix.h: Include infinity.h.
50237         (test_function): Use Infinityd, Infinityl.
50238         * tests/test-sprintf-posix.h: Include infinity.h.
50239         (test_function): Use Infinityd, Infinityl.
50240         * tests/test-truncf1.c: Include infinity.h.
50241         (main): Use Infinityf.
50242         * tests/test-trunc1.c: Include infinity.h.
50243         (main): Use Infinityd.
50244         * tests/test-truncl.c: Include infinity.h.
50245         (main): Use Infinityl.
50246         * tests/test-vasnprintf-posix.c: Include infinity.h.
50247         (test_function): Use Infinityd, Infinityl.
50248         * tests/test-vasprintf-posix.c: Include infinity.h.
50249         (test_function): Use Infinityd, Infinityl.
50250         * modules/ceilf-tests (Files): Add tests/infinity.h.
50251         * modules/ceil-tests (Files): Likewise.
50252         * modules/ceill-tests (Files): Likewise.
50253         * modules/dprintf-posix-tests (Files): Likewise.
50254         * modules/floorf-tests (Files): Likewise.
50255         * modules/floor-tests (Files): Likewise.
50256         * modules/floorl-tests (Files): Likewise.
50257         * modules/fprintf-posix-tests (Files): Likewise.
50258         * modules/frexp-tests (Files): Likewise.
50259         * modules/frexp-nolibm-tests (Files): Likewise.
50260         * modules/frexpl-tests (Files): Likewise.
50261         * modules/frexpl-nolibm-tests (Files): Likewise.
50262         * modules/isfinite-tests (Files): Likewise.
50263         * modules/isinf-tests (Files): Likewise.
50264         * modules/isnan-tests (Files): Likewise.
50265         * modules/isnanf-tests (Files): Likewise.
50266         * modules/isnanf-nolibm-tests (Files): Likewise.
50267         * modules/isnand-tests (Files): Likewise.
50268         * modules/isnand-nolibm-tests (Files): Likewise.
50269         * modules/isnanl-tests (Files): Likewise.
50270         * modules/isnanl-nolibm-tests (Files): Likewise.
50271         * modules/ldexpl-tests (Files): Likewise.
50272         * modules/printf-posix-tests (Files): Likewise.
50273         * modules/roundf-tests (Files): Likewise.
50274         * modules/round-tests (Files): Likewise.
50275         * modules/roundl-tests (Files): Likewise.
50276         * modules/signbit-tests (Files): Likewise.
50277         * modules/snprintf-posix-tests (Files): Likewise.
50278         * modules/sprintf-posix-tests (Files): Likewise.
50279         * modules/truncf-tests (Files): Likewise.
50280         * modules/trunc-tests (Files): Likewise.
50281         * modules/truncl-tests (Files): Likewise.
50282         * modules/vasnprintf-posix-tests (Files): Likewise.
50283         * modules/vasprintf-posix-tests (Files): Likewise.
50284         * modules/vdprintf-posix-tests (Files): Likewise.
50285         * modules/vfprintf-posix-tests (Files): Likewise.
50286         * modules/vprintf-posix-tests (Files): Likewise.
50287         * modules/vsnprintf-posix-tests (Files): Likewise.
50288         * modules/vsprintf-posix-tests (Files): Likewise.
50289         * modules/xprintf-posix-tests (Files): Likewise.
50291 2011-09-11  Bruno Haible  <bruno@clisp.org>
50293         Ensure pid_t gets defined.
50294         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
50295         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
50296         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
50297         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
50298         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
50299         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
50300         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
50301         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
50302         * tests/test-fcntl-h.c: Check that pid_t is defined.
50303         * tests/test-sched.c: Likewise.
50304         * tests/test-termios.c: Likewise.
50305         * tests/test-time.c: Likewise.
50306         * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
50307         * doc/posix-headers/signal.texi: Likewise.
50308         * doc/posix-headers/sys_types.texi: Likewise.
50309         * doc/posix-headers/time.texi: Likewise.
50311 2011-09-11  Bruno Haible  <bruno@clisp.org>
50313         acl: Fix compilation on Solaris 10 (older version).
50314         * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead
50315         of ACE_EVERYONE.
50316         * lib/set-mode-acl.c (qset_acl): Likewise.
50317         Reported by Christian Jullien <eligis@orange.fr>.
50319 2011-09-10  Bruno Haible  <bruno@clisp.org>
50321         iconv, unsetenv: Add support for MSVC compiler.
50322         * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
50323         * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.
50325 2011-09-10  Bruno Haible  <bruno@clisp.org>
50327         *printf: Add support for MSVC compiler.
50328         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
50329         handles the exception caused by the %n directive. When cross-compiling,
50330         guess no on native Windows.
50331         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
50332         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
50333         emulate it through vsnprintf.
50334         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
50335         * doc/posix-functions/dprintf.texi: Update documentation regarding
50336         MSVC 9.
50337         * doc/posix-functions/fprintf.texi: Likewise.
50338         * doc/posix-functions/printf.texi: Likewise.
50339         * doc/posix-functions/snprintf.texi: Likewise.
50340         * doc/posix-functions/sprintf.texi: Likewise.
50341         * doc/posix-functions/swprintf.texi: Likewise.
50342         * doc/posix-functions/vdprintf.texi: Likewise.
50343         * doc/posix-functions/vfprintf.texi: Likewise.
50344         * doc/posix-functions/vprintf.texi: Likewise.
50345         * doc/posix-functions/vsnprintf.texi: Likewise.
50346         * doc/posix-functions/vsprintf.texi: Likewise.
50347         * doc/glibc-functions/asprintf.texi: Likewise.
50348         * doc/glibc-functions/obstack_printf.texi: Likewise.
50349         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
50350         * doc/glibc-functions/vasprintf.texi: Likewise.
50352 2011-09-10  Bruno Haible  <bruno@clisp.org>
50354         nocrash: Add support for native Windows.
50355         * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.
50357 2011-09-10  Michael Goffioul  <michael.goffioul@gmail.com>  (tiny change)
50358             Bruno Haible  <bruno@clisp.org>
50360         absolute-header, include-next: Add support for MSVC compiler.
50361         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require
50362         AC_CANONICAL_HOST. On native Windows, recognize also backslash as
50363         directory separator in #line directives.
50364         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows,
50365         recognize also backslash as directory separator in #line directives.
50367 2011-09-08  Jim Meyering  <meyering@redhat.com>
50369         maint.mk: mark the post-release commit log with "maint: " prefix
50370         * top/maint.mk (emit-commit-log): Add "maint: " prefix to the
50371         one-line commit-log summary.
50373 2011-09-08  Reuben Thomas  <rrt@sc3d.org>
50374             Bruno Haible  <bruno@clisp.org>
50376         Doc about crypt functions.
50377         * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
50378         systems.
50379         * doc/posix-functions/encrypt.texi: Likewise.
50380         * doc/posix-functions/setkey.texi: Likewise.
50382 2011-09-08  Simon Josefsson  <simon@josefsson.org>
50384         * lib/gc.h: Fix copyright header.
50386 2011-09-07  Bruno Haible  <bruno@clisp.org>
50388         pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.
50389         * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and
50390         AC_LINK_IFELSE instead of AC_SEARCH_LIBS.
50392 2011-09-07  Bruno Haible  <bruno@clisp.org>
50394         openat: Work around compilation error with OSF/1 5.1 DTK cc.
50395         * lib/fopen.c: Use different syntax for include of <stdio.h>.
50396         * lib/freopen.c: Likewise.
50397         * lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
50398         * lib/lstat.c: Likewise.
50399         * lib/stat.c: Likewise.
50400         * lib/open.c: Use different syntax for include of <fcntl.h>.
50401         * lib/openat.c: Include fcntl.h again, explicitly.
50403 2011-09-04  J.T. Conklin  <jtc@acorntoolworks.com>
50405         parse-datetime: document the newly accepted format
50406         * doc/parse-datetime.texi (Combined date and time of day items):
50407         New section.
50409 2011-09-06  Bruno Haible  <bruno@clisp.org>
50411         acl: Fix a test failure on newer Solaris 10 with ZFS.
50412         * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
50413         ENOSYS as no ACL.
50414         Reported by Jim Meyering.
50416 2011-09-06  Bruno Haible  <bruno@clisp.org>
50418         acl: Update for AIX >= 5.3 with NFS.
50419         * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
50420         ENOSYS as no ACL.
50422         acl: Fix a test failure on AIX >= 5.3 with NFS.
50423         * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
50424         as no ACL.
50426 2011-09-06  Bruno Haible  <bruno@clisp.org>
50428         acl: Fix a test failure on IRIX 6.5 with NFS.
50429         * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
50430         * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
50431         of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
50432         * lib/copy-acl.c (qcopy_acl): Likewise.
50434 2011-09-05  Paul Eggert  <eggert@cs.ucla.edu>
50436         openat: port to AIX 7.1 with large files
50437         AIX 7.1 does a "#define openat open64at" if large files are in use,
50438         so we can't simply #undef openat.  Use the orig_openat trick (similar
50439         to orig_open in lib/open.c) to work around the problem.  Problem
50440         reported by Kevin Brott for GNU tar, in the thread containing
50441         <http://lists.gnu.org/r/bug-tar/2011-09/msg00032.html>.
50442         * lib/openat.c (__need_system_fcntl_h): Define first.
50443         Include <fcntl.h> and <sys/types.h> before undefining.
50444         (orig_openat) [HAVE_OPENAT]: New inline function.
50445         (openat) [HAVE_OPENAT]: Do not undef.
50446         (rpl_openat): Use orig_openat, not openat.
50448 2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
50449             Bruno Haible  <bruno@clisp.org>
50451         acl: Avoid errors on NonStop Kernel.
50452         * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
50453         ENOTSUP errors.
50455 2011-09-05  Bruno Haible  <bruno@clisp.org>
50457         acl: Clean up Solaris code.
50458         * lib/acl-internal.h: Remove no-op #if.
50459         * lib/file-has-acl.c: Likewise.
50460         * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
50461         * lib/copy-acl.c (qcopy_acl): Likewise.
50463 2011-09-05  Bruno Haible  <bruno@clisp.org>
50465         acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in
50466         binaries built on the original Solaris 10.
50467         * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
50468         trivial.
50470 2011-09-05  Bruno Haible  <bruno@clisp.org>
50472         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
50473         * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
50474         10.
50475         * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
50476         (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
50477         * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
50478         instead of acl_get, facl_get, acl_set, facl_set.
50480 2011-09-05  Bruno Haible  <bruno@clisp.org>
50482         copy-file: Try unit tests on more file systems.
50483         * tests/test-copy-file-1.sh: New file.
50484         * tests/test-copy-file-2.sh: New file.
50485         * modules/copy-file-tests (Files): Add them.
50486         (Makefile.am): Add them to TESTS.
50488         acl: Try unit tests on more file systems.
50489         * tests/test-file-has-acl-1.sh: New file.
50490         * tests/test-file-has-acl-2.sh: New file.
50491         * tests/test-set-mode-acl-1.sh: New file.
50492         * tests/test-set-mode-acl-2.sh: New file.
50493         * tests/test-copy-acl-1.sh: New file.
50494         * tests/test-copy-acl-2.sh: New file.
50495         * modules/acl-tests (Files): Add them.
50496         (Makefile.am): Add them to TESTS.
50498 2011-09-04  Bruno Haible  <bruno@clisp.org>
50500         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
50501         * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
50502         10.
50503         (OLD_ALLOW, OLD_DENY): New macros.
50504         (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
50505         ACE_ACCESS_ALLOWED_ACE_TYPE.
50506         (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
50507         ACE_ACCESS_DENIED_ACE_TYPE.
50508         (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
50509         (NEW_ACE_EXECUTE): Fix value.
50510         (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
50511         NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
50512         NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
50513         NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
50514         NEW_ACE_SYNCHRONIZE): New macros.
50515         * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
50516         instead of acl_fromtext, acl_set, facl_set.
50517         Fixes a coreutils/tests/cp/perm failure.
50519 2011-09-03  Paul Eggert  <eggert@cs.ucla.edu>
50521         openat: test for fstatat (..., 0) bug
50522         Further testing with tar suggests that fstatat (..., 0)
50523         does not work in general, on AIX 7.1; see
50524         <http://lists.gnu.org/r/bug-tar/2011-09/msg00023.html>.
50525         So, give up entirely on AIX 7.1's fstatat, and fall back on our
50526         replacement fstatat (which is what older AIX releases were using
50527         anyway).
50528         * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
50529         use is now changed to orig_fstatat.  This was probably the right
50530         thing to do anyway.
50531         (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
50532         (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
50533         (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
50534         (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
50535         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
50536         and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
50537         if the bug is found.
50539         openat: test for fstatat (AT_FDCWD, ..., 0) bug
50540         This tests for another fstatat bug on AIX 7.1:
50541         fstatat (AT_FDCWD, ..., 0) does not work.  See
50542         <http://lists.gnu.org/r/bug-tar/2011-09/msg00015.html>.
50543         * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
50544         (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
50545         (rpl_fstatat): Adjust so that it works around either (or both)
50546         bugs if present.
50547         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.
50549 2011-09-03  Karl Berry  <karl@gnu.org>
50551         * doc/regex.texi (Character Class Operators): Avoid literal ":"
50552         in index entries.
50554 2011-09-02  Bruno Haible  <bruno@clisp.org>
50556         Allow the user to override the choice of AR, ARFLAGS, RANLIB.
50557         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
50558         values of AR, ARFLAGS, RANLIB.
50559         Reported by John W. Eaton <jwe@gnu.org> for Octave.
50561 2011-09-02  Bruno Haible  <bruno@clisp.org>
50563         Find 'ar' program that fits with --host argument.
50564         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.
50566 2011-09-02  Bruno Haible  <bruno@clisp.org>
50568         tests: init.sh: Support any non-GNU diff.
50569         * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
50570         not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
50571         Solaris 8.
50573 2011-09-02  Bruno Haible  <bruno@clisp.org>
50575         tests: init.sh: work also with any non-GNU diff that supports -u
50576         * tests/init.sh: Relax check for diff -u support.
50577         Rather than checking for GNU diff via --version, simply check
50578         for support for -u itself.  Useful at least on OpenBSD 4.9,
50579         AIX 7.1, IRIX 6.5, and Solaris 10.
50581 2011-09-01  Bruno Haible  <bruno@clisp.org>
50583         strtoimax, strtoumax: Document problem on HP-UX 11.
50584         * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
50585         * doc/posix-functions/strtoumax.texi: Likewise.
50587 2011-09-01  Bruno Haible  <bruno@clisp.org>
50589         strtoumax: Avoid link error on OSF/1 with DTK cc.
50590         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
50591         defined as a function.
50592         * modules/strtoumax (Depends-on, configure.ac): Test only whether
50593         strtoumax is defined, not whether it is declared.
50595 2011-09-01  Bruno Haible  <bruno@clisp.org>
50597         strtoimax: Avoid link error on OSF/1 with DTK cc.
50598         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
50599         defined as a function.
50600         * modules/strtoimax (Depends-on, configure.ac): Test only whether
50601         strtoimax is defined, not whether it is declared.
50603 2011-09-01  Bruno Haible  <bruno@clisp.org>
50605         imaxdiv: Avoid link error on OSF/1 with DTK cc.
50606         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
50607         as a function.
50608         * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
50609         whether it is declared.
50611 2011-09-01  Bruno Haible  <bruno@clisp.org>
50613         imaxabs: Avoid link error on OSF/1 with DTK cc.
50614         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined
50615         as a function.
50616         * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not
50617         whether it is declared.
50619 2011-09-01  Bruno Haible  <bruno@clisp.org>
50621         Tests for module 'strtoumax'.
50622         * modules/strtoumax-tests: New file.
50623         * tests/test-strtoumax.c: New file.
50625         Tests for module 'strtoimax'.
50626         * modules/strtoimax-tests: New file.
50627         * tests/test-strtoimax.c: New file.
50629         Tests for module 'imaxdiv'.
50630         * modules/imaxdiv-tests: New file.
50631         * tests/test-imaxdiv.c: New file.
50633         Tests for module 'imaxabs'.
50634         * modules/imaxabs-tests: New file.
50635         * tests/test-imaxabs.c: New file.
50637 2011-09-01  Bruno Haible  <bruno@clisp.org>
50639         pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
50640         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
50641         pthread_create.
50643 2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>
50645         openat: work around AIX 7.1 fstatat issue
50646         This should fix the problem that was not properly fixed
50647         in the previous change, dated 2011-08-30.
50648         * lib/fstatat.c: Include <sys/stat.h> twice, the first with
50649         __need_system_stat_h defined.
50650         (orig_fstatat) [HAVE_FSTATAT]: New function.
50651         (rpl_fstatat): Go back to the old way of doing things,
50652         except call orig_fstatat instead of fstatat.
50653         * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
50654         Remove unnecessary check whether fstatat fills in st_size etc.
50656 2011-09-01  Bruno Haible  <bruno@clisp.org>
50658         sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
50659         * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
50660         just include the system's header.
50662 2011-08-31  Jim Meyering  <meyering@redhat.com>
50664         tests: avoid spurious assertion failure in test-float.c on ppc64
50665         * tests/test-float.c (test_long_double): Comment out an assertion,
50666         LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
50667         with gcc-4.4.4.
50669         maint: indent with spaces, not TABs
50670         I need to get in the habit of running gnulib's "make check".
50671         Both of these would have been caught.
50672         * m4/largefile.m4: Indent with spaces, not TABs.
50673         * lib/parse-datetime.y (iso_8601_time): Likewise.
50674         Spotted by Pádraig Brady.
50676         test-parse-datetime.c: accommodate a relatively strict gcc warning
50677         * tests/test-parse-datetime.c (gmt_offset): Declare function "static",
50678         to avoid a warning from gcc's -Werror=missing-declarations.
50679         Insert a few spaces-before-funcall-parenthesis.
50681 2011-08-17  J.T. Conklin  <jtc@acorntoolworks.com>
50683         parse-datetime: accept ISO 8601 date and time rep with "T" separator
50684         The parser now accepts ISO 8601 date-time strings with "T" as the
50685         separator.  It has long parsed dates like "2004-02-29 16:21:42"
50686         with a space between the date and time strings.  Now it also parses
50687         "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
50688         variants like "2004-02-29T16:21:42.333-07:00"
50689         * lib/parse-datetime.y: Parse ISO 8601 extended date and time
50690         of day representation using the 'T' separator character.
50691         * doc/parse-datetime.texi (General date syntax): replace use of
50692         deprecated --iso-8601 option with --rfc-3339 in example of date
50693         command output formats that can be parsed.
50694         * tests/test-parse-datetime.c (tm_diff): New function, taken from
50695         lib/parse-datetime.y.
50696         (gmt_offset): New function.
50697         (main): Add additional test cases to validate ISO8601 extended
50698         date and time of day parsing.
50700 2011-08-31  Bruno Haible  <bruno@clisp.org>
50702         freopen: Documentation.
50703         * doc/posix-functions/freopen.texi: Document the bug with the NULL file
50704         name.
50705         Reported by Claudio Bley <claudio.bley@gmail.com>.
50707 2011-08-31  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
50709         freopen: Don't crash if the filename argument is NULL.
50710         * lib/freopen.c (rpl_freopen): Don't compare the filename if it is
50711         NULL.
50713 2011-08-30  Paul Eggert  <eggert@cs.ucla.edu>
50715         openat: work around AIX 7.1 fstatat bug
50716         Problem reported by Kevin Brott for GNU tar, in the thread containing
50717         <http://lists.gnu.org/r/bug-tar/2011-08/msg00015.html>.
50718         * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if
50719         FSTATAT_ST_SIZE_ETC_BROKEN.
50720         (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to
50721         rpl_fstatat.
50722         * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant
50723         part of gl_FUNC_OPENAT.  Also, check for the AIX 7.1 bug, and use
50724         AC_CHECK_FUNCS_ONCE for fstatat.
50725         (gl_FUNC_OPENAT): Use it.  Use AC_CHECK_FUNCS_ONCE for
50726         fchmodat, mkdirat, openat and unlinkat.
50728 2011-08-30  Bruno Haible  <bruno@clisp.org>
50730         Avoid endless recursions if config.h includes some header files.
50731         * lib/fopen.c (__need_FILE): Define already before including config.h.
50732         * lib/freopen.c (__need_FILE): Likewise.
50733         * lib/open.c (__need_system_fcntl_h): Likewise.
50734         * lib/stat.c (__need_system_sys_stat_h): Likewise.
50735         * lib/lstat.c (__need_system_sys_stat_h): Likewise.
50736         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
50738 2011-08-25  Karl Berry  <karl@gnu.org>
50740         * config/srclist.txt (ylwrap): new try.
50741         * build-aux/ylwrap: new file.
50743 2011-08-23  Bruno Haible  <bruno@clisp.org>
50745         tmpdir: Use a good default directory on native Windows.
50746         * lib/tmpdir.c: Include <windows.h>, pathmax.h.
50747         (P_tmpdir): Default to _P_tmpdir on native Windows.
50748         (path_search): On native Windows, try the value returned by GetTempPath
50749         before trying P_tmpdir.
50750         * modules/tmpdir (Depends-on): Add pathmax.
50751         Suggested by John Darrington <john@darrington.wattle.id.au>.
50753 2011-08-20  Reuben Thomas  <rrt@sc3d.org>
50755         doc: fix typo in README-release
50756         * top/README-release: Capitalize first word of a sentence.
50758 2011-08-19  Jim Meyering  <meyering@redhat.com>
50760         fts: do not exhaust memory when processing million-entry directories
50761         Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
50762         directory would require about 256*N bytes of memory.  Thus, it was
50763         easy to construct a directory too large to be processed by any of
50764         those tools.  With this change, fts' maximum memory utilization is
50765         now limited to around 30MB.
50766         * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
50767         (fts_read): When we've processed the final entry (i.e., when
50768         ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
50769         using the parent entry to read any remaining entries.  Dispatch
50770         depending on what fts_build returns:
50771         - NULL+stop, aka failure: stop
50772         - NULL otherwise: move up in the dir hierarchy
50773         - non-NULL: handle this new entry
50774         (fts_build): Declare and use new local, continue_readdir.
50775         Prepare to be called from fts_read, when the entries
50776         from a partially-read directory have just been exhausted.
50777         In that case, we'll skip the opendir and instead use the parent's
50778         fts_dirp and derive dir_fd from that.
50779         Finally, in the readdir loop, if we read max_entries entries,
50780         exit the loop ensuring *not* to call closedir.  This is required
50781         so that fts_dirp can be reused on a subsequent call.
50782         Prompted by Ben England's report of memory exhaustion in find
50783         and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.
50785         maint: fts: move decl of `dp' down into while loop; split a long line
50786         * lib/fts.c (fts_build): No semantic change.
50788         fts: add/use new struct member, fts_dirp
50789         We are about to use this to manage any directory with
50790         too many entries to read all of them into memory at once.
50791         To do that, we'll need to save the DIR* pointer in each
50792         affected FTSENT struct.
50793         * lib/fts_.h: Include <dirent.h>.
50794         (struct FTSENT) [fts_dirp]: New member.
50795         * lib/fts.c (closedir_and_clear): Define.
50796         Use it in place of closedir so that we are sure to
50797         clear the new fts_dirp member when done with it.
50798         (fts_alloc): Initialize the new member.
50799         (fts_lfree): Free, if needed.
50801         maint: fts: give __opendir2 a new parameter and rename
50802         * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
50803         than surreptitiously using sole caller's "dir_fd".
50804         (fts_opendir): Rename from __opendir2.
50806         maint: fts.c: remove __opendir2's now-unused parameter, oflag
50807         * lib/fts.c (__opendir2): Remove unused parameter, oflag.
50809         maint: fts.c: correct off-by-one indentation
50810         * lib/fts.c (fts_build): Correct indentation, change style
50811         of a couple of block comments, and bracing style.
50813         maint: fts.c: move __opendir2 #define "up" out of function body
50814         * lib/fts.c (__opendir2): Move "up".  No semantic change.
50816         maint: fts.c: remove #if-0'd FTS_WHITEOUT code
50817         * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
50818         out for a long time and besides was useful only on BSD systems.
50820 2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>
50822         regex: port to Stratus OpenVOS
50823         * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
50824         define to empty, rather than attempting nonportable optimizations.
50825         Problem reported by Paul Green in:
50826         http://lists.gnu.org/r/bug-diffutils/2011-08/msg00047.html
50827         and fix suggested by Eric Blake in:
50828         http://lists.gnu.org/r/bug-gnulib/2011-08/msg00143.html
50830 2011-08-17  Eric Blake  <eblake@redhat.com>
50832         getcwd: fix test failures on mingw
50833         * lib/getcwd.c (__getcwd): Early exit for ERANGE.
50834         * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
50835         test if long directory cannot be created, and allow mingw errno.
50837         getcwd-lgpl: fix m4 to match relaxed test for BSD
50838         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
50839         (gl_FUNC_GETCWD_SIGNATURE): New macro.
50840         (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
50841         * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
50842         signature problem.
50844         getcwd: fix compilation on mingw64
50845         * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
50846         getcwd.
50847         Reported by Marc-André Lureau.
50849         pipe2: silence compiler warning
50850         * lib/pipe2.c (pipe2): Hide label if it is not used.
50852 2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>
50854         relocatable-prog: fix link error
50855         * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
50856         invoke AC_LIBOBJ([relocatable]).  This invocation was previously
50857         in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
50858         into modules/relocatable-lib without noticing that
50859         modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
50860         also needs to build relocatable.c.
50862 2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>
50864         getaddrinfo: fix sh typo in gai_strerrorA decl checking
50865         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
50866         shell code: it contained a 'break' that was not in a loop.
50867         Apparently the macro assumed that AC_CHECK_DECLS is implemenented
50868         via a shell-language loop; this may have been true in old Autoconf
50869         versions, but it's not true in Autoconf 2.68.  I found this bug
50870         when testing coreutils git on Solaris 8, whose shell complains
50871         about the syntax error.
50873 2011-08-12  Simon Josefsson  <simon@josefsson.org>
50875         * lib/base64.c: Fix comment to reference RFC 4648.
50876         Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
50877         <gvtulder@gmail.com>.
50879 2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>
50881         * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
50883         po/Makefile.in.in: fix make -q problem
50884         * build-aux/po/Makefile.in.in (check-macro-version): Remove this
50885         rule, since there's no file named 'check-macro-version' and its
50886         use as a file breaks make -q.
50887         (all): Don't depend on check-macro-version.
50888         (CHECK_MACRO_VERSION): New macro.
50889         (stamp-po): Use it.
50891         configmake: fix make -q problem
50892         * modules/configmake (configmake.h): Update configmake.h's time stamp
50893         even if the file does not change.  Otherwise, 'make -q' fails.
50894         Problem reported by Simon Josefsson in
50895         <http://lists.gnu.org/r/bug-gnulib/2011-08/msg00088.html>.
50897 2011-08-11  Jim Meyering  <meyering@redhat.com>
50899         git-version-gen: correct the advice in a comment
50900         * build-aux/git-version-gen: Correct comment.
50901         Don't recommend to list .tarball-version in .gitignore.
50903 2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>
50905         base64: fix off-by-one buffer size bug
50906         Problem and (trivial) fix reported by Gijs van Tulder in
50907         <http://lists.gnu.org/r/bug-gnulib/2011-08/msg00083.html>.
50908         * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
50909         * tests/test-base64.c (main): Catch the bug.
50911 2011-08-10  Eric Blake  <eblake@redhat.com>
50913         closein: correct comments
50914         * lib/closein.c (close_stdin): Improve comments.
50916 2011-08-09  Bruno Haible  <bruno@clisp.org>
50918         More tests for 'fseeko'.
50919         * tests/test-fseeko3.c: New file, from Eric Blake.
50920         * tests/test-fseeko3.sh: New file.
50921         * modules/fseeko-tests (Files): Add them.
50922         (TESTS): Add test-fseeko3.sh.
50923         (check_PROGRAMS): Add test-fseeko3.
50925 2011-08-09  Eric Blake  <eblake@redhat.com>
50927         fseeko: remove unneeded hack
50928         * lib/fseeko.c (fseeko): Don't special-case SEEK_END.
50930         fseeko: fix bug on glibc
50931         * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
50932         Reported by John W. Eaton.
50934 2011-08-08  Bruno Haible  <bruno@clisp.org>
50936         unictype/base: Fix interoperability with preinstalled libunistring.
50937         * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
50938         Reported by Simon Josefsson.
50940 2011-08-08  Bruno Haible  <bruno@clisp.org>
50942         iswblank: Detect declaration correctly.
50943         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
50944         AC_CHECK_DECLS invocation.
50946 2011-08-08  Bruno Haible  <bruno@clisp.org>
50948         tcgetsid: Detect declaration correctly.
50949         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
50950         AC_CHECK_DECLS invocation.
50951         Reported by Simon Josefsson.
50953 2011-08-08  Eric Blake  <eblake@redhat.com>
50955         largefile: fix typo that regressed large file support
50956         * modules/largefile (configure.ac-early): Fix section name.
50958 2011-08-06  Karl Berry  <karl@gnu.org>
50960         * MODULES.html.sh (func_all_files): _Noreturn is no longer
50961         a separate module.
50963 2011-08-05  Simon Josefsson  <simon@josefsson.org>
50965         openat: Fix warnings and commens when building unlinkat.c on Hurd.
50966         * lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
50967         get prototype for free.
50969 2011-08-04  Bruno Haible  <bruno@clisp.org>
50971         Tests for module 'pathmax'.
50972         * modules/pathmax-tests: New file.
50973         * tests/test-pathmax.c: New file.
50975         canonicalize-lgpl: Support larger filenames on the Hurd.
50976         * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
50977         Reported by Paul Eggert.
50979         pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
50980         * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
50981         * lib/chdir-long.h: Include pathmax.h.
50982         * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
50983         * lib/getcwd.c: Include pathmax.h instead of <limits.h>.
50984         (PATH_MAX): Remove code that is done by pathmax.h.
50985         * lib/canonicalize.c (PATH_MAX): Provide a fallback value.
50986         * lib/tmpfile.c: Add a comment.
50987         * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
50988         * modules/chdir-long (Depends-on): Add pathmax.
50989         * modules/getcwd (Depends-on): Add pathmax.
50990         * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
50991         is not defined.
50992         * doc/posix-headers/limits.texi: Mention the pathmax module.
50993         * NEWS: Mention the change.
50995 2011-08-02  Bruno Haible  <bruno@clisp.org>
50997         pthread_sigmask: Actually use results of gl_THREADLIB.
50998         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
50999         gl_THREADLIB, not gl_[]THREADLIB.
51000         Reported by Eric Blake.
51002 2011-08-02  Jim Meyering  <meyering@redhat.com>
51004         maint.mk: relax the default _gl_TS_function_match regexp
51005         * top/maint.mk (_gl_TS_function_match): Don't require at least one
51006         space between function name and "(" in an "extern" declaration.
51007         That would fail to match a decl with no space there: extern void foo();
51009 2011-07-31  Iain Nicol  <iain@thenicols.net>
51011         git-version-gen: document that EXTRA_DIST must include .version
51012         * build-aux/git-version-gen: In the how-to-use comment, document
51013         that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
51014         will fail when run from an unpacked distribution tarball.
51016 2011-08-01  Bruno Haible  <bruno@clisp.org>
51018         wctype-h: Fix last change.
51019         * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
51020         REPLACE_TOWLOWER to 0.
51021         Reported by Sam Steingold <sds@gnu.org>.
51023 2011-07-31  Bruno Haible  <bruno@clisp.org>
51025         frexpl: Update autoconf test.
51026         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
51027         according to changes of 2011-06-20.
51029 2011-07-31  Bruno Haible  <bruno@clisp.org>
51031         sys_utsname: Add support for Minix.
51032         * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
51033         <sys/utsname.h>.
51034         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
51035         * doc/posix-headers/sys_utsname.texi: Document the Minix problem.
51037 2011-07-31  Bruno Haible  <bruno@clisp.org>
51039         strings: Add support for Minix.
51040         * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
51041         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
51042         * doc/posix-headers/strings.texi: Document the Minix problem.
51044 2011-07-31  Bruno Haible  <bruno@clisp.org>
51046         wctype-h: Add support for Minix.
51047         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
51048         REPLACE_TOWLOWER.
51049         * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
51050         * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
51051         REPLACE_ISWCNTRL.
51053 2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>
51055         * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
51056         This is a performance improvement for 64-bit hosts: it causes the
51057         value of DEFAULT_MXFAST to track what's in glibc on such hosts.
51059 2011-07-31  Bruno Haible  <bruno@clisp.org>
51061         stdioext: Add support for Minix.
51062         * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
51063         * lib/fpurge.c (fpurge): Likewise.
51064         * lib/freadahead.c (freadahead): Likewise.
51065         * lib/freadable.c (freadable): Likewise.
51066         * lib/freading.c (freading): Likewise.
51067         * lib/freadptr.c (freadptr): Likewise.
51068         * lib/freadseek.c (freadptrinc): Likewise.
51069         * lib/fseeko.c (rpl_fseeko): Likewise.
51070         * lib/fseterr.c (fseterr): Likewise.
51071         * lib/fwritable.c (fwritable): Likewise.
51072         * lib/fwriting.c (fwriting): Likewise.
51073         * lib/fflush.c (clear_ungetc_buffer): Update comment.
51074         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.
51076 2011-07-31  Bruno Haible  <bruno@clisp.org>
51078         errno: Port to Minix.
51079         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
51080         ECONNABORTED are defined.
51081         * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
51082         GNULIB_defined_ECONNABORTED): New macros.
51083         * lib/strerror-override.h (strerror_override): Test also
51084         GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
51085         * lib/strerror-override.c (strerror_override): Handle also ENETRESET,
51086         ECONNABORTED.
51087         * doc/posix-headers/errno.texi: Mention the Minix problem.
51089 2011-07-31  Bruno Haible  <bruno@clisp.org>
51091         Work around declaration collisions on Minix.
51092         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
51093         defined, set REPLACE_MBSINIT.
51094         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
51095         defined, set REPLACE_MBRTOWC.
51096         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
51097         set REPLACE_MBRLEN.
51098         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
51099         defined, set REPLACE_MBSRTOWCS.
51100         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
51101         defined, set REPLACE_WCRTOMB.
51102         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
51103         defined, set REPLACE_WCSRTOMBS.
51105 2011-07-31  Bruno Haible  <bruno@clisp.org>
51107         Add support for Minix with ACK compiler.
51108         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
51109         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
51110         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
51112 2011-07-31  Bruno Haible  <bruno@clisp.org>
51114         Documentation about Minix.
51115         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
51116         * doc/glibc-headers/*.texi: Likewise.
51117         * doc/posix-functions/*.texi: Likewise.
51118         * doc/glibc-functions/*.texi: Likewise.
51120 2011-07-31  Bruno Haible  <bruno@clisp.org>
51122         snippet/warn-on-use: Fix indentation.
51123         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
51125 2011-07-25  Jim Meyering  <meyering@redhat.com>
51127         tests: test-update-copyright.sh: remove unnecessary "rm" commands
51128         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
51129         commands.
51131 2011-07-27  Jim Meyering  <meyering@redhat.com>
51133         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
51134         * top/maint.mk (gl_extract_significant_defines_): Now that
51135         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
51136         gnulib/lib/signal.in.h, and now that we recommend to
51137         define-if-undefined those two symbols in application code,
51138         we must filter them out of the "significant" list.
51139         This avoids a "make syntax-check" failure in coreutils.
51141 2011-07-26  Eric Blake  <eblake@redhat.com>
51143         warnings: add comments about previous patch
51144         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
51145         * m4/include_next.m4: Likewise.
51146         * m4/warn-on-use.m4: Likewise.
51147         * m4/warnings.m4: Likewise, and simplify use.
51148         Suggested by Stefano Lattarini.
51150         include-next, warnings: support older autoconf
51151         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
51152         AS_VAR_PUSHDEF in a way that works with older autoconf.
51153         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
51154         Reported by Daniel P. Berrange.
51156 2011-07-25  Bruno Haible  <bruno@clisp.org>
51158         fseek, ftell: Fix doc.
51159         * doc/posix-functions/fseek.texi: Reword statement about
51160         AC_SYS_LARGEFILE.
51161         * doc/posix-functions/ftell.texi: Likewise.
51163 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
51164             Bruno Haible  <bruno@clisp.org>
51166         Add dependencies to the 'largefile' module.
51167         * modules/fopen (Depends-on): Add 'largefile'.
51168         * modules/freopen (Depends-on): Likewise.
51169         * modules/fseeko (Depends-on): Likewise.
51170         * modules/ftello (Depends-on): Likewise.
51171         * modules/glob (Depends-on): Likewise.
51172         * modules/lseek (Depends-on): Likewise.
51173         * modules/lstat (Depends-on): Likewise.
51174         * modules/mkostemp (Depends-on): Likewise.
51175         * modules/mkostemps (Depends-on): Likewise.
51176         * modules/mkstemp (Depends-on): Likewise.
51177         * modules/mkstemps (Depends-on): Likewise.
51178         * modules/open (Depends-on): Likewise.
51179         * modules/openat (Depends-on): Likewise.
51180         * modules/pread (Depends-on): Likewise.
51181         * modules/pwrite (Depends-on): Likewise.
51182         * modules/scandir (Depends-on): Likewise.
51183         * modules/stat (Depends-on): Likewise.
51184         * modules/tmpfile (Depends-on): Likewise.
51185         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
51186         since the containing module now depends on the largefile module.
51187         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
51188         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
51189         off_t is fixed by gnulib.
51190         * doc/posix-functions/freopen.texi: Likewise.
51191         * doc/posix-functions/fseeko.texi: Likewise.
51192         * doc/posix-functions/fstatat.texi: Likewise.
51193         * doc/posix-functions/ftello.texi: Likewise.
51194         * doc/posix-functions/glob.texi: Likewise.
51195         * doc/posix-functions/lseek.texi: Likewise.
51196         * doc/posix-functions/lstat.texi: Likewise.
51197         * doc/posix-functions/mkstemp.texi: Likewise.
51198         * doc/posix-functions/open.texi: Likewise.
51199         * doc/posix-functions/openat.texi: Likewise.
51200         * doc/posix-functions/pread.texi: Likewise.
51201         * doc/posix-functions/pwrite.texi: Likewise.
51202         * doc/posix-functions/scandir.texi: Likewise.
51203         * doc/posix-functions/stat.texi: Likewise.
51204         * doc/posix-functions/tmpfile.texi: Likewise.
51205         * doc/glibc-functions/mkostemp.texi: Likewise.
51206         * doc/glibc-functions/mkostemps.texi: Likewise.
51207         * doc/glibc-functions/mkstemps.texi: Likewise.
51209 2011-07-25  Bruno Haible  <bruno@clisp.org>
51211         fcntl: Move AC_LIBOBJ invocation to module description.
51212         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
51213         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
51215         fcntl: Remove call-in from fchdir.m4.
51216         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
51217         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
51219         dup3: Remove potential call-in from fchdir.m4.
51220         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
51221         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
51223         dup2: Move AC_LIBOBJ invocation to module description.
51224         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
51225         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
51226         Don't invoke AC_LIBOBJ.
51227         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
51229         dup2: Remove call-in from fchdir.m4.
51230         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
51231         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
51233         fclose: Move AC_LIBOBJ invocation to module description.
51234         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
51235         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
51236         to 1.
51237         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
51239         fclose: Remove call-in from close.m4.
51240         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
51241         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
51243         close: Move AC_LIBOBJ invocation to module description.
51244         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
51245         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
51246         1.
51247         * modules/close (configure.ac): Invoke AC_LIBOBJ.
51249         close: Remove call-in from fchdir.m4.
51250         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
51251         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
51253         open: Move AC_LIBOBJ invocation to module description.
51254         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
51255         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
51256         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
51258         open: Remove call-in from fchdir.m4.
51259         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
51260         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
51262         fchdir: Start to remove gl_REPLACE_* idiom.
51263         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
51264         (gl_FUNC_FCHDIR): Invoke it.
51266 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
51268         * lib/ftell.c (ftell): Comment out cast.
51270         close: use gl_REPLACE_FCLOSE only if defined
51271         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
51272         is defined.  The close module doesn't depend on the fclose module
51273         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
51274         <http://lists.gnu.org/r/bug-gnulib/2011-07/msg00392.html>.
51275         I reproduced the problem with "./gnulib-tool --test close sys_socket".
51277 2011-07-24  Jim Meyering  <meyering@redhat.com>
51279         test-select.h: avoid warning when using gcc's -Wmissing-declarations
51280         * tests/test-select.h (test_function): Declare as "static".
51282 2011-07-24  Bruno Haible  <bruno@clisp.org>
51284         doc: Mention the effects of AC_SYS_LARGEFILE.
51285         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
51286         on this function.
51287         * doc/posix-functions/aio_error.texi: Likewise.
51288         * doc/posix-functions/aio_fsync.texi: Likewise.
51289         * doc/posix-functions/aio_read.texi: Likewise.
51290         * doc/posix-functions/aio_return.texi: Likewise.
51291         * doc/posix-functions/aio_suspend.texi: Likewise.
51292         * doc/posix-functions/aio_write.texi: Likewise.
51293         * doc/posix-functions/fgetpos.texi: Likewise.
51294         * doc/posix-functions/fopen.texi: Likewise.
51295         * doc/posix-functions/freopen.texi: Likewise.
51296         * doc/posix-functions/fsetpos.texi: Likewise.
51297         * doc/posix-functions/fstatvfs.texi: Likewise.
51298         * doc/posix-functions/ftruncate.texi: Likewise.
51299         * doc/posix-functions/ftw.texi: Likewise.
51300         * doc/posix-functions/getrlimit.texi: Likewise.
51301         * doc/posix-functions/glob.texi: Likewise.
51302         * doc/posix-functions/lio_listio.texi: Likewise.
51303         * doc/posix-functions/lockf.texi: Likewise.
51304         * doc/posix-functions/mkstemp.texi: Likewise.
51305         * doc/posix-functions/mmap.texi: Likewise.
51306         * doc/posix-functions/nftw.texi: Likewise.
51307         * doc/posix-functions/openat.texi: Likewise.
51308         * doc/posix-functions/opendir.texi: Likewise.
51309         * doc/posix-functions/posix_fadvise.texi: Likewise.
51310         * doc/posix-functions/posix_fallocate.texi: Likewise.
51311         * doc/posix-functions/pread.texi: Likewise.
51312         * doc/posix-functions/pwrite.texi: Likewise.
51313         * doc/posix-functions/readdir.texi: Likewise.
51314         * doc/posix-functions/readdir_r.texi: Likewise.
51315         * doc/posix-functions/rewinddir.texi: Likewise.
51316         * doc/posix-functions/scandir.texi: Likewise.
51317         * doc/posix-functions/seekdir.texi: Likewise.
51318         * doc/posix-functions/setrlimit.texi: Likewise.
51319         * doc/posix-functions/statvfs.texi: Likewise.
51320         * doc/posix-functions/telldir.texi: Likewise.
51321         * doc/posix-functions/tmpfile.texi: Likewise.
51322         * doc/posix-functions/truncate.texi: Likewise.
51323         * doc/glibc-functions/fallocate.texi: Likewise.
51324         * doc/glibc-functions/fstatfs.texi: Likewise.
51325         * doc/glibc-functions/fts_children.texi: Likewise.
51326         * doc/glibc-functions/fts_read.texi: Likewise.
51327         * doc/glibc-functions/getdirentries.texi: Likewise.
51328         * doc/glibc-functions/mkostemp.texi: Likewise.
51329         * doc/glibc-functions/mkostemps.texi: Likewise.
51330         * doc/glibc-functions/mkstemps.texi: Likewise.
51331         * doc/glibc-functions/preadv.texi: Likewise.
51332         * doc/glibc-functions/pwritev.texi: Likewise.
51333         * doc/glibc-functions/sendfile.texi: Likewise.
51334         * doc/glibc-functions/statfs.texi: Likewise.
51336 2011-07-24  Bruno Haible  <bruno@clisp.org>
51338         doc: Fix typo.
51339         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
51341 2011-07-24  Bruno Haible  <bruno@clisp.org>
51343         doc: Mention fsusage.
51344         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
51346 2011-07-24  Bruno Haible  <bruno@clisp.org>
51348         doc: Mention new glibc headers and functions.
51349         * doc/glibc-headers/gshadow.texi: New file.
51350         * doc/glibc-functions/endsgent.texi: New file.
51351         * doc/glibc-functions/fgetsgent.texi: New file.
51352         * doc/glibc-functions/fgetsgent_r.texi: New file.
51353         * doc/glibc-functions/getsgent.texi: New file.
51354         * doc/glibc-functions/getsgent_r.texi: New file.
51355         * doc/glibc-functions/getsgnam.texi: New file.
51356         * doc/glibc-functions/getsgnam_r.texi: New file.
51357         * doc/glibc-functions/putsgent.texi: New file.
51358         * doc/glibc-functions/setsgent.texi: New file.
51359         * doc/glibc-functions/sgetsgent.texi: New file.
51360         * doc/glibc-functions/sgetsgent_r.texi: New file.
51361         * doc/glibc-functions/malloc_info.texi: New file.
51362         * doc/glibc-functions/preadv.texi: New file.
51363         * doc/glibc-functions/pwritev.texi: New file.
51364         * doc/glibc-functions/register_printf_modifier.texi: New file.
51365         * doc/glibc-functions/register_printf_specifier.texi: New file.
51366         * doc/glibc-functions/register_printf_type.texi: New file.
51367         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
51368         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
51369         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
51370         * doc/glibc-functions/pthread_getname_np.texi: New file.
51371         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
51372         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
51373         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
51374         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
51375         * doc/glibc-functions/pthread_setname_np.texi: New file.
51376         * doc/glibc-functions/pthread_sigqueue.texi: New file.
51377         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
51378         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
51379         * doc/glibc-functions/qsort_r.texi: New file.
51380         * doc/glibc-functions/quick_exit.texi: New file.
51381         * doc/glibc-functions/syncfs.texi: New file.
51382         * doc/gnulib.texi: Include them.
51383         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
51384         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
51385         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
51386         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
51387         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
51388         * doc/glibc-functions/execvpe.texi: Likewise.
51390 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
51392         ftell: don't include <unistd.h>
51393         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
51394         guaranteed to define off_t, and the ftell module depends on the
51395         stdio module.
51397         ftell: do not assume wraparound signed arithmetic
51398         * lib/ftell.c: Include <limits.h>.
51399         (ftell): Don't assume wraparound signed arithmetic.
51401 2011-07-24  Bruno Haible  <bruno@clisp.org>
51403         close: No longer depend on module 'fclose'.
51404         * modules/close (Depends-on): Remove fclose.
51405         * NEWS: Mention the change.
51406         Suggested by Sam Steingold <sds@gnu.org>.
51408 2011-07-24  Bruno Haible  <bruno@clisp.org>
51410         fsusage: Enable large volume support on AIX >= 5.2.
51411         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
51412         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
51413         instead of STAT_STATVFS.
51414         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
51416         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
51417         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
51418         f_blocks field only on MacOS X.
51420         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
51421         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
51422         * modules/fsusage (Depends-on): Add largefile.
51424 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
51426         * README: Modernize discussion of signed integers.
51427         Assuming overflow wraparound is no longer safe.
51428         Mention ones' complement and signed magnitude.
51430 2011-07-22  Bruno Haible  <bruno@clisp.org>
51432         select tests, pselect tests: Refactor.
51433         * tests/test-select.h: New file, extracted from tests/test-select.c.
51434         (select_fn): New type.
51435         (test, do_select, do_select_nowait, do_select_wait, test_tty,
51436         test_connect_first, test_accept_first, test_pair, test_socket_pair,
51437         test_pipe): Add my_select argument.
51438         (test_function): Renamed from main. Add my_select argument.
51439         * tests/test-select.c: Move most code to tests/test-select.h. Include
51440         test-select.h.
51441         * modules/select-tests (Files): Add tests/test-select.h.
51442         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
51443         (my_select, main): New functions.
51444         * modules/pselect-tests (Files): Add tests/test-select.h,
51445         tests/macros.h, tests/signature.h.
51446         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
51447         (configure.ac): Check for <sys/wait.h>.
51449 2011-07-22  Bruno Haible  <bruno@clisp.org>
51451         sys_select tests: Check the signature of FD_*.
51452         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
51453         signature tests from here...
51454         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
51455         here.
51456         * modules/sys_select-tests (Files): Add tests/signature.h.
51458 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
51460         largefile: new module, replacing large-inode
51461         Pádraig Brady suggested this in <http://debbugs.gnu.org/9140#20>.
51462         * MODULES.html.sh: Add largefile, remove large-inode.
51463         * modules/largefile, m4/largefile.m4: New files.
51464         * modules/large-inode, m4/large-inode.m4: Remove.
51466         fsusage: port to MacOS X 10.7 with 4 TiB file systems
51467         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
51468         implementations that use only 32 bits to count blocks.
51469         On typical hosts with 1024-byte blocks, this fails with file
51470         systems as small as 4 TiB.  Problem reported by Herb Wartens
51471         <http://debbugs.gnu.org/9140> and this should also fix a similar
51472         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
51474         large-inode: New module
51475         * MODULES.html.sh: Add it.
51476         * modules/large-inode, m4/large-inode.m4: New files.
51478         extensions: Enable extensions on MacOS X 10.5 and later.
51479         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
51481 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
51483         file-has-acl: use acl_extended_file_nofollow if available
51484         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
51485         (acl_extended_file): New macro.
51486         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
51487         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
51489 2011-07-21  Bruno Haible  <bruno@clisp.org>
51491         Declare system functions in a way that works with C++.
51492         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
51493         declare fdopendir as extern "C".
51494         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
51495         declare frexpl as extern "C".
51496         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
51497         declare gai_strerror as extern "C".
51498         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
51499         programs, declare gai_strerror as extern "C".
51500         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
51501         declare getlogin_r as extern "C".
51502         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
51503         as extern "C".
51504         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
51505         declare ldexpl as extern "C".
51506         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
51507         as extern "C".
51508         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
51509         program, declare getmntinfo as extern "C".
51510         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
51511         stpncpy as extern "C".
51512         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
51513         program, declare __xpg_strerror_r as extern "C".
51514         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
51515         strndup as extern "C".
51516         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
51517         declare memset and bzero as extern "C".
51518         Reported by Sam Steingold <sds@gnu.org>.
51520 2011-07-12  Jim Meyering  <meyering@redhat.com>
51522         maint.mk: prohibit inclusion of "verify.h" without use
51523         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
51525 2011-07-19  Pádraig Brady  <P@draigBrady.com>
51527         timer-time: A new module to check for timer_settime()
51528         * m4/timer_time.m4: Check for the posix function.
51529         * modules/timer-time: Add the new module.
51530         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
51531         Mention it.
51533 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
51534             Bruno Haible  <bruno@clisp.org>
51536         pthread_sigmask: assume POSIX threads if --avoid=threadlib
51537         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
51538         not defined, assume POSIX threads and look for pthread_sigmask in
51539         $LIBS, without changing $CPPFLAGS.
51541 2011-07-19  Bruno Haible  <bruno@clisp.org>
51543         strstr: Update cross-compilation guess.
51544         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
51545         CPUs, guess no, in view of glibc
51546         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
51547         Suggested by Eric Blake. Reported by Reuben Thomas.
51549 2011-07-19  Pádraig Brady  <P@draigBrady.com>
51551         getopt-gnu: suppress core dumps from detection code
51552         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
51553         to suppress core dumps that may well occur on glibc systems.
51554         * modules/getopt-gnu: Depend on nocrash.
51556 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
51558         pthread_sigmask: ensure usleep is declared
51559         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
51560         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
51562 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
51564         doc: Document NonStop portability issues.
51565         * doc/posix-functions/sigaction.texi (sigaction):
51566         * doc/posix-headers/signal.texi (signal.h):
51567         Document NonStop.  See Joachim Schmitz in
51568         http://lists.gnu.org/r/bug-coreutils/2011-07/msg00062.html
51570 2011-07-15  Bruno Haible  <bruno@clisp.org>
51572         ffsl, ffsll: Avoid unportable behaviour.
51573         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
51575 2011-07-15  Bruno Haible  <bruno@clisp.org>
51577         ffs: More tests.
51578         * tests/test-ffs.c (NBITS): New macro.
51579         (main): Add more tests.
51580         * tests/test-ffsl.c (NBITS): New macro.
51581         (main): Add more tests.
51582         * tests/test-ffsll.c (NBITS): New macro.
51583         (main): Add more tests.
51585 2011-07-15  Eric Blake  <eblake@redhat.com>
51587         ffsl, ffsll: new modules
51588         * modules/ffsl: New file.
51589         * modules/ffsll: Likewise.
51590         * m4/ffsl.m4: Likewise.
51591         * m4/ffsll.m4: Likewise.
51592         * lib/ffsl.c: Likewise.
51593         * lib/ffsl.h: Likewise.
51594         * lib/ffsll.c: Likewise.
51595         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
51596         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
51597         * modules/string (Makefile.am): Substitute witnesses.
51598         * lib/strings.in.h (ffsl, ffsll): Declare.
51599         * modules/ffsl-tests: New test file.
51600         * modules/ffsll-tests: Likewise.
51601         * tests/test-ffsl.c: Likewise.
51602         * tests/test-ffsll.c: Likewise.
51603         * MODULES.html.sh (Integer arithmetic functions): Mention it.
51604         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
51605         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
51607         ffs: fix m4 prerequisite
51608         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
51610         ffs: avoid undefined behavior
51611         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
51612         * tests/test-ffs.c (naive, main): Avoid signed shifts.
51613         Reported by Bruno Haible.
51615 2011-07-12  Bruno Haible  <bruno@clisp.org>
51617         pthread_sigmask: Rely on module 'threadlib'.
51618         * modules/pthread_sigmask (Depends-on): Add threadlib.
51619         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
51620         is defined.
51622 2011-07-12  Bruno Haible  <bruno@clisp.org>
51624         regex: Depend on module 'strcase'.
51625         * modules/regex (Depends-on): Add strcase, for strcasecmp().
51627 2011-07-12  Jim Meyering  <meyering@redhat.com>
51629         warn-on-use: fix typo in file name
51630         * modules/snippet/warn-on-use (Files): Correct file name:
51631         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
51633 2011-07-12  Bruno Haible  <bruno@clisp.org>
51635         strings: Document module.
51636         * doc/posix-headers/strings.texi: Mention module 'strings'.
51638 2011-07-12  Bruno Haible  <bruno@clisp.org>
51640         Rename module '_Noreturn' to 'snippet/_Noreturn'.
51641         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
51642         (Files, Makefile.am): Update.
51643         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
51644         * modules/stdlib (Depends-on): Update.
51646 2011-07-12  Bruno Haible  <bruno@clisp.org>
51648         * NEWS: Mention the changes.
51650         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
51651         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
51652         (Files, Makefile.am): Update.
51653         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
51654         * modules/arpa_inet (Depends-on): Update.
51655         * modules/ctype (Depends-on): Update.
51656         * modules/dirent (Depends-on): Update.
51657         * modules/fcntl-h (Depends-on): Update.
51658         * modules/glob (Depends-on): Update.
51659         * modules/iconv-h (Depends-on): Update.
51660         * modules/inttypes-incomplete (Depends-on): Update.
51661         * modules/langinfo (Depends-on): Update.
51662         * modules/locale (Depends-on): Update.
51663         * modules/math (Depends-on): Update.
51664         * modules/netdb (Depends-on): Update.
51665         * modules/poll-h (Depends-on): Update.
51666         * modules/pty (Depends-on): Update.
51667         * modules/search (Depends-on): Update.
51668         * modules/signal (Depends-on): Update.
51669         * modules/spawn (Depends-on): Update.
51670         * modules/stdio (Depends-on): Update.
51671         * modules/stdlib (Depends-on): Update.
51672         * modules/string (Depends-on): Update.
51673         * modules/strings (Depends-on): Update.
51674         * modules/sys_file (Depends-on): Update.
51675         * modules/sys_ioctl (Depends-on): Update.
51676         * modules/sys_select (Depends-on): Update.
51677         * modules/sys_socket (Depends-on): Update.
51678         * modules/sys_stat (Depends-on): Update.
51679         * modules/sys_time (Depends-on): Update.
51680         * modules/sys_times (Depends-on): Update.
51681         * modules/sys_utsname (Depends-on): Update.
51682         * modules/sys_wait (Depends-on): Update.
51683         * modules/termios (Depends-on): Update.
51684         * modules/time (Depends-on): Update.
51685         * modules/unistd (Depends-on): Update.
51686         * modules/wchar (Depends-on): Update.
51687         * modules/wctype-h (Depends-on): Update.
51688         * MODULES.html.sh (Support for building libraries and executables):
51689         Update.
51691         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
51692         * modules/snippet/unused-parameter: Renamed from
51693         modules/unused-parameter.
51694         (Files, Makefile.am): Update.
51695         * build-aux/snippet/unused-parameter.h: Renamed from
51696         build-aux/unused-parameter.h.
51697         * modules/selinux-h (Depends-on): Update.
51698         * modules/unistr/base (Depends-on): Update.
51699         * MODULES.html.sh (Core language properties): Update.
51701         Rename module 'link-warning' to 'snippet/link-warning'.
51702         * modules/snippet/link-warning: Renamed from modules/link-warning.
51703         (Files, Makefile.am): Update.
51704         * build-aux/snippet/link-warning.h: Renamed from
51705         build-aux/link-warning.h.
51706         * MODULES.html.sh (Support for building libraries and executables):
51707         Update.
51709         Rename module 'c++defs' to 'snippet/c++defs'.
51710         * modules/snippet/c++defs: Renamed from modules/c++defs.
51711         (Files, Makefile.am): Update.
51712         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
51713         * modules/arpa_inet (Depends-on): Update.
51714         * modules/ctype (Depends-on): Update.
51715         * modules/dirent (Depends-on): Update.
51716         * modules/fcntl-h (Depends-on): Update.
51717         * modules/glob (Depends-on): Update.
51718         * modules/iconv-h (Depends-on): Update.
51719         * modules/langinfo (Depends-on): Update.
51720         * modules/locale (Depends-on): Update.
51721         * modules/math (Depends-on): Update.
51722         * modules/netdb (Depends-on): Update.
51723         * modules/poll-h (Depends-on): Update.
51724         * modules/pty (Depends-on): Update.
51725         * modules/search (Depends-on): Update.
51726         * modules/signal (Depends-on): Update.
51727         * modules/spawn (Depends-on): Update.
51728         * modules/stdio (Depends-on): Update.
51729         * modules/stdlib (Depends-on): Update.
51730         * modules/string (Depends-on): Update.
51731         * modules/strings (Depends-on): Update.
51732         * modules/sys_ioctl (Depends-on): Update.
51733         * modules/sys_select (Depends-on): Update.
51734         * modules/sys_socket (Depends-on): Update.
51735         * modules/sys_stat (Depends-on): Update.
51736         * modules/sys_time (Depends-on): Update.
51737         * modules/sys_wait (Depends-on): Update.
51738         * modules/termios (Depends-on): Update.
51739         * modules/time (Depends-on): Update.
51740         * modules/unistd (Depends-on): Update.
51741         * modules/wchar (Depends-on): Update.
51742         * modules/wctype-h (Depends-on): Update.
51744         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
51745         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
51746         (Files, Makefile.am): Update.
51747         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
51748         * modules/argv-iter (Depends-on): Update.
51749         * modules/arpa_inet (Depends-on): Update.
51750         * modules/dirent (Depends-on): Update.
51751         * modules/fcntl-h (Depends-on): Update.
51752         * modules/fnmatch (Depends-on): Update.
51753         * modules/getopt-posix (Depends-on): Update.
51754         * modules/glob (Depends-on): Update.
51755         * modules/iconv-h (Depends-on): Update.
51756         * modules/inttypes-incomplete (Depends-on): Update.
51757         * modules/locale (Depends-on): Update.
51758         * modules/math (Depends-on): Update.
51759         * modules/netdb (Depends-on): Update.
51760         * modules/search (Depends-on): Update.
51761         * modules/signal (Depends-on): Update.
51762         * modules/spawn (Depends-on): Update.
51763         * modules/stdio (Depends-on): Update.
51764         * modules/stdlib (Depends-on): Update.
51765         * modules/string (Depends-on): Update.
51766         * modules/strings (Depends-on): Update.
51767         * modules/sys_socket (Depends-on): Update.
51768         * modules/sys_stat (Depends-on): Update.
51769         * modules/sys_time (Depends-on): Update.
51770         * modules/sys_times (Depends-on): Update.
51771         * modules/sys_utsname (Depends-on): Update.
51772         * modules/time (Depends-on): Update.
51773         * modules/unistd (Depends-on): Update.
51774         * modules/wchar (Depends-on): Update.
51775         * MODULES.html.sh (Support for building libraries and executables):
51776         Update.
51778 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
51780         Improvements on _Noreturn and related modules.
51782         modules/_Exit-tests: test _Noreturn too
51783         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
51784         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
51785         (main): Use them.
51787         stdnoreturn, stdnoreturn-tests: remove modules
51788         They're not needed here and a bit premature for use elsewhere.  See
51789         <http://lists.gnu.org/r/bug-gnulib/2011-07/msg00209.html>.
51790         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
51791         * tests/test-stdnoreturn.c: Remove files.
51792         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
51793         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
51794         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
51795         and using noreturn.
51796         * modules/openat, modules/sigpipe-die, modules/xalloc:
51797         * modules/xmemdup0, modules/xstrtol:
51798         Remove dependency on stdnoreturn.
51800         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
51801         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
51802         Reparenthesize to avoid GCC warning.
51803         Support Microsoft's syntax.
51804         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
51806         _Noreturn-tests: remove module
51807         * modules/_Noreturn-tests: Remove.
51808         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
51809         * tests/test-_Noreturn.c: Remove.
51810         * tests/test-stdnoreturn.c: Merge from the old
51811         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
51813 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
51815         _Noreturn, stdnoreturn, and related modules.
51817         * top/maint.mk: Adjust to new noreturn support.
51818         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
51819         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
51821         xalloc: use stdnoreturn.h
51822         * lib/xalloc.h: Include <stdnoreturn.h>.
51823         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
51824         * modules/xalloc (Depends-on): Add stdnoreturn.
51826         xstrtol: use stdnoreturn.h
51827         * lib/xstrtol.h: Include <stdnoreturn.h>.
51828         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
51829         * modules/xstrtol (Depends-on): Add stdnoreturn.
51831         xmemdup0: use stdnoreturn.h
51832         * lib/xmemdup0.h: Include <stdnoreturn.h>.
51833         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
51834         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
51836         sigpipe-die: use stdnoreturn.h
51837         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
51838         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
51839         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
51841         openat: use stdnoreturn.h
51842         * lib/openat.h: Include <stdnoreturn.h>.
51843         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
51844         * modules/openat (Depends-on): Add stdnoreturn.
51846         * lib/openat-die.c (openat_save_fail): Modernize comment.
51848         * lib/xalloc-die.c (xalloc_die): Modernize comment.
51850         * lib/glthread/thread.h: Modernize comment.
51852         obstack: use _Noreturn
51853         * lib/obstack.c (__attribute__): Remove macro.
51854         (print_and_abort): Use _Noreturn.
51856         c-stack: use _Noreturn
51857         * lib/c-stack.c (die, overflow_handler, segv_handler):
51858         Use _Noreturn rather than __attribute__((noreturn)).
51860         argmatch-tests, exclude_tests: use _Noreturn
51861         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
51862         Remove.
51863         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
51865         stdlib: use _Noreturn
51866         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
51867         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
51868         * modules/stdlib (Depends-on): Add _Noreturn.
51869         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
51871         stdnoreturn-tests: new module
51872         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
51874         stdnoreturn: new module
51875         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
51876         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
51878         _Noreturn-tests: new module
51879         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
51881         _Noreturn: new module
51882         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
51883         New section, mentioning it.
51884         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
51886         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
51888 2011-07-11  Eric Blake  <eblake@redhat.com>
51890         ffs: new module
51891         * modules/ffs: New file.
51892         * m4/ffs.m4: Likewise.
51893         * lib/ffs.c: Likewise.
51894         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
51895         * modules/strings (Makefile.am): Substitute witness.
51896         (Depends-on): Add c++defs.
51897         * lib/strings.in.h (ffs): Declare.
51898         * modules/ffs-tests: New test file.
51899         * tests/test-ffs.c: Test new module.
51900         * MODULES.html.sh (Integer arithmetic functions): Mention it.
51901         * doc/posix-functions/ffs.texi (ffs): Likewise.
51903         regex: avoid compiler warning
51904         * lib/regex.c (includes): Include <strings.h>, for use of
51905         strcasecmp in regcomp.c.
51906         Reported by Joachim Schmitz.
51908 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
51910         stdint: respect system's intmax_t if INTMAX_MAX
51911         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
51912         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
51913         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
51914         long but int64_t is long long, and where we will clash with the
51915         system intmax_t if we override it.  See
51916         <http://lists.gnu.org/r/bug-gnulib/2011-07/msg00160.html>.
51917         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
51918         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
51919         similarly for UINTMAX_C.
51921 2011-07-08  Bruno Haible  <bruno@clisp.org>
51923         pthread_sigmask tests: Avoid a compiler warning.
51924         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
51925         non-zero.
51927         sigprocmask tests: A better way to avoid a compiler warning.
51928         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
51929         (main): Complain if system() returns non-zero.
51930         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
51932 2011-07-08  Bruno Haible  <bruno@clisp.org>
51934         pthread_sigmask: Work around IRIX bug.
51935         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
51936         bug.
51937         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
51938         there may be unblocked pending signals.
51939         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
51941 2011-07-08  Bruno Haible  <bruno@clisp.org>
51943         pthread_sigmask: Work around Cygwin bug.
51944         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
51945         bug.
51946         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
51947         the system's pthread_sigmask function.
51948         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
51950 2011-07-08  Bruno Haible  <bruno@clisp.org>
51952         pthread_sigmask: Work around bug in single-threaded implementation.
51953         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
51954         FreeBSD, HP-UX, Solaris bug.
51955         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
51956         * lib/pthread_sigmask.c: Include <stddef.h>.
51957         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
51958         the system's pthread_sigmask function.
51959         * modules/pthread_sigmask (configure.ac): Invoke
51960         gl_PREREQ_PTHREAD_SIGMASK.
51961         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
51962         HP-UX, Solaris.
51964 2011-07-08  Eric Blake  <eblake@redhat.com>
51966         test-sigprocmask: avoid compiler warning
51967         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
51968         * tests/test-sigprocmask.c (main): Use it to silence warning.
51969         Reported by Jim Meyering.
51971         test-snprintf: avoid compiler warning
51972         * tests/test-snprintf.c (main): Avoid shadowed declaration.
51973         * tests/test-vsnprintf.c (main): Likewise.
51974         Reported by Jim Meyering.
51976 2011-07-08  Bruno Haible  <bruno@clisp.org>
51978         Tests for module 'pthread_sigmask'.
51979         * modules/pthread_sigmask-tests: New file.
51980         * tests/test-pthread_sigmask1.c: New file, based on
51981         tests/test-sigprocmask.c.
51982         * tests/test-pthread_sigmask2.c: New file.
51984 2011-07-08  Jim Meyering  <meyering@redhat.com>
51986         test-getopt.h: avoid warning about an unused variable
51987         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
51989 2011-07-07  Jim Meyering  <meyering@redhat.com>
51991         maint: reduce list of files exempt from sc_prohibit_leading_TABs
51992         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
51993         now that it no longer contains leading TABs.
51994         Remove unused "url=FIXME" statement.
51996 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
51998         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
51999         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
52000         When gl_THREADLIB is not in use, assume that the POSIX sematics
52001         are desired.  This is better for Emacs, which uses POSIX semantics
52002         on GNUish and/or POSIXish platforms, and does not use threads at
52003         all otherwise.
52005         pthread_sigmask: fix typo when testing for libraries
52006         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
52007         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
52009 2011-07-08  Eric Blake  <eblake@redhat.com>
52011         fts: introduce FTS_NOATIME
52012         * lib/fts_.h (FTS_NOATIME): New bit flag.
52013         (FTS_OPTIONMASK): Adjust.
52014         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
52015         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
52017 2011-07-08  Bruno Haible  <bruno@clisp.org>
52019         Tests for module 'thread'.
52020         * modules/thread-tests: New file.
52021         * tests/test-thread_self.c: New file.
52022         * tests/test-thread_create.cc: New file.
52024 2011-07-08  Bruno Haible  <bruno@clisp.org>
52026         thread: Avoid gcc warnings when using gl_thread_self().
52027         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
52028         'void *'.
52029         (gl_thread_self_pointer): Update.
52031 2011-07-07  Bruno Haible  <bruno@clisp.org>
52033         signal-c++-tests: Check declaration of pthread_sigmask.
52034         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
52035         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
52036         $(LIB_PTHREAD_SIGMASK).
52038 2011-07-07  Bruno Haible  <bruno@clisp.org>
52040         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
52041         * lib/signal.in.h (pthread_sigmask): Override if
52042         REPLACE_PTHREAD_SIGMASK is 1.
52043         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
52044         REPLACE_PTHREAD_SIGMASK.
52045         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
52046         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
52047         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
52048         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
52049         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
52051 2011-07-07  Bruno Haible  <bruno@clisp.org>
52053         pthread_sigmask: Ensure declaration in <signal.h>.
52054         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
52055         include <pthread.h>.
52056         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
52057         problem.
52059 2011-07-07  Bruno Haible  <bruno@clisp.org>
52061         pthread_sigmask: Document the module.
52062         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
52064 2011-07-07  Bruno Haible  <bruno@clisp.org>
52066         pthread_sigmask: Follow gnulib conventions.
52067         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
52068         gl_PTHREAD_SIGMASK.
52069         * modules/pthread_sigmask (configure.ac): Update.
52071 2011-07-07  Bruno Haible  <bruno@clisp.org>
52073         pthread_sigmask: Make declaration C++ safe.
52074         * lib/signal.in.h: In two special conditions, just do an #include_next.
52075         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
52076         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
52077         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
52078         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
52079         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
52080         not REPLACE_PTHREAD_MASK.
52081         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
52082         not REPLACE_PTHREAD_MASK.
52083         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
52085 2011-07-07  Bruno Haible  <bruno@clisp.org>
52087         pthread_sigmask: Fix return value.
52088         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
52089         * lib/pthread_sigmask.c: New file.
52090         * modules/pthread_sigmask (Files): Add it.
52091         (configure.ac): Invoke AC_LIBOBJ.
52093 2011-07-07  Eric Blake  <eblake@redhat.com>
52095         getopt: more portable argv creation
52096         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
52097         const, use char arrays rather than strings.
52098         Suggested by Paul Eggert.
52100 2011-07-07  Bruno Haible  <bruno@clisp.org>
52102         Tests for module 'sigprocmask'.
52103         * modules/sigprocmask-tests: New file.
52104         * tests/test-sigprocmask.c: New file.
52106 2011-07-07  Bruno Haible  <bruno@clisp.org>
52108         float tests: Tweak.
52109         * tests/test-float.c (main): Tweak skip message.
52111 2011-07-07  Eric Blake  <eblake@redhat.com>
52113         getopt: avoid compiler warning during configure
52114         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
52115         assigning string literals to non-const pointer.
52117         getopt-gnu: avoid crash in glibc getopt
52118         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
52119         * tests/test-getopt.h (test_getopt): Enhance test.
52120         * tests/test-getopt_long.h (test_getopt_long): Likewise.
52121         * doc/posix-functions/getopt.texi (getopt): Document it.
52122         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
52123         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
52124         Likewise.
52126 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
52128         getopt: handle W; without long options in getopt [BZ #12922]
52129         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
52130         but no long options are defined, just return 'W'.
52132 2011-07-07  Bruno Haible  <bruno@clisp.org>
52134         Avoid literal tabs.
52135         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
52136         variable containing a tab instead of a literal tab.
52137         Reported by Jim Meyering.
52139 2011-07-07  Bruno Haible  <bruno@clisp.org>
52141         Comments.
52142         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
52144 2011-07-06  Bruno Haible  <bruno@clisp.org>
52146         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
52147         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
52148         <winsock2.h>.
52149         (rpl_fd_isset, FD_ISSET): New definitions, copied from
52150         lib/sys_socket.in.h.
52151         (close, gethostname): Hide declarations from <winsock2.h>.
52152         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
52153         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
52154         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
52155         (select): Don't override if gnulib's <sys/select.h> was already
52156         included.
52157         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
52158         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
52159         setsockopt, shutdown, select): Tweak indentation.
52161 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
52163         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
52164         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
52165         in an application that does not use the sys_select module.
52167 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
52169         poll: do not return 0 on timeout=-1
52170         * lib/poll.c: Loop with yield if no events occurred.
52172 2011-07-06  Eric Blake  <eblake@redhat.com>
52174         pthread_sigmask: always replace when not using pthread
52175         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
52176         replacement when using some threading other than pthread.  Fix
52177         logic bug.
52179 2011-07-06  Bruno Haible  <bruno@clisp.org>
52181         Comments.
52182         * m4/printf.m4: Update comments about mingw.
52184 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
52186         sys_select: define sigset_t more portably
52187         * lib/sys_select.in.h: Always include <sys/types.h>, since
52188         we now need sigset_t and mingw defines it there.
52189         Include <signal.h> before split inclusion guard, to avoid
52190         mishaps on Solaris, whose <signal.h> eventually includes us.
52191         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
52192         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
52193         which come from ...
52194         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
52195         gl_CHECK_TYPE_SIGSET_T.
52196         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
52197         does the real work.
52198         * modules/sys_select (Depends-on): Add 'signal'.
52200         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
52201         Suggested by Bruno Haible.
52203         pselect: Use pthread_sigmask, not sigprocmask.
52204         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
52205         multithreaded apps better than sigprocmask does.
52206         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
52207         sigprocmask directly.
52209 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
52211         * lib/pselect.c (pselect): Use plain name, without "rpl_".
52212         Don't #undef,  since we don't need any underlying pselect.
52213         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
52214         (Depends-on): Add select.
52215         (Link): Add $(LIBSOCKET).
52216         These changes suggested by Bruno Haible.
52218         pselect: document better
52219         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
52220         * doc/posix-functions/pselect.texi (pselect): Document new module.
52222         pthread_sigmask: new module
52223         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
52224         * doc/posix-functions/pthread_sigmask.texi: Document new module.
52225         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
52226         This is done only as a macro; I don't know how well that'll
52227         work for C++.  Move <sys/types.h> include before the include_next,
52228         to avoid mishap on Solaris.
52229         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
52230         * modules/signal (Makefile.am): Substitute the check's results.
52231         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
52233         test-pselect: new module
52234         * modules/pselect-tests, tests/test-pselect.c: New files.
52235         * tests/test-select.c, tests/test-sys_select-c++.cc:
52236         If TEST_PSELECT is defined, test pselect instead of testing select.
52238         * tests/test-sys_select.c (sigset_t): Test for it, too.
52239         Suggested by Bruno Haible.
52241 2011-07-05  Eric Blake  <eblake@redhat.com>
52243         snprintf: guarantee %1$d, for libintl
52244         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
52245         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
52246         * doc/posix-functions/snprintf.texi (snprintf): Update.
52247         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
52248         * tests/test-snprintf.c (main): Enhance test.
52249         * tests/test-vsnprintf.c (main): Likewise.
52251 2011-07-05  Jim Meyering  <meyering@redhat.com>
52253         maint: exempt stdio-read.c and stdio-write.c from the cppi check
52254         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
52255         per Bruno's request, to accommodate this idiom (no space after "#")
52256         even when the function is inside an #if block:
52257         char *
52258         gets (char *s)
52259         #undef gets
52260         {
52261           ...
52262         }
52264 2011-07-04  Jim Meyering  <meyering@redhat.com>
52266         maint: indent with spaces, not TABs, and add a rule to check this
52267         * tests/test-userspec.c: Indent with spaces, not TABs.
52268         * tests/test-argp.c: Likewise.
52269         * tests/test-c-stack2.sh: Likewise.
52270         * tests/test-parse-duration.sh: Likewise
52271         * m4/strtod.m4: Likewise.
52272         * m4/alloca.m4: Likewise.
52273         * m4/pselect.m4: Likewise.
52274         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
52276 2011-07-03  Jim Meyering  <meyering@redhat.com>
52278         maint.mk: correct omissions in prohibit_argmatch_without_use check
52279         This rule would mistakenly report that argmatch.h is included without
52280         use even when both the argmatch and invalid_arg macro were used.
52281         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
52282         of argmatch and invalid_arg.
52284 2011-07-03  Bruno Haible  <bruno@clisp.org>
52286         Comments about EINTR.
52287         * lib/safe-read.h: Explain the purpose of this module.
52288         * lib/safe-write.h: Likewise.
52289         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
52290         module.
52291         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
52292         module.
52293         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
52295 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
52297         xnanosleep: Rewrite to use new dtotimespec module.
52298         It has the conversion code that used to be in xnanosleep.
52299         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
52300         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
52301         (TIME_T_MAX): Remove.
52302         (xnanosleep): Rewrite in terms of dtotimespec.
52303         * modules/xnanosleep (Depends-on): Add dtotimespec.
52304         Remove intprops, stdbool.
52306         timespec-add, timespec-sub: new modules
52307         * lib/timespec.h (timespec_add, timespec_sub): New decls.
52308         * lib/timespec-add.c, lib/timespec-sub.c:
52309         * modules/timespec-add, modules/timespec-sub: New files.
52311         dtotimespec: new module
52312         * lib/timespec.h (dtotimespec): New decl.
52313         * lib/dtotimespec.c, modules/dtotimespec: New files.
52315         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
52317         pselect: new module
52318         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
52319         (pselect): New decls.
52320         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
52321         since the standard pselect decl uses 'restrict'.
52322         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
52323         HAVE_PSELECT, REPLACE_PSELECT.
52324         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
52325         HAVE_PSELECT, REPLACE_PSELECT.
52326         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
52328         sys_select: don't depend on sys_socket
52329         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
52330         <http://lists.gnu.org/r/bug-gnulib/2011-06/msg00358.html>.
52331         This fix works on GNU and GNU-like platforms, but has not been tested
52332         on native Windows.
52333         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
52334         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
52335         gl_HEADER_SYS_SOCKET.
52336         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
52337         gl_PREREQ_SYS_H_WINSOCK2.
52339 2011-06-29  Eric Blake  <eblake@redhat.com>
52341         pipe2: fix C89 compile problem
52342         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
52343         Reported by Bruno Haible.
52345         pipe, pipe2: don't corrupt fd on error
52346         * lib/pipe.c (pipe): Leave fd unchanged on error.
52347         * lib/pipe2.c (pipe2): Likewise.
52348         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
52349         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
52351 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
52353         mmap-anon: do not use regular expressions inadvertently
52354         * m4/mmap-anon.m4: Remove trailing period from strings sought
52355         in the output.
52357 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
52359         nanosleep: fix integer overflow problem
52360         * lib/nanosleep.c (my_usleep): Don't assume signed integer
52361         arithmetic wraps around on overflow.
52363         nanosleep: simplify carrying
52364         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
52365         first call to the underyling nanosleep, not for the last one.
52366         This doesn't fix any bugs, but it simplifies the computation of
52367         the remaining delay.  Found while auditing integer overflow issues.
52369         dup2: remove test for existence of fcntl
52370         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
52371         "#if HAVE_FCNTL", in the configure-time test program.
52372         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
52373         and therefore speeds up "configure" a bit.  Found while
52374         adding the dup2 module to Emacs.
52376 2011-06-24  Eric Blake  <eblake@redhat.com>
52378         maint.mk: enhance useless header checks
52379         * top/maint.mk (_sc_header_without_use): Check both include
52380         styles.
52381         (sc_prohibit_assert_without_use)
52382         (sc_prohibit_close_stream_without_use)
52383         (sc_prohibit_getopt_without_use)
52384         (sc_prohibit_quotearg_without_use)
52385         (sc_prohibit_quote_without_use)
52386         (sc_prohibit_long_options_without_use)
52387         (sc_prohibit_inttostr_without_use)
52388         (sc_prohibit_ignore_value_without_use)
52389         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
52390         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
52391         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
52392         (sc_prohibit_hash_pjw_without_use)
52393         (sc_prohibit_safe_read_without_use)
52394         (sc_prohibit_argmatch_without_use)
52395         (sc_prohibit_canonicalize_without_use)
52396         (sc_prohibit_root_dev_ino_without_use)
52397         (sc_prohibit_openat_without_use)
52398         (sc_prohibit_c_ctype_without_use)
52399         (sc_prohibit_signal_without_use)
52400         (sc_prohibit_stdio--_without_use)
52401         (sc_prohibit_stdio-safer_without_use)
52402         (sc_prohibit_strings_without_use)
52403         (sc_prohibit_intprops_without_use)
52404         (sc_prohibit_stddef_without_use)
52405         (sc_prohibit_xfreopen_without_use): Update clients.
52407 2011-06-24  Jim Meyering  <meyering@redhat.com>
52409         syntax-check: keep one maint.mk rule in sync with its header
52410         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
52411         of the bug Eric has just fixed, with today's commit 25e4c2ec.
52412         I prefer to avoid temporary files here, so use <(...), but that
52413         is not supported by /bin/sh, so...
52414         (SHELL): Define to /bin/bash.
52416 2011-06-24  Eric Blake  <eblake@redhat.com>
52418         maint.mk: update sc_prohibit_intprops_without_use
52419         * top/maint.mk (_intprops_names): Match recent changes.
52421 2011-06-24  Bruno Haible  <bruno@clisp.org>
52423         strerror-override: No-op tweak.
52424         * lib/strerror-override.h (strerror_override): Reorder conditions,
52425         for consistency with lib/strerror-override.c.
52427 2011-06-23  Eric Blake  <eblake@redhat.com>
52429         maint.mk: test further PATH_MAX issues
52430         * top/maint.mk (sc_prohibit_path_max_array): Rename...
52431         (sc_prohibit_path_max_allocation): ...and also test alloca.
52432         Suggested by Jim Meyering.
52434 2011-06-22  Eric Blake  <eblake@redhat.com>
52436         maint.mk: add syntax-check to avoid char[PATH_MAX]
52437         * top/maint.mk (sc_prohibit_path_max_array): New rule.
52439         stat: be robust to PATH_MAX definition
52440         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
52441         * modules/stat (Depends-on): Add verify.
52443         link: work around IRIX bug
52444         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
52445         * lib/link.c (rpl_link): Work around it.
52446         * tests/test-link.h (test_link): Enhance test.
52447         * doc/posix-functions/link.texi (link): Document the bug.
52449         getopt: silence clang warning
52450         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
52451         dereference.
52452         Reported by Gustavo Martin Domato.
52454 2011-06-22  Jim Meyering  <meyering@redhat.com>
52456         bootstrap: do not insert a blank line into each .gitignore file
52457         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
52459 2011-06-21  Eric Blake  <eblake@redhat.com>
52461         perror: test for output mismatch
52462         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
52463         perror on IRIX.
52465         strerror_r: fix OpenBSD behavior on out-of-range
52466         * lib/strerror_r.c (strerror_r): Always use maximal string.
52467         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
52469         strerror_r: fix OpenBSD behavior on 0
52470         * lib/strerror-override.c (strerror_override): Also override 0
52471         when needed.
52472         * lib/strerror-override.h (strerror_override): Likewise.
52473         * lib/strerror.c (strerror): Simplify, now that 0 override is done
52474         earlier.
52475         * lib/strerror_r.c (strerror_r): Likewise.
52476         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
52477         behavior...
52478         (gl_FUNC_STRERROR_0): ...into new macro.
52479         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
52480         is overridden.
52481         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
52482         * modules/strerror-override (Files): Add strerror.m4.
52483         (configure.ac): Also provide override for 0 when needed.
52484         * doc/posix-functions/strerror.texi (strerror): Document this.
52485         * doc/posix-functions/perror.texi (perror): Likewise.
52487         perror: adjust array size
52488         * modules/perror (Depends-on): Add strerror-override.
52489         * lib/perror.c (perror): Use it to avoid magic number.
52491         strerror-override: reduce size
52492         * lib/strerror-override.c (strerror_override): Use fewer lines.
52494 2011-06-20  Bruno Haible  <bruno@clisp.org>
52496         pathmax: Ensure correct value for PATH_MAX on HP-UX.
52497         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
52499 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
52501         alloca: port to compilers that can optimize like GCC 4.6.0
52502         * lib/alloca.c (find_stack_direction): New signature, taken from
52503         Autoconf git.  This works with GCC 4.6.0.  This code should never
52504         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
52505         be used with other compilers that optimize as well as GCC 4.6.0 does.
52506         (alloca): Adjust to new signature.
52507         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
52508         New macro, which patches Autoconf in a similar way.
52510         c-stack: stop worrying about stack direction
52511         * lib/c-stack.c (find_stack_direction): Remove.
52512         (segv_handler): Don't worry about stack direction growth, as it's
52513         too much of a pain to configure this correctly, given how compilers
52514         are optimizing-away our stack-growth detection code.  Instead, assume
52515         that any access to just before or just after the stack is OK.
52516         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
52517         Don't require AC_FUNC_ALLOCA; no longer needed.
52519 2011-06-20  Eric Blake  <eblake@redhat.com>
52521         test-stat: don't allocate PATH_MAX bytes
52522         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
52523         PATH_MAX-sized buffer.
52524         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
52525         * modules/stat-tests (Depends-on): Likewise.
52526         * tests/test-fstatat.c (includes): Drop pathmax.h.
52527         * tests/test-stat.c (includes): Likewise.
52528         Reported by Bruno Haible.
52530 2011-06-20  Bruno Haible  <bruno@clisp.org>
52532         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
52533         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
52534         * lib/float.c: New file.
52535         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
52536         REPLACE_FLOAT_LDBL.
52537         * modules/float (Files): Add lib/float.c.
52538         (configure.ac): Invoke AC_LIBOBJ.
52539         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
52541 2011-06-20  Bruno Haible  <bruno@clisp.org>
52543         Tests for module 'float'.
52544         * modules/float-tests: New file.
52545         * tests/test-float.c: New file.
52547 2011-06-19  Bruno Haible  <bruno@clisp.org>
52549         isinf: Coding style.
52550         * lib/isinf.c: Use GNU coding style.
52552 2011-06-19  Bruno Haible  <bruno@clisp.org>
52554         linkat test: Avoid test failure on AIX 7.1.
52555         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
52556         * tests/test-link.h (test_link): Likewise.
52558 2011-06-19  Bruno Haible  <bruno@clisp.org>
52560         pread test: Avoid test failure on OpenBSD 4.9.
52561         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
52563 2011-06-19  Bruno Haible  <bruno@clisp.org>
52565         sprintf-posix: Fix test failure on AIX 7.1.
52566         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
52567         * doc/posix-functions/dprintf.texi: Mention limited precision problem
52568         on AIX.
52569         * doc/posix-functions/fprintf.texi: Likewise.
52570         * doc/posix-functions/printf.texi: Likewise.
52571         * doc/posix-functions/snprintf.texi: Likewise.
52572         * doc/posix-functions/sprintf.texi: Likewise.
52573         * doc/posix-functions/vdprintf.texi: Likewise.
52574         * doc/posix-functions/vfprintf.texi: Likewise.
52575         * doc/posix-functions/vprintf.texi: Likewise.
52576         * doc/posix-functions/vsnprintf.texi: Likewise.
52577         * doc/posix-functions/vsprintf.texi: Likewise.
52579 2011-06-19  Bruno Haible  <bruno@clisp.org>
52581         roundl-ieee: Fix test failure on AIX 7.1.
52582         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
52583         * doc/posix-functions/roundl.texi: Mention problem with negative
52584         arguments.
52586 2011-06-19  Bruno Haible  <bruno@clisp.org>
52588         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
52589         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
52590         * doc/posix-functions/round.texi: Mention problem with negative
52591         arguments.
52592         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
52594 2011-06-19  Bruno Haible  <bruno@clisp.org>
52596         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
52597         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
52598         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
52599         * doc/posix-functions/roundf.texi: Mention problem with negative
52600         arguments.
52601         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
52603 2011-06-19  Bruno Haible  <bruno@clisp.org>
52605         ceilf-ieee: Work around bug on MacOS X 10.5.
52606         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
52608         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
52609         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
52610         IEEE compliant, avoid compiler optimizations.
52611         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
52612         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
52613         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
52614         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
52615         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
52616         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
52617         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
52618         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
52619         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
52620         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
52622 2011-06-19  Bruno Haible  <bruno@clisp.org>
52624         ceilf-ieee: Work around bug on AIX 7.1.
52625         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
52626         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
52628 2011-06-19  Bruno Haible  <bruno@clisp.org>
52630         ceil-ieee: Work around bug on AIX 7.1.
52631         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
52632         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
52634 2011-06-18  Bruno Haible  <bruno@clisp.org>
52636         fsync test: Avoid test failure on MacOS X and AIX.
52637         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
52638         EINVAL.
52640 2011-06-18  Bruno Haible  <bruno@clisp.org>
52642         openat, fdopendir tests: Fix link errors.
52643         * modules/openat-tests (Depends-on): Add progname.
52644         * modules/fdopendir-tests (Depends-on): Likewise.
52645         * tests/test-fchownat.c: Include progname.h.
52646         (main): Call set_program_name.
52647         * tests/test-fstatat.c: Include progname.h.
52648         (main): Call set_program_name.
52649         * tests/test-mkdirat.c: Include progname.h.
52650         (main): Call set_program_name.
52651         * tests/test-openat.c: Include progname.h.
52652         (main): Call set_program_name.
52653         * tests/test-unlinkat.c: Include progname.h.
52654         (main): Call set_program_name.
52655         * tests/test-fdopendir.c: Include progname.h.
52656         (main): Call set_program_name.
52658 2011-06-18  Bruno Haible  <bruno@clisp.org>
52660         Doc update.
52661         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
52662         HP-UX.
52663         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
52665 2011-06-18  Bruno Haible  <bruno@clisp.org>
52667         getcwd tests: Avoid compilation error on HP-UX 11.31.
52668         * modules/getcwd-tests (Depends-on): Add pathmax.
52669         * tests/test-getcwd.c: Include pathmax.h.
52671 2011-06-18  Bruno Haible  <bruno@clisp.org>
52673         isfinite, isinf: Fix link error on AIX 6 and 7.
52674         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
52675         needed, also test the macro with a 'float' argument.
52676         * m4/isinf.m4 (gl_ISINF): Likewise.
52678 2011-06-18  Bruno Haible  <bruno@clisp.org>
52680         getloadavg: Don't clobber LIBS. Regression from previous commit.
52681         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
52682         AC_CHECK_LIB from here...
52683         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
52684         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
52685         gl_func_getloadavg_done.
52686         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
52688 2011-06-18  Bruno Haible  <bruno@clisp.org>
52690         clean-temp: Improve documentation.
52691         * lib/clean-temp.h: Explain better how to use this module.
52692         Reported by John Darrington <john@darrington.wattle.id.au>.
52694 2011-06-17  Bruno Haible  <bruno@clisp.org>
52696         pread, pwrite: Avoid cc warning on AIX.
52697         * lib/unistd.in.h (pread): Undefine before defining as a macro.
52698         (pwrite): Likewise.
52700 2011-06-17  Bruno Haible  <bruno@clisp.org>
52702         spawn-pipe tests: Fix link error.
52703         * tests/test-spawn-pipe-child.c: Undefine fprintf.
52704         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
52706 2011-06-17  Bruno Haible  <bruno@clisp.org>
52708         Tests: Remove unnecessary dependency.
52709         * modules/canonicalize-tests (Depends-on): Remove progname.
52710         * modules/chown-tests (Depends-on): Likewise.
52711         * modules/dirname-tests (Depends-on): Likewise.
52712         * modules/fdopendir-tests (Depends-on): Likewise.
52713         * modules/fdutimensat-tests (Depends-on): Likewise.
52714         * modules/hash-tests (Depends-on): Likewise.
52715         * modules/lchown-tests (Depends-on): Likewise.
52716         * modules/linkat-tests (Depends-on): Likewise.
52717         * modules/renameat-tests (Depends-on): Likewise.
52718         * modules/spawn-pipe-tests (Depends-on): Likewise.
52719         * modules/utimensat-tests (Depends-on): Likewise.
52721 2011-06-17  Bruno Haible  <bruno@clisp.org>
52723         spawn-pipe tests: Fix link error.
52724         * tests/test-spawn-pipe-child.c: Undefine fflush.
52726 2011-06-17  Bruno Haible  <bruno@clisp.org>
52728         Fix tests link errors.
52729         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
52730         * modules/chown-tests (Makefile.am): Don't link test-chown with
52731         LIBINTL.
52732         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
52733         LIBINTL.
52734         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
52735         LIBINTL.
52736         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
52737         LIBINTL.
52739 2011-06-16  Bruno Haible  <bruno@clisp.org>
52741         crypto/gc-sha1: Fix recent regression.
52742         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
52743         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
52745         crypto/gc-md5: Fix recent regression.
52746         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
52748         crypto/gc-md4: Fix recent regression.
52749         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
52750         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
52752         crypto/gc-arctwo: Fix recent regression.
52753         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
52754         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
52756         crypto/gc-rijndael: Fix recent regression.
52757         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
52758         (configure.ac): Invoke AC_LIBOBJ here.
52759         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
52760         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
52762         crypto/gc-hmac-sha1: Fix recent regression.
52763         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
52764         (configure.ac): Invoke AC_LIBOBJ here.
52765         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
52766         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
52768         crypto/gc-hmac-md5: Fix recent regression.
52769         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
52770         (configure.ac): Invoke AC_LIBOBJ here.
52771         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
52772         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
52774         crypto/gc-des: Fix recent regression.
52775         * modules/crypto/gc-des (Files): Remove m4/des.m4.
52776         (configure.ac): Invoke AC_LIBOBJ here.
52777         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
52778         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
52780         crypto/gc-arcfour: Fix recent regression.
52781         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
52782         (configure.ac): Invoke AC_LIBOBJ here.
52783         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
52784         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
52786 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
52788         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
52789         After the 2011-05-21 change, this macro requires
52790         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
52791         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
52793 2011-06-16  Bruno Haible  <bruno@clisp.org>
52795         fprintftime: Move AC_LIBOBJ invocations to module description.
52796         * m4/fprintftime.m4: Remove file.
52797         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
52798         (configure.ac): Remove gl_FPRINTFTIME call.
52799         (Makefile.am): Augment lib_SOURCES.
52800         Reported by Jim Meyering.
52802 2011-06-16  Bruno Haible  <bruno@clisp.org>
52804         tmpfile-safer: Finish 2011-05-23 commit.
52805         * m4/stdio-safer.m4: Really remove file.
52806         Reported by Jim Meyering.
52808 2011-06-16  Bruno Haible  <bruno@clisp.org>
52810         syntax-check: Fix typo.
52811         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
52812         printf-posix.m4.
52813         Reported by Jim Meyering.
52815 2011-06-13  Jim Meyering  <meyering@redhat.com>
52817         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
52818         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
52820 2011-05-23  Bruno Haible  <bruno@clisp.org>
52822         yesno: Move AC_LIBOBJ invocations to module description.
52823         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
52824         * modules/yesno (Makefile.am): Augment lib_SOURCES.
52826 2011-05-23  Bruno Haible  <bruno@clisp.org>
52828         xstrtol: Move AC_LIBOBJ invocations to module description.
52829         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
52830         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
52832 2011-05-23  Bruno Haible  <bruno@clisp.org>
52834         xstrtold: Move AC_LIBOBJ invocations to module description.
52835         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
52836         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
52838 2011-05-23  Bruno Haible  <bruno@clisp.org>
52840         xstrtod: Move AC_LIBOBJ invocations to module description.
52841         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
52842         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
52844 2011-05-23  Bruno Haible  <bruno@clisp.org>
52846         xnanosleep: Move AC_LIBOBJ invocations to module description.
52847         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
52848         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
52850 2011-05-23  Bruno Haible  <bruno@clisp.org>
52852         xgetcwd: Move AC_LIBOBJ invocations to module description.
52853         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
52854         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
52856 2011-05-23  Bruno Haible  <bruno@clisp.org>
52858         xalloc: Move AC_LIBOBJ invocations to module description.
52859         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
52860         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
52862 2011-05-23  Bruno Haible  <bruno@clisp.org>
52864         write-any-file: Move AC_LIBOBJ invocations to module description.
52865         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
52866         invocation.
52867         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
52869 2011-05-23  Bruno Haible  <bruno@clisp.org>
52871         utimens: Move AC_LIBOBJ invocations to module description.
52872         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
52873         * modules/utimens (Makefile.am): Augment lib_SOURCES.
52875 2011-05-23  Bruno Haible  <bruno@clisp.org>
52877         utimecmp: Move AC_LIBOBJ invocations to module description.
52878         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
52879         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
52881 2011-05-23  Bruno Haible  <bruno@clisp.org>
52883         userspec: Move AC_LIBOBJ invocations to module description.
52884         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
52885         * modules/userspec (Makefile.am): Augment lib_SOURCES.
52887 2011-05-23  Bruno Haible  <bruno@clisp.org>
52889         unlinkdir: Move AC_LIBOBJ invocations to module description.
52890         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
52891         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
52893 2011-05-23  Bruno Haible  <bruno@clisp.org>
52895         unistd-safer: Move AC_LIBOBJ invocations to module description.
52896         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
52897         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
52899 2011-05-23  Bruno Haible  <bruno@clisp.org>
52901         tempname: Move AC_LIBOBJ invocations to module description.
52902         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
52903         * modules/tempname (Makefile.am): Augment lib_SOURCES.
52905 2011-05-23  Bruno Haible  <bruno@clisp.org>
52907         strftime: Move AC_LIBOBJ invocations to module description.
52908         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
52909         * modules/strftime (Makefile.am): Augment lib_SOURCES.
52911 2011-05-23  Bruno Haible  <bruno@clisp.org>
52913         stdlib-safer: Move AC_LIBOBJ invocations to module description.
52914         * m4/stdlib-safer.m4: Remove file.
52915         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
52916         (configure.ac): Remove gl_STDLIB_SAFER call.
52917         (Makefile.am): Augment lib_SOURCES.
52919 2011-05-23  Bruno Haible  <bruno@clisp.org>
52921         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
52922         * m4/stdio-safer.m4: Remove file.
52923         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
52924         (configure.ac): Remove gl_TMPFILE_SAFER call.
52925         (Makefile.am): Augment lib_SOURCES.
52927 2011-05-23  Bruno Haible  <bruno@clisp.org>
52929         popen-safer: Move AC_LIBOBJ invocations to module description.
52930         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
52931         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
52932         (configure.ac): Remove gl_POPEN_SAFER call.
52933         (Makefile.am): Augment lib_SOURCES.
52935 2011-05-23  Bruno Haible  <bruno@clisp.org>
52937         freopen-safer: Move AC_LIBOBJ invocations to module description.
52938         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
52939         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
52940         (configure.ac): Remove gl_FREOPEN_SAFER call.
52941         (Makefile.am): Augment lib_SOURCES.
52943 2011-05-23  Bruno Haible  <bruno@clisp.org>
52945         fopen-safer: Move AC_LIBOBJ invocations to module description.
52946         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
52947         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
52948         (configure.ac): Remove gl_FOPEN_SAFER call.
52949         (Makefile.am): Augment lib_SOURCES.
52951 2011-05-23  Bruno Haible  <bruno@clisp.org>
52953         crypto/sha512: Move AC_LIBOBJ invocations to module description.
52954         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
52955         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
52957 2011-05-23  Bruno Haible  <bruno@clisp.org>
52959         crypto/sha256: Move AC_LIBOBJ invocations to module description.
52960         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
52961         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
52963 2011-05-23  Bruno Haible  <bruno@clisp.org>
52965         crypto/sha1: Move AC_LIBOBJ invocations to module description.
52966         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
52967         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
52969 2011-05-23  Bruno Haible  <bruno@clisp.org>
52971         settime: Move AC_LIBOBJ invocations to module description.
52972         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
52973         * modules/settime (Makefile.am): Augment lib_SOURCES.
52975 2011-05-23  Bruno Haible  <bruno@clisp.org>
52977         savedir: Move AC_LIBOBJ invocations to module description.
52978         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
52979         * modules/savedir (Makefile.am): Augment lib_SOURCES.
52981 2011-05-23  Bruno Haible  <bruno@clisp.org>
52983         save-cwd: Move AC_LIBOBJ invocations to module description.
52984         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
52985         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
52987 2011-05-23  Bruno Haible  <bruno@clisp.org>
52989         same: Move AC_LIBOBJ invocations to module description.
52990         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
52991         * modules/same (Makefile.am): Augment lib_SOURCES.
52993 2011-05-23  Bruno Haible  <bruno@clisp.org>
52995         safe-write: Move AC_LIBOBJ invocations to module description.
52996         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
52997         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
52998         instead of gl_SAFE_WRITE.
52999         (Makefile.am): Augment lib_SOURCES.
53001 2011-05-23  Bruno Haible  <bruno@clisp.org>
53003         safe-read: Move AC_LIBOBJ invocations to module description.
53004         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
53005         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
53006         of gl_SAFE_READ.
53007         (Makefile.am): Augment lib_SOURCES.
53009 2011-05-23  Bruno Haible  <bruno@clisp.org>
53011         safe-alloc: Move AC_LIBOBJ invocations to module description.
53012         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
53013         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
53015 2011-05-23  Bruno Haible  <bruno@clisp.org>
53017         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
53018         * m4/rijndael.m4: Remove file.
53019         * modules/crypto/rijndael (Files): Remove it.
53020         (configure.ac): Remove gl_RIJNDAEL call.
53021         (Makefile.am): Augment lib_SOURCES.
53023 2011-05-23  Bruno Haible  <bruno@clisp.org>
53025         readtokens: Move AC_LIBOBJ invocations to module description.
53026         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
53027         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
53029 2011-05-23  Bruno Haible  <bruno@clisp.org>
53031         read-file: Move AC_LIBOBJ invocations to module description.
53032         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
53033         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
53034         of gl_FUNC_READ_FILE.
53035         (Makefile.am): Augment lib_SOURCES.
53037 2011-05-23  Bruno Haible  <bruno@clisp.org>
53039         quotearg: Move AC_LIBOBJ invocations to module description.
53040         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
53041         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
53043 2011-05-23  Bruno Haible  <bruno@clisp.org>
53045         quote: Move AC_LIBOBJ invocations to module description.
53046         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
53047         * modules/quote (Makefile.am): Augment lib_SOURCES.
53049 2011-05-23  Bruno Haible  <bruno@clisp.org>
53051         posixver: Move AC_LIBOBJ invocations to module description.
53052         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
53053         * modules/posixver (Makefile.am): Augment lib_SOURCES.
53055 2011-05-23  Bruno Haible  <bruno@clisp.org>
53057         posixtm: Move AC_LIBOBJ invocations to module description.
53058         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
53059         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
53061 2011-05-23  Bruno Haible  <bruno@clisp.org>
53063         physmem: Move AC_LIBOBJ invocations to module description.
53064         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
53065         * modules/physmem (Makefile.am): Augment lib_SOURCES.
53067 2011-05-23  Bruno Haible  <bruno@clisp.org>
53069         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
53070         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
53071         invocation.
53072         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
53074 2011-05-23  Bruno Haible  <bruno@clisp.org>
53076         mpsort: Move AC_LIBOBJ invocations to module description.
53077         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
53078         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
53080 2011-05-23  Bruno Haible  <bruno@clisp.org>
53082         modechange: Move AC_LIBOBJ invocations to module description.
53083         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
53084         * modules/modechange (Makefile.am): Augment lib_SOURCES.
53086 2011-05-23  Bruno Haible  <bruno@clisp.org>
53088         mkdir-p: Move AC_LIBOBJ invocations to module description.
53089         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
53090         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
53092 2011-05-23  Bruno Haible  <bruno@clisp.org>
53094         mkancesdirs: Move AC_LIBOBJ invocations to module description.
53095         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
53096         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
53098 2011-05-23  Bruno Haible  <bruno@clisp.org>
53100         mgetgroups: Move AC_LIBOBJ invocations to module description.
53101         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
53102         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
53104 2011-05-23  Bruno Haible  <bruno@clisp.org>
53106         memxor: Move AC_LIBOBJ invocations to module description.
53107         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
53108         * modules/memxor (Makefile.am): Augment lib_SOURCES.
53110 2011-05-23  Bruno Haible  <bruno@clisp.org>
53112         memcoll: Move AC_LIBOBJ invocations to module description.
53113         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
53114         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
53116 2011-05-23  Bruno Haible  <bruno@clisp.org>
53118         memcasecmp: Move AC_LIBOBJ invocations to module description.
53119         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
53120         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
53122 2011-05-23  Bruno Haible  <bruno@clisp.org>
53124         crypto/md5: Move AC_LIBOBJ invocations to module description.
53125         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
53126         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
53128 2011-05-23  Bruno Haible  <bruno@clisp.org>
53130         crypto/md4: Move AC_LIBOBJ invocations to module description.
53131         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
53132         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
53134 2011-05-23  Bruno Haible  <bruno@clisp.org>
53136         crypto/md2: Move AC_LIBOBJ invocations to module description.
53137         * m4/md2.m4: Remove file.
53138         * modules/crypto/md2 (Files): Remove it.
53139         (configure.ac): Remove gl_MD2 call.
53140         (Makefile.am): Augment lib_SOURCES.
53142 2011-05-23  Bruno Haible  <bruno@clisp.org>
53144         long-options: Move AC_LIBOBJ invocations to module description.
53145         * m4/long-options.m4: Remove file.
53146         * modules/long-options (Files): Remove it.
53147         (configure.ac): Remove gl_LONG_OPTIONS call.
53148         (Makefile.am): Augment lib_SOURCES.
53150 2011-05-23  Bruno Haible  <bruno@clisp.org>
53152         i-ring: Move AC_LIBOBJ invocations to module description.
53153         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
53154         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
53156 2011-05-23  Bruno Haible  <bruno@clisp.org>
53158         idcache: Move AC_LIBOBJ invocations to module description.
53159         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
53160         * modules/idcache (Makefile.am): Augment lib_SOURCES.
53162 2011-05-23  Bruno Haible  <bruno@clisp.org>
53164         human: Move AC_LIBOBJ invocations to module description.
53165         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
53166         * modules/human (Makefile.am): Augment lib_SOURCES.
53168 2011-05-23  Bruno Haible  <bruno@clisp.org>
53170         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
53171         * m4/hmac-sha1.m4: Remove file.
53172         * modules/crypto/hmac-sha1 (Files): Remove it.
53173         (configure.ac): Remove gl_HMAC_SHA1 call.
53174         (Makefile.am): Augment lib_SOURCES.
53176 2011-05-23  Bruno Haible  <bruno@clisp.org>
53178         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
53179         * m4/hmac-md5.m4: Remove file.
53180         * modules/crypto/hmac-md5 (Files): Remove it.
53181         (configure.ac): Remove gl_HMAC_MD5 call.
53182         (Makefile.am): Augment lib_SOURCES.
53184 2011-05-23  Bruno Haible  <bruno@clisp.org>
53186         hash: Move AC_LIBOBJ invocations to module description.
53187         * m4/hash.m4: Remove file.
53188         * modules/hash (Files): Remove it.
53189         (configure.ac): Remove gl_HASH call.
53190         (Makefile.am): Augment lib_SOURCES.
53192 2011-05-23  Bruno Haible  <bruno@clisp.org>
53194         hard-locale: Move AC_LIBOBJ invocations to module description.
53195         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
53196         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
53198 2011-05-23  Bruno Haible  <bruno@clisp.org>
53200         getugroups: Move AC_LIBOBJ invocations to module description.
53201         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
53202         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
53204 2011-05-23  Bruno Haible  <bruno@clisp.org>
53206         gettime: Move AC_LIBOBJ invocations to module description.
53207         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
53208         * modules/gettime (Makefile.am): Augment lib_SOURCES.
53210 2011-05-23  Bruno Haible  <bruno@clisp.org>
53212         getndelim2: Move AC_LIBOBJ invocations to module description.
53213         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
53214         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
53216 2011-05-23  Bruno Haible  <bruno@clisp.org>
53218         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
53219         * m4/gc-pbkdf2-sha1.m4: Remove file.
53220         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
53221         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
53222         (Makefile.am): Augment lib_SOURCES.
53224 2011-05-23  Bruno Haible  <bruno@clisp.org>
53226         fts: Move AC_LIBOBJ invocations to module description.
53227         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
53228         * modules/fts (configure.ac): ... to here.
53230 2011-05-23  Bruno Haible  <bruno@clisp.org>
53232         file-type: Move AC_LIBOBJ invocations to module description.
53233         * m4/file-type.m4: Remove file.
53234         * modules/file-type (Files): Remove it.
53235         (configure.ac): Remove gl_FILE_TYPE call.
53236         (Makefile.am): Augment lib_SOURCES.
53238 2011-05-23  Bruno Haible  <bruno@clisp.org>
53240         filenamecat*: Respect rules for use of AC_LIBOBJ.
53241         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
53242         Remove AC_LIBOBJ invocation.
53243         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
53244         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
53246 2011-05-23  Bruno Haible  <bruno@clisp.org>
53248         filemode: Move AC_LIBOBJ invocations to module description.
53249         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
53250         * modules/filemode (Makefile.am): Augment lib_SOURCES.
53252 2011-05-23  Bruno Haible  <bruno@clisp.org>
53254         openat-safer: Move AC_LIBOBJ invocations to module description.
53255         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
53256         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
53258 2011-05-23  Bruno Haible  <bruno@clisp.org>
53260         fcntl-safer: Move AC_LIBOBJ invocations to module description.
53261         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
53262         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
53264 2011-05-23  Bruno Haible  <bruno@clisp.org>
53266         exclude: Move AC_LIBOBJ invocations to module description.
53267         * m4/exclude.m4: Remove file.
53268         * modules/exclude (Files): Remove it.
53269         (configure.ac): Remove gl_EXCLUDE call.
53270         (Makefile.am): Augment lib_SOURCES.
53272 2011-05-23  Bruno Haible  <bruno@clisp.org>
53274         dirname*: Respect rules for use of AC_LIBOBJ.
53275         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
53276         invocations.
53277         * modules/dirname (Makefile.am): Augment lib_SOURCES.
53278         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
53280 2011-05-23  Bruno Haible  <bruno@clisp.org>
53282         dirent-safer: Move AC_LIBOBJ invocations to module description.
53283         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
53284         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
53286 2011-05-23  Bruno Haible  <bruno@clisp.org>
53288         crypto/des: Move AC_LIBOBJ invocations to module description.
53289         * m4/des.m4: Remove file.
53290         * modules/crypto/des (Files): Remove it.
53291         (configure.ac): Remove gl_DES call.
53292         (Makefile.am): Augment lib_SOURCES.
53294 2011-05-23  Bruno Haible  <bruno@clisp.org>
53296         cycle-check: Move AC_LIBOBJ invocations to module description.
53297         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
53298         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
53300 2011-05-23  Bruno Haible  <bruno@clisp.org>
53302         c-strtold: Move AC_LIBOBJ invocations to module description.
53303         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
53304         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
53306 2011-05-23  Bruno Haible  <bruno@clisp.org>
53308         c-strtod: Move AC_LIBOBJ invocations to module description.
53309         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
53310         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
53312 2011-05-23  Bruno Haible  <bruno@clisp.org>
53314         crc: Move AC_LIBOBJ invocations to module description.
53315         * m4/crc.m4: Remove file.
53316         * modules/crc (Files): Remove it.
53317         (configure.ac): Remove gl_CRC call.
53318         (Makefile.am): Augment lib_SOURCES.
53320 2011-05-23  Bruno Haible  <bruno@clisp.org>
53322         close-stream: Move AC_LIBOBJ invocations to module description.
53323         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
53324         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
53326 2011-05-23  Bruno Haible  <bruno@clisp.org>
53328         closeout: Move AC_LIBOBJ invocations to module description.
53329         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
53330         * modules/closeout (Makefile.am): Augment lib_SOURCES.
53332 2011-05-23  Bruno Haible  <bruno@clisp.org>
53334         closein: Move AC_LIBOBJ invocations to module description.
53335         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
53336         * modules/closein (Makefile.am): Augment lib_SOURCES.
53338 2011-05-23  Bruno Haible  <bruno@clisp.org>
53340         cloexec: Move AC_LIBOBJ invocations to module description.
53341         * m4/cloexec.m4: Remove file.
53342         * modules/cloexec (Files): Remove it.
53343         (configure.ac): Remove gl_CLOEXEC call.
53344         (Makefile.am): Augment lib_SOURCES.
53346 2011-05-23  Bruno Haible  <bruno@clisp.org>
53348         check-version: Move AC_LIBOBJ invocations to module description.
53349         * m4/check-version.m4: Remove file.
53350         * modules/check-version (Files): Remove it.
53351         (configure.ac): Remove gl_CHECK_VERSION call.
53352         (Makefile.am): Augment lib_SOURCES.
53354 2011-05-23  Bruno Haible  <bruno@clisp.org>
53356         chdir-safer: Move AC_LIBOBJ invocations to module description.
53357         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
53358         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
53360 2011-05-23  Bruno Haible  <bruno@clisp.org>
53362         canonicalize: Move AC_LIBOBJ invocations to module description.
53363         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
53364         AC_LIBOBJ invocation.
53365         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
53367 2011-05-23  Bruno Haible  <bruno@clisp.org>
53369         canon-host: Move AC_LIBOBJ invocations to module description.
53370         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
53371         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
53372         instead of gl_CANON_HOST.
53373         (Makefile.am): Augment lib_SOURCES.
53375 2011-05-23  Bruno Haible  <bruno@clisp.org>
53377         backupfile: Move AC_LIBOBJ invocations to module description.
53378         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
53379         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
53381 2011-05-23  Bruno Haible  <bruno@clisp.org>
53383         argmatch: Move AC_LIBOBJ invocations to module description.
53384         * m4/argmatch.m4: Remove file.
53385         * modules/argmatch (Files): Remove it.
53386         (configure.ac): Remove gl_ARGMATCH call.
53387         (Makefile.am): Augment lib_SOURCES.
53389 2011-05-23  Bruno Haible  <bruno@clisp.org>
53391         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
53392         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
53393         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
53395 2011-05-23  Bruno Haible  <bruno@clisp.org>
53397         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
53398         * m4/arcfour.m4: Remove file.
53399         * modules/crypto/arcfour (Files): Remove it.
53400         (configure.ac): Remove gl_ARCFOUR call.
53401         (Makefile.am): Augment lib_SOURCES.
53403 2011-05-22  Bruno Haible  <bruno@clisp.org>
53405         write: Move AC_LIBOBJ invocations to module description.
53406         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
53407         * modules/write (configure.ac): ... to here.
53409 2011-05-22  Bruno Haible  <bruno@clisp.org>
53411         wmemset: Move AC_LIBOBJ invocations to module description.
53412         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
53413         here...
53414         * modules/wmemset (configure.ac): ... to here.
53416 2011-05-22  Bruno Haible  <bruno@clisp.org>
53418         wmemmove: Move AC_LIBOBJ invocations to module description.
53419         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
53420         here...
53421         * modules/wmemmove (configure.ac): ... to here.
53423 2011-05-22  Bruno Haible  <bruno@clisp.org>
53425         wmemcpy: Move AC_LIBOBJ invocations to module description.
53426         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
53427         here...
53428         * modules/wmemcpy (configure.ac): ... to here.
53430 2011-05-22  Bruno Haible  <bruno@clisp.org>
53432         wmemcmp: Move AC_LIBOBJ invocations to module description.
53433         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
53434         here...
53435         * modules/wmemcmp (configure.ac): ... to here.
53437 2011-05-22  Bruno Haible  <bruno@clisp.org>
53439         wmemchr: Move AC_LIBOBJ invocations to module description.
53440         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
53441         here...
53442         * modules/wmemchr (configure.ac): ... to here.
53444 2011-05-22  Bruno Haible  <bruno@clisp.org>
53446         wcswidth: Move AC_LIBOBJ invocations to module description.
53447         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
53448         here...
53449         * modules/wcswidth (configure.ac): ... to here.
53451 2011-05-22  Bruno Haible  <bruno@clisp.org>
53453         wcwidth: Respect rules for use of AC_LIBOBJ.
53454         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
53455         invocation from here...
53456         * modules/wcwidth (configure.ac): ... to here.
53457         (Depends-on): Update conditions.
53459 2011-05-22  Bruno Haible  <bruno@clisp.org>
53461         wctype: Move AC_LIBOBJ invocations to module description.
53462         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
53463         invocation from here...
53464         * modules/wctype (configure.ac): ... to here.
53465         (Depends-on): Update conditions.
53467 2011-05-22  Bruno Haible  <bruno@clisp.org>
53469         wctrans: Move AC_LIBOBJ invocations to module description.
53470         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
53471         invocation from here...
53472         * modules/wctrans (configure.ac): ... to here.
53474 2011-05-22  Bruno Haible  <bruno@clisp.org>
53476         wctomb: Move AC_LIBOBJ invocations to module description.
53477         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
53478         invocations from here...
53479         * modules/wctomb (configure.ac): ... to here.
53481 2011-05-22  Bruno Haible  <bruno@clisp.org>
53483         wctob: Move AC_LIBOBJ invocations to module description.
53484         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
53485         gl_PREREQ_WCTOB invocations from here...
53486         * modules/wctob (configure.ac): ... to here.
53487         (Depends-on): Update conditions.
53489 2011-05-22  Bruno Haible  <bruno@clisp.org>
53491         wcsxfrm: Move AC_LIBOBJ invocations to module description.
53492         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
53493         here...
53494         * modules/wcsxfrm (configure.ac): ... to here.
53496 2011-05-22  Bruno Haible  <bruno@clisp.org>
53498         wcstok: Move AC_LIBOBJ invocations to module description.
53499         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
53500         * modules/wcstok (configure.ac): ... to here.
53502 2011-05-22  Bruno Haible  <bruno@clisp.org>
53504         wcsstr: Move AC_LIBOBJ invocations to module description.
53505         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
53506         * modules/wcsstr (configure.ac): ... to here.
53508 2011-05-22  Bruno Haible  <bruno@clisp.org>
53510         wcsspn: Move AC_LIBOBJ invocations to module description.
53511         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
53512         * modules/wcsspn (configure.ac): ... to here.
53514 2011-05-22  Bruno Haible  <bruno@clisp.org>
53516         wcsrtombs: Move AC_LIBOBJ invocations to module description.
53517         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
53518         gl_PREREQ_WCSRTOMBS invocations from here...
53519         * modules/wcsrtombs (configure.ac): ... to here.
53521 2011-05-22  Bruno Haible  <bruno@clisp.org>
53523         wcsrchr: Move AC_LIBOBJ invocations to module description.
53524         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
53525         here...
53526         * modules/wcsrchr (configure.ac): ... to here.
53528 2011-05-22  Bruno Haible  <bruno@clisp.org>
53530         wcspbrk: Move AC_LIBOBJ invocations to module description.
53531         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
53532         here...
53533         * modules/wcspbrk (configure.ac): ... to here.
53535 2011-05-22  Bruno Haible  <bruno@clisp.org>
53537         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
53538         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
53539         gl_PREREQ_WCSNRTOMBS invocations from here...
53540         * modules/wcsnrtombs (configure.ac): ... to here.
53542 2011-05-22  Bruno Haible  <bruno@clisp.org>
53544         wcsnlen: Move AC_LIBOBJ invocations to module description.
53545         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
53546         here...
53547         * modules/wcsnlen (configure.ac): ... to here.
53549 2011-05-22  Bruno Haible  <bruno@clisp.org>
53551         wcsncpy: Move AC_LIBOBJ invocations to module description.
53552         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
53553         here...
53554         * modules/wcsncpy (configure.ac): ... to here.
53556 2011-05-22  Bruno Haible  <bruno@clisp.org>
53558         wcsncmp: Move AC_LIBOBJ invocations to module description.
53559         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
53560         here...
53561         * modules/wcsncmp (configure.ac): ... to here.
53563 2011-05-22  Bruno Haible  <bruno@clisp.org>
53565         wcsncat: Move AC_LIBOBJ invocations to module description.
53566         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
53567         here...
53568         * modules/wcsncat (configure.ac): ... to here.
53570 2011-05-22  Bruno Haible  <bruno@clisp.org>
53572         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
53573         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
53574         from here...
53575         * modules/wcsncasecmp (configure.ac): ... to here.
53577 2011-05-22  Bruno Haible  <bruno@clisp.org>
53579         wcslen: Move AC_LIBOBJ invocations to module description.
53580         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
53581         * modules/wcslen (configure.ac): ... to here.
53583 2011-05-22  Bruno Haible  <bruno@clisp.org>
53585         wcsdup: Move AC_LIBOBJ invocations to module description.
53586         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
53587         * modules/wcsdup (configure.ac): ... to here.
53589 2011-05-22  Bruno Haible  <bruno@clisp.org>
53591         wcscspn: Move AC_LIBOBJ invocations to module description.
53592         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
53593         here...
53594         * modules/wcscspn (configure.ac): ... to here.
53596 2011-05-22  Bruno Haible  <bruno@clisp.org>
53598         wcscpy: Move AC_LIBOBJ invocations to module description.
53599         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
53600         * modules/wcscpy (configure.ac): ... to here.
53602 2011-05-22  Bruno Haible  <bruno@clisp.org>
53604         wcscoll: Move AC_LIBOBJ invocations to module description.
53605         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
53606         here...
53607         * modules/wcscoll (configure.ac): ... to here.
53609 2011-05-22  Bruno Haible  <bruno@clisp.org>
53611         wcscmp: Move AC_LIBOBJ invocations to module description.
53612         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
53613         * modules/wcscmp (configure.ac): ... to here.
53615 2011-05-22  Bruno Haible  <bruno@clisp.org>
53617         wcschr: Move AC_LIBOBJ invocations to module description.
53618         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
53619         * modules/wcschr (configure.ac): ... to here.
53621 2011-05-22  Bruno Haible  <bruno@clisp.org>
53623         wcscat: Move AC_LIBOBJ invocations to module description.
53624         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
53625         * modules/wcscat (configure.ac): ... to here.
53627 2011-05-22  Bruno Haible  <bruno@clisp.org>
53629         wcscasecmp: Move AC_LIBOBJ invocations to module description.
53630         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
53631         here...
53632         * modules/wcscasecmp (configure.ac): ... to here.
53634 2011-05-22  Bruno Haible  <bruno@clisp.org>
53636         wcrtomb: Move AC_LIBOBJ invocations to module description.
53637         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
53638         invocations from here...
53639         * modules/wcrtomb (configure.ac): ... to here.
53641 2011-05-22  Bruno Haible  <bruno@clisp.org>
53643         wcpncpy: Move AC_LIBOBJ invocations to module description.
53644         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
53645         here...
53646         * modules/wcpncpy (configure.ac): ... to here.
53648 2011-05-22  Bruno Haible  <bruno@clisp.org>
53650         wcpcpy: Move AC_LIBOBJ invocations to module description.
53651         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
53652         * modules/wcpcpy (configure.ac): ... to here.
53654 2011-05-22  Bruno Haible  <bruno@clisp.org>
53656         waitpid: Move AC_LIBOBJ invocations to module description.
53657         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
53658         invocation from here...
53659         * modules/waitpid (configure.ac): ... to here.
53661 2011-05-22  Bruno Haible  <bruno@clisp.org>
53663         utimensat: Move AC_LIBOBJ invocations to module description.
53664         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
53665         here...
53666         * modules/utimensat (configure.ac): ... to here.
53668 2011-05-22  Bruno Haible  <bruno@clisp.org>
53670         usleep: Move AC_LIBOBJ invocations to module description.
53671         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
53672         here...
53673         * modules/usleep (configure.ac): ... to here.
53675 2011-05-22  Bruno Haible  <bruno@clisp.org>
53677         unlockpt: Move AC_LIBOBJ invocations to module description.
53678         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
53679         gl_PREREQ_UNLOCKPT invocations from here...
53680         * modules/unlockpt (configure.ac): ... to here.
53682 2011-05-22  Bruno Haible  <bruno@clisp.org>
53684         unlink: Respect rules for use of AC_LIBOBJ.
53685         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
53686         * modules/unlink (configure.ac): ... to here.
53688 2011-05-22  Bruno Haible  <bruno@clisp.org>
53690         uname: Move AC_LIBOBJ invocations to module description.
53691         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
53692         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
53693         here...
53694         * modules/uname (configure.ac): ... to here.
53696 2011-05-22  Bruno Haible  <bruno@clisp.org>
53698         ttyname_r: Move AC_LIBOBJ invocations to module description.
53699         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
53700         gl_PREREQ_TTYNAME_R invocations from here...
53701         * modules/ttyname_r (configure.ac): ... to here.
53703 2011-05-22  Bruno Haible  <bruno@clisp.org>
53705         tsearch: Move AC_LIBOBJ invocations to module description.
53706         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
53707         invocations from here...
53708         * modules/tsearch (configure.ac): ... to here.
53710 2011-05-22  Bruno Haible  <bruno@clisp.org>
53712         towctrans: Move AC_LIBOBJ invocations to module description.
53713         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
53714         AC_LIBOBJ invocation from here...
53715         * modules/towctrans (configure.ac): ... to here.
53717 2011-05-22  Bruno Haible  <bruno@clisp.org>
53719         tmpfile: Move AC_LIBOBJ invocations to module description.
53720         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
53721         invocations from here...
53722         * modules/tmpfile (configure.ac): ... to here.
53724 2011-05-22  Bruno Haible  <bruno@clisp.org>
53726         times: Move AC_LIBOBJ invocations to module description.
53727         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
53728         * modules/times (configure.ac): ... to here.
53730 2011-05-22  Bruno Haible  <bruno@clisp.org>
53732         time_r: Move AC_LIBOBJ invocations to module description.
53733         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
53734         invocations from here...
53735         * modules/time_r (configure.ac): ... to here.
53737 2011-05-22  Bruno Haible  <bruno@clisp.org>
53739         timegm: Move AC_LIBOBJ invocations to module description.
53740         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
53741         invocations from here...
53742         * modules/timegm (configure.ac): ... to here.
53744 2011-05-22  Bruno Haible  <bruno@clisp.org>
53746         tcgetsid: Move AC_LIBOBJ invocations to module description.
53747         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
53748         and gl_PREREQ_TCGETSID invocations from here...
53749         * modules/tcgetsid (configure.ac): ... to here.
53750         (Depends-on): Update conditions.
53752 2011-05-22  Bruno Haible  <bruno@clisp.org>
53754         symlinkat: Move AC_LIBOBJ invocations to module description.
53755         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
53756         here...
53757         * modules/symlinkat (configure.ac): ... to here.
53759 2011-05-22  Bruno Haible  <bruno@clisp.org>
53761         symlink: Move AC_LIBOBJ invocations to module description.
53762         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
53763         here...
53764         * modules/symlink (configure.ac): ... to here.
53766 2011-05-22  Bruno Haible  <bruno@clisp.org>
53768         strverscmp: Move AC_LIBOBJ invocations to module description.
53769         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
53770         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
53771         from here...
53772         * modules/strverscmp (configure.ac): ... to here.
53774 2011-05-22  Bruno Haible  <bruno@clisp.org>
53776         strtok_r: Move AC_LIBOBJ invocations to module description.
53777         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
53778         and gl_PREREQ_STRTOK_R invocations from here...
53779         * modules/strtok_r (configure.ac): ... to here.
53780         (Depends-on): Update conditions.
53782 2011-05-22  Bruno Haible  <bruno@clisp.org>
53784         strtoumax: Move AC_LIBOBJ invocations to module description.
53785         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
53786         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
53787         from here...
53788         * modules/strtoumax (configure.ac): ... to here.
53790 2011-05-22  Bruno Haible  <bruno@clisp.org>
53792         strtoimax: Move AC_LIBOBJ invocations to module description.
53793         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
53794         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
53795         from here...
53796         * modules/strtoimax (configure.ac): ... to here.
53798 2011-05-22  Bruno Haible  <bruno@clisp.org>
53800         strtoull: Move AC_LIBOBJ invocations to module description.
53801         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
53802         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
53803         from here...
53804         * modules/strtoull (configure.ac): ... to here.
53806 2011-05-22  Bruno Haible  <bruno@clisp.org>
53808         strtoll: Move AC_LIBOBJ invocations to module description.
53809         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
53810         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
53811         here...
53812         * modules/strtoll (configure.ac): ... to here.
53814 2011-05-22  Bruno Haible  <bruno@clisp.org>
53816         strtoul: Move AC_LIBOBJ invocations to module description.
53817         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
53818         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
53819         * modules/strtoul (configure.ac): ... to here.
53821 2011-05-22  Bruno Haible  <bruno@clisp.org>
53823         strtol: Move AC_LIBOBJ invocations to module description.
53824         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
53825         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
53826         * modules/strtol (configure.ac): ... to here.
53828 2011-05-22  Bruno Haible  <bruno@clisp.org>
53830         strtod: Move AC_LIBOBJ invocations to module description.
53831         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
53832         invocations from here...
53833         * modules/strtod (configure.ac): ... to here.
53835 2011-05-22  Bruno Haible  <bruno@clisp.org>
53837         strstr*: Move AC_LIBOBJ invocations to module description.
53838         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
53839         invocations from here...
53840         * modules/strstr-simple (configure.ac): ... to here.
53841         * modules/strstr (configure.ac): ... and here.
53843 2011-05-22  Bruno Haible  <bruno@clisp.org>
53845         strsignal: Move AC_LIBOBJ invocations to module description.
53846         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
53847         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
53848         * modules/strsignal (configure.ac): ... to here.
53849         (Depends-on): Update conditions.
53851 2011-05-22  Bruno Haible  <bruno@clisp.org>
53853         strsep: Move AC_LIBOBJ invocations to module description.
53854         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
53855         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
53856         here...
53857         * modules/strsep (configure.ac): ... to here.
53859 2011-05-22  Bruno Haible  <bruno@clisp.org>
53861         strptime: Move AC_LIBOBJ invocations to module description.
53862         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
53863         gl_PREREQ_STRPTIME invocations from here...
53864         * modules/strptime (configure.ac): ... to here.
53866 2011-05-22  Bruno Haible  <bruno@clisp.org>
53868         strpbrk: Move AC_LIBOBJ invocations to module description.
53869         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
53870         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
53871         here...
53872         * modules/strpbrk (configure.ac): ... to here.
53874 2011-05-22  Bruno Haible  <bruno@clisp.org>
53876         strnlen: Move AC_LIBOBJ invocations to module description.
53877         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
53878         invocations from here...
53879         * modules/strnlen (configure.ac): ... to here.
53881 2011-05-22  Bruno Haible  <bruno@clisp.org>
53883         strndup: Move AC_LIBOBJ invocations to module description.
53884         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
53885         invocations from here...
53886         * modules/strndup (configure.ac): ... to here.
53887         (Depends-on): Update conditions.
53889 2011-05-22  Bruno Haible  <bruno@clisp.org>
53891         strncat: Move AC_LIBOBJ invocations to module description.
53892         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
53893         invocations from here...
53894         * modules/strncat (configure.ac): ... to here.
53896 2011-05-22  Bruno Haible  <bruno@clisp.org>
53898         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
53899         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
53900         invocations from here...
53901         * modules/strdup (configure.ac): ... to here.
53902         * modules/strdup-posix (configure.ac): ... and here.
53904 2011-05-22  Bruno Haible  <bruno@clisp.org>
53906         strcspn: Move AC_LIBOBJ invocations to module description.
53907         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
53908         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
53909         here...
53910         * modules/strcspn (configure.ac): ... to here.
53912 2011-05-22  Bruno Haible  <bruno@clisp.org>
53914         strchrnul: Move AC_LIBOBJ invocations to module description.
53915         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
53916         gl_PREREQ_STRCHRNUL invocations from here...
53917         * modules/strchrnul (configure.ac): ... to here.
53919 2011-05-22  Bruno Haible  <bruno@clisp.org>
53921         strcasestr*: Move AC_LIBOBJ invocations to module description.
53922         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
53923         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
53924         * modules/strcasestr-simple (configure.ac): ... to here.
53925         * modules/strcasestr (configure.ac): ... and here.
53927 2011-05-22  Bruno Haible  <bruno@clisp.org>
53929         strcase: Move AC_LIBOBJ invocations to module description.
53930         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
53931         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
53932         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
53933         gl_PREREQ_STRNCASECMP invocations from here...
53934         * modules/strcase (configure.ac): ... to here.
53936 2011-05-22  Bruno Haible  <bruno@clisp.org>
53938         stpncpy: Move AC_LIBOBJ invocations to module description.
53939         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
53940         here...
53941         * modules/stpncpy (configure.ac): ... to here.
53943 2011-05-22  Bruno Haible  <bruno@clisp.org>
53945         stpcpy: Move AC_LIBOBJ invocations to module description.
53946         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
53947         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
53948         here...
53949         * modules/stpcpy (configure.ac): ... to here.
53951 2011-05-21  Bruno Haible  <bruno@clisp.org>
53953         stat: Move AC_LIBOBJ invocations to module description.
53954         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
53955         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
53956         here...
53957         * modules/stat (configure.ac): ... to here.
53959 2011-05-21  Bruno Haible  <bruno@clisp.org>
53961         sleep: Move AC_LIBOBJ invocations to module description.
53962         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
53963         * modules/sleep (configure.ac): ... to here.
53965 2011-05-21  Bruno Haible  <bruno@clisp.org>
53967         signbit: Move AC_LIBOBJ invocations to module description.
53968         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
53969         * modules/signbit (configure.ac): ... to here.
53971 2011-05-21  Bruno Haible  <bruno@clisp.org>
53973         sigprocmask: Move AC_LIBOBJ invocations to module description.
53974         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
53975         gl_PREREQ_SIGPROMASK invocations from here...
53976         * modules/sigprocmask (configure.ac): ... to here.
53978 2011-05-21  Bruno Haible  <bruno@clisp.org>
53980         sigaction: Move AC_LIBOBJ invocations to module description.
53981         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
53982         gl_PREREQ_SIGACTION invocations from here...
53983         * modules/sigaction (configure.ac): ... to here.
53985 2011-05-21  Bruno Haible  <bruno@clisp.org>
53987         sig2str: Move AC_LIBOBJ invocations to module description.
53988         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
53989         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
53990         here...
53991         * modules/sig2str (configure.ac): ... to here.
53993 2011-05-21  Bruno Haible  <bruno@clisp.org>
53995         setlocale: Move AC_LIBOBJ invocations to module description.
53996         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
53997         gl_PREREQ_SETLOCALE invocations from here...
53998         * modules/setlocale (configure.ac): ... to here.
54000 2011-05-21  Bruno Haible  <bruno@clisp.org>
54002         unsetenv: Move AC_LIBOBJ invocations to module description.
54003         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
54004         and gl_PREREQ_UNSETENV invocations from here...
54005         * modules/unsetenv (configure.ac): ... to here.
54006         (Depends-on): Update.
54008 2011-05-21  Bruno Haible  <bruno@clisp.org>
54010         setenv: Move AC_LIBOBJ invocations to module description.
54011         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
54012         here...
54013         * modules/setenv (configure.ac): ... to here.
54015 2011-05-21  Bruno Haible  <bruno@clisp.org>
54017         selinux-h: Move AC_LIBOBJ invocations to module description.
54018         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
54019         AC_LIBOBJ invocation from here...
54020         * modules/selinux-h (configure.ac): ... to here.
54022 2011-05-21  Bruno Haible  <bruno@clisp.org>
54024         select: Respect rules for use of AC_LIBOBJ.
54025         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
54026         here...
54027         * modules/select (configure.ac): ... to here.
54029 2011-05-21  Bruno Haible  <bruno@clisp.org>
54031         scandir: Move AC_LIBOBJ invocations to module description.
54032         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
54033         invocations from here...
54034         * modules/scandir (configure.ac): ... to here.
54036 2011-05-21  Bruno Haible  <bruno@clisp.org>
54038         rpmatch: Move AC_LIBOBJ invocations to module description.
54039         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
54040         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
54041         here...
54042         * modules/rpmatch (configure.ac): ... to here.
54044 2011-05-21  Bruno Haible  <bruno@clisp.org>
54046         rmdir: Respect rules for use of AC_LIBOBJ.
54047         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
54048         * modules/rmdir (configure.ac): ... to here.
54050 2011-05-21  Bruno Haible  <bruno@clisp.org>
54052         renameat: Move AC_LIBOBJ invocations to module description.
54053         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
54054         here...
54055         * modules/renameat (configure.ac): ... to here.
54057 2011-05-21  Bruno Haible  <bruno@clisp.org>
54059         rename: Respect rules for use of AC_LIBOBJ.
54060         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
54061         here...
54062         * modules/rename (configure.ac): ... to here.
54064 2011-05-21  Bruno Haible  <bruno@clisp.org>
54066         remove: Move AC_LIBOBJ invocations to module description.
54067         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
54068         here...
54069         * modules/remove (configure.ac): ... to here.
54071 2011-05-21  Bruno Haible  <bruno@clisp.org>
54073         relocatable-lib: Move AC_LIBOBJ invocations to module description.
54074         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
54075         macro.
54076         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
54077         * modules/relocatable-lib (configure.ac): ... to here.
54078         * modules/relocatable-prog-wrapper (configure.ac): Invoke
54079         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
54081 2011-05-21  Bruno Haible  <bruno@clisp.org>
54083         relocatable-prog: Move AC_LIBOBJ invocations to module description.
54084         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
54085         here...
54086         * modules/relocatable-prog (configure.ac): ... to here.
54088 2011-05-21  Bruno Haible  <bruno@clisp.org>
54090         regex: Move AC_LIBOBJ invocations to module description.
54091         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
54092         invocations from here...
54093         * modules/regex (configure.ac): ... to here.
54095 2011-05-21  Bruno Haible  <bruno@clisp.org>
54097         realloc-*: Move AC_LIBOBJ invocations to module description.
54098         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
54099         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
54100         AC_LIBOBJ invocations from here...
54101         * modules/realloc-gnu (configure.ac): ... to here.
54102         * modules/realloc-posix (configure.ac): ... and here.
54104 2011-05-21  Bruno Haible  <bruno@clisp.org>
54106         readutmp: Move AC_LIBOBJ invocations to module description.
54107         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
54108         * modules/readutmp (configure.ac): ... to here.
54110 2011-05-21  Bruno Haible  <bruno@clisp.org>
54112         readlinkat: Move AC_LIBOBJ invocations to module description.
54113         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
54114         here...
54115         * modules/readlinkat (configure.ac): ... to here.
54117 2011-05-21  Bruno Haible  <bruno@clisp.org>
54119         readlink: Move AC_LIBOBJ invocations to module description.
54120         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
54121         gl_PREREQ_READLINK invocations from here...
54122         * modules/readlink (configure.ac): ... to here.
54124 2011-05-21  Bruno Haible  <bruno@clisp.org>
54126         readline: Move AC_LIBOBJ invocations to module description.
54127         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
54128         gl_PREREQ_READLINE invocations from here...
54129         * modules/readline (configure.ac): ... to here.
54131 2011-05-21  Bruno Haible  <bruno@clisp.org>
54133         read: Move AC_LIBOBJ invocations to module description.
54134         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
54135         * modules/read (configure.ac): ... to here.
54137 2011-05-21  Bruno Haible  <bruno@clisp.org>
54139         rawmemchr: Move AC_LIBOBJ invocations to module description.
54140         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
54141         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
54142         from here...
54143         * modules/rawmemchr (configure.ac): ... to here.
54145 2011-05-21  Bruno Haible  <bruno@clisp.org>
54147         random_r: Move AC_LIBOBJ invocations to module description.
54148         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
54149         gl_PREREQ_RANDOM_R invocations from here...
54150         * modules/random_r (configure.ac): ... to here.
54152 2011-05-21  Bruno Haible  <bruno@clisp.org>
54154         pwrite: Move AC_LIBOBJ invocations to module description.
54155         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
54156         * modules/pwrite (configure.ac): ... to here.
54158 2011-05-21  Bruno Haible  <bruno@clisp.org>
54160         putenv: Move AC_LIBOBJ invocations to module description.
54161         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
54162         * modules/putenv (configure.ac): ... to here.
54164 2011-05-21  Bruno Haible  <bruno@clisp.org>
54166         login_tty: Move AC_LIBOBJ invocations to module description.
54167         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
54168         * modules/login_tty (configure.ac): ... to here.
54170 2011-05-21  Bruno Haible  <bruno@clisp.org>
54172         openpty: Move AC_LIBOBJ invocations to module description.
54173         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
54174         * modules/openpty (configure.ac): ... to here.
54176 2011-05-21  Bruno Haible  <bruno@clisp.org>
54178         forkpty: Move AC_LIBOBJ invocations to module description.
54179         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
54180         * modules/forkpty (configure.ac): ... to here.
54182 2011-05-21  Bruno Haible  <bruno@clisp.org>
54184         ptsname: Move AC_LIBOBJ invocations to module description.
54185         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
54186         invocations from here...
54187         * modules/ptsname (configure.ac): ... to here.
54189 2011-05-21  Bruno Haible  <bruno@clisp.org>
54191         pread: Move AC_LIBOBJ invocations to module description.
54192         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
54193         * modules/pread (configure.ac): ... to here.
54195 2011-05-21  Bruno Haible  <bruno@clisp.org>
54197         posix_spawn*: Move AC_LIBOBJ invocations to module description.
54198         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
54199         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
54200         * modules/posix_spawn (configure.ac): ... to here.
54201         * modules/posix_spawnp (configure.ac): ... and here.
54203 2011-05-21  Bruno Haible  <bruno@clisp.org>
54205         popen: Move AC_LIBOBJ invocations to module description.
54206         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
54207         invocations from here...
54208         * modules/popen (configure.ac): ... to here.
54210 2011-05-21  Bruno Haible  <bruno@clisp.org>
54212         poll: Move AC_LIBOBJ invocations to module description.
54213         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
54214         invocations from here...
54215         * modules/poll (configure.ac): ... to here.
54217 2011-05-21  Bruno Haible  <bruno@clisp.org>
54219         pipe-posix: Move AC_LIBOBJ invocations to module description.
54220         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
54221         * modules/pipe-posix (configure.ac): ... to here.
54223 2011-05-21  Bruno Haible  <bruno@clisp.org>
54225         openat: Respect rules for use of AC_LIBOBJ.
54226         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
54227         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
54228         * modules/openat (configure.ac): ... to here.
54230 2011-05-21  Bruno Haible  <bruno@clisp.org>
54232         obstack-printf*: Move AC_LIBOBJ invocations to module description.
54233         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
54234         invocation from here...
54235         * modules/obstack-printf (configure.ac): ... to here.
54236         * modules/obstack-printf-posix (configure.ac): ... and here.
54238 2011-05-21  Bruno Haible  <bruno@clisp.org>
54240         nl_langinfo: Move AC_LIBOBJ invocations to module description.
54241         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
54242         from here...
54243         * modules/nl_langinfo (configure.ac): ... to here.
54245 2011-05-21  Bruno Haible  <bruno@clisp.org>
54247         nanosleep: Move AC_LIBOBJ invocations to module description.
54248         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
54249         gl_PREREQ_NANOSLEEP invocations from here...
54250         * modules/nanosleep (configure.ac): ... to here.
54252 2011-05-21  Bruno Haible  <bruno@clisp.org>
54254         mountlist: Move AC_LIBOBJ invocations to module description.
54255         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
54256         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
54257         * modules/mountlist (configure.ac): ... to here.
54259 2011-05-21  Bruno Haible  <bruno@clisp.org>
54261         mktime: Respect rules for use of AC_LIBOBJ.
54262         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
54263         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
54264         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
54265         (gl_FUNC_MKTIME_INTERNAL): ... and here...
54266         * modules/mktime (configure.ac): ... to here.
54267         * modules/mktime-internal (configure.ac): ... and here.
54268         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
54270 2011-05-21  Bruno Haible  <bruno@clisp.org>
54272         mkstemps: Move AC_LIBOBJ invocations to module description.
54273         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
54274         here...
54275         * modules/mkstemps (configure.ac): ... to here.
54277 2011-05-21  Bruno Haible  <bruno@clisp.org>
54279         mkstemp: Move AC_LIBOBJ invocations to module description.
54280         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
54281         gl_PREREQ_MKSTEMP invocations from here...
54282         * modules/mkstemp (configure.ac): ... to here.
54284 2011-05-21  Bruno Haible  <bruno@clisp.org>
54286         mkostemps: Move AC_LIBOBJ invocations to module description.
54287         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
54288         here...
54289         * modules/mkostemps (configure.ac): ... to here.
54291 2011-05-21  Bruno Haible  <bruno@clisp.org>
54293         mkostemp: Move AC_LIBOBJ invocations to module description.
54294         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
54295         gl_PREREQ_MKOSTEMP invocations from here...
54296         * modules/mkostemp (configure.ac): ... to here.
54298 2011-05-21  Bruno Haible  <bruno@clisp.org>
54300         mknod: Move AC_LIBOBJ invocations to module description.
54301         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
54302         * modules/mknod (configure.ac): ... to here.
54304 2011-05-21  Bruno Haible  <bruno@clisp.org>
54306         mkfifoat: Move AC_LIBOBJ invocations to module description.
54307         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
54308         here...
54309         * modules/mkfifoat (configure.ac): ... to here.
54311 2011-05-21  Bruno Haible  <bruno@clisp.org>
54313         mkfifo: Respect rules for use of AC_LIBOBJ.
54314         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
54315         here...
54316         * modules/mkfifo (configure.ac): ... to here.
54318 2011-05-21  Bruno Haible  <bruno@clisp.org>
54320         mkdtemp: Move AC_LIBOBJ invocations to module description.
54321         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
54322         invocations from here...
54323         * modules/mkdtemp (configure.ac): ... to here.
54325 2011-05-21  Bruno Haible  <bruno@clisp.org>
54327         mkdir: Move AC_LIBOBJ invocations to module description.
54328         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
54329         * modules/mkdir (configure.ac): ... to here.
54331 2011-05-21  Bruno Haible  <bruno@clisp.org>
54333         memset: Move AC_LIBOBJ invocations to module description.
54334         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
54335         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
54336         here...
54337         * modules/memset (configure.ac): ... to here.
54339 2011-05-21  Bruno Haible  <bruno@clisp.org>
54341         memrchr: Move AC_LIBOBJ invocations to module description.
54342         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
54343         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
54344         here...
54345         * modules/memrchr (configure.ac): ... to here.
54347 2011-05-21  Bruno Haible  <bruno@clisp.org>
54349         mempcpy: Move AC_LIBOBJ invocations to module description.
54350         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
54351         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
54352         here...
54353         * modules/mempcpy (configure.ac): ... to here.
54355 2011-05-21  Bruno Haible  <bruno@clisp.org>
54357         memmove: Move AC_LIBOBJ invocations to module description.
54358         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
54359         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
54360         here...
54361         * modules/memmove (configure.ac): ... to here.
54363 2011-05-21  Bruno Haible  <bruno@clisp.org>
54365         memmem*: Move AC_LIBOBJ invocations to module description.
54366         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
54367         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
54368         here...
54369         (gl_FUNC_MEMMEM): ... and here...
54370         * modules/memmem-simple (configure.ac): ... to here.
54371         * modules/memmem (configure.ac): ... and here.
54373 2011-05-21  Bruno Haible  <bruno@clisp.org>
54375         memcpy: Move AC_LIBOBJ invocations to module description.
54376         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
54377         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
54378         here...
54379         * modules/memcpy (configure.ac): ... to here.
54381 2011-05-21  Bruno Haible  <bruno@clisp.org>
54383         memcmp: Simplify autoconf macro.
54384         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
54385         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
54386         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
54388 2011-05-21  Bruno Haible  <bruno@clisp.org>
54390         memcmp: Move AC_LIBOBJ invocations to module description.
54391         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
54392         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
54393         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
54394         * modules/memcmp (configure.ac): ... to here.
54395         (Depends-on): Update conditions.
54397 2011-05-21  Bruno Haible  <bruno@clisp.org>
54399         memchr: Respect rules for use of AC_LIBOBJ.
54400         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
54401         invocations from here...
54402         * modules/memchr (configure.ac): ... to here.
54404 2011-05-21  Bruno Haible  <bruno@clisp.org>
54406         mbtowc: Move AC_LIBOBJ invocations to module description.
54407         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
54408         invocations from here...
54409         * modules/mbtowc (configure.ac): ... to here.
54411 2011-05-21  Bruno Haible  <bruno@clisp.org>
54413         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
54414         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
54415         gl_PREREQ_MBSRTOWCS invocations from here...
54416         * modules/mbsrtowcs (configure.ac): ... to here.
54418 2011-05-21  Bruno Haible  <bruno@clisp.org>
54420         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
54421         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
54422         gl_PREREQ_MBSNRTOWCS invocations from here...
54423         * modules/mbsnrtowcs (configure.ac): ... to here.
54425 2011-05-21  Bruno Haible  <bruno@clisp.org>
54427         mbsinit: Move AC_LIBOBJ invocations to module description.
54428         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
54429         invocations from here...
54430         * modules/mbsinit (configure.ac): ... to here.
54432 2011-05-21  Bruno Haible  <bruno@clisp.org>
54434         mbrlen: Move AC_LIBOBJ invocations to module description.
54435         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
54436         invocations from here...
54437         * modules/mbrlen (configure.ac): ... to here.
54439 2011-05-21  Bruno Haible  <bruno@clisp.org>
54441         mbrtowc: Respect rules for use of AC_LIBOBJ.
54442         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
54443         invocations from here...
54444         * modules/mbrtowc (configure.ac): ... to here.
54446 2011-05-21  Bruno Haible  <bruno@clisp.org>
54448         malloc-*: Move AC_LIBOBJ invocations to module description.
54449         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
54450         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
54451         AC_LIBOBJ invocations from here...
54452         * modules/malloc-gnu (configure.ac): ... to here.
54453         * modules/malloc-posix (configure.ac): ... and here.
54455 2011-05-21  Bruno Haible  <bruno@clisp.org>
54457         lstat, openat: Respect rules for use of AC_LIBOBJ.
54458         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
54459         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
54460         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
54461         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
54462         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
54463         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
54464         here.
54465         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
54467 2011-05-21  Bruno Haible  <bruno@clisp.org>
54469         lseek: Move AC_LIBOBJ invocations to module description.
54470         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
54471         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
54472         * modules/lseek (configure.ac): ... to here.
54474 2011-05-21  Bruno Haible  <bruno@clisp.org>
54476         linkat: Move AC_LIBOBJ invocations to module description.
54477         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
54478         here...
54479         * modules/linkat (configure.ac): ... to here.
54481 2011-05-21  Bruno Haible  <bruno@clisp.org>
54483         link: Respect rules for use of AC_LIBOBJ.
54484         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
54485         * modules/link (configure.ac): ... to here.
54487 2011-05-21  Bruno Haible  <bruno@clisp.org>
54489         lchown: Move AC_LIBOBJ invocations to module description.
54490         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
54491         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
54492         * modules/lchown (configure.ac): ... to here.
54494 2011-05-21  Bruno Haible  <bruno@clisp.org>
54496         iswctype: Move AC_LIBOBJ invocations to module description.
54497         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
54498         here...
54499         * modules/iswctype (configure.ac): ... to here.
54501 2011-05-21  Bruno Haible  <bruno@clisp.org>
54503         iswblank: Move AC_LIBOBJ invocations to module description.
54504         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
54505         here...
54506         * modules/iswblank (configure.ac): ... to here.
54508 2011-05-21  Bruno Haible  <bruno@clisp.org>
54510         atanl: Move AC_LIBOBJ invocations to module description.
54511         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
54512         * modules/atanl (configure.ac): ... to here.
54514 2011-05-21  Bruno Haible  <bruno@clisp.org>
54516         acosl: Move AC_LIBOBJ invocations to module description.
54517         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
54518         * modules/acosl (configure.ac): ... to here.
54520 2011-05-21  Bruno Haible  <bruno@clisp.org>
54522         asinl: Respect rules for use of AC_LIBOBJ.
54523         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
54524         * modules/asinl (configure.ac): ... to here.
54526 2011-05-21  Bruno Haible  <bruno@clisp.org>
54528         tanl: Move AC_LIBOBJ invocations to module description.
54529         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
54530         * modules/tanl (configure.ac): ... to here.
54532 2011-05-21  Bruno Haible  <bruno@clisp.org>
54534         cosl: Move AC_LIBOBJ invocations to module description.
54535         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
54536         * modules/cosl (configure.ac): ... to here.
54538 2011-05-21  Bruno Haible  <bruno@clisp.org>
54540         sinl: Move AC_LIBOBJ invocations to module description.
54541         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
54542         * modules/sinl (configure.ac): ... to here.
54544 2011-05-21  Bruno Haible  <bruno@clisp.org>
54546         logl: Move AC_LIBOBJ invocations to module description.
54547         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
54548         * modules/logl (configure.ac): ... to here.
54550 2011-05-21  Bruno Haible  <bruno@clisp.org>
54552         expl: Move AC_LIBOBJ invocations to module description.
54553         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
54554         * modules/expl (configure.ac): ... to here.
54556 2011-05-21  Bruno Haible  <bruno@clisp.org>
54558         roundl: Move AC_LIBOBJ invocations to module description.
54559         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
54560         * modules/roundl (configure.ac): ... to here.
54562 2011-05-21  Bruno Haible  <bruno@clisp.org>
54564         round: Move AC_LIBOBJ invocations to module description.
54565         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
54566         * modules/round (configure.ac): ... to here.
54568 2011-05-21  Bruno Haible  <bruno@clisp.org>
54570         roundf: Move AC_LIBOBJ invocations to module description.
54571         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
54572         * modules/roundf (configure.ac): ... to here.
54574 2011-05-21  Bruno Haible  <bruno@clisp.org>
54576         truncl: Move AC_LIBOBJ invocations to module description.
54577         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
54578         * modules/truncl (configure.ac): ... to here.
54580 2011-05-21  Bruno Haible  <bruno@clisp.org>
54582         trunc: Move AC_LIBOBJ invocations to module description.
54583         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
54584         * modules/trunc (configure.ac): ... to here.
54586 2011-05-21  Bruno Haible  <bruno@clisp.org>
54588         truncf: Move AC_LIBOBJ invocations to module description.
54589         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
54590         * modules/truncf (configure.ac): ... to here.
54592 2011-05-21  Bruno Haible  <bruno@clisp.org>
54594         ceill: Move AC_LIBOBJ invocations to module description.
54595         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
54596         * modules/ceill (configure.ac): ... to here.
54598 2011-05-21  Bruno Haible  <bruno@clisp.org>
54600         ceil: Move AC_LIBOBJ invocations to module description.
54601         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
54602         * modules/ceil (configure.ac): ... to here.
54604 2011-05-21  Bruno Haible  <bruno@clisp.org>
54606         ceilf: Move AC_LIBOBJ invocations to module description.
54607         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
54608         * modules/ceilf (configure.ac): ... to here.
54610 2011-05-21  Bruno Haible  <bruno@clisp.org>
54612         floorl: Respect rules for use of AC_LIBOBJ.
54613         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
54614         * modules/floorl (configure.ac): ... to here.
54616 2011-05-21  Bruno Haible  <bruno@clisp.org>
54618         floor: Respect rules for use of AC_LIBOBJ.
54619         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
54620         * modules/floor (configure.ac): ... to here.
54622 2011-05-21  Bruno Haible  <bruno@clisp.org>
54624         floorf: Move AC_LIBOBJ invocations to module description.
54625         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
54626         * modules/floorf (configure.ac): ... to here.
54628 2011-05-20  Bruno Haible  <bruno@clisp.org>
54630         sqrtl: Respect rules for use of AC_LIBOBJ.
54631         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
54632         * modules/sqrtl (configure.ac): ... to here.
54634 2011-05-20  Bruno Haible  <bruno@clisp.org>
54636         ldexpl: Respect rules for use of AC_LIBOBJ.
54637         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
54638         * modules/ldexpl (configure.ac): ... to here.
54640 2011-05-20  Bruno Haible  <bruno@clisp.org>
54642         frexpl*: Respect rules for use of AC_LIBOBJ.
54643         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
54644         invocation from here...
54645         * modules/frexpl (configure.ac): ... to here.
54646         * modules/frexpl-nolibm (configure.ac): ... and here.
54648 2011-05-20  Bruno Haible  <bruno@clisp.org>
54650         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
54651         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
54652         invocation from here...
54653         * modules/frexp (configure.ac): ... to here.
54654         * modules/frexp-nolibm (configure.ac): ... and here.
54656 2011-05-20  Bruno Haible  <bruno@clisp.org>
54658         isnan: Respect rules for use of AC_LIBOBJ.
54659         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
54660         invocations here.
54661         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
54662         REPLACE_ISNAN.
54663         * modules/isnand (configure.ac): Likewise.
54664         * modules/isnanl (configure.ac): Likewise.
54666 2011-05-20  Bruno Haible  <bruno@clisp.org>
54668         isnanl*: Respect rules for use of AC_LIBOBJ.
54669         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
54670         invocation from here...
54671         * modules/isnanl (configure.ac): ... to here.
54672         * modules/isnanl-nolibm (configure.ac): ... and here.
54674 2011-05-20  Bruno Haible  <bruno@clisp.org>
54676         isnand*: Move AC_LIBOBJ invocations to module description.
54677         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
54678         invocation from here...
54679         * modules/isnand (configure.ac): ... to here.
54680         * modules/isnand-nolibm (configure.ac): ... and here.
54682 2011-05-20  Bruno Haible  <bruno@clisp.org>
54684         isnanf*: Move AC_LIBOBJ invocations to module description.
54685         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
54686         invocation from here...
54687         * modules/isnanf (configure.ac): ... to here.
54688         * modules/isnanf-nolibm (configure.ac): ... and here.
54690 2011-05-20  Bruno Haible  <bruno@clisp.org>
54692         isnan*: Separate the AC_LIBOBJ invocations.
54693         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
54694         AC_LIBOBJ invocation.
54695         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
54696         here.
54697         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
54698         AC_LIBOBJ invocation.
54699         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
54700         here.
54701         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
54702         AC_LIBOBJ invocation.
54703         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
54704         here.
54705         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
54707 2011-05-08  Bruno Haible  <bruno@clisp.org>
54709         isinf: Move AC_LIBOBJ invocations to module description.
54710         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
54711         * modules/isinf (configure.ac): ... to here.
54713 2011-05-08  Bruno Haible  <bruno@clisp.org>
54715         isfinite: Move AC_LIBOBJ invocations to module description.
54716         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
54717         * modules/isfinite (configure.ac): ... to here.
54719 2011-05-08  Bruno Haible  <bruno@clisp.org>
54721         isblank: Move AC_LIBOBJ invocations to module description.
54722         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
54723         here...
54724         * modules/isblank (configure.ac): ... to here.
54726 2011-05-08  Bruno Haible  <bruno@clisp.org>
54728         isapipe: Move AC_LIBOBJ invocations to module description.
54729         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
54730         gl_PREREQ_ISAPIPE invocations from here...
54731         * modules/isapipe (configure.ac): ... to here.
54732         (Depends-on): Update condition.
54734 2011-05-08  Bruno Haible  <bruno@clisp.org>
54736         ioctl: Move AC_LIBOBJ invocations to module description.
54737         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
54738         invocations from here...
54739         * modules/ioctl (configure.ac): ... to here.
54740         (Depends-on): Update condition.
54742 2011-05-08  Bruno Haible  <bruno@clisp.org>
54744         imaxdiv: Move AC_LIBOBJ invocations to module description.
54745         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
54746         invocations from here...
54747         * modules/imaxdiv (configure.ac): ... to here.
54749 2011-05-08  Bruno Haible  <bruno@clisp.org>
54751         imaxabs: Move AC_LIBOBJ invocations to module description.
54752         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
54753         invocations from here...
54754         * modules/imaxabs (configure.ac): ... to here.
54756 2011-05-08  Bruno Haible  <bruno@clisp.org>
54758         getaddrinfo: Move AC_LIBOBJ invocations to module description.
54759         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
54760         AC_LIBOBJ invocations from here...
54761         * modules/getaddrinfo (configure.ac): ... to here.
54762         (Depends-on): Add conditions.
54764 2011-05-08  Bruno Haible  <bruno@clisp.org>
54766         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
54767         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
54768         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
54769         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
54770         (gl_PREREQ_INET_PTON): ... from here.
54771         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
54772         gl_PREREQ_INET_PTON here.
54773         (Depends-on): Update condition.
54775 2011-05-08  Bruno Haible  <bruno@clisp.org>
54777         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
54778         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
54779         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
54780         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
54781         (gl_PREREQ_INET_NTOP): ... from here.
54782         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
54783         gl_PREREQ_INET_NTOP here.
54784         (Depends-on): Update condition.
54786 2011-05-08  Bruno Haible  <bruno@clisp.org>
54788         iconv_open: Move AC_LIBOBJ invocations to module description.
54789         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
54790         AC_LIBOBJ invocations from here...
54791         * modules/iconv_open (configure.ac): ... to here.
54793 2011-05-08  Bruno Haible  <bruno@clisp.org>
54795         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
54796         If module 'iconv_open' is among the main modules and module
54797         'iconv_open-utf' is among the tests dependencies, then
54798         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
54799         return the special iconv_t values. Therefore iconv() and iconv_close()
54800         must support these special iconv_t values, already in lib, not only in
54801         tests.
54802         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
54803         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
54804         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
54805         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
54806         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
54807         (Depends-on): Add the dependencies of iconv_open-utf.
54808         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
54809         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
54810         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
54812 2011-05-08  Bruno Haible  <bruno@clisp.org>
54814         group-member: Move AC_LIBOBJ invocations to module description.
54815         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
54816         gl_PREREQ_GROUP_MEMBER invocations from here...
54817         * modules/group-member (configure.ac): ... to here.
54819 2011-05-08  Bruno Haible  <bruno@clisp.org>
54821         grantpt: Move AC_LIBOBJ invocations to module description.
54822         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
54823         invocations from here...
54824         * modules/grantpt (configure.ac): ... to here.
54826 2011-05-08  Bruno Haible  <bruno@clisp.org>
54828         glob: Move AC_LIBOBJ invocations to module description.
54829         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
54830         from here...
54831         * modules/glob (configure.ac): ... to here.
54833 2011-05-08  Bruno Haible  <bruno@clisp.org>
54835         getusershell: Move AC_LIBOBJ invocations to module description.
54836         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
54837         Move AC_LIBOBJ invocation from here...
54838         * modules/getusershell (configure.ac): ... to here.
54839         (Depends-on): Update condition.
54841 2011-05-08  Bruno Haible  <bruno@clisp.org>
54843         gettimeofday: Move AC_LIBOBJ invocations to module description.
54844         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
54845         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
54846         gl_PREREQ_GETTIMEOFDAY invocations from here...
54847         * modules/gettimeofday (configure.ac): ... to here.
54849 2011-05-08  Bruno Haible  <bruno@clisp.org>
54851         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
54852         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
54853         just gl_FUNC_TZSET.
54854         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
54855         (gl_FUNC_TZSET_CLOBBER): Remove actions.
54856         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
54857         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
54859 2011-05-08  Bruno Haible  <bruno@clisp.org>
54861         getsubopt: Move AC_LIBOBJ invocations to module description.
54862         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
54863         gl_PREREQ_GETSUBOPT invocations from here...
54864         * modules/getsubopt (configure.ac): ... to here.
54866 2011-05-08  Bruno Haible  <bruno@clisp.org>
54868         getpass-gnu: Move AC_LIBOBJ invocations to module description.
54869         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
54870         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
54871         * modules/getpass-gnu (configure.ac): ... to here.
54873 2011-05-08  Bruno Haible  <bruno@clisp.org>
54875         getpass: Move AC_LIBOBJ invocations to module description.
54876         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
54877         gl_PREREQ_GETPASS invocations from here...
54878         * modules/getpass (configure.ac): ... to here.
54880 2011-05-08  Bruno Haible  <bruno@clisp.org>
54882         getpagesize: Move AC_LIBOBJ invocations to module description.
54883         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
54884         from here...
54885         * modules/getpagesize (configure.ac): ... to here.
54887 2011-05-08  Bruno Haible  <bruno@clisp.org>
54889         getopt: Move AC_LIBOBJ invocations to module description.
54890         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
54891         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
54892         invocations from here...
54893         * modules/getopt-gnu (configure.ac): ... to here.
54894         * modules/getopt-posix (configure.ac): ... and here.
54895         (Depends-on): Update condition.
54897 2011-05-08  Bruno Haible  <bruno@clisp.org>
54899         getopt, argp: Respect rules for use of AC_LIBOBJ.
54900         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
54901         (gl_REPLACE_GETOPT_ALWAYS): New macro.
54902         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
54903         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
54905 2011-05-08  Bruno Haible  <bruno@clisp.org>
54907         getlogin_r: Move AC_LIBOBJ invocations to module description.
54908         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
54909         gl_PREREQ_GETLOGIN_R invocations from here...
54910         * modules/getlogin_r (configure.ac): ... to here.
54912 2011-05-08  Bruno Haible  <bruno@clisp.org>
54914         getlogin: Move AC_LIBOBJ invocations to module description.
54915         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
54916         here...
54917         * modules/getlogin (configure.ac): ... to here.
54919 2011-05-08  Bruno Haible  <bruno@clisp.org>
54921         getloadavg: Move AC_LIBOBJ invocations to module description.
54922         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
54923         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
54924         * modules/getloadavg (configure.ac): ... to here.
54926 2011-05-08  Bruno Haible  <bruno@clisp.org>
54928         gethrxtime: Move AC_LIBOBJ invocations to module description.
54929         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
54930         LIB_GETHRXTIME from here...
54931         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
54932         invocations from here...
54933         * modules/gethrxtime (configure.ac): ... to here.
54935 2011-05-08  Bruno Haible  <bruno@clisp.org>
54937         gethostname: Move AC_LIBOBJ invocations to module description.
54938         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
54939         gl_PREREQ_GETHOSTNAME invocations from here...
54940         * modules/gethostname (configure.ac): ... to here.
54942 2011-05-08  Bruno Haible  <bruno@clisp.org>
54944         getgroups: Move AC_LIBOBJ invocations to module description.
54945         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
54946         here...
54947         * modules/getgroups (configure.ac): ... to here.
54949 2011-05-08  Bruno Haible  <bruno@clisp.org>
54951         getdtablesize: Move AC_LIBOBJ invocations to module description.
54952         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
54953         invocation from here...
54954         * modules/getdtablesize (configure.ac): ... to here.
54956 2011-05-08  Bruno Haible  <bruno@clisp.org>
54958         getdomainname: Move AC_LIBOBJ invocations to module description.
54959         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
54960         gl_PREREQ_GETDOMAINNAME invocations from here...
54961         * modules/getdomainname (configure.ac): ... to here.
54963 2011-05-08  Bruno Haible  <bruno@clisp.org>
54965         getline: Move AC_LIBOBJ invocations to module description.
54966         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
54967         invocations from here...
54968         * modules/getline (configure.ac): ... to here.
54970 2011-05-08  Bruno Haible  <bruno@clisp.org>
54972         getline: Simplify.
54973         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
54974         It's already handled through the module dependency.
54976 2011-05-08  Bruno Haible  <bruno@clisp.org>
54978         getdelim: Move AC_LIBOBJ invocations to module description.
54979         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
54980         and gl_PREREQ_GETDELIM invocations from here...
54981         * modules/getdelim (configure.ac): ... to here.
54982         (Depends-on): Fix condition.
54984 2011-05-08  Bruno Haible  <bruno@clisp.org>
54986         getcwd: Move AC_LIBOBJ invocations to module description.
54987         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
54988         invocations from here...
54989         * modules/getcwd (configure.ac): ... to here.
54991 2011-05-08  Bruno Haible  <bruno@clisp.org>
54993         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
54994         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
54995         here...
54996         * modules/getcwd-lgpl (configure.ac): ... to here.
54998 2011-05-07  Bruno Haible  <bruno@clisp.org>
55000         crypto/gc: Move AC_LIBOBJ invocations to module description.
55001         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
55002         * modules/crypto/gc (configure.ac): ... to here.
55004 2011-05-07  Bruno Haible  <bruno@clisp.org>
55006         fwriting: Move AC_LIBOBJ invocations to module description.
55007         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
55008         here...
55009         * modules/fwriting (configure.ac): ... to here.
55011 2011-05-07  Bruno Haible  <bruno@clisp.org>
55013         fwritable: Move AC_LIBOBJ invocations to module description.
55014         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
55015         here...
55016         * modules/fwritable (configure.ac): ... to here.
55018 2011-05-07  Bruno Haible  <bruno@clisp.org>
55020         futimens: Move AC_LIBOBJ invocations to module description.
55021         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
55022         here...
55023         * modules/futimens (configure.ac): ... to here.
55025 2011-05-07  Bruno Haible  <bruno@clisp.org>
55027         ftruncate: Move AC_LIBOBJ invocations to module description.
55028         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
55029         gl_PREREQ_FTRUNCATE invocations from here...
55030         * modules/ftruncate (configure.ac): ... to here.
55032 2011-05-07  Bruno Haible  <bruno@clisp.org>
55034         fsync: Move AC_LIBOBJ invocations to module description.
55035         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
55036         invocations from here...
55037         * modules/fsync (configure.ac): ... to here.
55039 2011-05-07  Bruno Haible  <bruno@clisp.org>
55041         fsusage: Move AC_LIBOBJ invocations to module description.
55042         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
55043         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
55044         * modules/fsusage (configure.ac): ... to here.
55046 2011-05-07  Bruno Haible  <bruno@clisp.org>
55048         freopen: Move AC_LIBOBJ invocations to module description.
55049         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
55050         invocations from here...
55051         * modules/freopen (configure.ac): ... to here.
55053 2011-05-07  Bruno Haible  <bruno@clisp.org>
55055         free: Move AC_LIBOBJ invocations to module description.
55056         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
55057         invocations from here...
55058         * modules/free (configure.ac): ... to here.
55060 2011-05-07  Bruno Haible  <bruno@clisp.org>
55062         freadable: Move AC_LIBOBJ invocations to module description.
55063         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
55064         here...
55065         * modules/freadable (configure.ac): ... to here.
55067 2011-05-07  Bruno Haible  <bruno@clisp.org>
55069         fpurge: Move AC_LIBOBJ invocations to module description.
55070         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
55071         invocations from here...
55072         * modules/fpurge (configure.ac): ... to here.
55074 2011-05-07  Bruno Haible  <bruno@clisp.org>
55076         fpending: Move AC_LIBOBJ invocations to module description.
55077         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
55078         gl_FUNC_FPENDING.
55079         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
55080         invocations from here...
55081         * modules/fpending (configure.ac): ... to here.
55083 2011-05-07  Bruno Haible  <bruno@clisp.org>
55085         fopen: Move AC_LIBOBJ invocations to module description.
55086         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
55087         invocations from here...
55088         * modules/fopen (configure.ac): ... to here.
55090 2011-05-07  Bruno Haible  <bruno@clisp.org>
55092         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
55093         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
55094         gl_FUNC_FNMATCH_POSIX.
55095         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
55096         invocations from here...
55097         * modules/fnmatch (configure.ac): ... to here.
55098         * modules/fnmatch-gnu (configure.ac): ... and here.
55100 2011-05-07  Bruno Haible  <bruno@clisp.org>
55102         flock: Move AC_LIBOBJ invocations to module description.
55103         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
55104         invocations from here...
55105         * modules/flock (configure.ac): ... to here.
55107 2011-05-07  Bruno Haible  <bruno@clisp.org>
55109         fileblocks: Move AC_LIBOBJ invocations to module description.
55110         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
55111         gl_PREREQ_FILEBLOCKS invocations from here...
55112         * modules/fileblocks (configure.ac): ... to here.
55114 2011-05-06  Bruno Haible  <bruno@clisp.org>
55116         fflush: Move AC_LIBOBJ invocations to module description.
55117         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
55118         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
55119         invocations from here...
55120         * modules/fflush (configure.ac): ... to here.
55122 2011-05-06  Bruno Haible  <bruno@clisp.org>
55124         fdopendir: Move AC_LIBOBJ invocations to module description.
55125         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
55126         here...
55127         * modules/fdopendir (configure.ac): ... to here.
55128         (Depends-on): Improve conditions.
55130 2011-05-06  Bruno Haible  <bruno@clisp.org>
55132         _Exit: Move AC_LIBOBJ invocations to module description.
55133         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
55134         invocations from here...
55135         * modules/_Exit (configure.ac): ... to here.
55137 2011-05-21  Bruno Haible  <bruno@clisp.org>
55139         euidaccess: Respect rules for use of AC_LIBOBJ.
55140         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
55141         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
55142         from here...
55143         * modules/euidaccess (configure.ac): ... to here.
55145 2011-05-06  Bruno Haible  <bruno@clisp.org>
55147         error: Move AC_LIBOBJ invocations to module description.
55148         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
55149         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
55150         invocations from here...
55151         * modules/error (configure.ac): ... to here.
55153 2011-05-06  Bruno Haible  <bruno@clisp.org>
55155         duplocale: Move AC_LIBOBJ invocations to module description.
55156         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
55157         gl_PREREQ_DUPLOCALE invocations from here...
55158         * modules/duplocale (configure.ac): ... to here.
55160 2011-05-05  Bruno Haible  <bruno@clisp.org>
55162         dirfd: Move AC_LIBOBJ invocations to module description.
55163         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
55164         gl_FUNC_DIRFD.
55165         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
55166         here...
55167         * modules/dirfd (configure.ac): ... to here.
55168         (Depends-on): Fix condition.
55170 2011-05-05  Bruno Haible  <bruno@clisp.org>
55172         chown: Respect rules for use of AC_LIBOBJ.
55173         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
55174         * modules/chown (configure.ac): ... to here.
55176 2011-05-05  Bruno Haible  <bruno@clisp.org>
55178         chdir-long: Move AC_LIBOBJ invocations to module description.
55179         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
55180         gl_PREREQ_CHDIR_LONG invocations from here...
55181         * modules/chdir-long (configure.ac): ... to here.
55183 2011-05-05  Bruno Haible  <bruno@clisp.org>
55185         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
55186         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
55187         from here...
55188         * modules/canonicalize-lgpl (configure.ac): ... to here.
55190 2011-05-05  Bruno Haible  <bruno@clisp.org>
55192         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
55193         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
55194         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
55195         REPLACE_CALLOC.
55196         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
55197         * modules/calloc-gnu (configure.ac): Likewise.
55199 2011-05-05  Bruno Haible  <bruno@clisp.org>
55201         btowc: Move AC_LIBOBJ invocations to module description.
55202         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
55203         invocations from here...
55204         * modules/btowc (configure.ac): ... to here.
55206 2011-05-21  Bruno Haible  <bruno@clisp.org>
55208         atexit: Move AC_LIBOBJ invocations to module description.
55209         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
55210         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
55211         here...
55212         * modules/atexit (configure.ac): ... to here.
55214 2011-05-05  Bruno Haible  <bruno@clisp.org>
55216         atoll: Move AC_LIBOBJ invocations to module description.
55217         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
55218         invocations from here...
55219         * modules/atoll (configure.ac): ... to here.
55221 2011-05-05  Bruno Haible  <bruno@clisp.org>
55223         argz: Move AC_LIBOBJ invocations to module description.
55224         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
55225         * modules/argz (configure.ac): ... to here.
55227 2011-05-05  Bruno Haible  <bruno@clisp.org>
55229         alphasort: Move AC_LIBOBJ invocations to module description.
55230         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
55231         gl_PREREQ_ALPHASORT invocations from here...
55232         * modules/alphasort (configure.ac): ... to here.
55234 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
55236         verify: new macro verify_expr; verify_true deprecated
55237         * NEWS: Mention this.
55238         * doc/verify.texi (Compile-time Assertions): Document this.
55239         * lib/verify.h (verify_true): Deprecate.
55240         (verify_expr): New macro.
55241         * tests/test-verify.c (function): Test verify_expr.
55243 2011-06-14  Jim Meyering  <meyering@redhat.com>
55245         init.sh: give more portable redirection-related advice in a comment
55246         * tests/init.sh (stderr_fileno_): Update the advice in comments.
55247         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
55248         for lots of discussion.  Stefano Lattarini suggested the solution
55249         of putting "9>&2" after the command.  Reported by Bruno Haible.
55251 2011-06-13  Bruno Haible  <bruno@clisp.org>
55253         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
55254         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
55255         'none'.
55257 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
55259         ftoastr: use strtof only if HAVE_STRTOF
55260         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
55261         <http://lists.gnu.org/r/bug-gnulib/2011-06/msg00154.html>.
55262         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
55263         * modules/ftoastr (configure.ac): Check for strtof.
55265 2011-06-13  Bruno Haible  <bruno@clisp.org>
55267         gnulib-tool: Addendum to 2011-06-08 commit.
55268         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
55269         and --witness-c-macro have been given, augment AM_CPPFLAGS.
55271 2011-06-13  Bruno Haible  <bruno@clisp.org>
55273         fseeko: Provide a non-inline replacement of fseek().
55274         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
55275         * modules/fseeko (Depends-on): Add fseek.
55276         * modules/fseek (License): Change to LGPLv2+.
55278 2011-06-13  Bruno Haible  <bruno@clisp.org>
55280         ftello: Provide a non-inline replacement of ftell().
55281         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
55282         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
55283         not have ftello() (such as on mingw).
55284         * modules/ftello (Depends-on): Add ftell.
55285         * modules/ftell (License): Change to LGPLv2+.
55287 2011-05-07  Bruno Haible  <bruno@clisp.org>
55289         ftell: Move AC_LIBOBJ invocations to module description.
55290         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
55291         * modules/ftell (configure.ac): ... to here.
55293 2011-05-07  Bruno Haible  <bruno@clisp.org>
55295         ftello: Respect rules for use of AC_LIBOBJ.
55296         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
55297         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
55298         here...
55299         * modules/ftello (configure.ac): ... to here.
55301 2011-05-07  Bruno Haible  <bruno@clisp.org>
55303         fseeko: Simplify.
55304         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
55305         (gl_FUNC_FSEEKO): Inline it here.
55307 2011-05-07  Bruno Haible  <bruno@clisp.org>
55309         fseek: Move AC_LIBOBJ invocations to module description.
55310         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
55311         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
55312         * modules/fseek (configure.ac): ... to here.
55314 2011-05-07  Bruno Haible  <bruno@clisp.org>
55316         fseek: Respect rules for use of AC_LIBOBJ.
55317         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
55318         here...
55319         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
55321 2011-05-07  Bruno Haible  <bruno@clisp.org>
55323         fseeko: Respect rules for use of AC_LIBOBJ.
55324         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
55325         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
55326         here...
55327         * modules/fseeko (configure.ac): ... to here.
55329 2011-06-13  Bruno Haible  <bruno@clisp.org>
55331         gnulib-tool: Allow comments in the 'Depends-on' section.
55332         * doc/gnulib.texi (Module description): Mention comment syntax in the
55333         Depends-on section.
55334         * gnulib-tool (func_get_dependencies): Filter out comment lines.
55336 2011-06-13  Bruno Haible  <bruno@clisp.org>
55338         file-set.h: guard __attibute__ use, now that it's not always defined
55339         * lib/file-set.h (record_file): Use __attribute__ only with compiler
55340         versions that support it.  This fixes a coreutils build failure with
55341         the vendor cc on HP-UX 11.31.
55343 2011-06-12  Bruno Haible  <bruno@clisp.org>
55345         acl: Add support for HP-UX >= 11.11 JFS ACLs.
55346         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
55347         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
55348         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
55349         (acl, aclsort): New declarations.
55350         (aclv_nontrivial): New declaration.
55351         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
55352         (file_has_acl): Read also the second kind of HP-UX ACLs.
55353         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
55354         kind of HP-UX ACLs if the first kind fails.
55355         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
55356         second kind of HP-UX ACLs.
55357         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
55358         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
55359         agree.
55360         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
55361         hpuxjfs.
55362         Handle hpuxjfs.
55363         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
55364         hpuxjfs.
55365         Handle hpuxjfs.
55366         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
55367         (func_test_same_acls): Use both lsacl and getacl.
55368         Handle hpuxjfs.
55369         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
55370         (func_test_same_acls): Use both lsacl and getacl.
55371         Handle hpuxjfs.
55373 2011-06-12  Bruno Haible  <bruno@clisp.org>
55375         acl: Complete the 2010-08-10 fix.
55376         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
55377         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
55378         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
55379         explicitly.
55380         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
55381         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
55383 2011-06-12  Bruno Haible  <bruno@clisp.org>
55385         spawn-pipe tests: Comments.
55386         * tests/test-spawn-pipe-child.c (main): Update comment.
55387         Reported by James Youngman <jay@gnu.org>.
55389 2011-06-11  James Youngman  <jay@gnu.org>
55391         New module 'stat-size'.
55392         * modules/stat-size: New module.  Provides macros for accessing
55393         file size information in instances of struct stat.  Depends on the
55394         fileblocks module because it calls st_blocks.
55395         * lib/stat-size.h: New file, adapted from coreutils' system.h.
55396         * doc/gnulib.texi: Include stat-size.texi.
55397         * doc/stat-size.texi: Documentation for this module.
55398         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
55399         * m4/fileblocks.m4: Mention that stat-size depends on the call to
55400         AC_STRUCT_ST_BLOCKS.
55402 2011-06-09  Bruno Haible  <bruno@clisp.org>
55404         thread: Support pthreads-win32.
55405         * lib/glthread/thread.h (gl_thread_self): Define differently on
55406         pthreads-win32.
55407         (gl_null_thread): New declaration.
55408         (gl_thread_self_pointer): New macro.
55409         * lib/glthread/thread.c (gl_null_thread): New constant.
55410         * tests/test-lock.c: Use gl_thread_self_pointer instead of
55411         gl_thread_self.
55412         * tests/test-tls.c: Likewise.
55413         Suggested by Paul Eggert. Reported by Eric Blake.
55415 2011-06-09  Bruno Haible  <bruno@clisp.org>
55417         thread: Fix confusion between NULL and 0.
55418         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
55419         Reported by Paul Eggert.
55421 2011-06-09  Bruno Haible  <bruno@clisp.org>
55423         spawn-pipe tests: Avoid test failure on HP-UX 11.
55424         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
55425         is closed.
55427 2011-06-09  Bruno Haible  <bruno@clisp.org>
55429         acl tests: Fix compilation error on HP-UX 11.
55430         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
55432 2011-06-09  Bruno Haible  <bruno@clisp.org>
55434         rmdir: Avoid test failure on HP-UX 10.20.
55435         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
55436         EEXIST.
55438 2011-06-08  Eric Blake  <eblake@redhat.com>
55440         perror: fix test on mingw
55441         * modules/perror-tests (Depends-on): Add dup2.
55443         strerror_r-posix: fix on MacOS
55444         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
55445         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
55446         logic bug.
55447         * lib/strerror_r.c (strerror_r): Fix the bug.
55448         * lib/strerror.c (strerror): Likewise.
55449         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
55450         problem.
55451         * doc/posix-functions/strerror.texi (strerror): Likewise.
55452         * doc/posix-functions/perror.texi (perror): Likewise.
55453         * tests/test-strerror.c (main): Enhance test.
55454         * tests/test-strerror_r.c (main): Likewise.
55456 2011-06-08  Bruno Haible  <bruno@clisp.org>
55458         gnulib-tool: Better isolation between different gnulib-tool invocations.
55459         * gnulib-tool: New option --witness-c-macro.
55460         (witness_c_macro): New variable.
55461         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
55462         AM_CPPFLAGS define it as a C macro.
55463         (func_emit_tests_Makefile_am): Likewise.
55464         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
55465         read it from there.
55466         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
55467         m4_define, not AC_DEFUN.
55468         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
55469         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
55470         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
55471         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
55472         s|...|...|, to substitute the values of the GNULIB_* module indicator
55473         variables.
55474         * modules/dirent (Makefile.am): Likewise.
55475         * modules/fcntl-h (Makefile.am): Likewise.
55476         * modules/iconv-h (Makefile.am): Likewise.
55477         * modules/langinfo (Makefile.am): Likewise.
55478         * modules/locale (Makefile.am): Likewise.
55479         * modules/math (Makefile.am): Likewise.
55480         * modules/netdb (Makefile.am): Likewise.
55481         * modules/poll-h (Makefile.am): Likewise.
55482         * modules/pty (Makefile.am): Likewise.
55483         * modules/search (Makefile.am): Likewise.
55484         * modules/signal (Makefile.am): Likewise.
55485         * modules/spawn (Makefile.am): Likewise.
55486         * modules/stdio (Makefile.am): Likewise.
55487         * modules/stdlib (Makefile.am): Likewise.
55488         * modules/string (Makefile.am): Likewise.
55489         * modules/sys_ioctl (Makefile.am): Likewise.
55490         * modules/sys_select (Makefile.am): Likewise.
55491         * modules/sys_socket (Makefile.am): Likewise.
55492         * modules/sys_stat (Makefile.am): Likewise.
55493         * modules/sys_times (Makefile.am): Likewise.
55494         * modules/sys_utsname (Makefile.am): Likewise.
55495         * modules/sys_wait (Makefile.am): Likewise.
55496         * modules/termios (Makefile.am): Likewise.
55497         * modules/time (Makefile.am): Likewise.
55498         * modules/unistd (Makefile.am): Likewise.
55499         * modules/wchar (Makefile.am): Likewise.
55501 2011-06-08  Eric Blake  <eblake@redhat.com>
55503         strerror: simplify replacement
55504         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
55505         * modules/strerror (configure.ac): No prereqs needed here...
55506         * modules/strerror-override (configure.ac): ...but this needs it.
55507         (Files): Add file for needed prereq macro.
55509 2011-06-08  Bruno Haible  <bruno@clisp.org>
55511         strerror_r-posix: Tweaks.
55512         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
55513         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
55514         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
55515         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
55516         (gl_FUNC_STRERROR_R): ... to here.
55517         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
55519 2011-06-07  Eric Blake  <eblake@redhat.com>
55521         perror: document fixed bugs
55522         * doc/posix-functions/perror.texi (perror): Document recent
55523         patches.
55525 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
55527         stat-time: get_stat_birthtime failure is better-defined
55528         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
55529         return a timestamp whose tv_sec and tv_nsec values are both -1.
55530         Previously, the spec said only that the tv_nsec value was negative.
55531         This upward-compatible change simplifies GNU tar a bit.
55533 2011-06-07  Eric Blake  <eblake@redhat.com>
55535         strerror_r-posix: work around cygwin 1.7.9
55536         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
55537         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
55538         bug without replacing strerror_r.
55539         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
55540         strerror_r is buggy, but without requiring strerror_r compilation.
55541         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
55543         test-perror: relax test to ignore cygwin bug
55544         * tests/test-perror2.c (main): Relax test on requiring detection
55545         of stream errors, and use unbuffered stream.
55546         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
55547         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
55548         * doc/posix-functions/fputc.texi (fputc): Likewise.
55549         * doc/posix-functions/fputs.texi (fputs): Likewise.
55550         * doc/posix-functions/fputws.texi (fputws): Likewise.
55551         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
55552         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
55553         * doc/posix-functions/getopt.texi (getopt): Likewise.
55554         * doc/posix-functions/perror.texi (perror): Likewise.
55555         * doc/posix-functions/printf.texi (printf): Likewise.
55556         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
55557         * doc/posix-functions/psignal.texi (psignal): Likewise.
55558         * doc/posix-functions/putc.texi (putc): Likewise.
55559         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
55560         Likewise.
55561         * doc/posix-functions/putchar.texi (putchar): Likewise.
55562         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
55563         Likewise.
55564         * doc/posix-functions/puts.texi (puts): Likewise.
55565         * doc/posix-functions/putwc.texi (putwc): Likewise.
55566         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
55567         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
55568         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
55569         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
55570         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
55571         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
55572         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
55573         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
55575 2011-05-22  Bruno Haible  <bruno@clisp.org>
55577         strerror: Move AC_LIBOBJ invocations to module description.
55578         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
55579         gl_PREREQ_STRERROR invocations from here...
55580         * modules/strerror (configure.ac): ... to here.
55582 2011-05-21  Bruno Haible  <bruno@clisp.org>
55584         perror: Use common idiom.
55585         * modules/perror (configure.ac): Reorder statements.
55587 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
55589         tests: fix usage message in 'mktempd_'
55590         * tests/init.sh (mktempd_): In the usage message, use literal
55591         'mktempd_', not '$ME' (which is even undefined), as the name of
55592         the subroutine.
55594 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
55596         tests init: new function 'fatal_', for hard errors
55597         Before this patch, the only way offered by tests/init.sh to
55598         properly signal a hard error was the `framework_failure_'
55599         function.  But the error message issued by that function,
55600         as its name would suggest, refers to a set-up failure in the
55601         testsuite, while hard errors can obviously also be due to
55602         other reasons.  The best way to fix this inconsistency is to
55603         introduce a new function with a more general error message.
55604         * tests/init.sh (fatal_): New function.
55606 2011-06-06  Eric Blake  <eblake@redhat.com>
55608         canonicalize-lgpl: use common idiom
55609         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
55610         over newer POSIX -Rf.
55611         Reported by Bruno Haible.
55613         canonicalize-lgpl: work around AIX realpath bug
55614         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
55615         * doc/posix-functions/realpath.texi (realpath): Document it.
55616         Reported by Bruno Haible.
55618         strerror: work around FreeBSD bug
55619         * lib/strerror.c (strerror): Special case 0.
55620         Reported by Bruno Haible.
55622         strerror-override: avoid bloating errno module
55623         * modules/errno (Files, configure.ac): Move replacement strings...
55624         * modules/strerror-override: ...to new module.
55625         * modules/strerror (Depends-on): Add strerror-override.
55626         * modules/strerror_r-posix (Depends-on): Likewise.
55627         * MODULES.html.sh: Document new module.
55628         Reported by Bruno Haible.
55630 2011-06-06  Bruno Haible  <bruno@clisp.org>
55632         spawn-pipe tests: Rename program.
55633         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
55634         * tests/test-spawn-pipe-child.c: Update comment.
55635         * tests/test-spawn-pipe.sh: Update.
55636         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
55638         spawn-pipe tests: Link the child program only against libc.
55639         * tests/test-spawn-pipe-child.c: New file, extracted from
55640         tests/test-spawn-pipe.c.
55641         (main): Expect only one argument.
55642         (is_open): New function, copied from tests/test-pipe.c.
55643         * tests/test-spawn-pipe.c: Don't include <errno.h>.
55644         (child_main): Remove function.
55645         (test_pipe): Pass only one argument to the child program.
55646         (main): Remove child process code. Expect the child program's name as
55647         first argument.
55648         * tests/test-spawn-pipe.sh: Pass the child program's name as first
55649         argument.
55650         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
55651         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
55652         test-spawn-pipe-child against no libraries.
55654 2011-06-06  Bruno Haible  <bruno@clisp.org>
55656         careadlinkat: Avoid mismatch between ssize_t and int.
55657         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
55658         * lib/careadlinkat.c (careadlinkatcwd): Define always.
55660 2011-06-06  Jim Meyering  <meyering@redhat.com>
55662         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
55663         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
55664         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
55666 2011-06-05  Bruno Haible  <bruno@clisp.org>
55668         ansi-c++-opt: Interoperability with libtool.
55669         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
55670         set the variable to "no", not to ":".
55671         * NEWS: Mention the change.
55673 2011-06-05  Bruno Haible  <bruno@clisp.org>
55675         acl: Fix test failure on AIX 7.
55676         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
55677         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
55679 2011-06-05  Bruno Haible  <bruno@clisp.org>
55681         pipe-filter-ii: Fix test failure on AIX and IRIX.
55682         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
55683         with EAGAIN, retry with a smaller buffer size.
55685 2011-06-05  Bruno Haible  <bruno@clisp.org>
55687         localename: Fix link dependencies.
55688         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
55689         * modules/localename-tests (Makefile.am): Link test-localename with
55690         $(LIBTHREAD).
55692 2011-06-05  Bruno Haible  <bruno@clisp.org>
55694         error: Avoid gcc warning.
55695         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
55697 2011-06-05  Bruno Haible  <bruno@clisp.org>
55699         unsetenv: Avoid gcc warning.
55700         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
55702 2011-06-05  Bruno Haible  <bruno@clisp.org>
55704         setenv: Avoid gcc warning.
55705         * lib/setenv.c (setenv): Provide declaration if system lacks it.
55707 2011-06-05  Bruno Haible  <bruno@clisp.org>
55709         sys_select: Ensure memset is declared also on AIX 7.
55710         * lib/sys_select.in.h: Include <string.h> also on AIX.
55711         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
55712         self-contained also on AIX 7.1.
55714 2011-06-04  Jim Meyering  <meyering@redhat.com>
55716         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
55717         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
55718         function name, "error".
55719         (_gl_translatable_diag_func_re): New configurable variable.
55721 2011-06-04  Bruno Haible  <bruno@clisp.org>
55723         getopt: Avoid gcc warning.
55724         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
55726 2011-06-04  Bruno Haible  <bruno@clisp.org>
55728         strerror_r: Fix comments.
55729         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
55730         commit.
55732 2011-06-04  Bruno Haible  <bruno@clisp.org>
55734         perror: Fix compilation error.
55735         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
55736         Undefine fprintf, not sprintf.
55737         * modules/perror (Depends-on): Remove intprops, verify.
55739 2011-06-04  Bruno Haible  <bruno@clisp.org>
55741         setlocale: Enable replacement on Cygwin 1.5.
55742         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
55743         Cygwin 1.5.x.
55744         * doc/posix-functions/setlocale.texi: Mention that the problem with the
55745         LC_CTYPE category also exists on Cygwin 1.5.x.
55747 2011-06-04  Bruno Haible  <bruno@clisp.org>
55749         strerror-override: Don't disable symbol renamings.
55750         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
55751         * lib/strerror-override.c: Include config.h.
55752         (strerror_override): Don't undefine.
55754 2011-06-03  Bruno Haible  <bruno@clisp.org>
55756         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
55757         * lib/localename.h: Update copyright header.
55758         * lib/localename.c: Likewise.
55759         * lib/relocatable.h: Likewise.
55760         * lib/relocatable.c: Likewise.
55762 2011-06-02  Bruno Haible  <bruno@clisp.org>
55764         doc: Fix a module name.
55765         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
55767 2011-06-02  Bruno Haible  <bruno@clisp.org>
55769         pipe2: Remove dependency on 'nonblocking' module.
55770         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
55771         O_NONBLOCK is defined by gnulib.
55772         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
55773         is zero.
55774         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
55775         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
55776         defined by gnulib.
55777         (get_nonblocking_flag): New function.
55778         (main): Test O_NONBLOCK flag only if it is nonzero.
55779         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
55781 2011-06-03  Jim Meyering  <meyering@redhat.com>
55783         maint: three new prohibit-header-without-use rules
55784         Prohibit use of cloexec.h, posixver.h, same.h without use.
55785         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
55786         (sc_prohibit_posixver_without_use): Likewise.
55787         (sc_prohibit_same_without_use): Likewise.
55789 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
55791         allocator: 'die' routine is now given requested size
55792         * lib/allocator.h (struct allocator.die): New size arg.
55793         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
55794         If the actual problem is an ssize_t limitation, not a size_t or
55795         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
55797 2011-06-01  Eric Blake  <eblake@redhat.com>
55799         strerror: drop strerror_r dependency
55800         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
55801         * lib/strerror-override.c (strerror_override): ...to new file.
55802         * lib/strerror-override.h: Add prototype.
55803         * lib/strerror-impl.h: Delete.
55804         * lib/strerror.c (strerror): New implementation.
55805         * modules/errno (Files): Add new files.
55806         (configure.ac): Compile new file as appropriate.
55807         * modules/strerror (Files): Drop unused file.
55808         (Depends-on): Drop strerror_r-posix.
55809         * MODULES.html.sh: Document strerror_r-posix.
55810         Requested by Sam Steingold.
55812         perror: call strerror_r directly
55813         * modules/perror (Files): Drop strerror-impl.h.
55814         * lib/perror.c (perror): Use our own stack buffer, rather than
55815         calling a wrapper that uses static storage.
55816         * doc/posix-functions/perror.texi (perror): Document a limitation
55817         of our replacement.
55819         strerror_r: fix includes for FreeBSD
55820         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
55821         since we use abort on some platforms.
55822         Reported by Matthias Bolte.
55824 2011-05-31  Bruno Haible  <bruno@clisp.org>
55826         Fix link errors in tests: openat-die uses gettext-h.
55827         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
55828         against $(LIBINTL).
55829         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
55830         against $(LIBINTL).
55831         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
55832         $(LIBINTL).
55833         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
55834         against $(LIBINTL).
55835         * modules/linkat-tests (Makefile.am): Link test-linkat against
55836         $(LIBINTL).
55837         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
55838         $(LIBINTL).
55839         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
55840         against $(LIBINTL).
55841         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
55842         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
55843         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
55844         $(LIBINTL).
55845         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
55846         $(LIBINTL).
55847         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
55848         $(LIBINTL).
55849         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
55851 2011-05-31  Bruno Haible  <bruno@clisp.org>
55853         Fix link errors in tests: wait-process uses gettext-h.
55854         * modules/nonblocking-pipe-tests (Makefile.am): Set
55855         test_nonblocking_pipe_main_LDADD.
55856         * modules/nonblocking-socket-tests (Makefile.am): Link
55857         test-nonblocking-socket-main against $(LIBINTL).
55858         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
55860 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
55862         assert-h: work around 'verify' incompatibility
55863         * lib/verify.h: Use @...@ directives, not ifdef.
55864         * modules/assert-h (assert.h): Implement the directives.
55865         (assert.h): Substitute the symbol-prefix more consistently.
55867 2011-05-29  Jim Meyering  <meyering@redhat.com>
55869         trim: remove three superfluous assignments
55870         * lib/trim.c (trim2): Remove three superfluous assignments
55871         and correct brace positioning.
55873 2011-05-29  Bruno Haible  <bruno@clisp.org>
55875         wctype-h: Avoid namespace pollution on Solaris 2.6.
55876         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
55877         identifiers.
55878         * doc/posix-headers/wctype.texi: Mention the problem.
55879         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
55881 2011-05-28  Jim Meyering  <meyering@redhat.com>
55883         parse-datetime.y: accommodate -Wstrict-overflow
55884         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
55885         placate -Wstrict-overflow.
55887         trim: avoid a warning from -O2 -Wstrict-overflow
55888         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
55890 2011-05-29  Bruno Haible  <bruno@clisp.org>
55892         gnulib-tool: Fix bug in yesterday's commit.
55893         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
55894         twice.
55896 2011-05-29  Bruno Haible  <bruno@clisp.org>
55898         Allow multiple gnulib generated include files to be combined.
55899         * gnulib-tool (func_compute_include_guard_prefix): New function.
55900         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
55901         ${gl_include_guard_prefix} references.
55902         (func_import, func_create_testdir): Invoke
55903         func_compute_include_guard_prefix.
55904         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
55905         * lib/ctype.in.h: Likewise.
55906         * lib/dirent.in.h: Likewise.
55907         * lib/errno.in.h: Likewise.
55908         * lib/fcntl.in.h: Likewise.
55909         * lib/float.in.h: Likewise.
55910         * lib/getopt.in.h: Likewise.
55911         * lib/iconv.in.h: Likewise.
55912         * lib/langinfo.in.h: Likewise.
55913         * lib/locale.in.h: Likewise.
55914         * lib/math.in.h: Likewise.
55915         * lib/netdb.in.h: Likewise.
55916         * lib/netinet_in.in.h: Likewise.
55917         * lib/poll.in.h: Likewise.
55918         * lib/pthread.in.h: Likewise.
55919         * lib/pty.in.h: Likewise.
55920         * lib/sched.in.h: Likewise.
55921         * lib/se-selinux.in.h: Likewise.
55922         * lib/search.in.h: Likewise.
55923         * lib/signal.in.h: Likewise.
55924         * lib/spawn.in.h: Likewise.
55925         * lib/stdarg.in.h: Likewise.
55926         * lib/stddef.in.h: Likewise.
55927         * lib/stdint.in.h: Likewise.
55928         * lib/stdio.in.h: Likewise.
55929         * lib/stdlib.in.h: Likewise.
55930         * lib/string.in.h: Likewise.
55931         * lib/strings.in.h: Likewise.
55932         * lib/sys_file.in.h: Likewise.
55933         * lib/sys_ioctl.in.h: Likewise.
55934         * lib/sys_select.in.h: Likewise.
55935         * lib/sys_socket.in.h: Likewise.
55936         * lib/sys_stat.in.h: Likewise.
55937         * lib/sys_time.in.h: Likewise.
55938         * lib/sys_times.in.h: Likewise.
55939         * lib/sys_uio.in.h: Likewise.
55940         * lib/sys_utsname.in.h: Likewise.
55941         * lib/sys_wait.in.h: Likewise.
55942         * lib/sysexits.in.h: Likewise.
55943         * lib/termios.in.h: Likewise.
55944         * lib/time.in.h: Likewise.
55945         * lib/unistd.in.h: Likewise.
55946         * lib/wchar.in.h: Likewise.
55947         * lib/wctype.in.h: Likewise.
55948         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
55949         * modules/ctype (Makefile.am): Likewise.
55950         * modules/dirent (Makefile.am): Likewise.
55951         * modules/errno (Makefile.am): Likewise.
55952         * modules/fcntl-h (Makefile.am): Likewise.
55953         * modules/float (Makefile.am): Likewise.
55954         * modules/getopt-posix (Makefile.am): Likewise.
55955         * modules/iconv-h (Makefile.am): Likewise.
55956         * modules/langinfo (Makefile.am): Likewise.
55957         * modules/locale (Makefile.am): Likewise.
55958         * modules/math (Makefile.am): Likewise.
55959         * modules/netdb (Makefile.am): Likewise.
55960         * modules/netinet_in (Makefile.am): Likewise.
55961         * modules/poll-h (Makefile.am): Likewise.
55962         * modules/pthread (Makefile.am): Likewise.
55963         * modules/pty (Makefile.am): Likewise.
55964         * modules/sched (Makefile.am): Likewise.
55965         * modules/search (Makefile.am): Likewise.
55966         * modules/selinux-h (Makefile.am): Likewise.
55967         * modules/signal (Makefile.am): Likewise.
55968         * modules/spawn (Makefile.am): Likewise.
55969         * modules/stdarg (Makefile.am): Likewise.
55970         * modules/stddef (Makefile.am): Likewise.
55971         * modules/stdint (Makefile.am): Likewise.
55972         * modules/stdio (Makefile.am): Likewise.
55973         * modules/stdlib (Makefile.am): Likewise.
55974         * modules/string (Makefile.am): Likewise.
55975         * modules/strings (Makefile.am): Likewise.
55976         * modules/sys_file (Makefile.am): Likewise.
55977         * modules/sys_ioctl (Makefile.am): Likewise.
55978         * modules/sys_select (Makefile.am): Likewise.
55979         * modules/sys_socket (Makefile.am): Likewise.
55980         * modules/sys_stat (Makefile.am): Likewise.
55981         * modules/sys_time (Makefile.am): Likewise.
55982         * modules/sys_times (Makefile.am): Likewise.
55983         * modules/sys_uio (Makefile.am): Likewise.
55984         * modules/sys_utsname (Makefile.am): Likewise.
55985         * modules/sys_wait (Makefile.am): Likewise.
55986         * modules/sysexits (Makefile.am): Likewise.
55987         * modules/termios (Makefile.am): Likewise.
55988         * modules/time (Makefile.am): Likewise.
55989         * modules/unistd (Makefile.am): Likewise.
55990         * modules/wchar (Makefile.am): Likewise.
55991         * modules/wctype-h (Makefile.am): Likewise.
55992         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
55994 2011-05-29  Bruno Haible  <bruno@clisp.org>
55996         assert-h: Allow multiple gnulib generated replacements to coexist.
55997         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
55999 2011-05-29  Bruno Haible  <bruno@clisp.org>
56001         argp: Allow coexistence with strerror_r-posix module.
56002         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
56003         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
56004         by gnulib's <string.h> replacement), assume it has the POSIX signature,
56005         not the glibc signature.
56007 2011-05-28  Bruno Haible  <bruno@clisp.org>
56009         gnulib-tool: Alternative structure of testdirs, similar to --import.
56010         * gnulib-tool: New option --single-configure.
56011         (func_usage): Document it.
56012         (single_configure): New variable.
56013         (func_modules_transitive_closure_separately,
56014         func_modules_transitive_closure_separately,
56015         func_determine_use_libtests, func_modules_add_dummy_separately,
56016         func_modules_to_filelist_separately): New functions, extracted from
56017         func_import.
56018         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
56019         (func_import): Use the new functions.
56020         (func_create_testdir): Set final_modules. Handle $single_configure =
56021         true case.
56023 2011-05-28  Bruno Haible  <bruno@clisp.org>
56025         getloadavg: Remove an unreliable safety check.
56026         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
56027         getloadavg.c is in place.
56028         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
56029         Reported by Sam Steingold <sds@gnu.org>.
56031 2011-05-28  Bruno Haible  <bruno@clisp.org>
56033         doc: Cleanup yet another file produced by texinfo.tex.
56034         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
56036 2011-05-28  Bruno Haible  <bruno@clisp.org>
56038         Finish the conditional dependencies mechanism.
56039         * gnulib-tool: New option --no-conditional-dependencies.
56040         (func_usage): Document it. Don't mark --conditional-dependencies as
56041         experimental.
56042         (cond_dependencies): The possible values can now be true, false, empty.
56043         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
56044         (func_import): Store setting in gnulib-cache.m4 and read it from there.
56045         * doc/gnulib-tool.texi (Conditional dependencies): New section.
56047 2011-05-28  Bruno Haible  <bruno@clisp.org>
56049         doc: Use a recent texinfo.tex.
56050         * doc/Makefile (tex_opts): New variable.
56051         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
56053 2011-05-28  Jim Meyering  <meyering@redhat.com>
56055         intprops.h: adjust comment to match code change
56056         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
56057         only once, it *may* have side effects.  Also fix an unrelated typo.
56058         (_GL_INT_SIGNED): Likewise.
56060 2011-05-26  Simon Josefsson  <simon@josefsson.org>
56062         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
56064 2011-05-26  Bruno Haible  <bruno@clisp.org>
56066         mbsrchr: Avoid collision with system function on Interix.
56067         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
56068         Reported by Markus Duft <mduft@gentoo.org>.
56070 2011-05-15  James Youngman  <jay@gnu.org>
56072         getopt: for ambiguous options, enumerate the possibilities.
56073         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
56074         the ambiguous options when an ambiguous prefix is given. This was
56075         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
56076         glibc change was
56077         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
56079 2011-05-25  Eric Blake  <eblake@redhat.com>
56081         getcwd: work around mingw bug
56082         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
56083         * doc/posix-functions/getcwd.texi (getcwd): Document it.
56084         Reported by Matthias Bolte.
56086 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
56088         test-intprops: disable -Wtype-limits diagnostics
56089         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
56090         diagnostics.  Otherwise, the integer overflow macros generate many
56091         diagnostics.  Reported by Jim Meyering in
56092         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00528.html>.
56094         intprops: shorten, to pacify gcc -Woverlength-strings
56095         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
56096         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
56097         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
56098         likely to run afoul of C compiler limits for string constant lengths.
56099         See <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00528.html>.
56101 2011-05-24  Eric Blake  <eblake@redhat.com>
56103         docs: document recently fixed glibc printf bug
56104         * doc/posix-functions/fprintf.texi (fprintf): Document it.
56105         * doc/posix-functions/printf.texi (printf): Likewise.
56106         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
56107         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
56109         closein-tests: convert to init.sh
56110         * modules/closein-tests (Files): Add init.sh
56111         * tests/test-closein.sh Use it.
56113         yesno-tests: convert to init.sh
56114         * modules/yesno-tests (Files): Add init.sh.
56115         * tests/test-yesno.sh: Use it.
56117         atexit-tests: ensure reliable exit status
56118         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
56119         Reported by Bruno Haible.
56121 2011-05-24  Bruno Haible  <bruno@clisp.org>
56123         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
56124         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
56125         gl_PREREQ_STRERROR_R invocations from here...
56126         * modules/strerror_r-posix (configure.ac): ... to here.
56128 2011-05-24  Eric Blake  <eblake@redhat.com>
56130         strerror_r: fix missing header
56131         * lib/strerror_r.c: Avoid compiler warning about snprintf.
56133         strerror_r: fix AIX test failures
56134         * lib/strerror_r.c (strerror_r): Convert silent truncation to
56135         ERANGE failure.
56137         strerror_r: fix Solaris test failures
56138         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
56139         failures.
56140         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
56142         strerror_r: enforce POSIX recommendations
56143         * lib/strerror_r.c (safe_copy): New helper method.
56144         (strerror_r): Guarantee a non-empty string.
56145         * tests/test-strerror_r.c (main): Enhance tests to incorporate
56146         recent POSIX rulings and to match our strerror guarantees.
56147         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
56149 2011-05-24  Jim Meyering  <meyering@redhat.com>
56151         test-perror2.c: avoid warning about unused variable
56152         * tests/test-perror2.c (main): Remove declaration of unused "fp".
56154 2011-05-24  Eric Blake  <eblake@redhat.com>
56156         perror: avoid spurious test failure on HP-UX
56157         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
56159         tests: fix logic bug in init.sh
56160         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
56161         shell.
56163 2011-05-24  Jim Meyering  <meyering@redhat.com>
56165         utimensat: do not reference an out-of-scope buffer
56166         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
56167         declared in an inner scope, yet "times" would be dereferenced outside
56168         the scope in which "ts" was valid.
56169         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
56170         of ts[2] "out/up", so that the use of aliased "times" (via
56171         "times = ts;") does not end up referencing an out-of-scope "ts"
56173         opendir-safer.c: don't clobber errno; don't close negative FD
56174         * lib/opendir-safer.c (opendir_safer):
56175         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
56176         file descriptor, and more importantly, don't clobber the
56177         offending errno value with EINVAL.  Before, upon failure
56178         of dup_safer, we would pass the negative file descriptor to
56179         fdopendir, which would clobber errno.
56181 2011-05-23  Bruno Haible  <bruno@clisp.org>
56183         idcache: Fix module description.
56184         * modules/idcache (Include): Set to "idcache.h".
56186 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
56188         gnulib-tool: fix portability problem with MacOS sed
56189         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
56190         before the "}".  Problem reported by Leo in
56191         <http://lists.gnu.org/r/emacs-devel/2011-05/msg00717.html>.
56192         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
56193         sed_extract_condition1, sed_extract_condition2.
56195 2011-05-23  Bruno Haible  <bruno@clisp.org>
56197         hash: Simplify autoconf macro.
56198         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
56200 2011-05-23  Bruno Haible  <bruno@clisp.org>
56202         getugroups: Fix module description.
56203         * modules/getugroups (Include): Set to "getugroups.h".
56205 2011-05-23  Bruno Haible  <bruno@clisp.org>
56207         linkat: Simplify autoconf macro.
56208         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
56210 2011-05-23  Bruno Haible  <bruno@clisp.org>
56211             Eric Blake  <eblake@redhat.com>
56213         linkat, renameat: Update dependencies.
56214         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
56215         * modules/linkat (Depends-on): Likewise. Remove also readlink,
56216         symlinkat.
56218 2011-05-23  Jim Meyering  <meyering@redhat.com>
56220         maint.mk: more tight_scope improvements
56221         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
56222         (_gl_TS_headers): Define only in if-0'd block.
56223         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
56224         sometimes we must *not* use it.  Adjust uses accordingly.
56225         (sc_tight_scope): Use much simpler grep-based test to determine
56226         whether we skip this rule.
56228         maint.mk: generalize/improve the tight-scope rule
56229         * top/maint.mk: Emit a warning when the test is skipped.
56230         (_gl_TS_dir): Add $(srcdir)/ prefix.
56231         (_gl_TS_function_match): Simplify, rather than trying
56232         to enumerate common types.  Otherwise, it would fail to match an
56233         "extern unsigned char const *" declaration in idutils.
56234         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
56235         a way to support use of that type of macro.
56236         (_gl_TS_var_match): Simplify regexp.
56237         (_gl_TS_obj_files): New configurable variable.
56238         (_gl_TS_headers): Likewise.
56240 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
56242         verify: fix bug when gnulib <assert.h> is also included
56243         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
56244         is defined, not if _GL_STATIC_ASSERT_H is not defined.
56245         Perhaps there's a better way, but this fixes the immediate problem.
56246         Problem reported by Bruno Haible in
56247         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00478.html>.
56249 2011-05-22  Bruno Haible  <bruno@clisp.org>
56251         xgetcwd: Simplify autoconf macro.
56252         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
56254 2011-05-22  Bruno Haible  <bruno@clisp.org>
56256         New module 'mktime-internal'.
56257         * modules/mktime-internal: New file.
56258         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
56259         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
56260         mktime_internal as a C macro if libc has __mktime_internal.
56261         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
56262         conditions.
56263         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
56265 2011-05-22  Bruno Haible  <bruno@clisp.org>
56267         timegm: Correct mktime replacement statements.
56268         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
56269         defining mktime as a C macro. This completes a 2009-07-28 commit.
56271 2011-05-22  Bruno Haible  <bruno@clisp.org>
56273         timegm: Simplify autoconf macro.
56274         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
56276 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
56278         clock-time: change to LGPLv2+.
56279         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
56280         BSD-like but we have no mark for that; this is good enough for now.
56282 2011-05-21  Bruno Haible  <bruno@clisp.org>
56284         strerror_r: Fix comments.
56285         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
56287 2011-05-21  Bruno Haible  <bruno@clisp.org>
56289         relocatable-prog-wrapper: Fix possible link error.
56290         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
56291         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
56292         (gl_FUNC_SETENV): ... to here.
56293         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
56294         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
56296 2011-05-21  Bruno Haible  <bruno@clisp.org>
56298         relocatable-prog-wrapper: Assume strerror() exists.
56299         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
56300         m4/strerror.m4.
56301         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
56302         * lib/relocwrapper.c: Remove mention of strerror module.
56303         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
56304         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
56305         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
56306         C macro.
56308 2011-05-21  Bruno Haible  <bruno@clisp.org>
56310         select: Simplify replacement idiom.
56311         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
56312         Win32 platforms.
56313         * lib/sys_select.in.h (select): Simplify accordingly.
56314         * modules/select (Depends-on): Likewise.
56316 2011-05-21  Bruno Haible  <bruno@clisp.org>
56318         mkdir-p: Simplify autoconf macro.
56319         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
56320         gl_FUNC_LCHOWN.
56322 2011-05-21  Eric Blake  <eblake@redhat.com>
56324         strerror_r: avoid clobbering strerror on cygwin
56325         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
56326         fall back instead to sys_errlist.
56327         * modules/strerror (configure.ac): Add witness.
56328         * tests/test-strerror_r.c (main): Enhance test.
56329         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
56330         * tests/test-perror2.c (main): Free memory before exit.
56332 2011-05-21  Bruno Haible  <bruno@clisp.org>
56334         mkdtemp: Use gnulib naming conventions.
56335         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
56336         * modules/mkdtemp (configure.ac): Update.
56338 2011-05-20  Eric Blake  <eblake@redhat.com>
56340         strerror_r: avoid corrupting errno on Solaris
56341         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
56342         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
56344         strerror_r: avoid compiler warning
56345         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
56347         strerror_r: simplify AIX code
56348         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
56350         test-perror: avoid spurious failure on FreeBSD
56351         * modules/perror-tests (Depends-on): Add strerror, now that
56352         strerror_r no longer pulls it in.
56354 2011-05-20  Bruno Haible  <bruno@clisp.org>
56356         strerror_r-posix: Remove unused dependencies.
56357         * modules/strerror_r-posix (Depends-on): Remove strerror.
56358         Reported by Eric Blake.
56360 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
56362         intprops: remove assumption about A|B representation
56363         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
56364         is a valid integer if both A and B are.  Although this is true for
56365         all known practical hosts, the C standard doesn't guarantee it,
56366         and the code need not assume it.  Also, this change may work around
56367         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
56368         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00426.html>.
56370 2011-05-20  Eric Blake  <eblake@redhat.com>
56372         perror: work around FreeBSD bug
56373         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
56374         is broken.  Move AC_LIBOBJ...
56375         * modules/perror (configure.ac): Here.
56376         * doc/posix-functions/perror.texi (perror): Document this.
56377         * tests/test-perror2.c (main): Enhance test.
56379         test-perror: check for strerror interactions
56380         * tests/macros.h (STREQ): Add macro.
56381         * modules/perror-tests (Files): Add second test.
56382         * tests/test-perror2.c (main): New file.
56383         * doc/posix-functions/perror.texi (perror): Document glibc bug.
56385         test-perror: rewrite to use init script
56386         * modules/perror-tests (Files): Add init.sh.
56387         * tests/test-perror.sh: Use temporary directory.
56389 2011-05-20  Jim Meyering  <meyering@redhat.com>
56391         maint: replace misused "a" with "an"
56392         * doc/intprops.texi: "a integer"
56393         * doc/regex.texi: "a explanation"
56394         * lib/alignof.h: "a object"
56395         * lib/argmatch.h: "a explanation"
56396         * lib/argp-help.c: "a option" and "a OPTION_DOC"
56397         * lib/stdint.in.h: "a integer"
56398         * lib/userspec.c: "a owner"
56399         * doc/gnulib.texi: Fix "a idea", and reword.
56401 2011-05-19  Jim Meyering  <meyering@redhat.com>
56403         maint: correct misuse of "a" and "an"
56404         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
56405         * lib/argp-help.c: "an docum...": s/an/a/
56406         * lib/argp-parse.c: "An vector": s/An/A/
56407         * lib/execute.c: "an native": s/an/a/
56408         * lib/spawn-pipe.c: Likewise.
56409         * lib/gc.h: "an Gc_rc": s/an/a/
56410         * lib/unigbrk.in.h: "an grapheme": s/an/a/
56411         * lib/fts.c: "an stat.st_dev": s/an/a/
56413 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
56415         intprops-tests: work around HP-UX 11.23 cc bug with constants
56416         * tests/test-intprops.c (VERIFY): New macro.
56417         (main): Use it, instead of verify, to work around the compiler bug; see
56418         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00401.html>.
56420         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
56421         See http://lists.gnu.org/r/bug-gnulib/2011-05/msg00406.html
56422         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
56423         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
56424         (_GL_REMAINDER_OVERFLOW): Use it.
56426         intprops-tests: revert unsigned part of previous change
56427         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
56428         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
56429         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
56430         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00406.html>.
56432 2011-05-19  Bruno Haible  <bruno@clisp.org>
56434         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
56435         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
56436         strerror_r() returned without filling the buffer.
56437         Reported by Eric Blake.
56439 2011-05-19  Eric Blake  <eblake@redhat.com>
56441         strerror_r: guarantee unchanged errno
56442         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
56443         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
56444         failure.
56445         * tests/test-strerror_r.c (main): Enhance test.
56447 2011-05-19  Bruno Haible  <bruno@clisp.org>
56449         strerror_r: Reorder #if blocks.
56450         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
56451         for consistency with the previous commit.
56453 2011-05-19  Bruno Haible  <bruno@clisp.org>
56455         perror: Avoid clobbering the strerror buffer when possible.
56456         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
56457         * lib/strerror.c: Include it.
56458         * modules/strerror (Files): Add lib/strerror-impl.h.
56459         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
56460         (my_strerror): New function, defined through lib/strerror-impl.h.
56461         (perror): Use it instead of strerror.
56462         * modules/perror (Files): Add lib/strerror-impl.h.
56463         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
56465 2011-05-19  Eric Blake  <eblake@redhat.com>
56467         strerror_r: fix on newer cygwin
56468         * lib/strerror_r.c (strerror_r): Cygwin now has
56469         __xpg_strerror_r, use it.
56471 2011-05-19  Bruno Haible  <bruno@clisp.org>
56473         strerror_r: Avoid clobbering the strerror buffer when possible.
56474         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
56475         (sys_nerr, sys_errlist): New declarations.
56476         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
56477         HP-UX, native Win32, IRIX, and 32-bit Solaris.
56478         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
56480 2011-05-19  Bruno Haible  <bruno@clisp.org>
56482         strerror_r: Fix test failure on mingw.
56483         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
56484         EXTEND_STRERROR_R.
56485         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
56486         macros from errno.in.h instead.
56488 2011-05-19  Eric Blake  <eblake@redhat.com>
56490         strerror: relax test for Solaris
56491         * tests/test-strerror.c (main): Permit Solaris behavior.
56492         * tests/test-strerror_r.c (main): Likewise.
56494         strerror: enforce POSIX ruling on strerror(0)
56495         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
56496         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
56497         * lib/strerror_r.c (rpl_strerror_r): Work around it.
56498         * doc/posix-functions/strerror.texi (strerror): Document it.
56499         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
56500         * tests/test-strerror.c (main): Strengthen test.
56501         * tests/test-strerror_r.c (main): Likewise.
56503 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
56505         intprop-tests: port to older and more-pedantic compilers
56506         * modules/intprops-tests (Files): Add tests/macros.h.
56507         * tests/test-intprops.c: Include macros.h.
56508         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
56509         it's no longer documented to expand to an integer constant expression.
56510         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
56511         argument is floating point, as it's no longer documented to expand
56512         to an integer constant expression in that case.
56513         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
56514         compiler bugs reported by Bruno Haible.  See
56515         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00401.html>.
56516         (U0, U1): New constants, to work around the same bugs.  Also,
56517         in tests, use e.g., "(unsigned int) 39" rather than "39u".
56519         intprops: work around C compiler bugs
56520         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
56521         bug in Sun C 5.11 2010/08/13 and other compilers; see
56522         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00401.html>.
56524         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
56525         * doc/intprops.texi (Integer Type Determination): Fix
56526         documentation for TYPE_IS_INTEGER: it returns an constant
56527         expression, not an integer constant expression.  Fix doc for
56528         TYPE_SIGNED: it returns an integer constant expression only if its
56529         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
56530         hardly worth documented that way....)
56532 2011-05-18  Bruno Haible  <bruno@clisp.org>
56534         strerror_r: Avoid clobbering the strerror buffer when possible.
56535         * lib/strerror_r.c (strerror_r): Merge the three implementations.
56536         Handle gnulib defined errno values here. When strerror() returns NULL
56537         or an empty string, return EINVAL.
56538         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
56539         gnulib defined errno values here.
56540         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
56542 2011-05-18  Eric Blake  <eblake@redhat.com>
56544         fnmatch: avoid compiler warning
56545         * lib/fnmatch_loop.c (FCT): Use correct type.
56546         Reported by Matthias Bolte.
56548 2011-05-13  Jim Meyering  <meyering@redhat.com>
56550         maint.mk: three new prohibit_<HDR>_without_use rules
56551         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
56552         (sc_prohibit_stdio-safer_without_use): Likewise.
56553         (sc_prohibit_xfreopen_without_use): Likewise.
56555 2011-05-17  Jim Meyering  <meyering@redhat.com>
56557         announce-gen: fail if the NEWS delta is empty
56558         If there's nothing noteworthy in NEWS, then either you forgot
56559         or you shouldn't be releasing.
56560         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
56562 2011-05-17  Pádraig Brady  <P@draigBrady.com>
56564         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
56565         reserved symbols starting with double underscore from the check.
56567 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
56569         intprops: add doc
56570         * doc/intprops.texi: New file, documenting intprops.
56571         * doc/gnulib.texi (Particular Modules): Include it.
56573         verify: add doc to gnulib manual and fix example
56574         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
56575         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
56576         (Compile-time Assertions): Fix example so it can't overflow.
56578 2011-05-17  Jim Meyering  <meyering@redhat.com>
56580         warnings.m4: don't usurp save_CPPFLAGS variable name
56581         * m4/warnings.m4: Prefix local temporary variable name with gl_.
56583         doc: fix typo
56584         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
56586 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
56587             Bruno Haible  <bruno@clisp.org>
56589         doc: Tweak recent change.
56590         * README (Portability guidelines): Tweak new text.
56591         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
56592         Interix 6.1.
56594 2011-05-16  Eric Blake  <eblake@redhat.com>
56596         inttypes: avoid autoconf warning
56597         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
56598         * m4/stdint.m4 (gl_STDINT_H): Likewise.
56600 2011-05-16  Sam Steingold  <sds@gnu.org>
56601         and Eric Blake  <eblake@redhat.com>
56603         vc-list-files: accept multiple directory operands
56604         * build-aux/vc-list-files: Iterate over all remaining operands.
56606 2011-05-16  Bruno Haible  <bruno@clisp.org>
56608         Fix confusion regarding deprecated modules.
56609         * modules/calloc (Status, Notice): Mark module as deprecated, not
56610         obsolete.
56611         * modules/fnmatch-posix (Status, Notice): Likewise.
56612         * modules/getdate (Status, Notice): Likewise.
56613         * modules/getopt (Status, Notice): Likewise.
56614         * modules/malloc (Status, Notice): Likewise.
56615         * modules/pipe (Status, Notice): Likewise.
56616         * modules/realloc (Status, Notice): Likewise.
56617         * modules/rename-dest-slash (Status, Notice): Likewise.
56618         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
56619         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
56620         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
56621         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
56622         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
56624 2011-05-16  Bruno Haible  <bruno@clisp.org>
56626         doc: List the target platforms.
56627         * doc/gnulib-intro.texi (Target Platforms): New section.
56628         * doc/gnulib.texi (Introduction): Update menu.
56629         * README (Portability guidelines): Refer to the new section. Update
56630         statement about oldest supported environment. Remove rationale why
56631         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
56632         unportable C89 function.
56633         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
56634         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
56636 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
56638         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
56640 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
56642         intprops-tests: new module
56643         * modules/intprops-tests, tests/test-intprops.c: New files.
56645         intprops: add safe, portable integer overflow checking
56646         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
56647         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
56648         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
56649         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
56650         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
56651         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
56652         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
56653         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
56654         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
56655         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
56656         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
56658 2011-05-12  James Youngman  <jay@gnu.org>
56660         Add a test for glibc's Bugzilla bug #12378.
56661         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
56662         doesn't allow the literal matching of a lone "[" (which is
56663         required by POSIX).
56664         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
56666 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
56668         Sync glibc change fixing Bugzilla bug #12378.
56669         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
56670         beginning and fall back to matching as normal character if the
56671         string ends before the matching ']' is found.  This is what POSIX
56672         requires.
56674 2011-05-13  Eric Blake  <eblake@redhat.com>
56676         getcwd-lgpl: relax test for FreeBSD
56677         * doc/posix-functions/getcwd.texi (getcwd): Document portability
56678         issue.
56679         * tests/test-getcwd-lgpl.c (main): Relax test.
56680         Reported by Matthias Bolte.
56682 2011-05-11  Eric Blake  <eblake@redhat.com>
56684         test-fflush: silence compiler warning
56685         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
56687 2011-05-11  Bruno Haible  <bruno@clisp.org>
56689         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
56690         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
56691         * modules/canonicalize (Depends-on): Add 'nocrash'.
56692         * modules/canonicalize-lgpl (Depends-on): Likewise.
56693         * doc/posix-functions/realpath.texi: Update platforms list.
56694         Reported by Ryan Schmidt <ryandesign@macports.org>.
56696 2011-05-11  Bruno Haible  <bruno@clisp.org>
56698         group-member: Declare function in <unistd.h>.
56699         * lib/unistd.in.h (group_member): New declaration.
56700         * lib/group-member.h: Remove file.
56701         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
56702         * tests/test-unistd-c++.cc: Check signature of group_member.
56703         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
56704         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
56705         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
56706         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
56707         HAVE_GROUP_MEMBER.
56708         * modules/group-member (Files): Remove lib/group-member.h.
56709         (Depends-on): Add unistd. Specify conditions.
56710         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
56711         (Include): Change to <unistd.h>.
56712         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
56713         HAVE_GROUP_MEMBER.
56714         * NEWS: Mention the change.
56715         * lib/euidaccess.c: Don't include group-member.h.
56717 2011-05-11  Bruno Haible  <bruno@clisp.org>
56719         group-member: Document module.
56720         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
56721         module.
56723 2011-05-11  Bruno Haible  <bruno@clisp.org>
56725         fclose: Fix mistake earlier today.
56726         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
56728 2011-05-11  Eric Blake  <eblake@redhat.com>
56730         fclose: preserve fflush errors
56731         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
56732         Reported by Jim Meyering.
56734         bootstrap: support a prereq of 'rpcgen -' on RHEL5
56735         * build-aux/bootstrap (check_versions): When no specific version
56736         is required, merely check that the app produces an exit status
56737         that indicates its existence.
56739         maint.mk: drop redundant check
56740         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
56741         the same but better.
56743 2011-05-11  Bruno Haible  <bruno@clisp.org>
56745         fclose: Fix possible link error.
56746         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
56747         unregister_shadow_fd. Improve comments.
56748         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
56749         Eric Blake.
56751 2011-05-11  Jim Meyering  <meyering@redhat.com>
56753         maint.mk: improve "can not" detection and generalize rule name
56754         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
56755         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
56756         Use the same technique as in sc_prohibit_doubled_word, so that
56757         we recognize "can not" also when the words are separated by a newline.
56758         Suggested by Eric Blake.
56759         (perl_filename_lineno_text_): Define.  Factored out of...
56760         (prohibit_doubled_word_): ...here.  Use the new definition.
56761         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
56762         (prohibit_undesirable_word_seq_RE_): New overridable variable.
56763         (ignore_undesirable_word_sequence_RE_): New overridable variable.
56765 2011-05-10  Eric Blake  <eblake@redhat.com>
56767         fclose: avoid double close race when possible
56768         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
56769         all but WINDOWS_SOCKETS.
56771 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
56773         openat: correct new comment
56774         * lib/openat-proc.c (openat_proc_name): Correct the comment.
56776 2011-05-10  Jim Meyering  <meyering@redhat.com>
56778         openat: add comments
56779         * lib/openat-proc.c (openat_proc_name): Add comments,
56780         mostly from Eric Blake.
56782 2011-05-09  Eric Blake  <eblake@redhat.com>
56784         openat: reduce syscalls in first probe of /proc
56785         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
56786         be a directory.  Simplify the probe for .. bugs.
56787         * modules/openat (Depends-on): Drop same-inode.
56788         Reported by Bastien ROUCARIES.
56790 2011-05-09  Jim Meyering  <meyering@redhat.com>
56792         maint.mk: change semantics/name of tight_scope variables
56793         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
56794         Rename variables to align with semantics that make them more useful.
56796         maint.mk: tweak new rule's name not to impinge
56797         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
56798         (sc_tight_scope): Use new rule name rather than $@-0.
56800         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
56801         * top/maint.mk (sc_tight_scope): New rule.
56802         (sc_tight_scope-0): New rule, ifdef'd out.
56803         (_gl_TS_dir): Default.
56804         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
56805         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
56807 2011-05-09  Simon Josefsson  <simon@josefsson.org>
56809         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
56810         Haible <bruno@clisp.org>.
56812 2011-05-08  Bruno Haible  <bruno@clisp.org>
56814         Comments.
56815         * m4/isnanf.m4: Add comment.
56816         * m4/isnanl.m4: Likewise.
56818 2011-05-08  Bruno Haible  <bruno@clisp.org>
56820         glob: Remove obsolete macro.
56821         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
56823 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
56825         intprops: Sun C 5.11 supports __typeof__
56826         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
56827         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
56828         which is new.
56829         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
56831         intprops: switch to usual gnulib indenting and naming
56832         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
56833         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
56835         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
56837 2011-05-08  Jim Meyering  <meyering@redhat.com>
56839         maint.mk: suppress "Entering/Leaving directory" diag in announcement
56840         * top/maint.mk (release-prep): Use make's --no-print-directory
56841         option when generating the announcement.  This eliminates the
56842         pesky "make[2]: Entering/Leaving directory" diagnostics in the
56843         generated announcement template.
56845 2011-05-08  Bruno Haible  <bruno@clisp.org>
56847         tzset: Fix gettimeofday wrapper on Solaris 2.6.
56848         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
56849         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
56851 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
56853         ignore-value, verify: Omit include files from lib_SOURCES.
56854         * modules/ignore-value, modules/verify (Makefile.am):
56855         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
56856         that leads Automake to duplicate use of am__objects_... variables
56857         in Makefile.in.  See
56858         <http://lists.gnu.org/r/emacs-devel/2011-05/msg00257.html>.
56860 2011-05-07  Bruno Haible  <bruno@clisp.org>
56862         fclose: Simplify autoconf macro.
56863         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
56864         defined.
56866 2011-05-07  Bruno Haible  <bruno@clisp.org>
56868         canonicalize-lgpl: Fix autoconf macro ordering bug.
56869         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
56870         gl_STDLIB_H_DEFAULTS.
56872 2011-05-06  Eric Blake  <eblake@redhat.com>
56874         maintainer-makefile: make sc_po_check easier to tune
56875         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
56876         to probe for strings, such as an alternate location for gnulib.
56878         fclose: guarantee behavior on seekable stdin
56879         * modules/fclose (Depends-on): Add fflush.
56880         * doc/posix-functions/fclose.texi (fclose): Document this.
56881         * tests/test-fclose.c (main): Make test for this unconditional.
56883 2011-05-06  Bruno Haible  <bruno@clisp.org>
56885         fflush, fpurge: Relicense under LGPLv2+.
56886         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
56887         * modules/fpurge (License): Likewise.
56888         With permission from Eric Blake and Jim Meyering.
56889         Suggested by Eric Blake.
56891 2011-05-06  Karl Berry  <karl@gnu.org>
56893         * MODULES.html.sh (func_all_modules): remove exit.
56895 2011-05-06  Jim Meyering  <meyering@redhat.com>
56897         maint.mk: use info-gnu@ as the default only for a stable release
56898         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
56899         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
56900         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
56901         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
56903 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
56905         assert-h: new module, which supports C1X-style static_assert
56906         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
56907         * lib/verify.h: Revamp so that this can be copied into assert.h,
56908         while retaining the ability to use it standalone as before.
56909         Rename private identifiers so as not to encroach on the
56910         standard C namespace, since this is now used by assert.h.
56911         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
56912         the old verify_true.
56913         (_GL_VERIFY_TRUE): New macro, with much of the contents of
56914         the old verify_true.  Use _GL_VERIFY_TYPE.
56915         (_GL_VERIFY): New macro, with much of the contents of the old verify.
56916         (static_assert): New macro, if _GL_STATIC_ASSERT_H
56917         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
56918         defined when this file is copied into the replacement assert.h.
56919         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
56920         and _Static_assert is not built in.
56921         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
56922         defined, and use the new macros mentioned above.
56923         * doc/posix-headers/assert.texi: Document this.
56925 2011-05-05  Bruno Haible  <bruno@clisp.org>
56927         fclose, fflush: Respect rules for use of AC_LIBOBJ.
56928         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
56929         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
56930         gl_REPLACE_FCLOSE here.
56931         * modules/fflush (Depends-on): Remove fclose.
56932         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
56933         combination with module 'fclose'.
56935 2011-05-05  Bruno Haible  <bruno@clisp.org>
56937         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
56938         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
56939         gl_FUNC_FFLUSH.
56940         (gl_FUNC_FFLUSH): Use it.
56941         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
56942         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
56943         gl_REPLACE_FSEEKO here.
56945 2011-05-05  Bruno Haible  <bruno@clisp.org>
56947         tzset: Relicense under LGPL.
56948         * modules/tzset (License): Change to LGPL.
56949         No agreement needed; it's a no-op.
56951         strtoimax, strtoumax: Relicense under LGPL.
56952         * modules/strtoimax (License): Change to LGPL.
56953         * modules/strtoumax (License): Likewise.
56954         With permission from Jim Meyering, Paul Eggert:
56955         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00124.html>
56956         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00109.html>
56958         getgroups: Relicense under LGPL.
56959         * modules/getgroups (License): Change to LGPL.
56960         With permission from Jim Meyering, Paul Eggert, Eric Blake:
56961         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00111.html>
56962         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00148.html>
56963         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00138.html>
56965         nanosleep: Relicense under LGPL.
56966         * modules/nanosleep (License): Change to LGPL.
56967         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
56968         Haible:
56969         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00111.html>
56970         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00148.html>
56971         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00138.html>
56972         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00131.html>
56974         futimens: Relicense under LGPL.
56975         * modules/futimens (License): Change to LGPL.
56976         With permission from Eric Blake:
56977         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00138.html>
56979         fflush: Relicense under LGPL.
56980         * modules/fflush (License): Change to LGPL.
56981         With permission from Eric Blake, Bruno Haible, Jim Meyering:
56982         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00138.html>
56983         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00131.html>
56984         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00133.html>
56986         tmpfile: Relicense under LGPL.
56987         * modules/tmpfile (License): Change to LGPL.
56988         With permission from Ben Pfaff:
56989         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00185.html>
56991         isfinite: Relicense under LGPL.
56992         * modules/isfinite (License): Change to LGPL.
56993         With permission from Ben Pfaff, Bruno Haible:
56994         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00185.html>
56995         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00130.html>
56997         acosl..tanl: Relicense under LGPL.
56998         * modules/acosl (License): Change to LGPL.
56999         * modules/asinl (License): Likewise.
57000         * modules/atanl (License): Likewise.
57001         * modules/cosl (License): Likewise.
57002         * modules/expl (License): Likewise.
57003         * modules/logl (License): Likewise.
57004         * modules/sinl (License): Likewise.
57005         * modules/sqrtl (License): Likewise.
57006         * modules/tanl (License): Likewise.
57007         Source code originally from glibc and Paolo Bonzini. Agreements:
57008         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00137.html>
57009         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00128.html>
57011 2011-05-05  Bruno Haible  <bruno@clisp.org>
57013         signal: Define sighandler_t.
57014         * lib/signal.in.h (sighandler_t): New type.
57015         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
57016         whether sighandler_t is defined.
57017         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
57018         * modules/signal (Depends-on): Add extensions.
57019         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
57020         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
57021         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
57023 2011-05-05  Eric Blake  <eblake@redhat.com>
57025         maint: remove useless REPLACE_*_H macros
57026         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
57027         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
57028         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
57029         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
57030         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
57031         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
57032         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
57033         * m4/btowc.m4: Update callers.
57034         * m4/dirfd.m4: Likewise.
57035         * m4/duplocale.m4: Likewise.
57036         * m4/fchdir.m4: Likewise.
57037         * m4/fdopendir.m4: Likewise.
57038         * m4/inet_ntop.m4: Likewise.
57039         * m4/inet_pton.m4: Likewise.
57040         * m4/ioctl.m4: Likewise.
57041         * m4/mbrlen.m4: Likewise.
57042         * m4/mbrtowc.m4: Likewise.
57043         * m4/mbsinit.m4: Likewise.
57044         * m4/mbsnrtowcs.m4: Likewise.
57045         * m4/mbsrtowcs.m4: Likewise.
57046         * m4/poll.m4: Likewise.
57047         * m4/setlocale.m4: Likewise.
57048         * m4/wcrtomb.m4: Likewise.
57049         * m4/wcsnrtombs.m4: Likewise.
57050         * m4/wcsrtombs.m4: Likewise.
57051         * m4/wctob.m4: Likewise.
57052         * m4/wcwidth.m4: Likewise.
57053         * modules/posix_spawn: Likewise.
57054         * modules/posix_spawn_file_actions_addclose: Likewise.
57055         * modules/posix_spawn_file_actions_adddup2: Likewise.
57056         * modules/posix_spawn_file_actions_addopen: Likewise.
57057         * modules/posix_spawn_file_actions_destroy: Likewise.
57058         * modules/posix_spawn_file_actions_init: Likewise.
57059         * modules/posix_spawnattr_destroy: Likewise.
57060         * modules/posix_spawnattr_getflags: Likewise.
57061         * modules/posix_spawnattr_getpgroup: Likewise.
57062         * modules/posix_spawnattr_getschedparam: Likewise.
57063         * modules/posix_spawnattr_getschedpolicy: Likewise.
57064         * modules/posix_spawnattr_getsigdefault: Likewise.
57065         * modules/posix_spawnattr_getsigmask: Likewise.
57066         * modules/posix_spawnattr_init: Likewise.
57067         * modules/posix_spawnattr_setflags: Likewise.
57068         * modules/posix_spawnattr_setpgroup: Likewise.
57069         * modules/posix_spawnattr_setschedparam: Likewise.
57070         * modules/posix_spawnattr_setschedpolicy: Likewise.
57071         * modules/posix_spawnattr_setsigdefault: Likewise.
57072         * modules/posix_spawnattr_setsigmask: Likewise.
57073         * modules/posix_spawnp: Likewise.
57075 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
57077         Add option to do-release-commit-and-tag to specify branch.
57078         * build-aux/do-release-commit-and-tag: Add --branch.
57080 2011-05-03  Bruno Haible  <bruno@clisp.org>
57082         Avoid unnecessary compilation units, through conditional dependencies.
57083         * modules/accept (Depends-on): Add conditions to the dependencies.
57084         * modules/acosl (Depends-on): Likewise.
57085         * modules/argz (Depends-on): Likewise.
57086         * modules/asinl (Depends-on): Likewise.
57087         * modules/atanl (Depends-on): Likewise.
57088         * modules/atoll (Depends-on): Likewise.
57089         * modules/bind (Depends-on): Likewise.
57090         * modules/btowc (Depends-on): Likewise.
57091         * modules/canonicalize-lgpl (Depends-on): Likewise.
57092         * modules/ceil (Depends-on): Likewise.
57093         * modules/ceilf (Depends-on): Likewise.
57094         * modules/ceill (Depends-on): Likewise.
57095         * modules/chdir-long (Depends-on): Likewise.
57096         * modules/chown (Depends-on): Likewise.
57097         * modules/close (Depends-on): Likewise.
57098         * modules/connect (Depends-on): Likewise.
57099         * modules/cosl (Depends-on): Likewise.
57100         * modules/dirfd (Depends-on): Likewise.
57101         * modules/dprintf (Depends-on): Likewise.
57102         * modules/dprintf-posix (Depends-on): Likewise.
57103         * modules/error (Depends-on): Likewise.
57104         * modules/euidaccess (Depends-on): Likewise.
57105         * modules/expl (Depends-on): Likewise.
57106         * modules/faccessat (Depends-on): Likewise.
57107         * modules/fchdir (Depends-on): Likewise.
57108         * modules/fclose (Depends-on): Likewise.
57109         * modules/fcntl (Depends-on): Likewise.
57110         * modules/fdopendir (Depends-on): Likewise.
57111         * modules/fflush (Depends-on): Likewise.
57112         * modules/floor (Depends-on): Likewise.
57113         * modules/floorf (Depends-on): Likewise.
57114         * modules/floorl (Depends-on): Likewise.
57115         * modules/fnmatch (Depends-on): Likewise.
57116         * modules/fopen (Depends-on): Likewise.
57117         * modules/fprintf-posix (Depends-on): Likewise.
57118         * modules/frexp (Depends-on): Likewise.
57119         * modules/frexp-nolibm (Depends-on): Likewise.
57120         * modules/frexpl (Depends-on): Likewise.
57121         * modules/frexpl-nolibm (Depends-on): Likewise.
57122         * modules/fseek (Depends-on): Likewise.
57123         * modules/fsusage (Depends-on): Likewise.
57124         * modules/ftell (Depends-on): Likewise.
57125         * modules/ftello (Depends-on): Likewise.
57126         * modules/futimens (Depends-on): Likewise.
57127         * modules/getcwd (Depends-on): Likewise.
57128         * modules/getcwd-lgpl (Depends-on): Likewise.
57129         * modules/getdelim (Depends-on): Likewise.
57130         * modules/getdomainname (Depends-on): Likewise.
57131         * modules/getgroups (Depends-on): Likewise.
57132         * modules/gethostname (Depends-on): Likewise.
57133         * modules/getline (Depends-on): Likewise.
57134         * modules/getlogin_r (Depends-on): Likewise.
57135         * modules/getopt-posix (Depends-on): Likewise.
57136         * modules/getpeername (Depends-on): Likewise.
57137         * modules/getsockname (Depends-on): Likewise.
57138         * modules/getsockopt (Depends-on): Likewise.
57139         * modules/getsubopt (Depends-on): Likewise.
57140         * modules/getusershell (Depends-on): Likewise.
57141         * modules/glob (Depends-on): Likewise.
57142         * modules/grantpt (Depends-on): Likewise.
57143         * modules/iconv_open (Depends-on): Likewise.
57144         * modules/iconv_open-utf (Depends-on): Likewise.
57145         * modules/inet_ntop (Depends-on): Likewise.
57146         * modules/inet_pton (Depends-on): Likewise.
57147         * modules/ioctl (Depends-on): Likewise.
57148         * modules/isapipe (Depends-on): Likewise.
57149         * modules/isfinite (Depends-on): Likewise.
57150         * modules/isinf (Depends-on): Likewise.
57151         * modules/lchown (Depends-on): Likewise.
57152         * modules/ldexpl (Depends-on): Likewise.
57153         * modules/link (Depends-on): Likewise.
57154         * modules/linkat (Depends-on): Likewise.
57155         * modules/listen (Depends-on): Likewise.
57156         * modules/logl (Depends-on): Likewise.
57157         * modules/lstat (Depends-on): Likewise.
57158         * modules/mbrlen (Depends-on): Likewise.
57159         * modules/mbrtowc (Depends-on): Likewise.
57160         * modules/mbsinit (Depends-on): Likewise.
57161         * modules/mbsnrtowcs (Depends-on): Likewise.
57162         * modules/mbsrtowcs (Depends-on): Likewise.
57163         * modules/mbtowc (Depends-on): Likewise.
57164         * modules/memcmp (Depends-on): Likewise.
57165         * modules/mkdir (Depends-on): Likewise.
57166         * modules/mkdtemp (Depends-on): Likewise.
57167         * modules/mkfifo (Depends-on): Likewise.
57168         * modules/mkfifoat (Depends-on): Likewise.
57169         * modules/mknod (Depends-on): Likewise.
57170         * modules/mkostemp (Depends-on): Likewise.
57171         * modules/mkostemps (Depends-on): Likewise.
57172         * modules/mkstemp (Depends-on): Likewise.
57173         * modules/mkstemps (Depends-on): Likewise.
57174         * modules/mktime (Depends-on): Likewise.
57175         * modules/nanosleep (Depends-on): Likewise.
57176         * modules/open (Depends-on): Likewise.
57177         * modules/openat (Depends-on): Likewise.
57178         * modules/perror (Depends-on): Likewise.
57179         * modules/poll (Depends-on): Likewise.
57180         * modules/popen (Depends-on): Likewise.
57181         * modules/posix_spawn (Depends-on): Likewise.
57182         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
57183         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
57184         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
57185         * modules/posix_spawnp (Depends-on): Likewise.
57186         * modules/pread (Depends-on): Likewise.
57187         * modules/printf-posix (Depends-on): Likewise.
57188         * modules/ptsname (Depends-on): Likewise.
57189         * modules/putenv (Depends-on): Likewise.
57190         * modules/pwrite (Depends-on): Likewise.
57191         * modules/readline (Depends-on): Likewise.
57192         * modules/readlink (Depends-on): Likewise.
57193         * modules/readlinkat (Depends-on): Likewise.
57194         * modules/recv (Depends-on): Likewise.
57195         * modules/recvfrom (Depends-on): Likewise.
57196         * modules/regex (Depends-on): Likewise.
57197         * modules/remove (Depends-on): Likewise.
57198         * modules/rename (Depends-on): Likewise.
57199         * modules/renameat (Depends-on): Likewise.
57200         * modules/rmdir (Depends-on): Likewise.
57201         * modules/round (Depends-on): Likewise.
57202         * modules/roundf (Depends-on): Likewise.
57203         * modules/roundl (Depends-on): Likewise.
57204         * modules/rpmatch (Depends-on): Likewise.
57205         * modules/select (Depends-on): Likewise.
57206         * modules/send (Depends-on): Likewise.
57207         * modules/sendto (Depends-on): Likewise.
57208         * modules/setenv (Depends-on): Likewise.
57209         * modules/setlocale (Depends-on): Likewise.
57210         * modules/setsockopt (Depends-on): Likewise.
57211         * modules/shutdown (Depends-on): Likewise.
57212         * modules/sigaction (Depends-on): Likewise.
57213         * modules/signbit (Depends-on): Likewise.
57214         * modules/sigprocmask (Depends-on): Likewise.
57215         * modules/sinl (Depends-on): Likewise.
57216         * modules/sleep (Depends-on): Likewise.
57217         * modules/snprintf (Depends-on): Likewise.
57218         * modules/snprintf-posix (Depends-on): Likewise.
57219         * modules/socket (Depends-on): Likewise.
57220         * modules/sprintf-posix (Depends-on): Likewise.
57221         * modules/sqrtl (Depends-on): Likewise.
57222         * modules/stat (Depends-on): Likewise.
57223         * modules/strchrnul (Depends-on): Likewise.
57224         * modules/strdup-posix (Depends-on): Likewise.
57225         * modules/strerror (Depends-on): Likewise.
57226         * modules/strerror_r-posix (Depends-on): Likewise.
57227         * modules/strndup (Depends-on): Likewise.
57228         * modules/strnlen (Depends-on): Likewise.
57229         * modules/strptime (Depends-on): Likewise.
57230         * modules/strsep (Depends-on): Likewise.
57231         * modules/strsignal (Depends-on): Likewise.
57232         * modules/strstr-simple (Depends-on): Likewise.
57233         * modules/strtod (Depends-on): Likewise.
57234         * modules/strtoimax (Depends-on): Likewise.
57235         * modules/strtok_r (Depends-on): Likewise.
57236         * modules/strtoumax (Depends-on): Likewise.
57237         * modules/symlink (Depends-on): Likewise.
57238         * modules/symlinkat (Depends-on): Likewise.
57239         * modules/tanl (Depends-on): Likewise.
57240         * modules/tcgetsid (Depends-on): Likewise.
57241         * modules/tmpfile (Depends-on): Likewise.
57242         * modules/trunc (Depends-on): Likewise.
57243         * modules/truncf (Depends-on): Likewise.
57244         * modules/truncl (Depends-on): Likewise.
57245         * modules/uname (Depends-on): Likewise.
57246         * modules/unlink (Depends-on): Likewise.
57247         * modules/unlockpt (Depends-on): Likewise.
57248         * modules/unsetenv (Depends-on): Likewise.
57249         * modules/usleep (Depends-on): Likewise.
57250         * modules/utimensat (Depends-on): Likewise.
57251         * modules/vasprintf (Depends-on): Likewise.
57252         * modules/vdprintf (Depends-on): Likewise.
57253         * modules/vdprintf-posix (Depends-on): Likewise.
57254         * modules/vfprintf-posix (Depends-on): Likewise.
57255         * modules/vprintf-posix (Depends-on): Likewise.
57256         * modules/vsnprintf (Depends-on): Likewise.
57257         * modules/vsnprintf-posix (Depends-on): Likewise.
57258         * modules/vsprintf-posix (Depends-on): Likewise.
57259         * modules/wcrtomb (Depends-on): Likewise.
57260         * modules/wcscasecmp (Depends-on): Likewise.
57261         * modules/wcscspn (Depends-on): Likewise.
57262         * modules/wcsdup (Depends-on): Likewise.
57263         * modules/wcsncasecmp (Depends-on): Likewise.
57264         * modules/wcsnrtombs (Depends-on): Likewise.
57265         * modules/wcspbrk (Depends-on): Likewise.
57266         * modules/wcsrtombs (Depends-on): Likewise.
57267         * modules/wcsspn (Depends-on): Likewise.
57268         * modules/wcsstr (Depends-on): Likewise.
57269         * modules/wcstok (Depends-on): Likewise.
57270         * modules/wcswidth (Depends-on): Likewise.
57271         * modules/wctob (Depends-on): Likewise.
57272         * modules/wctomb (Depends-on): Likewise.
57273         * modules/wctype (Depends-on): Likewise.
57274         * modules/wcwidth (Depends-on): Likewise.
57275         * modules/write (Depends-on): Likewise.
57277 2011-05-03  Bruno Haible  <bruno@clisp.org>
57279         Support for conditional dependencies.
57280         * doc/gnulib.texi (Module description): Document the syntax of
57281         conditional dependencies.
57282         * gnulib-tool: New option --conditional-dependencies.
57283         (func_usage): Document it.
57284         (cond_dependencies): New variable.
57285         (func_get_automake_snippet_conditional,
57286         func_get_automake_snippet_unconditional): New functions, extracted from
57287         func_get_automake_snippet.
57288         (func_get_automake_snippet): Use them.
57289         (sed_first_32_chars): New variable.
57290         (func_module_shellfunc_name): New function.
57291         (func_module_shellvar_name): New function.
57292         (func_module_conditional_name): New function.
57293         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
57294         func_cond_module_condition): New functions.
57295         (func_modules_transitive_closure): Add support for conditional
57296         dependencies.
57297         (func_emit_lib_Makefile_am): For a conditional module, enclose the
57298         conditional automake snippet in an automake conditional.
57299         (func_emit_autoconf_snippets): Emit shell functions that contain the
57300         code for conditional modules.
57301         (func_import, func_create_testdir): Update specification.
57303 2011-05-03  Eric Blake  <eblake@redhat.com>
57305         test-getaddrinfo: report error information
57306         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
57308 2011-05-03  Jim Meyering  <meyering@redhat.com>
57310         bootstrap: avoid build failure when $GZIP is set
57311         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
57312         program name.  If defined at all, it is supposed to list gzip options.
57313         Reported by Alan Curry in http://debbugs.gnu.org/8609
57315 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
57317         readme-release: new module with release instructions
57318         * modules/readme-release: New module.
57319         * top/README-release: New file, from coreutils, grep, diffutils.
57320         * MODULES.html.sh (Support for maintaining and releasing): Add it.
57322 2011-05-02  Eric Blake  <eblake@redhat.com>
57324         fflush: also replace fclose when fixing fflush
57325         * modules/fflush (Depends-on): Add fclose.
57326         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
57327         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
57328         memstreams with no backing fd.
57329         * doc/posix-functions/fclose.texi (fclose): Document the use of
57330         fflush module to fix the bug.
57331         * tests/test-fclose.c (main): Relax test when fclose is used in
57332         isolation.
57334         fclose: add some tests
57335         * modules/fclose-tests: New test module.
57336         * tests/test-fclose.c: New file.
57337         * doc/posix-functions/fclose.texi (fclose): Document the bug.
57339         fclose: reduced dependencies
57340         * modules/fclose (Depends-on): Switch from fflush/fseeko to
57341         simpler lseek.
57342         * lib/fclose.c (rpl_fclose): Likewise.
57343         Reported by Simon Josefsson.
57345         exit: drop remaining clients
57346         * modules/argmatch (Depends-on): Replace exit with stdlib.
57347         * modules/copy-file (Depends-on): Likewise.
57348         * modules/execute (Depends-on): Likewise.
57349         * modules/exitfail (Depends-on): Likewise.
57350         * modules/obstack (Depends-on): Likewise.
57351         * modules/pagealign_alloc (Depends-on): Likewise.
57352         * modules/pipe-filter-gi (Depends-on): Likewise.
57353         * modules/pipe-filter-ii (Depends-on): Likewise.
57354         * modules/savewd (Depends-on): Likewise.
57355         * modules/spawn-pipe (Depends-on): Likewise.
57356         * modules/wait-process (Depends-on): Likewise.
57357         * modules/xsetenv (Depends-on): Likewise.
57358         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
57359         * modules/git-merge-changelog (Depends-on): Likewise.
57360         * modules/long-options (Depends-on): Likewise.
57361         * modules/pt_chown (Depends-on): Likewise.
57362         * modules/sysexits (Depends-on): Likewise.
57364         freading: relax license from LGPLv3+ to LGPLv2+
57365         * modules/freading (License): Relax LGPL version.
57367 2011-05-02  Bruno Haible  <bruno@clisp.org>
57369         fchdir: Remove unused dependencies.
57370         * modules/fchdir (Depends-on): Remove include_next.
57372 2011-05-02  Bruno Haible  <bruno@clisp.org>
57374         gnulib-tool: Refactor.
57375         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
57376         from func_emit_autoconf_snippets.
57377         (func_emit_autoconf_snippets): Use it.
57379 2011-05-02  Simon Josefsson  <simon@josefsson.org>
57381         * NEWS: Document removal of 'exit'.
57382         * modules/exit: Remove file.
57384 2011-05-01  Bruno Haible  <bruno@clisp.org>
57386         Update DEPENDENCIES.
57387         * DEPENDENCIES (gettext): Recommend the newest release.
57388         Reported by Simon Josefsson.
57390 2011-05-01  Bruno Haible  <bruno@clisp.org>
57392         gnulib-tool: Reduce code duplication.
57393         * gnulib-tool (func_emit_autoconf_snippets): New function.
57394         (func_import, func_create_testdir): Use it.
57396 2011-04-30  Eric Blake  <eblake@redhat.com>
57398         fclose: don't fail on non-seekable input stream
57399         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
57400         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
57401         since fflush is allowed to fail in that case.
57403 2011-04-30  Bruno Haible  <bruno@clisp.org>
57405         dup3: cleanup
57406         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
57408 2011-04-30  Bruno Haible  <bruno@clisp.org>
57410         netdb: Make it work in C++ mode.
57411         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
57412         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
57413         module.
57414         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
57415         gl_MODULE_INDICATOR_FOR_TESTS.
57416         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
57417         * modules/netdb-c++-tests: New file.
57418         * tests/test-netdb-c++.cc: New file.
57420 2011-04-30  Bruno Haible  <bruno@clisp.org>
57422         New modules 'vfscanf', 'vscanf'.
57423         * modules/vfscanf: New file.
57424         * modules/vscanf: New file.
57425         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
57426         here.
57427         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
57428         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
57430 2011-04-30  Bruno Haible  <bruno@clisp.org>
57432         passfd: Add comments.
57433         * lib/passfd.c: Add comments about platforms.
57435 2011-04-30  Bruno Haible  <bruno@clisp.org>
57437         sys_uio: Make <sys/uio.h> self-contained.
57438         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
57439         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
57441 2011-04-30  Bruno Haible  <bruno@clisp.org>
57443         sys_socket: Ensure 'struct iovec' definition.
57444         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
57445         <sys/socket.h>.
57446         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
57448 2011-04-30  Bruno Haible  <bruno@clisp.org>
57450         sys_uio: Protect definition of 'struct iovec'.
57451         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
57452         it as a C struct.
57454 2011-04-30  Bruno Haible  <bruno@clisp.org>
57456         manywarnings: fix indentation
57457         * m4/manywarnings.m4: Indent by 2 spaces consistently.
57459 2011-04-30  Pádraig Brady  <P@draigBrady.com>
57461         manywarnings: add -Wno-missing-field-initializers if needed.
57462         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
57463         option if it's needed to allow initialization with { 0, }
57465 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
57467         announce-gen: cosmetic improvement
57468         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
57470 2011-04-29  Jim Meyering  <meyering@redhat.com>
57472         vc-list-files: indent with spaces, not TABs
57473         * build-aux/vc-list-files: Convert leading TABs to spaces,
57474         to match the style of most other files in gnulib.
57476         announce-gen: indent with spaces, not TABs
57477         * build-aux/announce-gen: Convert all TABs to spaces, to match
57478         the style of most other files in gnulib.
57480 2011-04-29  Eric Blake  <eblake@redhat.com>
57482         quotearg: avoid uninitialized variable use
57483         * lib/quotearg.c (quoting_options_from_style): Initialize
57484         remaining fields, and ensure that custom styles are only used via
57485         quoting_options rather than quoting_style.
57487 2011-04-29  Jim Meyering  <meyering@redhat.com>
57489         maint.mk: remove unused VC-tag variable
57490         * top/maint.mk (VC-tag): Remove unused variable.
57492 2011-04-29  Bruno Haible  <bruno@clisp.org>
57494         netdb: fix gai_strerror replacements
57495         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
57496         * modules/netdb: Substitute it.
57498 2011-04-29  Jim Meyering  <meyering@redhat.com>
57500         test-getcwd.c: avoid new set-but-not-used warning
57501         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
57502         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
57503         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
57504         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
57506         test-hash.c: avoid a new shadowing warning
57507         * tests/test-hash.c (main): Don't shadow "dup".
57509 2011-04-28  Eric Blake  <eblake@redhat.com>
57511         getaddrinfo: fix gai_strerror signature
57512         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
57513         and work around mingw with UNICODE defined.
57514         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
57515         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
57516         * modules/netdb (Makefile.am): Substitute it.
57517         * lib/netdb.in.h (gai_strerror): Declare replacement.
57518         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
57519         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
57520         the fix.
57522         getsockopt: avoid compiler warning
57523         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
57524         Reported by Matthias Bolte.
57526         tests: drop unused link dependency
57527         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
57528         * modules/dirent-safer-tests (Makefile.am): Likewise.
57529         * modules/fdopendir-tests (Makefile.am): Likewise.
57530         * modules/mkfifoat-tests (Makefile.am): Likewise.
57531         * modules/openat-safer-tests (Makefile.am): Likewise.
57532         * modules/openat-tests (Makefile.am): Likewise.
57533         * modules/readlinkat-tests (Makefile.am): Likewise.
57534         * modules/symlinkat-tests (Makefile.am): Likewise.
57535         * modules/linkat-tests (Makefile.am): Likewise.
57536         (Depends-on): Switch to filenamecat-lgpl.
57537         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
57538         LIBINTL.
57539         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
57540         * tests/test-linkat.c (main): Don't require xalloc.
57542         hash, mgetgroups: drop xalloc dependency
57543         * lib/hash.c (includes): Adjust includes.
57544         * lib/mgetgroups.c (includes): Likewise.
57545         (xgetgroups): Move...
57546         * lib/xgetgroups.c: ...to new file.
57547         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
57548         * modules/xgetgroups: New file, split from...
57549         * modules/mgetgroups: ...here.
57550         (Depends-on): Add xalloc-oversized.
57551         * modules/hash (Depends-on): Likewise.
57552         * modules/hash-tests (Depends-on): Drop xalloc.
57553         (test_hash_LDADD): Drop unused library.
57554         * tests/test-hash.c (main): Break xalloc dependency.
57555         (includes): Drop unused include.
57557         xalloc-oversized: new module
57558         * modules/xalloc-oversized: New module.
57559         * modules/xalloc (Depends-on): Add it.
57560         * lib/xalloc.h (xalloc_oversized): Move...
57561         * lib/xalloc-oversized.h: ...into new file.
57563         utimecmp: drop dependency on xmalloc
57564         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
57565         due to memory pressure.
57566         * modules/utimecmp (Depends-on): Drop xalloc.
57568 2011-04-27  Eric Blake  <eblake@redhat.com>
57570         getcwd: fix mingw bugs
57571         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
57572         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
57573         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
57575 2011-04-27  Bruno Haible  <bruno@clisp.org>
57577         mkstemps: Ensure declaration on MacOS X 10.5.
57578         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
57579         * doc/glibc-functions/mkstemps.texi: Document header file problem on
57580         MacOS X.
57582 2011-04-27  Bruno Haible  <bruno@clisp.org>
57584         mkstemp: More documentation.
57585         * doc/posix-functions/mkstemp.texi: Document header file problem on
57586         MacOS X.
57588 2011-04-27  Bruno Haible  <bruno@clisp.org>
57590         mkstemp: Tweak configure message when cross-compiling.
57591         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
57592         result as a guess.
57594 2011-04-27  Bruno Haible  <bruno@clisp.org>
57596         clean-temp: Clarify what it does.
57597         * lib/clean-temp.h: Add more comments.
57598         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
57599         module.
57600         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
57601         * doc/glibc-functions/mkstemps.texi: Likewise.
57602         * doc/glibc-functions/mkostemps.texi: Likewise.
57604 2011-04-27  Eric Blake  <eblake@redhat.com>
57606         fchdir: avoid extra chdir and fix test
57607         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
57608         getcwd-lgpl.
57609         * lib/fchdir.c (get_name): Any absolute name will do; it does not
57610         have to be canonical.
57611         (canonicalize_file_name): Drop unused macro.
57612         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
57614         filenamecat-lgpl: fix licence
57615         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
57616         when it was first created.
57618         linkat, renameat: add missing dependency
57619         * modules/linkat (Depends-on): Require getcwd-lgpl.
57620         * modules/renameat (Depends-on): Likewise.
57622         tests: reduce dependencies
57623         * tests/test-linkat.c (main): Use lighter-weight getcwd.
57624         * tests/test-renameat.c (main): Likewise.
57625         * modules/linkat-tests (Depends-on): Relax dependency.
57626         * modules/renameat-tests (Depends-on): Likewise.
57627         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
57628         dependency explicit.
57630         save-cwd: reduce default dependency
57631         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
57632         * lib/save-cwd.c: Update comments.
57633         * NEWS: Document the semantic change.
57635         getcwd: enhance tests
57636         * tests/test-getcwd-lgpl.c: New file, taken from...
57637         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
57638         repeat long path stress tests from m4 probe.
57639         * modules/getcwd-lgpl-tests: New module.
57640         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
57641         * m4/getcwd-abort-bug.m4: Update comment.
57642         * m4/getcwd-path-max.m4: Likewise.
57644         getcwd-lgpl: new module
57645         * modules/getcwd-lgpl: New module.
57646         * lib/getcwd-lgpl.c: New file.
57647         * doc/posix-functions/getcwd.texi (getcwd): Document it.
57648         * MODULES.html.sh (lacking POSIX:2008): Likewise.
57649         * modules/getcwd (configure.ac): Set C witness.
57650         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
57652         getcwd: tweak comments
57653         * m4/getcwd-abort-bug.m4: Fix comments.
57654         * m4/getcwd-path-max.m4: Likewise.
57655         * m4/getcwd.m4: Likewise.
57657 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
57658         and Eric Blake  <eblake@redhat.com>
57660         mkstemp: replace if system version uses wrong permissions
57661         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
57662         read/write mode bits set in file created by mkstemp.
57663         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
57665 2011-04-27  Eric Blake  <eblake@redhat.com>
57667         passfd: avoid compiler warning
57668         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
57669         Reported by Laine Stump.
57671 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
57673         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
57674         required by the NetBSD (and perhaps other 4.4BSD derived) join.
57676 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
57677         and Eric Blake  <eblake@redhat.com>
57679         mkstemp: mention clean-temp module
57680         * lib/mkstemp.c: Add comment.
57681         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
57683 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
57685         inttypes: also provide default values for 32-bit tests
57686         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
57687         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
57689 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
57691         strtoumax: remove dependency on strtoimax
57692         This is like the strtoull change of yesterday.
57693         * modules/strtoumax (Files): Add lib/strtoimax.c.
57694         (Depends-on): Remove strtoimax and add verify.
57696         inttypes-incomplete: new module
57697         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
57698         all but the PRI* and SCN* parts of gl_INTTYPES_H.
57699         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
57700         of gl_INTTYPES_H.
57701         (gl_INTTYPES_H): Rewrite in terms of these new macros.
57702         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
57703         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
57704         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
57705         * modules/strtoumax, modules/xstrtol (Depends-on):
57706         Depend on inttypes-incomplete, not inttypes.
57707         * modules/inttypes-incomplete: New module, containing the contents
57708         of the old modules/inttypes module, except that the Files: section
57709         omits m4/inttypes-pri.m4, and the configure.ac section invokes
57710         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
57711         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
57712         (Depends-on): Depend only on inttypes-incomplete.
57713         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
57715         inttypes: omit now-redundant strtoimax and strtoumax work
57716         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
57717         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
57719         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
57720         This supports apps that need pointers to strtoimax and strtoumax,
57721         and ports to HP-UX 11.00 64.bit, which has macros that expand to
57722         nonexistent functions.  See
57723         <http://lists.gnu.org/r/bug-gnulib/2011-04/msg00241.html>
57724         et seq.
57725         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
57726         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
57727         a macro.
57728         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
57730 2011-04-25  Simon Josefsson  <simon@josefsson.org>
57732         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
57734 2011-04-25  Bruno Haible  <bruno@clisp.org>
57736         strtol, strtoul: Mark modules as obsolete.
57737         * modules/strtol (Status, Notice): New sections.
57738         * modules/strtoul (Status, Notice): New sections.
57740 2011-04-25  Bruno Haible  <bruno@clisp.org>
57742         strtod: Remove check for strtod, unless supporting old platforms.
57743         * modules/strtod-obsolete: New file.
57744         * m4/strtod-obsolete.m4: New file.
57745         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
57746         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
57747         * modules/strtod (Depends-on): Add strtod-obsolete.
57748         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
57750 2011-04-25  Bruno Haible  <bruno@clisp.org>
57752         strcase: Make module obsolete.
57753         * modules/strcase (Status, Notice): New sections.
57755 2011-04-25  Bruno Haible  <bruno@clisp.org>
57757         dup2: Remove check for dup2, unless supporting old obsolete platforms.
57758         * modules/dup2-obsolete: New file.
57759         * m4/dup2-obsolete.m4: New file.
57760         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
57761         gl_FUNC_DUP2_OBSOLETE is not also defined.
57762         * modules/dup2 (Depends-on): Add dup2-obsolete.
57763         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
57765 2011-04-25  Bruno Haible  <bruno@clisp.org>
57767         strnlen: Avoid memchr related link error on old obsolete platforms.
57768         * modules/memchr-obsolete: New file.
57769         * m4/memchr-obsolete.m4: New file.
57770         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
57771         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
57772         * modules/memchr (Depends-on): Add memchr-obsolete.
57773         * modules/strnlen (Depends-on): Likewise.
57774         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
57776 2011-04-25  Jim Meyering  <meyering@redhat.com>
57778         maint.mk: makefile_at_at_check extend and clean up
57779         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
57780         in addition to */Makefile.am.
57781         Exempt legitimate uses of @VAR@ notation, e.g.,
57782         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
57783         Remove obsolete coreutils-specific comment.
57784         Prompted by discussion here:
57785         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
57787 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
57789         strtoul: remove dependency on strtol
57790         This is so that 'configure' need not check for strtol merely because
57791         the application needs strtoul.
57792         * modules/strtoul (Files): Add lib/strtol.c.
57793         (Depends-on): Remove strtol.
57795         strtoull: remove dependency on strtoul
57796         This is like the strtoll change.
57797         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
57798         (Depends-on): Remove strtoul.
57800         strtoll: remove dependency on strtol
57801         This is so that 'configure' need not check for strtol merely because
57802         the application needs strtoll.
57803         * modules/strtoll (Files): Add lib/strtol.c.
57804         (Depends-on): Remove strtol.
57806 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
57808         inttypes: Move some configure check to module 'imaxdiv'.
57809         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
57810         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
57811         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
57813 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
57815         inttypes: Move some configure check to module 'imaxabs'.
57816         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
57817         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
57818         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
57820 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
57822         inttypes: Remove configure tests that are not needed since 2009-12-31.
57823         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
57824         gl_cv_header_working_inttypes_h.
57826 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
57828         * modules/strnlen (Depends-on): Remove memchr.
57829         The strnlen implementation doesn't need the memchr module's fixes; see
57830         <http://lists.gnu.org/r/bug-gnulib/2011-04/msg00237.html>.
57832         strtol: remove dependency on wchar
57833         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
57834         * modules/strtol (Depends-on): Remove wchar.
57836 2011-04-21  Eric Blake  <eblake@redhat.com>
57838         passfd: fix test regression on Linux
57839         * modules/passfd-tests (configure.ac): Correct socketpair check.
57841         passfd: speed up configure and drop unused code
57842         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
57843         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
57844         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
57845         Instead of probing at configure for unix_scm_rights_bsd44_way,
57846         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
57847         check to a struct member probe.
57848         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
57849         (sendfd, recvfd): Update preprocessor checks.
57850         * modules/passfd (Files): Reflect rename, and drop unused file.
57851         (Depends-on): Drop unused dependency.
57853         passfd: allow compilation on mingw
57854         * modules/sys_socket (Depends-on): Add sys_uio.
57855         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
57856         iovec and a minimal struct msghdr.
57857         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
57858         * tests/test-sys_socket.c (main): Enhance test.
57859         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
57860         guaranteed to provide what we need.
57861         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
57862         * modules/passfd-tests (Depends-on): Add sys_wait.
57863         * tests/test-passfd.c (main): Skip test on mingw, for now.
57864         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
57865         partial 'struct msghdr' implementation.
57867         sys_uio: new module
57868         * modules/sys_uio: New module.
57869         * modules/sys_uio-tests: Likewise.
57870         * lib/sys_uio.in.h: New file.
57871         * m4/sys_uio_h.m4: Likewise.
57872         * tests/test-sys_uio.c: Likewise.
57873         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
57874         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
57876 2011-04-20  Jim Meyering  <meyering@redhat.com>
57878         useless-if-before-free: avoid false-positive
57879         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
57880         disjunct so that it too requires a terminating ";".  Without that,
57881         this script would identify as useless one statement from gcc that
57882         was not:
57883           if (aligned_ptr)
57884             free (((void **) aligned_ptr) [-1]);
57886 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
57888         doc: update users.txt.
57889         * users.txt: Add barcode.
57891 2011-04-19  Bruno Haible  <bruno@clisp.org>
57893         ioctl: Remove link dependency on native Windows.
57894         * lib/fd-hook.h: Renamed from lib/close-hook.h.
57895         (gl_close_fn, gl_ioctl_fn): New types.
57896         (struct fd_hook): Renamed from struct close_hook. Change type of
57897         private_close_fn field. Add private_ioctl_fn field.
57898         (close_hook_fn): Add parameter for primary close method.
57899         (execute_close_hooks, execute_all_close_hooks): Likewise.
57900         (ioctl_hook_fn): New type.
57901         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
57902         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
57903         argument.
57904         (unregister_fd_hook): Renamed from unregister_close_hook.
57905         * lib/fd-hook.c: Renamed from lib/close-hook.c.
57906         Don't include <unistd.h>.
57907         (close): Remove undef.
57908         (anchor): Update.
57909         (execute_close_hooks): Add argument for primary close method.
57910         (execute_all_close_hooks): Likewise.
57911         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
57912         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
57913         argument. Allow each argument to be NULL.
57914         (unregister_fd_hook): Renamed from unregister_close_hook.
57915         * lib/close.c (rpl_close): Pass 'close' function pointer to
57916         execute_all_close_hooks.
57917         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
57918         (primary_ioctl): New function.
57919         (ioctl): Don't call ioctlsocket here. Instead, call
57920         execute_all_ioctl_hooks.
57921         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
57922         close method.
57923         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
57924         (fd_sockets_hook): Renamed from close_sockets_hook.
57925         (gl_sockets_startup, gl_sockets_cleanup): Update.
57926         * modules/fd-hook: Renamed from modules/close-hook. Update.
57927         * modules/close (Depends-on): Add fd-hook, remove close-hook.
57928         * modules/sockets (Depends-on): Likewise.
57929         * modules/ioctl (Depends-on): Add fd-hook.
57930         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
57931         GNULIB_SOCKET.
57933 2011-04-19  Bruno Haible  <bruno@clisp.org>
57935         Move the support of O_NONBLOCK in open() to the 'open' module.
57936         * modules/nonblocking (Depends-on): Remove 'open'.
57937         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
57938         gl_cv_have_open_O_NONBLOCK.
57939         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
57940         O_NONBLOCK support.
57941         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
57943 2011-04-17  Bruno Haible  <bruno@clisp.org>
57945         pipe2: Simplify code.
57946         * lib/pipe2.c (pipe2): Reduce code duplication.
57948 2011-04-17  Bruno Haible  <bruno@clisp.org>
57950         nonblocking: Add comment.
57951         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
57953 2011-04-17  Bruno Haible  <bruno@clisp.org>
57955         nonblocking: Add tests for sockets.
57956         * tests/test-nonblocking-socket.sh: New file.
57957         * tests/test-nonblocking-socket-main.c: New file.
57958         * tests/test-nonblocking-socket-child.c: New file.
57959         * tests/test-nonblocking-socket.h: New file.
57960         * tests/socket-server.h: New file.
57961         * tests/socket-client.h: New file.
57962         * modules/nonblocking-socket-tests: New file.
57963         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
57965 2011-04-17  Bruno Haible  <bruno@clisp.org>
57967         nonblocking: Add tests for pipes.
57968         * tests/test-nonblocking-pipe.sh: New file.
57969         * tests/test-nonblocking-pipe-main.c: New file.
57970         * tests/test-nonblocking-pipe-child.c: New file.
57971         * tests/test-nonblocking-pipe.h: New file.
57972         * tests/test-nonblocking-writer.h: New file.
57973         * tests/test-nonblocking-reader.h: New file.
57974         * tests/test-nonblocking-misc.h: New file.
57975         * modules/nonblocking-pipe-tests: New file.
57976         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
57978 2011-04-16  Bruno Haible  <bruno@clisp.org>
57980         gettext: Clarify the needed programmer actions.
57981         * modules/gettext (Notice): New field.
57982         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
57984 2011-04-16  Bruno Haible  <bruno@clisp.org>
57986         strchrnul: Tweak last commit.
57987         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
57988         bug.
57989         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
57990         as in _GL_FUNCDECL_SYS.
57991         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
57992         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
57994 2011-04-15  Eric Blake  <eblake@redhat.com>
57996         strchrnul: work around cygwin bug
57997         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
57998         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
57999         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
58000         * modules/string (Makefile.am): Substitute it.
58001         * lib/string.in.h (strchrnul): Use it.
58003 2011-04-15  Bruno Haible  <bruno@clisp.org>
58005         Don't require lib/stdio-write.c when only module 'stdio' is used.
58006         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
58007         invocation.
58008         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
58010 2011-04-14  Bruno Haible  <bruno@clisp.org>
58012         Support non-blocking pipe I/O in read() on native Windows.
58013         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
58014         (read): New declaration.
58015         * lib/read.c: New file.
58016         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
58017         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
58018         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
58019         vscanf): New declarations.
58020         * lib/stdio-read.c: New file.
58021         * m4/read.m4: New file.
58022         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
58023         REPLACE_READ.
58024         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
58025         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
58026         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
58027         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
58028         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
58029         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
58030         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
58031         * modules/read: New file.
58032         * modules/nonblocking (Files): Add lib/stdio-read.c.
58033         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
58034         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
58035         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
58036         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
58037         * modules/pread (Depends-on): Add read.
58038         * modules/safe-read (Depends-on): Likewise.
58039         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
58040         gets, scanf, vfscanf, vscanf): Verify signatures.
58041         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
58042         problem with non-blocking pipes.
58043         * doc/posix-functions/fgetc.texi: Likewise.
58044         * doc/posix-functions/fgets.texi: Likewise.
58045         * doc/posix-functions/fread.texi: Likewise.
58046         * doc/posix-functions/fscanf.texi: Likewise.
58047         * doc/posix-functions/getc.texi: Likewise.
58048         * doc/posix-functions/getchar.texi: Likewise.
58049         * doc/posix-functions/gets.texi: Likewise.
58050         * doc/posix-functions/scanf.texi: Likewise.
58051         * doc/posix-functions/vfscanf.texi: Likewise.
58052         * doc/posix-functions/vscanf.texi: Likewise.
58054 2011-04-14  Bruno Haible  <bruno@clisp.org>
58056         Support non-blocking pipe I/O in write() on native Windows.
58057         * lib/write.c (rpl_write): Split a write request that failed merely
58058         because the byte count was larger than the pipe buffer's size.
58059         * doc/posix-functions/write.texi: Mention the problem with large byte
58060         counts.
58062 2011-04-14  Bruno Haible  <bruno@clisp.org>
58064         wchar: Ensure that wchar_t gets defined on uClibc.
58065         * lib/wchar.in.h: On uClibc, include <stddef.h>.
58066         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
58068 2011-04-13  Bruno Haible  <bruno@clisp.org>
58070         safe-write, full-read: Avoid unnecessary compilation units.
58071         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
58072         (Depends-on): Remove safe-read. Add ssize_t.
58073         * modules/full-read (Files): Add lib/full-write.c.
58074         (Depends-on): Add full-write.
58076 2011-04-13  Bruno Haible  <bruno@clisp.org>
58078         Support non-blocking pipe I/O and SIGPIPE in pwrite().
58079         * modules/pwrite (Depends-on): Add 'write'.
58081 2011-04-13  Bruno Haible  <bruno@clisp.org>
58083         Support non-blocking pipe I/O in write() on native Windows.
58084         * lib/unistd.in.h (write): Enable replacement also if
58085         GNULIB_UNISTD_H_NONBLOCKING is 1.
58086         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
58087         (rpl_write): When failing to write on a non-blocking pipe, change
58088         errno from ENOSPC to EAGAIN.
58089         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
58090         putchar, puts, vfprintf, vprintf): Enable replacement also if
58091         GNULIB_STDIO_H_NONBLOCKING is 1.
58092         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
58093         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
58094         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
58095         CALL_WITH_SIGPIPE_EMULATION.
58096         (CALL_WITH_SIGPIPE_EMULATION): Use them.
58097         * m4/nonblocking.m4: New file.
58098         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
58099         for non-blocking I/O support.
58100         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
58101         GNULIB_UNISTD_H_NONBLOCKING.
58102         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
58103         required for non-blocking I/O support.
58104         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
58105         * modules/nonblocking (Files): Add m4/nonblocking.m4,
58106         lib/stdio-write.c, m4/asm-underscore.m4.
58107         (Depends-on): Add stdio, unistd.
58108         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
58109         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
58110         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
58111         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
58112         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
58113         problem with non-blocking pipes.
58114         * doc/posix-functions/fputc.texi: Likewise.
58115         * doc/posix-functions/fputs.texi: Likewise.
58116         * doc/posix-functions/fwrite.texi: Likewise.
58117         * doc/posix-functions/printf.texi: Likewise.
58118         * doc/posix-functions/putc.texi: Likewise.
58119         * doc/posix-functions/putchar.texi: Likewise.
58120         * doc/posix-functions/puts.texi: Likewise.
58121         * doc/posix-functions/vfprintf.texi: Likewise.
58122         * doc/posix-functions/vprintf.texi: Likewise.
58123         * doc/posix-functions/write.texi: Likewise.
58125 2011-04-10  Jim Meyering  <meyering@redhat.com>
58127         maint.mk: prohibit doubled words
58128         Detect them also when they're separated by a newline.
58129         There are 3 ways to customize it:
58130           - disable the test on a per file basis, as usual with rules using
58131             $(VC_LIST_EXCEPT)
58132           - replace the default doubled-word-selecting regexp (affects all files)
58133           - ignore a particular file-vs-doubled-word match
58134         I nearly used that last one to ignore the "is is" match in
58135         coreutils' NEWS file, since the text was "ls -is is ..."
58136         To do that, I would have added this line to cfg.mk:
58137           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
58138         but it would have ignored any "is is" match in NEWS.
58139         Low probability, but still...
58140         Instead, I changed the text, slightly:
58141           -  ls -is is now consistent with ls -lis in ignoring values returned
58142           +  "ls -is" is now consistent with ls -lis in ignoring values returned
58143         * top/maint.mk (prohibit_double_word_RE_): Provide default.
58144         (prohibit_doubled_word_): Define.
58145         (sc_prohibit_doubled_word): New rule.
58146         (sc_prohibit_the_the): Remove.  Subsumed by the above.
58148 2011-04-10  Jim Meyering  <meyering@redhat.com>
58150         maint: fix doubled-word typo in comment
58151         * m4/gethostname.m4: s/is is/it is/
58152         * m4/getdomainname.m4: Likewise.
58154 2011-04-10  Jim Meyering  <meyering@redhat.com>
58156         maint: remove doubled word: s/it it/it/
58157         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
58159 2011-04-10  Jim Meyering  <meyering@redhat.com>
58161         maint.mk: remove useless semicolon and backslash
58162         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
58163         semicolon and backslash.
58165 2011-04-10  Bruno Haible  <bruno@clisp.org>
58167         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
58168         * modules/stdint-tests (Depends-on): Add wchar.
58170 2011-04-10  Jim Meyering  <meyering@redhat.com>
58172         maint: remove doubled words in comments, e.g., s/a a/a/
58173         * lib/strptime.c (day_of_the_week): s/the the/the/
58174         * tests/test-chown.h (test_chown): s/a a/a/
58176         test-chown.h: correct a cast
58177         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
58178         when the destination is a stat.st_gid.
58180 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
58182         getaddrinfo: Fix test for sa_len member.
58183         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
58184         include <sys/types.h> before <sys/socket.h>.
58186 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
58188         maint: change "can not" to "cannot"
58189         * doc/posix-functions/iconv.texi (iconv): This one crossed line
58190         boundaries.
58192 2011-04-09  Jim Meyering  <meyering@redhat.com>
58194         maint: change "a a" to "a"
58195         * tests/test-lchown.h (test_lchown): s/a a/a/
58197         maint.mk: prohibit \<the the\>
58198         * top/maint.mk (sc_prohibit_the_the): New rule.
58200         maint: fix "the the" in comment
58201         * lib/count-one-bits.h: s/the the/the/
58203         maint: change "can not" to "cannot"
58204         But do not change the occurrences in maintain.texi or in
58205         build-aux/po/Makefile.in.in, which I presume comes from gettext.
58206         * doc/gnulib-tool.texi: s/can not/cannot/
58207         * doc/posix-functions/accept.texi (accept): Likewise.
58208         * doc/posix-functions/socket.texi (socket): Likewise.
58209         * lib/mbrtowc.c: Likewise.
58211         maint.mk: prohibit use of "can not"
58212         * top/maint.mk (sc_prohibit_can_not): New rule.
58213         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
58215 2011-04-09  Bruno Haible  <bruno@clisp.org>
58217         careadlinkat: Guard against misuse of careadlinkatcwd.
58218         * lib/careadlinkat.c: Include <stdlib.h>.
58219         (careadlinkatcwd): Check that the fd argument is as expected.
58221 2011-04-09  Bruno Haible  <bruno@clisp.org>
58223         careadlinkat: Use common coding style.
58224         * lib/careadlinkat.c: Move gnulib includes after system includes.
58226 2011-04-09  Bruno Haible  <bruno@clisp.org>
58228         careadlinkat: Clarify specification.
58229         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
58230         (careadlinkatcwd): Add comment.
58231         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
58233 2011-04-09  Bruno Haible  <bruno@clisp.org>
58235         areadlinkat: Avoid link error on many platforms.
58236         * modules/areadlinkat (Depends-on): Add areadlink.
58238 2011-04-09  Bruno Haible  <bruno@clisp.org>
58240         allocator, careadlinkat: Fix double-inclusion guard.
58241         * lib/allocator.h: Fix double-inclusion guard.
58242         * lib/careadlinkat.h: Likewise.
58244 2011-04-09  Bruno Haible  <bruno@clisp.org>
58246         relocatable-prog-wrapper: Update after module 'areadlink' changed.
58247         * lib/relocwrapper.c: Update dependencies hierarchy.
58248         * build-aux/install-reloc: Update list of files to be compiled.
58249         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
58250         lib/allocator.[hc].
58252 2011-04-08  Eric Blake  <eblake@redhat.com>
58254         strftime: silence gnulib-tool warning
58255         * modules/strftime-tests (Depends-on): Drop automatic dependency.
58257 2011-04-08  Bruno Haible  <bruno@clisp.org>
58259         verify: Fix syntax error with GCC 4.6 in C++ mode.
58260         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
58261         (HAVE_STATIC_ASSERT): New macro.
58262         (verify_true, verify): Use 'static_assert' if it is supported and
58263         '_Static_assert' is not supported.
58265 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
58267         allocator: New module.
58268         * modules/allocator, lib/allocator.c: New files.
58269         * lib/allocator.h (stdlib_allocator): New decl.
58270         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
58271         Remove.  Do not include <stdlib.h>.
58272         (careadlinkat): Use stdlib_allocator instead of rolling our own.
58273         * modules/careadlinkat (Files): Remove lib/allocator.h.
58274         (Depends-on): Add allocator.
58276         stdlib: let modules use system malloc, realloc
58277         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
58278         if !_GL_USE_STDLIB_ALLOC.
58279         (malloc, realloc): Limit this change to a smaller scope.
58281         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
58282         (malloc, realloc): Don't #undef; no longer needed.
58283         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
58284         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
58285         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
58286         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
58287         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
58288         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
58289         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
58290         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
58292         careadlinkat: rename members to avoid problem
58293         * lib/allocator.h (struct allocator): Rename members from
58294         malloc/realloc to allocate/reallocate, to avoid problems if malloc
58295         and realloc are #define'd.  Reported by Eric Blake in
58296         <http://lists.gnu.org/r/bug-gnulib/2011-04/msg00091.html>.
58297         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
58299 2011-04-08  Eric Blake  <eblake@redhat.com>
58301         nonblocking: reduce dependency
58302         * tests/test-nonblocking.c: Only test sockets when in use.
58303         * modules/nonblocking-tests (Depends-on): Drop socket.
58304         (Makefile.am): Link even if sockets are not present.
58305         * modules/pipe2-tests (Makefile.am): Likewise.
58306         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
58308         pipe2: fix O_NONBLOCK support on mingw
58309         * modules/pipe2 (Depends-on): Add nonblocking.
58310         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
58311         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
58312         * tests/test-nonblocking.c (main): Likewise.
58313         * modules/pipe2-tests (Makefile.am): Avoid link failure.
58315         fcntl-h: fix O_ACCMODE on cygwin
58316         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
58317         * lib/fcntl.in.h (O_ACCMODE): Fix it.
58319         pipe-filter: drop O_NONBLOCK workarounds
58320         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
58321         * modules/pipe-filter-ii (Depends-on): Likewise.
58322         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
58324         nonblocking: provide O_NONBLOCK for mingw
58325         * modules/nonblocking (Depends-on): Add open.
58326         (configure.ac): Set new witness macro.
58327         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
58328         * modules/fcntl-h (Makefile.am): Substitute it.
58329         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
58330         nonblocking module is in use.
58331         * lib/nonblocking.c: Adjust portability test.
58332         * lib/open.c (open): Don't let native open see gnulib flag.
58333         * tests/test-fcntl-h.c (main): Enhance test.
58334         * tests/test-open.h (test_open): Likewise.
58335         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
58337         careadlinkat: fix compilation error on mingw
58338         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
58339         within struct allocator.
58341 2011-04-06  Eric Blake  <eblake@redhat.com>
58343         binary-io: relicense under LGPLv2+
58344         * modules/binary-io (License): Relax to LGPLv2+.
58345         Requested for libvirt, and required by pipe2.
58347 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
58349         verify: use _Static_assert if available
58350         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
58351         (verify_true, verify): Use it if available.  This generates better
58352         diagnostics with GCC 4.6.0 and later.
58354 2011-04-05  Bruno Haible  <bruno@clisp.org>
58356         Remove leftover generated .h files after config.status changed.
58358         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
58359         GL_GENERATE_ALLOCA_H.
58360         * modules/alloca-opt (Makefile.am): Remove alloca.h if
58361         GL_GENERATE_ALLOCA_H evaluates to false.
58363         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
58364         GL_GENERATE_ARGZ_H.
58365         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
58366         evaluates to false.
58368         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
58369         GL_GENERATE_BYTESWAP_H.
58370         * modules/byteswap (Makefile.am): Remove byteswap.h if
58371         GL_GENERATE_BYTESWAP_H evaluates to false.
58373         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
58374         GL_GENERATE_ERRNO_H.
58375         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
58376         evaluates to false.
58378         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
58379         GL_GENERATE_FLOAT_H.
58380         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
58381         evaluates to false.
58383         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
58384         GL_GENERATE_FNMATCH_H.
58385         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
58386         GL_GENERATE_FNMATCH_H evaluates to false.
58388         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
58389         GL_GENERATE_GLOB_H.
58390         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
58391         evaluates to false.
58393         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
58394         automake conditional GL_GENERATE_ICONV_H.
58395         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
58396         evaluates to false.
58398         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
58399         GL_GENERATE_NETINET_IN_H.
58400         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
58401         GL_GENERATE_NETINET_IN_H evaluates to false.
58403         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
58404         conditional GL_GENERATE_PTHREAD_H.
58405         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
58406         * modules/pthread (Makefile.am): Remove pthread.h if
58407         GL_GENERATE_PTHREAD_H evaluates to false.
58409         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
58410         GL_GENERATE_SCHED_H.
58411         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
58412         evaluates to false.
58414         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
58415         conditional GL_GENERATE_SELINUX_CONTEXT_H.
58416         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
58417         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
58419         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
58420         GL_GENERATE_STDARG_H.
58421         * modules/stdarg (Makefile.am): Remove stdarg.h if
58422         GL_GENERATE_STDARG_H evaluates to false.
58424         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
58425         GL_GENERATE_STDBOOL_H.
58426         * modules/stdbool (Makefile.am): Remove stdbool.h if
58427         GL_GENERATE_STDBOOL_H evaluates to false.
58429         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
58430         conditional GL_GENERATE_STDDEF_H.
58431         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
58432         * modules/stddef (Makefile.am): Remove stddef.h if
58433         GL_GENERATE_STDDEF_H evaluates to false.
58435         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
58436         GL_GENERATE_STDINT_H.
58437         * modules/stdint (Makefile.am): Remove stdint.h if
58438         GL_GENERATE_STDINT_H evaluates to false.
58440         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
58441         GL_GENERATE_SYSEXITS_H.
58442         * modules/sysexits (Makefile.am): Remove sysexits.h if
58443         GL_GENERATE_SYSEXITS_H evaluates to false.
58445         Reported by Karl Berry and Ralf Wildenhues.
58447 2011-04-05  Bruno Haible  <bruno@clisp.org>
58449         Ensure to rebuild generated .h files when config.status has changed.
58450         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
58451         config.status.
58452         * modules/ctype (Makefile.am): Likewise.
58453         * modules/dirent (Makefile.am): Likewise.
58454         * modules/errno (Makefile.am): Likewise.
58455         * modules/fcntl-h (Makefile.am): Likewise.
58456         * modules/float (Makefile.am): Likewise.
58457         * modules/getopt-posix (Makefile.am): Likewise.
58458         * modules/glob (Makefile.am): Likewise.
58459         * modules/iconv-h (Makefile.am): Likewise.
58460         * modules/inttypes (Makefile.am): Likewise.
58461         * modules/langinfo (Makefile.am): Likewise.
58462         * modules/locale (Makefile.am): Likewise.
58463         * modules/math (Makefile.am): Likewise.
58464         * modules/netdb (Makefile.am): Likewise.
58465         * modules/netinet_in (Makefile.am): Likewise.
58466         * modules/poll-h (Makefile.am): Likewise.
58467         * modules/pthread (Makefile.am): Likewise.
58468         * modules/pty (Makefile.am): Likewise.
58469         * modules/sched (Makefile.am): Likewise.
58470         * modules/search (Makefile.am): Likewise.
58471         * modules/selinux-h (Makefile.am): Likewise.
58472         * modules/signal (Makefile.am): Likewise.
58473         * modules/spawn (Makefile.am): Likewise.
58474         * modules/stdarg (Makefile.am): Likewise.
58475         * modules/stdbool (Makefile.am): Likewise.
58476         * modules/stddef (Makefile.am): Likewise.
58477         * modules/stdint (Makefile.am): Likewise.
58478         * modules/stdio (Makefile.am): Likewise.
58479         * modules/stdlib (Makefile.am): Likewise.
58480         * modules/string (Makefile.am): Likewise.
58481         * modules/strings (Makefile.am): Likewise.
58482         * modules/sys_file (Makefile.am): Likewise.
58483         * modules/sys_ioctl (Makefile.am): Likewise.
58484         * modules/sys_select (Makefile.am): Likewise.
58485         * modules/sys_socket (Makefile.am): Likewise.
58486         * modules/sys_stat (Makefile.am): Likewise.
58487         * modules/sys_time (Makefile.am): Likewise.
58488         * modules/sys_times (Makefile.am): Likewise.
58489         * modules/sys_utsname (Makefile.am): Likewise.
58490         * modules/sys_wait (Makefile.am): Likewise.
58491         * modules/sysexits (Makefile.am): Likewise.
58492         * modules/termios (Makefile.am): Likewise.
58493         * modules/time (Makefile.am): Likewise.
58494         * modules/unistd (Makefile.am): Likewise.
58495         * modules/wchar (Makefile.am): Likewise.
58496         * modules/wctype-h (Makefile.am): Likewise.
58497         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
58499 2011-04-05  Bruno Haible  <bruno@clisp.org>
58501         pipe2: Relicense under LGPLv2+.
58502         * modules/pipe2 (License): Change to LGPLv2+.
58503         Requested by Eric Blake, for libvirt.
58505 2011-04-05  Bruce Korb  <bkorb@gnu.org>
58507         bootstrap: compute gnulib_extra_files after updating build_aux
58508         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
58509         change build_aux or also supply gnulib_extra_files.  Handle correctly.
58511 2011-04-05  Eric Blake  <eblake@redhat.com>
58513         bootstrap: preserve git whitelist item sorting
58514         * build-aux/bootstrap (sort_patterns): New function.
58515         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
58517 2011-04-05  Simon Josefsson  <simon@josefsson.org>
58519         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
58520         sc_space_tab check.
58522 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
58524         areadlink, areadlinkat: rewrite in terms of careadlinkat
58525         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
58526         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
58527         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
58528         (malloc, realloc): Remove #undefs.
58529         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
58530         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
58531         readlink, ssize_t, stdint, unistd.
58532         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
58533         areadlink, stdint.
58535         careadlinkat: new module
58536         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
58537         * modules/careadlinkat: New files, written by me with
58538         a review and feedback from Ben Pfaff in
58539         <http://lists.gnu.org/r/bug-gnulib/2011-04/msg00008.html>.
58541 2011-04-01  Bruno Haible  <bruno@clisp.org>
58543         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
58544         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
58545         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
58546         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
58547         Reported by Bruce Korb <bruce.korb@gmail.com>.
58549 2011-04-01  Bruno Haible  <bruno@clisp.org>
58551         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
58552         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
58553         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
58554         * modules/wcpcpy (Depends-on): Add extensions.
58555         * modules/wcpncpy (Depends-on): Likewise.
58556         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
58557         systems.
58558         * doc/posix-functions/wcpncpy.texi: Likewise.
58559         * doc/posix-functions/wcwidth.texi: Likewise.
58561 2011-03-31  Eric Blake  <eblake@redhat.com>
58563         nonblocking: fix mingw test failures
58564         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
58565         non-blocking flag on regular file.
58566         (get_nonblocking_flag): Set errno on invalid fd.
58567         * tests/test-nonblocking.c (main): Avoid test failure on
58568         directories if fchdir is not active.
58569         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
58571 2011-03-31  Bruno Haible  <bruno@clisp.org>
58573         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
58574         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
58575         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
58576         Reported by Simon Josefsson <simon@josefsson.org>.
58578 2011-03-31  Bruno Haible  <bruno@clisp.org>
58579         and Eric Blake  <eblake@redhat.com>
58581         nonblocking: new module
58582         * modules/nonblocking: New module.
58583         * modules/nonblocking-tests: Likewise.
58584         * lib/nonblocking.h: New file.
58585         * lib/nonblocking.c: Likewise.
58586         * tests/test-nonblocking.c: New test.
58587         * lib/ioctl.c (ioctl) [mingw]: Update comment.
58589 2011-03-30  Bruno Haible  <bruno@clisp.org>
58591         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
58592         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
58593         instead of 'printf' format for GCC >= 4.4.
58594         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
58595         (fprintf, printf, vfprintf, vprintf): Declare with
58596         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
58597         the system's vfprintf() function.
58598         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
58600 2011-03-30  Eric Blake  <eblake@redhat.com>
58602         passfd: fix scoping bug
58603         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
58604         before sendmsg/recvmsg.
58606         passfd: standardize coding conventions
58607         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
58608         can be learned at compile time.
58609         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
58610         ifdefs.
58611         (sendfd, recvfd): Follow gnulib code conventions.
58613         passfd: fix incorrect sendmsg arguments
58614         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
58615         incorrect msg_controllen value.
58616         * modules/passfd-tests (Depends-on): Check for alarm.
58617         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
58618         Reported by Bastien ROUCARIES.
58620 2011-03-30  Bruno Haible  <bruno@clisp.org>
58622         c-strcasestr: Relicense under LGPLv2+.
58623         * modules/c-strcasestr (License): Change to LGPLv2+.
58624         Requested by Eric Blake, for libvirt.
58626 2011-03-30  Simon Josefsson  <simon@josefsson.org>
58628         * users.txt: Add libidn2.  Fix libtasn1 link.
58630 2011-03-30  Jim Meyering  <meyering@redhat.com>
58632         tests: readlink* ("",... fails with EINVAL on newer kernels
58633         readlink and readlinkat have typically failed with ENOENT for
58634         the invalid, empty file name,  "".  However, with the advent
58635         of linux-2.6.39, they fail with EINVAL.
58636         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
58637         when operating on the empty file name.
58638         * tests/test-readlink.h (test_readlink): Likewise.
58640 2011-03-29  Bruno Haible  <bruno@clisp.org>
58642         Relicense some modules under LGPLv2+, for libidn2.
58643         * modules/array-mergesort (License): Change to LGPLv2+.
58644         * modules/c-strcaseeq (License): Likewise.
58645         * modules/striconveh (License): Likewise.
58646         * modules/striconveha (License): Likewise.
58647         * modules/uniconv/base (License): Likewise.
58648         * modules/uniconv/u8-conv-from-enc (License): Likewise.
58649         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
58650         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
58651         * modules/unictype/base (License): Likewise.
58652         * modules/unictype/bidiclass-of (License): Likewise.
58653         * modules/unictype/category-M (License): Likewise.
58654         * modules/unictype/category-none (License): Likewise.
58655         * modules/unictype/category-of (License): Likewise.
58656         * modules/unictype/category-test (License): Likewise.
58657         * modules/unictype/category-test-withtable (License): Likewise.
58658         * modules/unictype/combining-class (License): Likewise.
58659         * modules/unictype/joiningtype-of (License): Likewise.
58660         * modules/unictype/scripts (License): Likewise.
58661         * modules/uninorm/base (License): Likewise.
58662         * modules/uninorm/canonical-decomposition (License): Likewise.
58663         * modules/uninorm/composition (License): Likewise.
58664         * modules/uninorm/decompose-internal (License): Likewise.
58665         * modules/uninorm/decomposition-table (License): Likewise.
58666         * modules/uninorm/nfc (License): Likewise.
58667         * modules/uninorm/nfd (License): Likewise.
58668         * modules/uninorm/u32-normalize (License): Likewise.
58669         * modules/unistr/base (License): Likewise.
58670         * modules/unistr/u32-cpy (License): Likewise.
58671         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
58672         * modules/unistr/u32-to-u8 (License): Likewise.
58673         * modules/unistr/u32-uctomb (License): Likewise.
58674         * modules/unistr/u8-check (License): Likewise.
58675         * modules/unistr/u8-mblen (License): Likewise.
58676         * modules/unistr/u8-mbtouc (License): Likewise.
58677         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
58678         * modules/unistr/u8-mbtoucr (License): Likewise.
58679         * modules/unistr/u8-prev (License): Likewise.
58680         * modules/unistr/u8-strlen (License): Likewise.
58681         * modules/unistr/u8-to-u32 (License): Likewise.
58682         * modules/unistr/u8-uctomb (License): Likewise.
58683         * modules/unitypes (License): Likewise.
58684         Requested by Simon Josefsson.
58686 2011-03-29  Simon Josefsson  <simon@josefsson.org>
58688         lib-symbol-visibility: Add a notice.
58689         * modules/lib-symbol-visibility (Notice): New field.
58691 2011-03-29  Bruno Haible  <bruno@clisp.org>
58693         getaddrinfo: Doc fix.
58694         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
58695         section "fixed in Gnulib".
58697 2011-03-28  Simon Josefsson  <simon@josefsson.org>
58699         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
58700         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
58702 2011-03-26  Bruno Haible  <bruno@clisp.org>
58704         unictype/property-byname: Reduce the number of load-time relocations.
58705         * lib/unictype/pr_byname.c: Include <stdlib.h>.
58706         (UC_PROPERTY_INDEX_*): New enumeration values.
58707         (uc_property_byname): Convert an index from the lookup table to an
58708         uc_property_t.
58709         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
58710         values.
58712 2011-03-26  Bruno Haible  <bruno@clisp.org>
58714         unictype/property-byname: Allow omitted word separators and aliases.
58715         * lib/unictype/pr_byname.gperf: Add property names without word
58716         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
58717         for 'space'.
58719 2011-03-26  Bruno Haible  <bruno@clisp.org>
58721         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
58722         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
58723         also hyphens to space.
58724         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
58725         without spaces.
58726         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
58728 2011-03-26  Bruno Haible  <bruno@clisp.org>
58730         unictype/joiningtype-byname: Recognize long names as well.
58731         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
58732         a long name.
58733         * lib/unictype/joiningtype_byname.c: Include <string.h>,
58734         unictype/joiningtype_byname.h.
58735         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
58736         * lib/unictype/joiningtype_byname.gperf: New file.
58737         * modules/unictype/joiningtype-byname (Files): Add
58738         lib/unictype/joiningtype_byname.gperf.
58739         (Depends-on): Add gperf.
58740         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
58741         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
58742         long names.
58744         Tests for module 'unictype/joiningtype-longname'.
58745         * modules/unictype/joiningtype-longname-tests: New file.
58746         * tests/unictype/test-joiningtype_longname.c: New file.
58748         New module 'unictype/joiningtype-longname'.
58749         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
58750         * lib/unictype/joiningtype_longname.c: New file.
58751         * modules/unictype/joiningtype-longname: New file.
58752         * modules/unictype/joiningtype-all (Depends-on): Add
58753         unictype/joiningtype-longname.
58755 2011-03-26  Bruno Haible  <bruno@clisp.org>
58757         unictype/bidiclass-byname: Recognize long names as well.
58758         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
58759         name.
58760         * lib/unictype/bidi_byname.c: Include <string.h>,
58761         unictype/bidi_byname.h.
58762         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
58763         * lib/unictype/bidi_byname.gperf: New file.
58764         * modules/unictype/bidiclass-byname (Files): Add
58765         lib/unictype/bidi_byname.gperf.
58766         (Depends-on): Add gperf.
58767         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
58768         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
58769         long names.
58771         Tests for module 'unictype/bidiclass-longname'.
58772         * modules/unictype/bidiclass-longname-tests: New file.
58773         * tests/unictype/test-bidi_longname.c: New file.
58775         New module 'unictype/bidiclass-longname'.
58776         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
58777         * lib/unictype/bidi_longname.c: New file.
58778         * modules/unictype/bidiclass-longname: New file.
58779         * modules/unictype/bidiclass-all (Depends-on): Add
58780         unictype/bidiclass-longname.
58782 2011-03-26  Bruno Haible  <bruno@clisp.org>
58784         unictype/bidi*: Rename modules.
58785         * modules/unictype/bidiclass-all: Renamed from
58786         modules/unictype/bidicategory-all.
58787         * modules/unictype/bidiclass-name: Renamed from
58788         modules/unictype/bidiclass-name.
58789         (Description): Update.
58790         * modules/unictype/bidiclass-name-tests: Renamed from
58791         modules/unictype/bidicategory-name-tests.
58792         * modules/unictype/bidiclass-byname: Renamed from
58793         modules/unictype/bidicategory-byname.
58794         (Description): Update.
58795         * modules/unictype/bidiclass-byname-tests: Renamed from
58796         modules/unictype/bidicategory-byname-tests.
58797         * modules/unictype/bidiclass-of: Renamed from
58798         modules/unictype/bidicategory-of.
58799         (Description): Update.
58800         * modules/unictype/bidiclass-of-tests: Renamed from
58801         modules/unictype/bidicategory-of-tests.
58802         * modules/unictype/bidiclass-test: Renamed from
58803         modules/unictype/bidicategory-test.
58804         (Description): Update.
58805         * modules/unictype/bidiclass-test-tests: Renamed from
58806         modules/unictype/bidicategory-test-tests.
58807         * modules/unictype/bidicategory-all: New file, a simple redirection.
58808         * modules/unictype/bidicategory-name: Likewise.
58809         * modules/unictype/bidicategory-byname: Likewise.
58810         * modules/unictype/bidicategory-of: Likewise.
58811         * modules/unictype/bidicategory-test: Likewise.
58812         * modules/unictype/property-bidi-* (Dependencies): Update.
58813         * lib/unictype/bidi_*.c: Update comment.
58815 2011-03-26  Bruno Haible  <bruno@clisp.org>
58817         unictype/bidi*: Rename functions, part 2.
58818         * modules/unictype/bidicategory-name (configure.ac): Update required
58819         libunistring version.
58820         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
58822 2011-03-25  Bruno Haible  <bruno@clisp.org>
58824         New module 'unictype/combining-class-all'.
58825         * modules/unictype/combining-class-all: New file.
58827         Tests for module 'unictype/combining-class-byname'.
58828         * modules/unictype/combining-class-byname-tests: New file.
58829         * tests/unictype/test-combiningclass_byname.c: New file.
58831         New module 'unictype/combining-class-byname'.
58832         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
58833         * lib/unictype/combiningclass_byname.c: New file.
58834         * lib/unictype/combiningclass_byname.gperf: New file.
58835         * modules/unictype/combining-class-byname: New file.
58837         Tests for module 'unictype/combining-class-longname'.
58838         * modules/unictype/combining-class-longname-tests: New file.
58839         * tests/unictype/test-combiningclass_longname.c: New file.
58841         New module 'unictype/combining-class-longname'.
58842         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
58843         * lib/unictype/combiningclass_longname.c: New file.
58844         * modules/unictype/combining-class-longname: New file.
58846         Tests for module 'unictype/combining-class-name'.
58847         * modules/unictype/combining-class-name-tests: New file.
58848         * tests/unictype/test-combiningclass_name.c: New file.
58850         New module 'unictype/combining-class-name'.
58851         * lib/unictype.in.h (uc_combining_class_name): New declaration.
58852         * lib/unictype/combiningclass_name.c: New file.
58853         * modules/unictype/combining-class-name: New file.
58855 2011-03-25  Bruno Haible  <bruno@clisp.org>
58857         unictype/combining-class: Rename source files.
58858         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
58859         of unictype/combining.h.
58860         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
58861         Update.
58862         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
58863         * modules/unictype/combining-class (Description): Fix.
58864         (Files, Makefile.am): Update.
58865         * tests/unictype/test-combiningclass.c: Renamed from
58866         tests/unictype/test-combining.c.
58867         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
58869 2011-03-25  Bruno Haible  <bruno@clisp.org>
58871         unictype: Update list of canonical combining classes.
58872         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
58874 2011-03-25  Bruno Haible  <bruno@clisp.org>
58876         unictype/category-byname: Recognize long names as well.
58877         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
58878         a long name.
58879         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
58880         unictype/categ_byname.h.
58881         (UC_CATEGORY_INDEX_*): New enumeration values.
58882         (uc_general_category_byname): Use uc_general_category_lookup and
58883         convert from index to value.
58884         * lib/unictype/categ_byname.gperf: New file.
58885         * modules/unictype/category-byname (Files): Add
58886         lib/unictype/categ_byname.gperf.
58887         (Depends-on): Add gperf.
58888         (Makefile.am): Add rule for generating unictype/categ_byname.h.
58889         * tests/unictype/test-categ_byname.c (main): Test the recognition of
58890         long names.
58892         Tests for module 'unictype/category-longname'.
58893         * modules/unictype/category-longname-tests: New file.
58894         * tests/unictype/test-categ_longname.c: New file.
58896         New module 'unictype/category-longname'.
58897         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
58898         * lib/unictype/categ_longname.c: New file.
58899         * modules/unictype/category-longname: New file.
58900         * modules/unictype/category-all (Depends-on): Add it.
58902 2011-03-25  Bruno Haible  <bruno@clisp.org>
58904         Tests for module 'unictype/category-LC'.
58905         * modules/unictype/category-LC-tests: New file.
58906         * tests/unictype/test-categ_LC.c: New file, automatically generated.
58908         New module 'unictype/category-LC'.
58909         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
58910         (UC_CATEGORY_LC): New declaration.
58911         (UC_CASED_LETTER): New macro.
58912         * lib/gen-uni-tables.c (is_category_LC): New function.
58913         (output_categories): Also handle category LC.
58914         (UC_CATEGORY_MASK_LC): New enumeration value.
58915         (general_category_byname): Also handle category LC.
58916         * lib/unictype/categ_LC.c: New file.
58917         * lib/unictype/categ_LC.h: New file, automatically generated.
58918         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
58919         category LC.
58920         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
58921         * modules/unictype/category-LC: New file.
58922         * modules/unictype/category-byname (Depends-on): Add
58923         unictype/category-LC.
58924         * modules/unictype/category-all (Depends-on): Likewise.
58926 2011-03-25  Eric Blake  <eblake@redhat.com>
58928         xmalloc: revert yesterday's regression
58929         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
58930         realloc's underlying behavior (allowing allocation of zero-size
58931         objects, especially if malloc-gnu is also in use).
58933 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
58935         maint.mk: add missing version to VC-tag
58936         * top/maint.mk: git tag was missing actual tag name; add it.
58938         valgrind: do leak checking, and exit with code 1 on error (not 0)
58939         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
58940         to VALGRIND.
58942 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
58944         posix-modules: say what it does.
58945         * posix-modules: Add a line to the --help output saying what it does.
58947 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
58949         xmalloc: Do not leak if underlying realloc is C99 compatible.
58950         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
58951         This avoids a leak on C99-based systems.  See
58952         <http://lists.gnu.org/r/bug-gnulib/2011-03/msg00243.html>.
58954 2011-03-24  Eric Blake  <eblake@redhat.com>
58956         realloc: document portability problem
58957         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
58958         passing 0 size to realloc.
58960 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
58962         doc: update users.txt
58963         * users.txt: Add cvsps, tmpwatch
58965 2011-03-23  Matt Rice  <ratmice@gmail.com>
58967         doc: update users.txt
58968         * users.txt: Add gdb.
58970 2011-03-23  Jim Meyering  <meyering@redhat.com>
58972         doc: update users.txt
58973         Looking through matches up to the following URL (there are still
58974         several more pages), I found several projects that use gnulib:
58975         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
58976         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
58977         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
58979 2011-03-22  Bruno Haible  <bruno@clisp.org>
58981         unictype/bidi*: Rename functions.
58982         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
58983         uc_bidi_class, uc_is_bidi_class): New declarations.
58984         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
58985         uc_bidi_category_byname.
58986         (uc_bidi_category_byname): New function.
58987         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
58988         u_bidi_category_name.
58989         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
58990         (uc_bidi_category_name): New function.
58991         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
58992         uc_bidi_category.
58993         (uc_bidi_category): New function.
58994         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
58995         uc_is_bidi_category. Invoke uc_bidi_class.
58996         (uc_is_bidi_category): New function.
58997         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
58998         instead of uc_bidi_category_byname.
58999         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
59000         instead of uc_bidi_category_name.
59001         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
59002         uc_bidi_category.
59003         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
59004         instead of uc_is_bidi_category.
59006 2011-03-21  Bruno Haible  <bruno@clisp.org>
59008         New module 'unictype/joininggroup-all'.
59009         * modules/unictype/joininggroup-all: New file.
59011         Tests for module 'unictype/joininggroup-of'.
59012         * modules/unictype/joininggroup-of-tests: New file.
59013         * tests/unictype/test-joininggroup_of.c: New file.
59014         * tests/unictype/test-joininggroup_of.h: New file, automatically
59015         generated by gen-uni-tables.
59017         New module 'unictype/joininggroup-of'.
59018         * modules/unictype/joininggroup-of: New file.
59019         * lib/unictype/joininggroup_of.c: New file.
59020         * lib/unictype/joininggroup_of.h: New file, automatically generated by
59021         gen-uni-tables.
59023         Tests for module 'unictype/joininggroup-byname'.
59024         * modules/unictype/joininggroup-byname-tests: New file.
59025         * tests/unictype/test-joininggroup_byname.c: New file.
59027         New module 'unictype/joininggroup-byname'.
59028         * modules/unictype/joininggroup-byname: New file.
59029         * lib/unictype/joininggroup_byname.c: New file.
59030         * lib/unictype/joininggroup_byname.gperf: New file.
59032         Tests for module 'unictype/joininggroup-name'.
59033         * modules/unictype/joininggroup-name-tests: New file.
59034         * tests/unictype/test-joininggroup_name.c: New file.
59036         New module 'unictype/joininggroup-name'.
59037         * modules/unictype/joininggroup-name: New file.
59038         * lib/unictype/joininggroup_name.c: New file.
59039         * lib/unictype/joininggroup_name.h: New file.
59041         New module 'unictype/joiningtype-all'.
59042         * modules/unictype/joiningtype-all: New file.
59044         Tests for module 'unictype/joiningtype-of'.
59045         * modules/unictype/joiningtype-of-tests: New file.
59046         * tests/unictype/test-joiningtype_of.c: New file.
59047         * tests/unictype/test-joiningtype_of.h: New file, automatically
59048         generated by gen-uni-tables.
59050         New module 'unictype/joiningtype-of'.
59051         * modules/unictype/joiningtype-of: New file.
59052         * lib/unictype/joiningtype_of.c: New file.
59053         * lib/unictype/joiningtype_of.h: New file, automatically generated by
59054         gen-uni-tables.
59056         Tests for module 'unictype/joiningtype-byname'.
59057         * modules/unictype/joiningtype-byname-tests: New file.
59058         * tests/unictype/test-joiningtype_byname.c: New file.
59060         New module 'unictype/joiningtype-byname'.
59061         * modules/unictype/joiningtype-byname: New file.
59062         * lib/unictype/joiningtype_byname.c: New file.
59064         Tests for module 'unictype/joiningtype-name'.
59065         * modules/unictype/joiningtype-name-tests: New file.
59066         * tests/unictype/test-joiningtype_name.c: New file.
59068         New module 'unictype/joiningtype-name'.
59069         * modules/unictype/joiningtype-name: New file.
59070         * lib/unictype/joiningtype_name.c: New file.
59072         unictype: Add support for Arabic shaping properties.
59073         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
59074         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
59075         declarations.
59076         (UC_JOINING_GROUP_*): New enumeration values.
59077         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
59078         declarations.
59079         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
59080         (unicode_joining_type): New variable.
59081         (UC_JOINING_GROUP_*): New enumeration values.
59082         (unicode_joining_group): New variable.
59083         (fill_arabicshaping, joining_type_as_c_identifier,
59084         output_joining_type_test, output_joining_type,
59085         joining_group_as_c_identifier, output_joining_group_test,
59086         output_joining_group): New functions.
59087         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
59088         fill_arabicshaping and output_joining_type_test, output_joining_type,
59089         output_joining_group_test, output_joining_group.
59090         Reported by Simon Josefsson.
59092 2011-03-21  Jim Meyering  <meyering@redhat.com>
59094         strftime: fix a bug in yesterday's change
59095         * lib/strftime.c (add): Accommodate width's initial value of -1.
59096         Otherwise, nstrftime would copy uninitialized data into
59097         the result buffer.
59099 2011-03-21  Jim Meyering  <meyering@redhat.com>
59101         tests: add strftime-tests module
59102         * tests/test-strftime.c: New file.
59103         * modules/strftime-tests: New module.
59105 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
59107         strftime: don't assume a byte count fits in 'int'
59108         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
59109         found this problem by static analysis, using gcc -Wstrict-overflow
59110         (GCC 4.5.2, x86-64).  This reported an optimization that depended
59111         on an integer overflow having undefined behavior, but it turns out
59112         that the argument is a size, which might not fit in 'int' anyway,
59114 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
59116         stdio: don't require ignore_value around fwrite
59118         This patch works around libc bug 11959
59119         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
59120         Without this patch, applications must often write
59121         ignore_value (fwrite (...)) even though the ignore_value is
59122         not helpful here.  It's common to write many objects, using
59123         fwrite/printf/etc., and then use ferror to detect output error.
59125         I considered making this patch optional, but decided against it,
59126         because libc is obviously being inconsistent here: there is no
59127         reason libc should insist that user code must inspect fwrite
59128         return's value without also insisting that it inspect printf's,
59129         putchar's, etc.  If user code wants to have a strict style where
59130         all these functions' values are checked (so that ferror need not
59131         be checked), we could add support for that style in a new gnulib
59132         module, but in the meantime it's better to be consistent and to
59133         support common usage.
59135         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
59136         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
59137         that we are compiling in checking mode, and if not C++, and
59138         if not already wrapping fwrite for some other reason.
59139         (fwrite): #define to rpl_fwrite if the latter is defined.
59141 2011-03-20  Bruno Haible  <bruno@clisp.org>
59143         verror: Fix compilation error introduced on 2011-02-13.
59144         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
59145         instead of __attribute__.
59146         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
59148 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
59149             Bruno Haible  <bruno@clisp.org>
59151         socklen: do not depend on sys_socket
59152         While trying to modify Emacs to use gnulib's socklen module,
59153         I discovered a circular dependency: socklen depends on sys_socket
59154         and vice versa.  Emacs can use socklen, but it does not need
59155         sys_socket because it has its own substitute for sys/socket.h.
59156         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
59157         gl_TYPE_SOCKLEN_T.
59158         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
59159         gl_PREREQ_SYS_H_SOCKET.
59160         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
59161         gl_PREREQ_SYS_H_SOCKET.
59162         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
59163         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
59164         * modules/socklen (Depends-on): Do not depend on sys_socket.
59165         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
59167 2011-03-20  Jim Meyering  <meyering@redhat.com>
59169         maint.mk: sort file names *after* new transformation
59170         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
59171         prefix would have led to an unwarranted failure in GNU parted.
59172         Sort after that transformation.
59174 2011-03-19  Jim Meyering  <meyering@redhat.com>
59176         maint.mk: fix po-file syntax-check rule
59177         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
59178         Patch by Bruno Haible.
59180 2011-03-19  Bruno Haible  <bruno@clisp.org>
59182         socklen: Update comment.
59183         * m4/socklen.m4: Update comment about platforms.
59185 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
59186             Bruno Haible  <bruno@clisp.org>
59188         inet_ntop, inet_pton: Simplify.
59189         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
59190         documented to provide socklen_t and we already depend on sys_socket.
59191         * modules/inet_pton (Depends-on): Likewise.
59192         * lib/arpa_inet.in.h: Adjust comment.
59194 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
59195             Bruno Haible  <bruno@clisp.org>
59197         netdb: Simplify.
59198         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
59199         documented to provide socklen_t and we already depend on sys_socket.
59200         * lib/netdb.in.h: Adjust comment.
59202 2011-03-19  Bruno Haible  <bruno@clisp.org>
59204         sys_socket, netdb: Document problem with socklen_t.
59205         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
59206         platforms.
59207         * doc/posix-headers/netdb.texi: Likewise.
59209 2011-03-18  Eric Blake  <eblake@redhat.com>
59211         maint.mk: let po check work in VPATH build
59212         * top/maint.mk (po_file): Allow cfg.mk override.
59213         (sc_po_check): Allow VPATH use.
59214         Reported by Jiri Denemark.
59216 2011-03-16  Jim Meyering  <meyering@redhat.com>
59218         maint.mk: allow fine-grained syntax-check exclusion via Make variables
59219         Before, you would have had to create one .x-sc_ file per rule in order
59220         to exempt offending files.  Now, you may instead use a Make variable --
59221         usually defined in cfg.mk -- whose name identifies the affected rule.
59222         * top/maint.mk (_sc_excl): Define.
59223         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
59224         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
59226 2011-03-13  Bruno Haible  <bruno@clisp.org>
59228         ignore-value tests: Avoid warnings.
59229         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
59230         empty for gcc < 3.4.
59232 2011-03-13  Bruno Haible  <bruno@clisp.org>
59234         passfd: Fix link error on Solaris.
59235         * modules/passfd (Description): Correct.
59236         (Depends-on): Add socketlib.
59237         (Link): New section.
59238         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
59240 2011-03-13  Bruno Haible  <bruno@clisp.org>
59242         passfd: Fix link error on AIX 5.2.
59243         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
59245 2011-03-13  Bruno Haible  <bruno@clisp.org>
59247         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
59248         * lib/sys_socket.in.h: Include <stddef.h>.
59249         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
59250         CMSG_FIRSTHDR. Remove unused variable.
59252 2011-03-13  Bruno Haible  <bruno@clisp.org>
59254         passfd: Fix compilation error on OpenBSD.
59255         * lib/passfd.c: Include <sys/uio.h>.
59257 2011-03-13  Bruno Haible  <bruno@clisp.org>
59259         passfd test: Fix warnings.
59260         * tests/test-passfd.c: Include <sys/wait.h>.
59261         (main): Fix typo.
59263 2011-03-13  Bruno Haible  <bruno@clisp.org>
59265         passfd module, part 4, tweaks.
59266         * tests/test-passfd.c: Reorder includes.
59267         (main): Fix perror and printf calls.
59269 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
59271         passfd module, part 4.
59272         * modules/passfd-tests: New file.
59273         * tests/test-passfd.c: New file.
59275 2011-03-13  Jim Meyering  <meyering@redhat.com>
59277         Makefile: rely on GNU make; derive syntax-check rule names
59278         Rather than requiring that each sc_ rule be listed as a dependent
59279         of "check", use features of GNU make to derive the list.
59280         * Makefile (syntax-check-rules): Define.
59281         (check): Depend on the new variable, not the hard-coded list.
59283 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
59284             Bruno Haible  <bruno@clisp.org>
59286         passfd module, part 3.
59287         * lib/passfd.h (recvfd): Add a flags argument.
59288         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
59289         (recvfd): Add a flags argument.
59290         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
59291         exists.
59292         * modules/passfd (Depends-on): Add cloexec.
59293         Suggested by Eric Blake.
59295 2011-03-13  Bruno Haible  <bruno@clisp.org>
59297         passfd module, part 2, tweaks.
59298         * modules/passfd (Files): Reorder.
59299         (Depends-on): Remove errno.
59300         (Include): Remove <sys/socket.h>, <sys/un.h>.
59301         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
59302         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
59303         specification header. Include <sys/socket.h> always. Don't include
59304         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
59305         (sendfd): Clarify that it sets errno when it fails.
59306         (recvfd): Fix specification.
59308 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
59310         passfd module, part 2.
59311         * modules/passfd: New file.
59312         * lib/passfd.h: New file.
59313         * lib/passfd.c: New file.
59315 2011-03-12  Bruno Haible  <bruno@clisp.org>
59317         wcswidth, mbswidth: Avoid integer overflow.
59318         * lib/wcswidth.c: Include <limits.h>.
59319         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
59320         * lib/mbswidth.c: Include <limits.h>.
59321         (mbsnwidth): Avoid 'int' overflow.
59322         Reported by Jim Meyering.
59324 2011-03-12  Bruno Haible  <bruno@clisp.org>
59326         futimens, utimensat: Avoid endless recursion on Solaris 10.
59327         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
59328         Solaris.
59329         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
59330         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
59332 2011-03-11  Jim Meyering  <meyering@redhat.com>
59334         maint.mk: relax a regexp to accommodate other formatting styles
59335         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
59336         between "ngettext" and the following "(".
59338 2011-03-11  Pádraig Brady  <P@draigBrady.com>
59340         maint.mk: suppress a false positive warning
59341         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
59342         diagnostics are marked with ngettext.
59344 2011-03-10  Eric Blake  <eblake@redhat.com>
59346         wchar: add explicit dependencies, for Tru64
59347         * modules/mbmemcasecoll (Depends-on): Add wchar.
59348         * modules/mbtowc (Depends-on): Likewise.
59349         * modules/vasnprintf (Depends-on): Likewise.
59350         * modules/unistdio/u-printf-args (Depends-on): Likewise.
59351         * modules/wctomb (Depends-on): Likewise.
59352         Reported by Peter O'Gorman.
59354 2011-03-08  Bruno Haible  <bruno@clisp.org>
59356         passfd module, part 1, tweaks.
59357         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
59358         Improve indentation. Improve AC_MSG_CHECKING messages.
59359         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
59360         gl_SOCKET_FAMILIES.
59362 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
59364         passfd module, part 1.
59365         * m4/afunix.m4: New file.
59366         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
59367         sockets.
59369 2011-03-08  Bruno Haible  <bruno@clisp.org>
59371         regex-quote: New API.
59372         * lib/regex-quote.h: Include <stdbool.h>.
59373         (struct regex_quote_spec): New type.
59374         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
59375         New declarations.
59376         (regex_quote_length, regex_quote_copy, regex_quote): Take a
59377         'const struct regex_quote_spec *' argument.
59378         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
59379         (pcre_special): New constant.
59380         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
59381         New functions.
59382         (regex_quote_length, regex_quote_copy, regex_quote): Take a
59383         'const struct regex_quote_spec *' argument.
59384         * modules/regex-quote (Depends-on): Add stdbool.
59385         * tests/test-regex-quote.c (check): Update for new API. Add test for
59386         anchored results.
59387         * NEWS: Mention the API change.
59388         Reported by Reuben Thomas and Eric Blake.
59390 2011-03-06  Bruno Haible  <bruno@clisp.org>
59392         regex-quote: Fix creation of POSIX extended regular expressions.
59393         * lib/regex-quote.c (ere_special): Add grouping and alternation
59394         operators.
59396 2011-03-05  Bruno Haible  <bruno@clisp.org>
59398         doc: Improve doc regarding autopoint vs. gnulib.
59399         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
59400         disable autopoint while running autoreconf.
59401         Suggested by Ralf Wildenhues.
59403 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59405         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
59406         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
59408 2011-03-03  Bruce Korb  <bkorb@gnu.org>
59410         parse-duration: remove xalloc.h dependency
59411         * lib/parse-duration.c (parse_period): handle NULL return from
59412         strdup instead of calling xstrdup().
59413         * modules/parse-duration: remove "xalloc" dependency
59415 2011-03-03  Matthew Booth  <mbooth@redhat.com>
59417         bootstrap: honor m4_base when running aclocal
59418         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
59420 2011-03-02  Jim Meyering  <meyering@redhat.com>
59422         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
59423         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
59424         on request from Matt Booth.
59426 2011-03-01  Eric Blake  <eblake@redhat.com>
59428         test-link: work on Hurd
59429         * tests/test-link.h (test_link): Hurd rejects linking directories
59430         with EISDIR instead of the POSIX-mandated EPERM.
59432 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
59434         stdio: simplify by moving files to printf-posix, sigpipe
59435         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
59436         since this symbol is needed only if printf is replaced.
59437         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
59438         Require gl_ASM_SYMBOL_PREFIX.
59439         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
59440         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
59441         (Depends-on): Add 'raise'.
59442         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
59443         * modules/stdio (Files): Remove lib/stdio-write.c,
59444         m4/asm-underscore.m4.
59445         (Depends-on): Remove 'raise'.
59447         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
59448         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
59449         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
59450         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
59452 2011-02-28  Bruno Haible  <bruno@clisp.org>
59454         localcharset: Assume ANSI C behaviour of free().
59455         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
59456         calling free().
59457         Suggested by Simon Josefsson <simon@josefsson.org>.
59459 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
59460             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
59461             Bruno Haible  <bruno@clisp.org>  (tiny change)
59463         On Cygwin, use /proc file system instead of win32 API.
59464         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
59465         Win32 file names.
59466         (DllMain): Simplify by removing Cygwin specific code.
59467         (find_shared_library_fullname): Use Linux specific implementation also
59468         for Cygwin.
59469         (get_shared_library_fullname): Update accordingly.
59470         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
59471         Win32 file names.
59472         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
59473         Cygwin specific code.
59475 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
59476             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
59478         Fix OpenMP flag detection for various Fortran compilers.
59479         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
59480         OpenMP-conditional compilation construct, to force compile
59481         failure with missing OpenMP flag.
59482         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
59484 2011-02-25  Eric Blake  <eblake@redhat.com>
59486         strstr: expand test coverage
59487         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
59488         compilation.
59489         * tests/test-memmem.c (main): Duplicate tests.
59490         * tests/test-strcasestr.c (main): Likewise.
59491         * tests/test-c-strcasestr.c (main): Likewise.
59493 2011-02-25  Jim Meyering  <meyering@redhat.com>
59495         maint.mk: detect missing-NL-at-EOF, too
59496         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
59497         it also detects when a file lacks a newline at EOF.
59498         (require_exactly_one_NL_at_EOF_): Renamed from
59499         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
59500         since people may well have .x-sc_... file names tied to the
59501         existing name.  Suggested by Eric Blake.
59503 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
59505         dirname: move m4/dos.m4 functionality into lib/dosname.h
59507         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
59508         extracts symbols from it, puts them into config.h; but it's much
59509         easier to use the symbols directly.  filename.h already does this,
59510         but it disagrees with dos.m4 in some respects.  This patch
59511         introduces a different include file dosname.h that packages up
59512         dos.m4, and then later we can work on merging filename.h and
59513         dosname.h.  Applications that need only the easy-to-configure
59514         symbols should consider including dosname.h rather than dirname.h.
59515         * NEWS: Mention incompatible changes.
59516         * m4/dos.m4: Remove.
59517         * lib/dosname.h, modules/dosname: New files.
59518         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
59519         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
59520         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
59521         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
59522         Include dosname.h, not dirname.h.
59523         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
59524         Include dosname.h, for definitions of symbols like ISSLASH
59525         that used to be in config.h.
59526         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
59527         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
59528         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
59529         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
59530         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
59531         * modules/rmdir (Files): Likewise.
59532         * modules/stat (Files): Likewise.
59533         * modules/unlink (Files): Likewise.
59534         * modules/dirname-lgpl (Depends-on): Add dosname.
59535         * modules/lstat (Depends-on): Likewise.
59536         * modules/openat (Depends-on): Likewise.
59537         * modules/rmdir (Depends-on): Likewise.
59538         * modules/savewd (Depends-on): Likewise.
59539         * modules/stat (Depends-on): Likewise.
59540         * modules/unlink (Depends-on): Likewise.
59541         * modules/openat (Depends-on): Remove dirname-lgpl.
59542         * modules/savewd (Depends-on): Likewise.
59543         * tests/test-dirname.c: Do not use removed symbols like
59544         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
59545         the remaining symbols, e.g., ISSLASH ('\\').
59547 2011-02-25  Eric Blake  <eblake@redhat.com>
59549         strstr: revert patches that introduced bug and pessimization
59550         * lib/str-two-way.h: Add another reference.
59551         (two_way_short_needle, two_way_long_needle): Revert changes from
59552         2011-02-24; they pessimize search speed.
59553         (critical_factorization): Partially revert changes from
59554         2010-06-22; they violate the requirement that the left half of the
59555         needle be smaller than the period of the needle.
59557 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
59559         filenamecat: remove unnecessary dependency on dirname-lgpl
59560         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
59561         is no direct dependency, just an indirect one via filenamecat-lgpl.
59563         remove: remove unnecessary use of m4/dos.m4
59564         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
59565         * modules/remove (FILES): Remove m4/dos.m4.
59567         * lib/openat-proc.c: Don't include dirname.h; not needed.
59569         backupfile: remove unnecessary use of m4/dos.m4
59570         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
59571         of its symbols are used by the backupfile code.  backupfile.c does
59572         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
59573         for the rare case of programs that want all their backup file
59574         names to live within 8+3 limits, and dos.m4 doesn't address that.
59575         * modules/backupfile (Files): Remove m4/dos.m4.
59577 2011-02-24  Jim Meyering  <meyering@redhat.com>
59579         strstr: fix a bug whereby strstr would mistakenly return NULL
59580         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
59581         in period calculation.
59582         (two_way_long_needle): Likewise.
59583         The original problem was reported by Mike Stump in
59584         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
59585         Ralf Wildenhues provided the short needle and haystack.
59586         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
59587         Add a more involved test to trigger the bug in two_way_long_needle.
59589 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
59591         gnulib-tool: remove use of bold display in help screen
59592         * gnulib-tool (func_usage): Do not use bold display anymore in the
59593         help screen.  That was just meant to be a temporary emphasis for a
59594         backward-incompatible change.
59596 2011-02-23  Bruno Haible  <bruno@clisp.org>
59598         Fix misindentation of preprocessor directives.
59599         * lib/argp-namefrob.h: Reindent preprocessor directives.
59600         * lib/getopt_int.h (struct _getopt_data): Likewise.
59601         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
59602         * lib/vasnprintf.c (decode_long_double): Likewise.
59603         * tests/test-argmatch.c: Insert blank lines, for clarity.
59604         * tests/test-exclude.c: Likewise.
59606 2011-02-22  Bruno Haible  <bruno@clisp.org>
59608         ioctl: Fix for MacOS X in 64-bit mode.
59609         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
59610         value.
59611         Suggested by Eric Blake.
59612         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
59614 2011-02-22  Jim Meyering  <meyering@redhat.com>
59616         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
59617         * Makefile (sc_cpp_indent_check): Don't limit the check to files
59618         in lib/.
59620 2011-02-22  Eric Blake  <eblake@redhat.com>
59622         maint: avoid any CDPATH issue
59623         * Makefile (sc_cpp_indent_check): Anchor cd argument.
59625         maint: adjust cpp indentation for my modules, as well
59626         * Makefile (sc_cpp_indent_check): Add my name.
59627         * lib/fbufmode.c: Filter through cppi.
59628         * lib/fpurge.c: Likewise.
59629         * lib/freadable.c: Likewise.
59630         * lib/freading.c: Likewise.
59631         * lib/fwritable.c: Likewise.
59632         * lib/fwriting.c: Likewise.
59633         * lib/sigaction.c: Likewise.
59635 2011-02-22  Jim Meyering  <meyering@redhat.com>
59637         maint: adjust cpp indentation to reflect nesting depth
59638         I.e., in a block of code that begins with an unnested "#if",
59639         put one space between the "#" in column 1 and following token.
59640         For example,
59641         -#include <sys/vfs.h>
59642         +# include <sys/vfs.h>
59643         Do this only in .c files that are part of a module I maintain.
59644         * lib/linkat.c: Filter through cppi.
59645         * lib/nanosleep.c: Likewise.
59646         * lib/openat.c: Likewise.
59647         * lib/openat-die.c: Likewise.
59648         * lib/dup3.c: Likewise.
59649         * lib/fchownat.c: Likewise.
59650         * lib/flock.c: Likewise.
59651         * lib/fsync.c: Likewise.
59652         * lib/fts.c: Likewise.
59653         * lib/getpass.c: Likewise.
59654         * lib/gettimeofday.c: Likewise.
59655         * lib/userspec.c: Likewise.
59656         * Makefile (sc_cpp_indent_check): New rule, to check this.
59658 2011-02-22  Bruno Haible  <bruno@clisp.org>
59660         New module 'wctomb'.
59661         * lib/stdlib.in.h (wctomb): New declaration.
59662         * lib/wctomb.c: New file.
59663         * lib/wctomb-impl.h: New file.
59664         * m4/wctomb.m4: New file.
59665         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
59666         REPLACE_WCTOMB.
59667         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
59668         REPLACE_WCTOMB.
59669         * modules/wctomb: New file.
59670         * tests/test-stdlib-c++.cc: Test signature of wctomb.
59671         * doc/posix-functions/wctomb.texi: Mention the new module.
59672         * modules/wctob (Depends-on): Add wctomb.
59674 2011-02-22  Bruno Haible  <bruno@clisp.org>
59676         New module 'mbtowc'.
59677         * lib/stdlib.in.h (mbtowc): New declaration.
59678         * lib/mbtowc.c: New file.
59679         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
59680         * m4/mbtowc.m4: New file.
59681         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
59682         REPLACE_MBTOWC.
59683         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
59684         REPLACE_MBTOWC.
59685         * modules/mbtowc: New file.
59686         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
59687         * doc/posix-functions/mbtowc.texi: Mention the new module.
59688         * modules/btowc (Depends-on): Add mbtowc.
59690 2011-02-22  Bruno Haible  <bruno@clisp.org>
59692         wcrtomb: Add more tests for native Windows platforms.
59693         * tests/test-wcrtomb-w32-1.sh: New file.
59694         * tests/test-wcrtomb-w32-2.sh: New file.
59695         * tests/test-wcrtomb-w32-3.sh: New file.
59696         * tests/test-wcrtomb-w32-4.sh: New file.
59697         * tests/test-wcrtomb-w32-5.sh: New file.
59698         * tests/test-wcrtomb-w32.c: New file.
59699         * modules/wcrtomb-tests (Files): Add them.
59700         (Makefile.am): Arrange to run these tests.
59701         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
59702         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
59704 2011-02-20  Bruno Haible  <bruno@clisp.org>
59706         wcrtomb: Enhance test.
59707         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
59709 2011-02-20  Bruno Haible  <bruno@clisp.org>
59711         mbrtowc: Tiny optimization.
59712         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
59714 2011-02-20  Jim Meyering  <meyering@redhat.com>
59716         test-exclude.c: remove unmatched #endif
59717         * tests/test-exclude.c: Remove stray #endif, left over from
59718         the change of a week ago.
59720 2011-02-19  Jim Meyering  <meyering@redhat.com>
59722         git-version-gen: skip "-dirty" check when appropriate
59723         * build-aux/git-version-gen: Don't run any git commands when the
59724         version string comes from .tarball-version.  Prior to this, we
59725         would run git update-index --refresh even from a just-unpacked
59726         tarball directory, and that could affect a .git/ directory in a
59727         parent of the build directory.  Reported by Mike Frysinger.
59729 2011-02-19  Bruno Haible  <bruno@clisp.org>
59731         unictype/property-byname: Reduce the size of the 'data' segment.
59732         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
59734 2011-02-19  Bruno Haible  <bruno@clisp.org>
59736         unictype/scripts: Reduce the size of the 'data' segment.
59737         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
59738         '%pic'.
59739         * lib/unictype/scripts_byname.gperf: Regenerated.
59741 2011-02-19  Bruno Haible  <bruno@clisp.org>
59743         stdint: Update documentation.
59744         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
59746 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
59748         stdint: omit redundant check for wchar.h
59749         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
59750         always tests whether wchar.h exists, so remove the now-redundant test.
59752 2011-02-18  Bruno Haible  <bruno@clisp.org>
59754         stdint: Cut dependency to module 'wchar'.
59755         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
59756         include the necessary prerequisites.
59757         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
59758         * modules/stdint (Depends-on): Remove wchar.
59759         (Makefile.am): Substitute HAVE_WCHAR_H.
59760         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
59762 2011-02-18  Eric Blake  <eblake@redhat.com>
59764         longlong: skip, rather than fail, on cross-compilation
59765         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
59766         when cross-compiling; regression from 2011-02-16.
59768 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
59770         * NEWS: Mention 2011-02-08 change to stdlib.
59772 2011-02-17  Bruno Haible  <bruno@clisp.org>
59774         getloadavg: Add comments about platforms.
59775         * m4/getloadavg.m4: Add comment.
59776         * lib/getloadavg.c: Likewise.
59778 2011-02-17  Bruno Haible  <bruno@clisp.org>
59780         getloadavg: Fix link error on Solaris 2.6.
59781         * modules/getloadavg (Link): New section.
59782         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
59783         linking test-getloadavg.
59784         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
59785         getloadavg.
59787 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
59789         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
59790         It was 'int', but this doesn't match the IRIX 6.5 manual.
59791         Suggested by Bruno Haible in
59792         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00207.html>.
59794 2011-02-17  Bruno Haible  <bruno@clisp.org>
59796         havelib: Fix comments.
59797         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
59798         change.
59800 2011-02-17  Bruno Haible  <bruno@clisp.org>
59802         havelib: Update config.rpath.
59803         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
59805 2011-02-17  Bruno Haible  <bruno@clisp.org>
59807         getloadavg test: Add some plausibility checks.
59808         * tests/test-getloadavg.c (check_avg): Print a warning when the value
59809         is improbable.
59811 2011-02-16  Eric Blake  <eblake@redhat.com>
59813         maintainer-makefile: make syntax-check a no-op from tarballs
59814         * top/maint.mk (no-vc-detected): New rule.
59815         (local-checks-available): Use it to avoid hanging if someone tries
59816         'make syntax-check' from a tarball.  Also append to any non-syntax
59817         checks already defined in cfg.mk.
59819 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
59821         longlong: tune, particularly for common case of c99
59823         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
59824         or running anything if c99, or if unsigned long long int does not
59825         work.  In either case, we know the answer without further tests.
59826         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
59827         it at most once, and use its results for both long long int and
59828         unsigned long long int.  This is more likely to be efficient in
59829         the common case where the program wants to check for both long
59830         long int and unsigned long long int.
59831         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
59832         since the answer is already known.
59834 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
59836         getloadavg: set errno
59837         * lib/getloadavg.c: Set errno when returning -1.  If no other
59838         error number looks appropriate, set it to ENOSYS if the getloadavg
59839         looks like it can't possibly ever work, ENOTSUP otherwise.
59840         Suggested by Bruno Haible in
59841         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00187.html>.
59843         getloadavg: trim unused parts and speed up 'configure'
59844         * NEWS: Document this.
59845         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
59846         always compiled if getloadavg is absent.
59847         Move test code to ...
59848         * tests/test-getloadavg.c: New file, containing previous
59849         contents of test from lib/getloadavg.c.  It also contains
59850         suggestions by Bruno Haible in
59851         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00186.html>.
59852         * modules/getloadavg-tests: New file.
59853         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
59854         Do tests in the same order as they're needed for getloadavg.c.
59855         Omit setgid-related tests that generate symbols KMEM_GROUP,
59856         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
59857         Do only the tests that are needed to see whether the system has
59858         getloadavg, moving the other tests into ...
59859         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
59860         NLIST_NAME_UNION; nobody should be using it.  Do not define
59861         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
59862         relevant, as the user of this module shouldn't care how getloadavg
59863         is implemented.
59865         getloadavg: omit unused var
59866         * lib/getloadavg.c (getloadavg): Omit unused local variable.
59868 2011-02-15  Jim Meyering  <meyering@redhat.com>
59870         doc: update users.txt
59871         * users.txt: Update iwhd's URL.
59873 2011-02-13  Bruno Haible  <bruno@clisp.org>
59875         Consistent macro naming for macros that use GCC __attribute__.
59876         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
59877         _ATTRIBUTE_NONNULL_.
59878         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
59879         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
59880         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
59881         ATTRIBUTE_DEPRECATED.
59882         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
59883         ATTRIBUTE_NORETURN.
59884         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
59885         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
59886         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
59887         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
59888         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
59889         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
59890         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
59891         ATTRIBUTE_SENTINEL.
59892         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
59893         ATTRIBUTE_RETURN_CHECK.
59894         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
59895         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
59896         ATTRIBUTE_NORETURN.
59897         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
59898         Reported by Paul Eggert.
59900 2011-02-13  Bruno Haible  <bruno@clisp.org>
59902         Don't interfere with a program's definition of __attribute__.
59903         * lib/argp.h (__attribute__): Remove definition.
59904         (_GL_ATTRIBUTE_FORMAT): New macro.
59905         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
59906         * lib/argp-fmtstream.h (__attribute__): Remove definition.
59907         (_GL_ATTRIBUTE_FORMAT): New macro.
59908         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
59909         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
59910         GCC 3 or newer.
59911         * lib/error.h (__attribute__): Remove definition.
59912         (_GL_ATTRIBUTE_FORMAT): New macro.
59913         (error, error_at_line): Use it.
59914         * lib/hash.h (__attribute__): Remove definition.
59915         (ATTRIBUTE_WUR): Update definition. Define always.
59916         * lib/openat.h (__attribute__): Remove definition.
59917         (ATTRIBUTE_NORETURN): Update definition. Define always.
59918         * lib/sigpipe-die.h (__attribute__): Remove definition.
59919         (ATTRIBUTE_NORETURN): Update definition. Define always.
59920         * lib/vasnprintf.h (__attribute__): Remove definition.
59921         (_GL_ATTRIBUTE_FORMAT): New macro.
59922         (asnprintf, vasnprintf): Use it.
59923         * lib/xalloc.h (__attribute__): Remove definition.
59924         (ATTRIBUTE_NORETURN): Update definition. Define always.
59925         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
59926         * lib/xmemdup0.h (__attribute__): Remove definition.
59927         (ATTRIBUTE_NORETURN): Update definition. Define always.
59928         * lib/xprintf.h (__attribute__): Remove definition.
59929         (_GL_ATTRIBUTE_FORMAT): New macro.
59930         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
59931         * lib/xstrtol.h (__attribute__): Remove definition.
59932         (ATTRIBUTE_NORETURN): Update definition. Define always.
59933         * lib/xvasprintf.h (__attribute__): Remove definition.
59934         (_GL_ATTRIBUTE_FORMAT): New macro.
59935         (xasprintf, xvasprintf): Use it.
59936         * tests/test-argmatch.c (__attribute__): Remove definition.
59937         (ATTRIBUTE_NORETURN): Update definition. Define always.
59938         * tests/test-exclude.c (__attribute__): Remove definition.
59939         (ATTRIBUTE_NORETURN): Update definition. Define always.
59940         Reported by Paul Eggert.
59942 2011-02-13  Bruno Haible  <bruno@clisp.org>
59944         mbrtowc: Add more tests for native Windows platforms.
59945         * tests/test-mbrtowc-w32-1.sh: New file.
59946         * tests/test-mbrtowc-w32-2.sh: New file.
59947         * tests/test-mbrtowc-w32-3.sh: New file.
59948         * tests/test-mbrtowc-w32-4.sh: New file.
59949         * tests/test-mbrtowc-w32-5.sh: New file.
59950         * tests/test-mbrtowc-w32.c: New file.
59951         * modules/mbrtowc-tests (Files): Add them.
59952         (Makefile.am): Arrange to run these tests.
59953         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
59954         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
59956 2011-02-13  Bruno Haible  <bruno@clisp.org>
59958         mbrtowc: Work around native Windows bug.
59959         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
59960         guess when no suitable locale for testing was found.
59961         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
59963 2011-02-13  Bruno Haible  <bruno@clisp.org>
59965         mbsinit: Work around mingw bug.
59966         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
59967         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
59968         Windows.
59969         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
59971 2011-02-13  Bruno Haible  <bruno@clisp.org>
59973         mbsinit: Don't crash for a NULL argument.
59974         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
59975         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
59977 2011-02-13  Bruno Haible  <bruno@clisp.org>
59979         Don't interfere with a program's definition of __attribute__.
59980         * lib/stdio.in.h (__attribute__): Remove definition.
59981         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
59982         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
59983         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
59984         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
59985         * lib/string.in.h (__attribute__): Remove definition.
59986         Reported by Paul Eggert.
59988 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
59990         stdlib: don't get in the way of non-GCC __attribute__
59991         See thread starting at
59992         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00161.html>.
59993         Revert previous stdlib change, installing the following instead:
59994         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
59995         to get in the way of a non-GCC compiler that supports __attribute__.
59996         (_GL_ATTRIBUTE_RETURN): New macro.
59997         (_Exit): Use it instead of __attribute__.
59999 2011-02-12  Bruno Haible  <bruno@clisp.org>
60001         quotearg test: Avoid test failure on mingw.
60002         * tests/test-quotearg.sh: Convert the locale identifier from native
60003         Windows syntax to Unix syntax.
60005 2011-02-12  Bruno Haible  <bruno@clisp.org>
60007         setlocale: Prefer gnulib's override over libintl's override.
60008         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
60009         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
60010         GNULIB_defined_setlocale is set.
60012 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
60014         stdlib: support non-GCC __attribute__
60016         Fix a serious and tricky problem encountered when attempting to
60017         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
60018         5.5, but it crashed due to memory corruption on Solaris 10 with
60019         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
60020         bits that are otherwise zero.  This tagging is optional inside
60021         Emacs but is preferred and is used when __attribute__ ((__aligned
60022         (8))) works, as it does with both recent-enough GCC and with Sun C
60023         5.11.  However, Sun C 5.11 is not GCC and does not #define
60024         __GNUC__ and __GNUC_MINOR__.
60026         When I added the getloadavg module to Emacs, it brought in
60027         stdlib.in.h, which contained this fragment:
60029            #ifndef __attribute__
60030            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
60031            #  define __attribute__(Spec)   /* empty */
60032            # endif
60033            #endif
60035         When files that include <stdlib.h> were compiled with Sun C 5.11,
60036         the above code disabled __attribute__ ((__aligned (8))), which
60037         caused variables to not be properly aligned, which eventually led
60038         to the pointer corruption mentioned above.  (This was a bit hard
60039         to diagnose, unfortunately.)
60041         Several "#define __attribute__(X) /* empty */" code snippets need
60042         to be eradicated from Gnulib to work with non-GCC compilers that
60043         support __attribute__.  The Autoconf way to do this is to test for
60044         each kind of attribute that we want support for, and selectively
60045         enable that in source code.
60047         Fix this problem just for stdlib.h, by adding a test for the
60048         __noreturn__ attribute, and change stdlib.in.h to use that test
60049         when needed.  This technique can be easily generalized to the
60050         other *.in.h files and attributes, and a similar technique can be
60051         used for *.h and *.c files.  This patch is enough to solve the
60052         problem for Emacs + getloadavg, and I thought I'd publish it for
60053         feedback before undertaking further, similar fixes in other
60054         modules.
60056         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
60057         because it's not needed for stdlib.h.  It merely substitutes the
60058         value directly into stdlib.h.  We may well need to #define it, or
60059         similar symbols, for other modules, but it's nice to also have an
60060         option to not #define it for applications like Emacs that do not
60061         need it.
60063         * lib/stdlib.in.h (__attribute__): Do not #define.
60064         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
60065         be defined only if the _Exit module is also used.
60066         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
60067         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
60068         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
60069         platforms.
60070         * modules/_Exit (Files): Add m4/attribute.m4.
60071         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
60072         * m4/attribute.m4: New file.
60074 2011-02-12  Bruno Haible  <bruno@clisp.org>
60076         wcsrtombs: Work around bug on native Windows.
60077         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
60078         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
60079         instead of len.
60080         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
60082 2011-02-12  Bruno Haible  <bruno@clisp.org>
60084         mbsrtowcs: Work around bug on native Windows.
60085         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
60086         against mingw bug.
60087         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
60089 2011-02-12  Bruno Haible  <bruno@clisp.org>
60091         Avoid setlocale bugs in tests.
60092         * modules/btowc (Dependencies): Add setlocale.
60093         * modules/c-strcase (Dependencies): Likewise.
60094         * modules/mbmemcasecmp (Dependencies): Likewise.
60095         * modules/mbmemcasecoll (Dependencies): Likewise.
60096         * modules/mbrtowc (Dependencies): Likewise.
60097         * modules/mbscasecmp (Dependencies): Likewise.
60098         * modules/mbscasestr (Dependencies): Likewise.
60099         * modules/mbschr (Dependencies): Likewise.
60100         * modules/mbscspn (Dependencies): Likewise.
60101         * modules/mbsinit (Dependencies): Likewise.
60102         * modules/mbsncasecmp (Dependencies): Likewise.
60103         * modules/mbsnrtowcs (Dependencies): Likewise.
60104         * modules/mbspbrk (Dependencies): Likewise.
60105         * modules/mbspcasecmp (Dependencies): Likewise.
60106         * modules/mbsrchr (Dependencies): Likewise.
60107         * modules/mbsrtowcs (Dependencies): Likewise.
60108         * modules/mbsspn (Dependencies): Likewise.
60109         * modules/mbsstr (Dependencies): Likewise.
60110         * modules/nl_langinfo (Dependencies): Likewise.
60111         * modules/quotearg (Dependencies): Likewise.
60112         * modules/unicase/locale-language (Dependencies): Likewise.
60113         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
60114         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
60115         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
60116         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
60117         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
60118         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
60119         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
60120         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
60121         * modules/vasnprintf-posix (Dependencies): Likewise.
60122         * modules/wcrtomb (Dependencies): Likewise.
60123         * modules/wcsnrtombs (Dependencies): Likewise.
60124         * modules/wcsrtombs (Dependencies): Likewise.
60126 2011-02-12  Bruno Haible  <bruno@clisp.org>
60128         setlocale: Workaround native Windows bug.
60129         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
60130         succeeds but sets LC_CTYPE to "C", report a failure.
60131         * tests/test-setlocale2.sh: New file.
60132         * tests/test-setlocale2.c: New file.
60133         * modules/setlocale-tests (Files): Add the new files.
60134         (Makefile.am): Enable test-setlocale2.sh test.
60135         * doc/posix-functions/setlocale.texi: Mention workaround.
60137 2011-02-11  Bruno Haible  <bruno@clisp.org>
60139         Tests for module 'setlocale'.
60140         * modules/setlocale-tests: New file.
60141         * tests/test-setlocale1.sh: New file.
60142         * tests/test-setlocale1.c: New file.
60144         New module 'setlocale'.
60145         * lib/locale.in.h (setlocale): New declaration.
60146         * lib/setlocale.c: New file, based on
60147         gettext/gettext-runtime/intl/setlocale.c.
60148         * m4/setlocale.m4: New file.
60149         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
60150         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
60151         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
60152         REPLACE_SETLOCALE.
60153         * modules/setlocale: New file.
60154         * tests/test-locale-c++.cc: Test the declaration of setlocale.
60155         * doc/posix-functions/setlocale.texi: Mention the new module.
60157 2011-02-11  Bruno Haible  <bruno@clisp.org>
60159         Prepare for locale dependent tests on mingw.
60160         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
60161         because it has the wrong locale encoding.
60162         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
60163         French_France.1252 instead of "fr".
60164         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
60165         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
60166         because it has the wrong locale encoding.
60167         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
60168         native Windows, try Turkish_Turkey.65001.
60169         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
60170         Chinese_China.54936.
60172         Prepare for locale dependent tests on mingw.
60173         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
60174         differently.
60175         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
60176         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
60177         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
60178         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
60180 2011-02-11  Eric Blake  <eblake@redhat.com>
60182         strptime: avoid compiler warnings
60183         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
60184         compiler warnings about dead code.
60185         Reported by Daniel P. Berrange.
60187 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
60189         doc: update users.txt
60190         * users.txt: Add rcs.
60192 2011-02-10  John W. Eaton  <jwe@gnu.org>
60194         doc: update users.txt
60195         * users.txt: Add octave.
60197 2011-02-10  Jim Meyering  <meyering@redhat.com>
60199         doc: update users.txt
60200         * users.txt: Add iwhd.
60202 2011-02-09  Bruno Haible  <bruno@clisp.org>
60204         gnulib-tool: Make copyright notice adjustment more robust.
60205         * gnulib-tool (func_import): In sed_transform_main_lib_file,
60206         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
60207         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
60208         License".
60209         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
60211 2011-02-06  Bruno Haible  <bruno@clisp.org>
60213         New module 'towctrans'.
60214         * modules/towctrans: New file.
60215         * lib/wctype.in.h (towctrans): New declaration.
60216         * lib/towctrans.c: New file.
60217         * lib/towctrans-impl.h: New file.
60218         * m4/towctrans.m4: New file.
60219         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
60220         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
60221         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
60222         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
60223         * doc/posix-functions/towctrans.texi: Mention the new module.
60225 2011-02-06  Bruno Haible  <bruno@clisp.org>
60227         New module 'wctrans'.
60228         * modules/wctrans: New file.
60229         * lib/wctype.in.h (wctrans): New declaration.
60230         * lib/wctrans.c: New file.
60231         * lib/wctrans-impl.h: New file.
60232         * m4/wctrans.m4: New file.
60233         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
60234         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
60235         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
60236         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
60237         * doc/posix-functions/wctrans.texi: Mention the new module.
60239 2011-02-06  Bruno Haible  <bruno@clisp.org>
60241         New module 'iswctype'.
60242         * modules/iswctype: New file.
60243         * lib/wctype.in.h (iswctype): New declaration.
60244         * lib/iswctype.c: New file.
60245         * lib/iswctype-impl.h: New file.
60246         * m4/iswctype.m4: New file.
60247         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
60248         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
60249         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
60250         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
60251         * doc/posix-functions/iswctype.texi: Mention the new module and the
60252         HP-UX 11.00 problem.
60254 2011-02-06  Bruno Haible  <bruno@clisp.org>
60256         New module 'wctype'.
60257         * modules/wctype: Change to represent the wctype() substitute.
60258         * lib/wctype.in.h (wctype): New declaration.
60259         * lib/wctype.c: New file.
60260         * lib/wctype-impl.h: New file.
60261         * m4/wctype.m4: New file.
60262         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
60263         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
60264         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
60265         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
60266         * doc/posix-functions/wctype.texi: Mention the new module and the
60267         HP-UX 11.00 problem.
60269 2011-02-06  Bruno Haible  <bruno@clisp.org>
60271         wctype-h: Ensure wctype_t and wctrans_t are defined.
60272         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
60273         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
60274         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
60275         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
60276         HAVE_WCTRANS_T.
60277         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
60279 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
60281         flock: fix license typo
60283         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
60284         omitted.
60286 2011-02-08  Bruno Haible  <bruno@clisp.org>
60288         Split large sed scripts, for HP-UX sed.
60289         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
60290         to avoid HP-UX limit of 99 commands, in the near future.
60291         * modules/stdlib (Makefile.am): Likewise.
60292         * modules/unistd (Makefile.am): Likewise.
60293         * modules/wchar (Makefile.am): Likewise.
60294         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
60295         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
60296         <http://lists.gnu.org/r/bug-gnulib/2010-01/msg00216.html>.
60298 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
60299             Bruno Haible  <bruno@clisp.org>
60301         stdlib: improve random_r modularization
60302         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
60303         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
60304         you also need the random_r module to get this material right.
60305         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
60306         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
60307         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
60309 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
60311         stdlib: don't depend on stdint
60312         * lib/stdlib.in.h: Don't include <stdint.h> merely because
60313         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
60314         be independent of whether stdint.h is needed.
60315         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
60316         here, instead of ...
60317         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
60318         struct random_data should be using the random_r module, not just
60319         the stdlib module (which wouldn't make sense: what package needs
60320         just struct random_data without also needing random_r?).
60321         * modules/stdlib (Depends-on): Remove stdint.
60323         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
60324         See the thread rooted at
60325         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00090.html>.
60326         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
60327         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
60328         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
60329         __VMS)); previously it was always included (via fcntl--.h).
60330         (getloadavg): Do not use c_strtod.  Instead, approximate it by
60331         hand; this is good enough for load averages.  Also, do not use
60332         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
60333         flags directly if available and don't bother otherwise.  (Packages
60334         that need the extra reliability should use the modules that define
60335         these flags on older platforms that lack them.)
60336         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
60337         fcntl-safer.
60339 2011-02-08  Jim Meyering  <meyering@redhat.com>
60341         di-set.h, ino-map.h: add multiple-inclusion guard
60342         Technically, the guard is required only for ino-map.h, due to its
60343         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
60344         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
60345         * lib/ino-map.h: Likewise.
60347 2011-02-06  Bruno Haible  <bruno@clisp.org>
60349         iswblank: Ensure declaration on glibc systems.
60350         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
60351         * modules/iswblank (Dependencies): Add 'extensions'.
60352         * doc/posix-functions/iswblank.texi: Document the glibc problem.
60354 2011-02-06  Bruno Haible  <bruno@clisp.org>
60356         New module 'iswblank'.
60357         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
60358         * modules/iswblank: New file.
60359         * modules/wctype-h (Files): Remove lib/iswblank.c.
60360         (Makefile.am): Substitute GNULIB_ISWBLANK.
60361         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
60362         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
60363         (gl_WCTYPE_H_DEFAULTS): New macro.
60364         (gl_WCTYPE_H): Require it. Remove iswblank related code.
60365         * modules/iswblank-tests: New file.
60366         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
60367         * tests/test-wctype-h.c (main): Remove iswblank tests.
60368         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
60369         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
60370         of 'wctype-h'.
60371         * NEWS: Mention the change.
60372         * modules/mbchar (Depends-on): Add iswblank.
60374 2011-02-08  Bruno Haible  <bruno@clisp.org>
60376         di-set tests: Refactor.
60377         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
60378         unnecessary includes.
60379         (ASSERT): Remove macro.
60380         (main): Make C90 compliant by avoiding variable declaration after
60381         statement.
60382         * modules/di-set-tests (Files): Add tests/macros.h.
60384 2011-02-08  Bruno Haible  <bruno@clisp.org>
60386         ino-map tests: Refactor.
60387         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
60388         unnecessary includes.
60389         (ASSERT): Remove macro.
60390         (main): Make C90 compliant by avoiding variable declaration after
60391         statement.
60392         * modules/ino-map-tests (Files): Add tests/macros.h.
60394 2011-02-08  Jim Meyering  <meyering@redhat.com>
60396         di-set: add "const" to a cast
60397         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
60398         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
60400 2011-02-06  Bruno Haible  <bruno@clisp.org>
60402         Rename module 'wctype' to 'wctype-h'.
60403         * modules/wctype-h: Renamed from modules/wctype.
60404         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
60405         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
60406         (Files, Depends-on, Makefile.am): Update.
60407         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
60408         (Files, Makefile.am): Update.
60409         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
60410         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
60411         * doc/posix-headers/wctype.texi: Update.
60412         * doc/posix-functions/iswalnum.texi: Update.
60413         * doc/posix-functions/iswalpha.texi: Update.
60414         * doc/posix-functions/iswblank.texi: Update.
60415         * doc/posix-functions/iswcntrl.texi: Update.
60416         * doc/posix-functions/iswdigit.texi: Update.
60417         * doc/posix-functions/iswgraph.texi: Update.
60418         * doc/posix-functions/iswlower.texi: Update.
60419         * doc/posix-functions/iswprint.texi: Update.
60420         * doc/posix-functions/iswpunct.texi: Update.
60421         * doc/posix-functions/iswspace.texi: Update.
60422         * doc/posix-functions/iswupper.texi: Update.
60423         * doc/posix-functions/iswxdigit.texi: Update.
60424         * doc/posix-functions/towlower.texi: Update.
60425         * doc/posix-functions/towupper.texi: Update.
60426         * NEWS: Mention the change.
60427         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
60428         * modules/mbchar (Dependencies): Likewise.
60429         * modules/mbswidth (Dependencies): Likewise.
60430         * modules/quotearg (Dependencies): Likewise.
60431         * modules/regex (Dependencies): Likewise.
60432         * modules/wcscasecmp (Dependencies): Likewise.
60433         * modules/wcsncasecmp (Dependencies): Likewise.
60434         * modules/wcwidth (Dependencies): Likewise.
60436 2011-02-06  Bruno Haible  <bruno@clisp.org>
60438         New module 'wcswidth'.
60439         * modules/wcswidth: New file.
60440         * lib/wchar.in.h (wcswidth): New declaration.
60441         * lib/wcswidth.c: New file.
60442         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
60443         * m4/wcswidth.m4: New file.
60444         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
60445         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
60446         REPLACE_WCSWIDTH.
60447         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
60448         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
60449         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
60450         * doc/posix-functions/wcswidth.texi: Mention the new module.
60452 2011-02-06  Bruno Haible  <bruno@clisp.org>
60454         New module 'wcstok'.
60455         * modules/wcstok: New file.
60456         * lib/wchar.in.h (wcstok): New declaration.
60457         * lib/wcstok.c: New file.
60458         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
60459         * m4/wcstok.m4: New file.
60460         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
60461         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
60462         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
60463         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
60464         * doc/posix-functions/wcstok.texi: Mention the new module.
60466 2011-02-06  Bruno Haible  <bruno@clisp.org>
60468         New module 'wcsstr'.
60469         * modules/wcsstr: New file.
60470         * lib/wchar.in.h (wcsstr): New declaration.
60471         * lib/wcsstr.c: New file.
60472         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
60473         * m4/wcsstr.m4: New file.
60474         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
60475         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
60476         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
60477         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
60478         * doc/posix-functions/wcsstr.texi: Mention the new module.
60480 2011-02-06  Bruno Haible  <bruno@clisp.org>
60482         New module 'wcspbrk'.
60483         * modules/wcspbrk: New file.
60484         * lib/wchar.in.h (wcspbrk): New declaration.
60485         * lib/wcspbrk.c: New file.
60486         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
60487         * m4/wcspbrk.m4: New file.
60488         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
60489         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
60490         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
60491         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
60492         * doc/posix-functions/wcspbrk.texi: Mention the new module.
60494 2011-02-06  Bruno Haible  <bruno@clisp.org>
60496         New module 'wcsspn'.
60497         * modules/wcsspn: New file.
60498         * lib/wchar.in.h (wcsspn): New declaration.
60499         * lib/wcsspn.c: New file.
60500         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
60501         * m4/wcsspn.m4: New file.
60502         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
60503         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
60504         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
60505         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
60506         * doc/posix-functions/wcsspn.texi: Mention the new module.
60508 2011-02-06  Bruno Haible  <bruno@clisp.org>
60510         New module 'wcscspn'.
60511         * modules/wcscspn: New file.
60512         * lib/wchar.in.h (wcscspn): New declaration.
60513         * lib/wcscspn.c: New file.
60514         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
60515         * m4/wcscspn.m4: New file.
60516         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
60517         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
60518         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
60519         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
60520         * doc/posix-functions/wcscspn.texi: Mention the new module.
60522 2011-02-06  Bruno Haible  <bruno@clisp.org>
60524         New module 'wcsrchr'.
60525         * modules/wcsrchr: New file.
60526         * lib/wchar.in.h (wcsrchr): New declaration.
60527         * lib/wcsrchr.c: New file.
60528         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
60529         * m4/wcsrchr.m4: New file.
60530         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
60531         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
60532         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
60533         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
60534         * doc/posix-functions/wcsrchr.texi: Mention the new module.
60536 2011-02-06  Bruno Haible  <bruno@clisp.org>
60538         New module 'wcschr'.
60539         * modules/wcschr: New file.
60540         * lib/wchar.in.h (wcschr): New declaration.
60541         * lib/wcschr.c: New file.
60542         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
60543         * m4/wcschr.m4: New file.
60544         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
60545         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
60546         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
60547         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
60548         * doc/posix-functions/wcschr.texi: Mention the new module.
60550 2011-02-06  Bruno Haible  <bruno@clisp.org>
60552         New module 'wcsdup'.
60553         * modules/wcsdup: New file.
60554         * lib/wchar.in.h (wcsdup): New declaration.
60555         * lib/wcsdup.c: New file.
60556         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
60557         * m4/wcsdup.m4: New file.
60558         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
60559         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
60560         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
60561         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
60562         * doc/posix-functions/wcsdup.texi: Mention the new module.
60564 2011-02-06  Bruno Haible  <bruno@clisp.org>
60566         New module 'wcsxfrm'.
60567         * modules/wcsxfrm: New file.
60568         * lib/wchar.in.h (wcsxfrm): New declaration.
60569         * lib/wcsxfrm.c: New file.
60570         * lib/wcsxfrm-impl.h: New file.
60571         * m4/wcsxfrm.m4: New file.
60572         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
60573         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
60574         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
60575         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
60576         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
60578 2011-02-06  Bruno Haible  <bruno@clisp.org>
60580         New module 'wcscoll'.
60581         * modules/wcscoll: New file.
60582         * lib/wchar.in.h (wcscoll): New declaration.
60583         * lib/wcscoll.c: New file.
60584         * lib/wcscoll-impl.h: New file.
60585         * m4/wcscoll.m4: New file.
60586         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
60587         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
60588         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
60589         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
60590         * doc/posix-functions/wcscoll.texi: Mention the new module.
60592 2011-02-06  Bruno Haible  <bruno@clisp.org>
60594         New module 'wcsncasecmp'.
60595         * modules/wcsncasecmp: New file.
60596         * lib/wchar.in.h (wcsncasecmp): New declaration.
60597         * lib/wcsncasecmp.c: New file.
60598         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
60599         * m4/wcsncasecmp.m4: New file.
60600         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
60601         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
60602         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
60603         HAVE_WCSNCASECMP.
60604         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
60605         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
60607 2011-02-06  Bruno Haible  <bruno@clisp.org>
60609         New module 'wcscasecmp'.
60610         * modules/wcscasecmp: New file.
60611         * lib/wchar.in.h (wcscasecmp): New declaration.
60612         * lib/wcscasecmp.c: New file.
60613         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
60614         * m4/wcscasecmp.m4: New file.
60615         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
60616         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
60617         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
60618         HAVE_WCSCASECMP.
60619         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
60620         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
60622 2011-02-05  Bruno Haible  <bruno@clisp.org>
60624         New module 'wcsncmp'.
60625         * modules/wcsncmp: New file.
60626         * lib/wchar.in.h (wcsncmp): New declaration.
60627         * lib/wcsncmp.c: New file.
60628         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
60629         * m4/wcsncmp.m4: New file.
60630         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
60631         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
60632         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
60633         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
60634         * doc/posix-functions/wcsncmp.texi: Mention the new module.
60636 2011-02-05  Bruno Haible  <bruno@clisp.org>
60638         New module 'wcscmp'.
60639         * modules/wcscmp: New file.
60640         * lib/wchar.in.h (wcscmp): New declaration.
60641         * lib/wcscmp.c: New file.
60642         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
60643         * m4/wcscmp.m4: New file.
60644         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
60645         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
60646         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
60647         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
60648         * doc/posix-functions/wcscmp.texi: Mention the new module.
60650 2011-02-05  Bruno Haible  <bruno@clisp.org>
60652         New module 'wcsncat'.
60653         * modules/wcsncat: New file.
60654         * lib/wchar.in.h (wcsncat): New declaration.
60655         * lib/wcsncat.c: New file.
60656         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
60657         * m4/wcsncat.m4: New file.
60658         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
60659         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
60660         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
60661         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
60662         * doc/posix-functions/wcsncat.texi: Mention the new module.
60664 2011-02-05  Bruno Haible  <bruno@clisp.org>
60666         New module 'wcscat'.
60667         * modules/wcscat: New file.
60668         * lib/wchar.in.h (wcscat): New declaration.
60669         * lib/wcscat.c: New file.
60670         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
60671         * m4/wcscat.m4: New file.
60672         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
60673         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
60674         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
60675         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
60676         * doc/posix-functions/wcscat.texi: Mention the new module.
60678 2011-02-05  Bruno Haible  <bruno@clisp.org>
60680         New module 'wcpncpy'.
60681         * modules/wcpncpy: New file.
60682         * lib/wchar.in.h (wcpncpy): New declaration.
60683         * lib/wcpncpy.c: New file.
60684         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
60685         * m4/wcpncpy.m4: New file.
60686         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
60687         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
60688         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
60689         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
60690         * doc/posix-functions/wcpncpy.texi: Mention the new module.
60692 2011-02-05  Bruno Haible  <bruno@clisp.org>
60694         New module 'wcsncpy'.
60695         * modules/wcsncpy: New file.
60696         * lib/wchar.in.h (wcsncpy): New declaration.
60697         * lib/wcsncpy.c: New file.
60698         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
60699         * m4/wcsncpy.m4: New file.
60700         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
60701         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
60702         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
60703         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
60704         * doc/posix-functions/wcsncpy.texi: Mention the new module.
60706 2011-02-05  Bruno Haible  <bruno@clisp.org>
60708         New module 'wcpcpy'.
60709         * modules/wcpcpy: New file.
60710         * lib/wchar.in.h (wcpcpy): New declaration.
60711         * lib/wcpcpy.c: New file.
60712         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
60713         * m4/wcpcpy.m4: New file.
60714         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
60715         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
60716         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
60717         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
60718         * doc/posix-functions/wcpcpy.texi: Mention the new module.
60720 2011-02-05  Bruno Haible  <bruno@clisp.org>
60722         New module 'wcscpy'.
60723         * modules/wcscpy: New file.
60724         * lib/wchar.in.h (wcscpy): New declaration.
60725         * lib/wcscpy.c: New file.
60726         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
60727         * m4/wcscpy.m4: New file.
60728         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
60729         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
60730         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
60731         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
60732         * doc/posix-functions/wcscpy.texi: Mention the new module.
60734 2011-02-05  Bruno Haible  <bruno@clisp.org>
60736         New module 'wcsnlen'.
60737         * modules/wcsnlen: New file.
60738         * lib/wchar.in.h (wcsnlen): New declaration.
60739         * lib/wcsnlen.c: New file.
60740         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
60741         * m4/wcsnlen.m4: New file.
60742         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
60743         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
60744         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
60745         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
60746         * doc/posix-functions/wcsnlen.texi: Mention the new module.
60748 2011-02-05  Bruno Haible  <bruno@clisp.org>
60750         New module 'wcslen'.
60751         * modules/wcslen: New file.
60752         * lib/wchar.in.h (wcslen): New declaration.
60753         * lib/wcslen.c: New file.
60754         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
60755         * m4/wcslen.m4: New file.
60756         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
60757         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
60758         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
60759         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
60760         * doc/posix-functions/wcslen.texi: Mention the new module.
60762 2011-02-05  Bruno Haible  <bruno@clisp.org>
60764         New module 'wmemset'.
60765         * modules/wmemset: New file.
60766         * lib/wchar.in.h (wmemset): New declaration.
60767         * lib/wmemset.c: New file.
60768         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
60769         * m4/wmemset.m4: New file.
60770         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
60771         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
60772         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
60773         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
60774         * doc/posix-functions/wmemset.texi: Mention the new module.
60776 2011-02-05  Bruno Haible  <bruno@clisp.org>
60778         New module 'wmemmove'.
60779         * modules/wmemmove: New file.
60780         * lib/wchar.in.h (wmemmove): New declaration.
60781         * lib/wmemmove.c: New file.
60782         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
60783         * m4/wmemmove.m4: New file.
60784         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
60785         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
60786         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
60787         HAVE_WMEMMOVE.
60788         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
60789         * doc/posix-functions/wmemmove.texi: Mention the new module.
60791 2011-02-05  Bruno Haible  <bruno@clisp.org>
60793         New module 'wmemcpy'.
60794         * modules/wmemcpy: New file.
60795         * lib/wchar.in.h (wmemcpy): New declaration.
60796         * lib/wmemcpy.c: New file.
60797         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
60798         * m4/wmemcpy.m4: New file.
60799         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
60800         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
60801         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
60802         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
60803         * doc/posix-functions/wmemcpy.texi: Mention the new module.
60805 2011-02-05  Bruno Haible  <bruno@clisp.org>
60807         New module 'wmemcmp'.
60808         * modules/wmemcmp: New file.
60809         * lib/wchar.in.h (wmemcmp): New declaration.
60810         * lib/wmemcmp.c: New file.
60811         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
60812         * m4/wmemcmp.m4: New file.
60813         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
60814         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
60815         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
60816         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
60817         * doc/posix-functions/wmemcmp.texi: Mention the new module.
60819 2011-02-07  Jim Meyering  <meyering@redhat.com>
60821         di-set, ino-map: new modules, from coreutils
60822         * lib/di-set.c: New file.
60823         * lib/di-set.h: Likewise.
60824         * lib/ino-map.c: Likewise.
60825         * lib/ino-map.h: Likewise.
60826         * modules/di-set: Likewise.
60827         * modules/di-set-tests: Likewise.
60828         * modules/ino-map: Likewise.
60829         * modules/ino-map-tests: Likewise.
60830         * tests/test-di-set.c: Likewise.
60831         * tests/test-ino-map.c: Likewise.
60833 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
60835         getloadavg: merge minor changes from Emacs
60837         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
60838         (getloadavg): Use memset, not bzero.
60840         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
60841         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
60842         clash (bug#86).
60844 2010-11-14  Bruno Haible  <bruno@clisp.org>
60846         Allow multiple gnulib generated replacements to coexist.
60847         * lib/getopt.in.h (struct option): Avoid identical redefinition.
60848         * lib/inttypes.in.h (imaxdiv_t): Likewise.
60849         * lib/langinfo.in.h (nl_item): Likewise.
60850         * lib/math.in.h (_NaN, NAN): Likewise.
60851         * lib/netdb.in.h (struct addrinfo): Likewise.
60852         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
60853         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
60854         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
60855         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
60856         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
60857         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
60858         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
60859         pthread_mutexattr_init, pthread_mutexattr_settype,
60860         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
60861         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
60862         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
60863         pthread_spin_trylock, pthread_spin_unlock): Likewise.
60864         * lib/sched.in.h (struct sched_param): Likewise.
60865         * lib/se-selinux.in.h (security_class_t, security_context_t,
60866         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
60867         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
60868         lsetfilecon, fsetfilecon, security_check_context,
60869         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
60870         Likewise.
60871         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
60872         Likewise.
60873         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
60874         _gl_function_taking_int_returning_void_t, union sigval,
60875         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
60876         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
60877         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
60878         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
60879         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
60880         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
60881         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
60882         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
60883         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
60884         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
60885         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
60886         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
60887         socklen_t, rpl_fd_isset): Likewise.
60888         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
60889         * lib/sys_time.in.h (struct timeval): Likewise.
60890         * lib/sys_times.in.h (struct tms): Likewise.
60891         * lib/sys_utsname.in.h (struct utsname):
60892         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
60893         * lib/unistd.in.h (getpagesize): Likewise.
60894         * lib/wchar.in.h (mbstate_t): Likewise.
60895         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
60896         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
60897         towlower, towupper): Likewise.
60898         Reported by Sam Steingold <sds@gnu.org>.
60900 2011-02-05  Eric Blake  <eblake@redhat.com>
60902         unsetenv: work around Haiku issues
60903         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
60904         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
60906 2010-12-30  Bruce Korb  <bkorb@gnu.org>
60908         libposix: avoid calling error() within libposix
60909         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
60910         is defined.
60912 2011-02-05  Eric Blake  <eblake@redhat.com>
60914         strerror_r-posix: port to cygwin
60915         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
60916         implementation.
60917         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
60918         * tests/test-strerror_r.c (main): Fix test.
60919         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
60920         issue.
60922 2011-02-05  Bruno Haible  <bruno@clisp.org>
60924         New module 'wmemchr'.
60925         * modules/wmemchr: New file.
60926         * lib/wchar.in.h (wmemchr): New declaration.
60927         * lib/wmemchr.c: New file.
60928         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
60929         * m4/wmemchr.m4: New file.
60930         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
60931         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
60932         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
60933         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
60934         * doc/posix-functions/wmemchr.texi: Mention the new module.
60936 2011-02-04  Eric Blake  <eblake@redhat.com>
60938         fdopendir: detect FreeBSD bug
60939         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
60940         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
60942 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
60944         stdbool: do not define HAVE_STDBOOL_H
60945         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
60946         AC_HEADER_STDBOOL.  All uses changed.  Do not define
60947         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
60948         imported from the latest Autoconf git.  It was motivated by Emacs,
60949         which uses gnulib but does not need HAVE_STDBOOL_H.
60951 2011-02-04  Bruno Haible  <bruno@clisp.org>
60953         wcsnrtombs: Prepare for new module wwcsnrtombs.
60954         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
60955         * lib/wcsnrtombs.c: Include it.
60956         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
60958         wcsrtombs: Prepare for new module wwcsrtombs.
60959         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
60960         * lib/wcsrtombs.c: Include it.
60961         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
60963         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
60964         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
60965         * lib/mbsnrtowcs.c: Include it.
60966         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
60968         mbsrtowcs: Prepare for new module mbsrtowwcs.
60969         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
60970         * lib/mbsrtowcs.c: Include it.
60971         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
60973 2011-02-04  Bruno Haible  <bruno@clisp.org>
60975         vasnprintf: Reduce use of malloc for small format strings.
60976         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
60977         (arguments): Add room for the first 7 arguments.
60978         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
60979         (char_directives, u8_directives, u16_directives, u32_directives): Add
60980         room for the first 7 directives.
60981         * lib/printf-parse.c: Include <string.h>.
60982         (PRINTF_PARSE): Change memory handling code so that it uses the first
60983         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
60984         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
60985         Reported by Pádraig Brady <P@draigbrady.com>.
60987 2011-01-31  Eric Blake  <eblake@redhat.com>
60989         dup2: work around Haiku bug
60990         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
60991         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
60992         * doc/posix-functions/dup2.texi (dup2): Document the bug.
60993         * tests/test-dup2.c (main): Enhance test.
60995 2011-01-31  Simon Josefsson  <simon@josefsson.org>
60997         doc: off_t is not available in eglibc 2.11.2 stdio.h.
60998         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
60999         declared by eglibc 2.11.2.
61000         * lib/stdio.in.h: Likewise.
61002 2011-01-31  Eric Blake  <eblake@redhat.com>
61004         ignore-value: add missing test dependency
61005         * tests/test-ignore-value.c: Revert previous change; stdio.h
61006         provides off_t.
61007         * modules/ignore-value-tests (Depends-on): Add missing dependency.
61009 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
61011         mktime: clarify long_int width checking
61012         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
61013         the top level, to make it clearer that the assumption about
61014         long_int width is being checked.  See
61015         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00554.html>.
61017 2011-01-30  Simon Josefsson  <simon@josefsson.org>
61019         ignore-value: Fix self-test.
61020         * tests/test-ignore-value.c: Include sys/types.h for off_t.
61022 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
61024         TYPE_MAXIMUM: avoid theoretically undefined behavior
61025         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
61026         negative number, which the C Standard says has undefined behavior.
61027         In practice this is not a problem, but might as well do it by the book.
61028         Reported by Rich Felker and Eric Blake; see
61029         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00493.html>.
61030         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
61031         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
61032         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
61033         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
61034         * m4/stdint.m4 (gl_STDINT_H): Likewise.
61035         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
61037         mktime: #undef mktime before #defining it
61038         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
61040         mktime: systematically normalize tm_isdst comparisons
61041         * lib/mktime.c (isdst_differ): New function.
61042         (__mktime_internal): Use it systematically for all isdst comparisons.
61043         This completes the fix for libc BZ #6723, and removes the need for
61044         normalizing tm_isdst.  See
61045         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
61046         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
61048         mktime: fix some integer overflow issues and sidestep the rest
61050         This was prompted by a bug report by Benjamin Lindner for MinGW
61051         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00472.html>.
61052         His bug is due to signed integer overflow (0 - INT_MIN), and I
61053         I scanned through mktime.c looking for other integer overflow
61054         problems, fixing all the bugs I found.
61056         Although the C Standard says the resulting code is still not safe
61057         in the presence of integer overflow, in practice it should be good
61058         enough for all real-world two's-complement implementations, except
61059         for debugging environments that deliberately trap on integer
61060         overflow (e.g., gcc -ftrapv).
61062         * lib/mktime.c (WRAPV): New macro.
61063         (SHR): Also check that long_int and time_t shift right in the
61064         usual way, before using the fast-but-unportable method.
61065         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
61066         used.  The code already assumed two's complement, so there's
61067         no need to test for alternatives.  All uses removed.
61068         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
61069         the C standard.  Problem reported by Rich Felker in
61070         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00488.html>.
61071         (twos_complement_arithmetic): Also check long_int and time_t.
61072         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
61073         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
61074         (__mktime_internal): Avoid integer overflow with unary subtraction
61075         in two instances where -1 - X is an adequate replacement for -X,
61076         since the calculations are approximate.
61078 2011-01-29  Eric Blake  <eblake@redhat.com>
61080         mktime: avoid infinite loop
61081         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
61082         type; behavior is still undefined but portable to all known targets.
61083         Reported by Rich Felker.
61085 2011-01-29  Simon Josefsson  <simon@josefsson.org>
61087         rename, unlink, same-inode: Relicense.
61088         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
61089         * modules/unlink (License): Likewise.
61090         * modules/same-inode (License): Likewise.
61092 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
61094         mktime: avoid problems on NetBSD 5 / i386
61095         * lib/mktime.c (long_int): New type.  This works around a problem
61096         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
61097         but time_t is 64 bits, and where I expect the existing code is
61098         wrong in some cases.
61099         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
61100         (ydhms_diff): Bring back the compile-time check for wide-enough
61101         year and yday.
61103         mktime: fix misspelling in comment
61104         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
61105         This merges all recent glibc changes of importance.
61107 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61109         move-if-change: cope with concurrent mv of identical file.
61110         * build-aux/move-if-change (CMPPROG): Accept environment
61111         variable as an override for `cmp'.
61112         (usage): Document CMPPROG.
61113         Adjust comparison to drop stdout.  Cope with failure of mv if
61114         the target file exists and is identical to the source, for
61115         parallel builds.
61116         Report from H.J. Lu against binutils in PR binutils/12283.
61118 2011-01-28  Bruce Korb  <bkorb@gnu.org>
61120         * users.txt: Mention sharutils.
61122 2011-01-28  Simon Josefsson  <simon@josefsson.org>
61124         * users.txt: Mention OATH Toolkit.
61126 2011-01-27  Bruno Haible  <bruno@clisp.org>
61128         Prepare for supporting FreeBSD 10.
61129         * build-aux/config.libpath: Remove handling of freebsd1*.
61131 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
61133         Prepare for supporting FreeBSD 10.
61134         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
61135         match FreeBSD 10.0.
61137 2011-01-27  Bruno Haible  <bruno@clisp.org>
61139         vma-iter, get-rusage-as: Add OpenBSD support.
61140         * modules/vma-iter (configure.ac): Test for mquery.
61141         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
61142         * lib/vma-iter.c: Include <sys/mman.h>.
61143         (vma_iterate): Add an implementation based on mquery().
61144         * lib/resource-ext.h (get_rusage_as): Update comments.
61145         * lib/get-rusage-as.c: Likewise.
61146         * lib/get-rusage-data.c: Likewise.
61148 2011-01-26  Karl Berry  <karl@gnu.org>
61150         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
61151         variables to make it easier to override the makeinfo program used.
61153 2011-01-26  Eric Blake  <eblake@redhat.com>
61155         fcntl: work around Haiku F_DUPFD bugs
61156         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
61157         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
61158         cloexec bit on duplication.
61159         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
61161 2011-01-26  Bruno Haible  <bruno@clisp.org>
61163         Enable memory leak tests on AIX.
61164         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
61165         * tests/test-fprintf-posix3.c (main): Likewise.
61167 2011-01-26  Bruno Haible  <bruno@clisp.org>
61169         Tests for module 'get-rusage-data'.
61170         * modules/get-rusage-data-tests: New file.
61171         * tests/test-get-rusage-data.c: New file.
61173         New module 'get-rusage-data'.
61174         * lib/resource-ext.h (get_rusage_data): New declaration.
61175         * lib/get-rusage-data.c: New file.
61176         * modules/get-rusage-data: New file.
61178 2011-01-25  Bruno Haible  <bruno@clisp.org>
61180         get-rusage-as: Allow for easier testing.
61181         * lib/resource-ext.h (get_rusage_as): Add comment.
61182         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
61183         (main): New function for interactive testing.
61185 2011-01-25  Bruno Haible  <bruno@clisp.org>
61187         vma-iter: Treat Haiku like BeOS.
61188         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
61189         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
61191 2011-01-25  Eric Blake  <eblake@redhat.com>
61193         c-stack: fix regression on cygwin when libsigsegv is present
61194         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
61196 2011-01-24  Bruno Haible  <bruno@clisp.org>
61198         vma-iter: Avoid empty intervals.
61199         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
61200         on an empty interval.
61202 2011-01-24  Jim Meyering  <meyering@redhat.com>
61204         u64: remove unnecessary #include
61205         * lib/u64.h: Don't include <stddef.h>.  It was not used.
61207 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
61209         Allow the user to avoid the HAVE_RAW_DECL_* macros.
61210         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
61212 2011-01-23  Bruno Haible  <bruno@clisp.org>
61214         New module 'vma-iter'.
61215         * lib/vma-iter.h: New file.
61216         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
61217         * modules/vma-iter: New file.
61218         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
61219         for get_rusage_as_via_iterator.
61220         (vma_iterate_callback): New function.
61221         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
61222         * modules/get-rusage-as (Depends-on): Add vma-iter.
61224 2011-01-23  Bruno Haible  <bruno@clisp.org>
61226         uninorm: Tweak includes.
61227         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
61228         Reported by Jim Meyering.
61230 2011-01-23  Bruno Haible  <bruno@clisp.org>
61232         get-rusage-as: Improve on NetBSD.
61233         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
61234         /proc, like on FreeBSD.
61236 2011-01-23  Jim Meyering  <meyering@redhat.com>
61238         xreadlink.h: remove unnecessary #include
61239         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
61241         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
61242         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
61244 2011-01-23  Bruno Haible  <bruno@clisp.org>
61246         get-rusage-as: Fix bug.
61247         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
61248         original limit when aborting the first loop.
61250 2011-01-23  Bruno Haible  <bruno@clisp.org>
61252         wctype: Ensure valid C syntax.
61253         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
61254         unconditionally, instead of gl_NEXT_HEADERS conditionally.
61256 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
61258         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
61259         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
61260         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
61261         as they are needed only for configure's test case.
61262         This removes two unnecessary symbols from config.h.
61264         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
61265         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
61266         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
61267         AC_CHECK_HEADERS_ONCE on a header that we also invoke
61268         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
61269         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
61270         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
61271         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
61272         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
61273         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
61274         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
61275         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
61276         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
61277         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
61278         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
61279         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
61280         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
61281         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
61283 2011-01-21  Eric Blake  <eblake@redhat.com>
61285         maintainer-makefile: work with older git for submodule check
61286         * top/maint.mk (public-submodule-commit): Rewrite to avoid
61287         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
61288         Reported by Matthias Bolte.
61290         bootstrap: minor portability fixes
61291         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
61292         (usage): Omit leading capital and trailing . on help phrases, per
61293         GNU Coding Standards.
61294         (check_versions, top level): Prefix messages with script name.
61296 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
61298         bootstrap: support --no-git option
61299         * build-aux/bootstrap: Add --no-git option, to be used when
61300         --gnulib-srcdir points to the exact desired checkout.
61302 2011-01-21  Eric Blake  <eblake@redhat.com>
61304         strerror_r-posix: work with glibc 2.13
61305         * lib/strerror_r.c (strerror_r): Fix return type.
61307 2011-01-21  Pádraig Brady  <P@draigBrady.com>
61308             Bruno Haible  <bruno@clisp.org>
61310         uN_strstr: New unit tests.
61311         * modules/unistr/u8-strstr-tests: New file.
61312         * modules/unistr/u16-strstr-tests: New file.
61313         * modules/unistr/u32-strstr-tests: New file.
61314         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
61315         * tests/unistr/test-u8-strstr.c: New file.
61316         * tests/unistr/test-u16-strstr.c: New file.
61317         * tests/unistr/test-u32-strstr.c: New file.
61319 2011-01-21  Pádraig Brady  <P@draigBrady.com>
61320             Bruno Haible  <bruno@clisp.org>
61322         Make uN_strstr functions O(n) worst-case.
61323         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
61324         16-bit and 32-bit unit cases, use the unibyte algorithm from
61325         lib/mbsstr.c.
61326         * lib/unistr/u8-strstr.c: Include <string.h>.
61327         (UNIT_IS_UINT8_T): New macro.
61328         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
61329         (U_STRLEN, U_STRNLEN): New macros.
61330         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
61331         (U_STRLEN, U_STRNLEN): New macros.
61332         * modules/unistr/u8-strstr (Depends-on): Add strstr.
61333         (configure.ac): Update required libunistring version.
61334         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
61335         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
61336         malloca.
61337         (configure.ac): Update required libunistring version.
61338         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
61339         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
61340         malloca.
61341         (configure.ac): Update required libunistring version.
61343 2011-01-21  Pádraig Brady  <P@draigBrady.com>
61344             Bruno Haible  <bruno@clisp.org>
61346         Prepare for faster uN_strstr functions.
61347         * lib/str-kmp.h: Support definable UNITs.
61348         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
61349         needle_len argument.
61350         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
61351         * lib/mbscasestr.c (mbscasestr): Likewise.
61353 2011-01-21  Pádraig Brady  <P@draigBrady.com>
61355         malloca-tests: make faster by unsetting MALLOC_PERTURB_
61356         * tests/test-malloca.c (main): Unset the environment variable
61357         to greatly speed up the test.
61358         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
61359         * modules/malloca-tests: Depend on unsetenv.
61361 2011-01-21  Pádraig Brady  <P@draigBrady.com>
61363         ignore-value: remove stdint dependency
61364         * lib/ignore-value.h: Remove <stdint.h>
61365         * modules/ignore-value: Remove stdint dependency.
61367 2011-01-21  Jim Meyering  <meyering@redhat.com>
61369         maint.mk: adjust variable name to be consistent with other gl_ vars
61370         * top/maint.mk (gl_public_submodule_commit): Rename the variable
61371         to be lower case.
61373 2011-01-20  Jim Meyering  <meyering@redhat.com>
61375         maint.mk: make "check" depend on public-submodule-commit by default
61376         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
61378 2011-01-20  Bruno Haible  <bruno@clisp.org>
61380         mbfile, mbiter: Complete change from 2008-12-21.
61381         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
61382         * m4/mbiter.m4 (gl_MBITER): Likewise.
61384 2011-01-20  Jim Meyering  <meyering@redhat.com>
61386         init.sh: insert space between each function name and "()"
61387         * tests/init.sh: Make it a little easier to see that a function's
61388         name is "warn_", and not "warn" when looking at the first part of
61389         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
61391 2011-01-20  Jim Meyering  <meyering@redhat.com>
61393         mountlist: clean up code formatting
61394         * lib/mountlist.c (read_file_system_list): Split a long line,
61395         correct bracing style, use NULL in place of "(struct statfs *)0",
61396         don't parenthesize return value, add spaces around "=" and after
61397         ";-in-for-stmt".
61399 2011-01-14  Markus Duft  <mduft@gentoo.org>
61401         mountlist: add support for Interix
61402         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
61403         Apply statvfs to all entries of /dev/fs.
61404         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
61405         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
61407 2011-01-20  Jim Meyering  <meyering@redhat.com>
61409         maint.mk: improve the public-submodule-commit rule
61410         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
61411         to suppress printing of its commands... unless V=1.
61412         Add git submodule's --quiet option to suppress printing of e.g.,
61413         "Entering gnulib" output.
61414         "cd" into $(srcdir) before running git submodule.
61416 2011-01-20  Bruno Haible  <bruno@clisp.org>
61418         include_next: Fix bug introduced on 2011-01-18.
61419         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
61420         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
61421         ac_cv_header_... variable if the second argument is not 'check'.
61422         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
61423         gl_NEXT_HEADERS_INTERNAL.
61425 2011-01-20  Bruno Haible  <bruno@clisp.org>
61427         Allow the user to avoid the GNULIB_TEST_* macros.
61428         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
61429         Suggested by Paul Eggert.
61431 2011-01-14  Jim Meyering  <meyering@redhat.com>
61433         bootstrap: avoid failure when there is no .gitmodules file
61434         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
61435         has been assigned to, even when its value is the empty string.
61436         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
61437         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
61438         Reported by John W. Eaton <jwe@gnu.org>.
61440 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
61442         assume <ctype.h>, ..., <time.h> exist
61443         For years gnulib has been assuming the existence of the headers
61444         <ctype.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
61445         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
61446         them, since they don't appear to be needed.
61447         * README (Portability guidelines): Document this.
61448         * lib/flock.c: Assume <fcntl.h> exists.
61449         * lib/regex_internal.h: Assume <locale.h> exists.
61450         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
61451         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
61452         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
61453         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
61454         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
61455         * m4/regex.m4 (gl_REGEX): Likewise.
61456         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
61457         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
61458         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
61459         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
61460         * tests/test-argp.c: Likewise.
61461         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
61463         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
61464         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
61465         AA_APPLE_UNIVERSAL_BUILD.  See
61466         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00247.html>.
61467         * NEWS: Document this.
61469 2011-01-19  Eric Blake  <eblake@redhat.com>
61471         c-stack: assume stack overflow if SA_SIGINFO unsupported
61472         * lib/c-stack.c (SIGACTION_WORKS): Rename...
61473         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
61474         sigaction will work.
61475         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
61476         behavior match Linux.
61477         * tests/test-c-stack.c (main): Prefer NULL for pointers.
61479         stdbool-tests: accommodate Haiku
61480         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
61482         binary-io: fix O_TEXT on Haiku
61483         * modules/binary-io (Depends-on): Add fcntl-h.
61484         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
61485         than blindly undefining O_TEXT.
61486         Reported by Scott McCreary.
61488 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
61490         include_next: do not check for standard headers like stddef.h
61492         I found this problem when modifying Emacs to use gnulib.
61493         I noticed that it added HAVE_STDDEF_H to config.h, even though
61494         gnulib always assumes <stddef.h> exists as per README and this
61495         symbol is unnecessary.
61496         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
61497         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
61498         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
61499         faster for headers like stddef.h that are known to exist.
61500         (gl_CHECK_NEXT_HEADERS): Use it.
61501         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
61502         rather than gl_CHECK_NEXT_HEADERS.
61503         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
61504         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
61506 2011-01-18  Eric Blake  <eblake@redhat.com>
61508         ansi-c++-opt: skip C++ dependency style if C++ is unused
61509         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
61510         tests when we know C++ compilation is not desired.
61511         Reported by Scott McCreary.
61513 2011-01-18  Bruno Haible  <bruno@clisp.org>
61515         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
61516         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
61517         (main): Perform test also when getrlimit and setrlimit don't exist or
61518         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
61519         limiting the address space size using setrlimit, compare the address
61520         space size before and after the test.
61521         * tests/test-dprintf-posix2.c: Likewise.
61522         * tests/test-fprintf-posix3.sh: Update skip messages.
61523         * tests/test-dprintf-posix2.sh: Likewise.
61524         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
61525         * modules/dprintf-posix-tests (Depends-on): Likewise.
61526         Reported by Bruce Korb <bkorb@gnu.org> and
61527         Gary V. Vaughan <gary@gnu.org>.
61529 2011-01-18  Bruno Haible  <bruno@clisp.org>
61531         get-rusage-as: Improvement for Cygwin.
61532         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
61533         areas that are merely reserved.
61535 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
61537         strftime: remove dependencies on multibyte modules
61539         strftime depended on mbrlen, mbsinit, and wchar, but these modules
61540         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
61541         only if __osf__ is defined, and I suspect OSF doesn't need these
61542         other modules.  If my guess is wrong, we'll need to come up with a
61543         variant of strftime that doesn't need the multibyte modules.
61545         I discovered this problem when attempting modify Emacs to use the
61546         strftime module.  With the previous gnulib, this caused Emacs to
61547         need 31 new files, ranging from lib/config.charset to
61548         m4/wint_t.m4.  This was overkill and I expect would be offputting
61549         to the Emacs maintainers.  After this change, only 6 new files are
61550         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
61551         stdbool.m4, and tm_gmtoff.m4.
61553         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
61554         Suggested by Bruno Haible in
61555         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00238.html>.
61556         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
61557         and do not check for wchar.h.
61558         * modules/strftime (Files): Remove m4/mbstate_t.m4.
61559         (Depends-on): Remove mbrlen, mbsinit, wchar.
61561 2011-01-18  Bruno Haible  <bruno@clisp.org>
61563         Tests for module 'get-rusage-as'.
61564         * modules/get-rusage-as-tests: New file.
61565         * tests/test-get-rusage-as.c: New file.
61567         New module 'get-rusage-as'.
61568         * modules/get-rusage-as: New file.
61569         * lib/resource-ext.h: New file.
61570         * lib/get-rusage-as.c: New file.
61572 2011-01-17  Eric Blake  <eblake@redhat.com>
61574         sigaction: relax license from LGPLv3+ to LGPLv2+
61575         * modules/sigaction (License): Relax to LGPLv2+.
61577 2011-01-14  Bruno Haible  <bruno@clisp.org>
61579         filemode: Make function declarations usable in C++ mode.
61580         * lib/filemode.h: Enclose function declarations in extern "C" block.
61581         Reported by John W. Eaton <jwe@gnu.org>.
61583 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
61585         save-cwd: no longer include "xgetcwd.h"
61586         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
61587         This avoids a compilation failure in projects that use save-cwd
61588         without also using the xgetcwd module.
61590 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
61592         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
61593         This is so that a program like Emacs, which needs only dtoastr,
61594         does not have to bother with distributing and compiling ftoastr
61595         and ldtoastr.
61596         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
61597         * modules/dtoastr, modules/ldtoastr: New files.
61598         * modules/ftoastr: Now works just for 'float'.
61599         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
61600         (Makefile.am): Remove ftoastr.h (not needed and no effect),
61601         dtoastr.c, ldtoastr.c.
61603 2011-01-11  Jim Meyering  <meyering@redhat.com>
61605         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
61606         There is no need to work around the lack of the fchdir function,
61607         since gnulib can now provide a replacement when required.
61608         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
61609         * modules/save-cwd (Depends-on): Add fchdir.
61611 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
61613         openat, save-cwd: avoid xmalloc
61615         This removes a direct (but undocumented) dependency of openat on
61616         xalloc, along with an indirect dependency via save-cwd.  It also
61617         removes a dependency of save-cwd on xgetcwd, and thereby
61618         indirectly on xalloc.  This change causes the openat substitute
61619         to fall back on save_cwd when memory is tight, and for save_cwd to
61620         fail instead of dying when memory is tight, but that's good enough.
61621         Problem and initial idea for fix reported by Bastien Roucaries in
61622         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00170.html>.
61624         * lib/openat-proc.c: Include stdlib.h (for malloc), not
61625         xalloc.h (for xmalloc).
61626         (openat_proc_name): Use malloc, not xmalloc.
61627         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
61628         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
61630         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
61631         This avoids heap allocation for file names whose lengths are in
61632         the range 512..1023, with the upper bound increasing to at most
61633         4031 depending on the platform's PATH_MAX.  (We do not want
61634         pathmax.h here as it might supply a non-constant PATH_MAX.)
61635         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
61636         Perhaps they should be moved to malloca.h?
61637         (OPENAT_BUFFER_SIZE): Use them.
61639 2011-01-10  Bruno Haible  <bruno@clisp.org>
61641         doc: Update users.txt.
61642         * users.txt: Add recutils.
61644 2011-01-09  Karl Berry  <karl@gnu.org>
61646         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
61648         * doc/configmake.texi: New file.
61649         * doc/gnulib.texi: Include it.
61650         * modules/configmake: Move documentation from here.
61652 2011-01-09  Bruno Haible  <bruno@clisp.org>
61654         Update to Unicode 6.0.0.
61655         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
61656         (get_lbp): Update for Unicode 6.0.0.
61657         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
61658         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
61659         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
61660         U+11001, U+11038..U+11046. Remove U+06DE.
61661         (uc_width): Fix bounds of planes.
61662         * tests/uniwidth/test-uc_width2.sh: Same updates as in
61663         lib/uniwidth/width.c.
61664         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
61665         trailing whitespace removed.
61666         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
61667         without comments, but with the original copyright notice.
61668         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
61669         * lib/unicase/ignorable.h: Likewise.
61670         * lib/unicase/tocasefold.h: Likewise.
61671         * lib/unicase/tolower.h: Likewise.
61672         * lib/unicase/totitle.h: Likewise.
61673         * lib/unicase/toupper.h: Likewise.
61674         * lib/unictype/bidi_of.h: Likewise.
61675         * lib/unictype/blocks.h: Likewise.
61676         * lib/unictype/categ_C.h: Likewise.
61677         * lib/unictype/categ_Cn.h: Likewise.
61678         * lib/unictype/categ_L.h: Likewise.
61679         * lib/unictype/categ_Ll.h: Likewise.
61680         * lib/unictype/categ_Lm.h: Likewise.
61681         * lib/unictype/categ_Lo.h: Likewise.
61682         * lib/unictype/categ_Lu.h: Likewise.
61683         * lib/unictype/categ_M.h: Likewise.
61684         * lib/unictype/categ_Mc.h: Likewise.
61685         * lib/unictype/categ_Me.h: Likewise.
61686         * lib/unictype/categ_Mn.h: Likewise.
61687         * lib/unictype/categ_N.h: Likewise.
61688         * lib/unictype/categ_Nd.h: Likewise.
61689         * lib/unictype/categ_No.h: Likewise.
61690         * lib/unictype/categ_P.h: Likewise.
61691         * lib/unictype/categ_Po.h: Likewise.
61692         * lib/unictype/categ_S.h: Likewise.
61693         * lib/unictype/categ_Sc.h: Likewise.
61694         * lib/unictype/categ_Sk.h: Likewise.
61695         * lib/unictype/categ_Sm.h: Likewise.
61696         * lib/unictype/categ_So.h: Likewise.
61697         * lib/unictype/categ_of.h: Likewise.
61698         * lib/unictype/combining.h: Likewise.
61699         * lib/unictype/ctype_alnum.h: Likewise.
61700         * lib/unictype/ctype_alpha.h: Likewise.
61701         * lib/unictype/ctype_graph.h: Likewise.
61702         * lib/unictype/ctype_lower.h: Likewise.
61703         * lib/unictype/ctype_print.h: Likewise.
61704         * lib/unictype/ctype_punct.h: Likewise.
61705         * lib/unictype/ctype_upper.h: Likewise.
61706         * lib/unictype/decdigit.h: Likewise.
61707         * lib/unictype/digit.h: Likewise.
61708         * lib/unictype/numeric.h: Likewise.
61709         * lib/unictype/pr_alphabetic.h: Likewise.
61710         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
61711         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
61712         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
61713         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
61714         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
61715         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
61716         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
61717         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
61718         * lib/unictype/pr_case_ignorable.h: Likewise.
61719         * lib/unictype/pr_cased.h: Likewise.
61720         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
61721         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
61722         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
61723         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
61724         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
61725         * lib/unictype/pr_combining.h: Likewise.
61726         * lib/unictype/pr_composite.h: Likewise.
61727         * lib/unictype/pr_currency_symbol.h: Likewise.
61728         * lib/unictype/pr_decimal_digit.h: Likewise.
61729         * lib/unictype/pr_deprecated.h: Likewise.
61730         * lib/unictype/pr_format_control.h: Likewise.
61731         * lib/unictype/pr_grapheme_base.h: Likewise.
61732         * lib/unictype/pr_grapheme_extend.h: Likewise.
61733         * lib/unictype/pr_grapheme_link.h: Likewise.
61734         * lib/unictype/pr_id_continue.h: Likewise.
61735         * lib/unictype/pr_id_start.h: Likewise.
61736         * lib/unictype/pr_ideographic.h: Likewise.
61737         * lib/unictype/pr_lowercase.h: Likewise.
61738         * lib/unictype/pr_math.h: Likewise.
61739         * lib/unictype/pr_numeric.h: Likewise.
61740         * lib/unictype/pr_other_alphabetic.h: Likewise.
61741         * lib/unictype/pr_other_id_continue.h: Likewise.
61742         * lib/unictype/pr_other_math.h: Likewise.
61743         * lib/unictype/pr_punctuation.h: Likewise.
61744         * lib/unictype/pr_sentence_terminal.h: Likewise.
61745         * lib/unictype/pr_terminal_punctuation.h: Likewise.
61746         * lib/unictype/pr_unassigned_code_value.h: Likewise.
61747         * lib/unictype/pr_unified_ideograph.h: Likewise.
61748         * lib/unictype/pr_uppercase.h: Likewise.
61749         * lib/unictype/pr_xid_continue.h: Likewise.
61750         * lib/unictype/pr_xid_start.h: Likewise.
61751         * lib/unictype/scripts.h: Likewise.
61752         * lib/unictype/scripts_byname.gperf: Likewise.
61753         * lib/unictype/sy_java_ident.h: Likewise.
61754         * lib/unigbrk/gbrkprop.h: Likewise.
61755         * lib/unilbrk/lbrkprop1.h: Likewise.
61756         * lib/unilbrk/lbrkprop2.h: Likewise.
61757         * lib/uninorm/decomposition-table2.h: Likewise.
61758         * lib/uniwbrk/wbrkprop.h: Likewise.
61759         * tests/unicase/test-cased.c: Likewise.
61760         * tests/unicase/test-ignorable.c: Likewise.
61761         * tests/unicase/test-uc_tolower.c: Likewise.
61762         * tests/unicase/test-uc_totitle.c: Likewise.
61763         * tests/unicase/test-uc_toupper.c: Likewise.
61764         * tests/unictype/test-categ_C.c: Likewise.
61765         * tests/unictype/test-categ_Cn.c: Likewise.
61766         * tests/unictype/test-categ_L.c: Likewise.
61767         * tests/unictype/test-categ_Ll.c: Likewise.
61768         * tests/unictype/test-categ_Lm.c: Likewise.
61769         * tests/unictype/test-categ_Lo.c: Likewise.
61770         * tests/unictype/test-categ_Lu.c: Likewise.
61771         * tests/unictype/test-categ_M.c: Likewise.
61772         * tests/unictype/test-categ_Mc.c: Likewise.
61773         * tests/unictype/test-categ_Me.c: Likewise.
61774         * tests/unictype/test-categ_Mn.c: Likewise.
61775         * tests/unictype/test-categ_N.c: Likewise.
61776         * tests/unictype/test-categ_Nd.c: Likewise.
61777         * tests/unictype/test-categ_No.c: Likewise.
61778         * tests/unictype/test-categ_P.c: Likewise.
61779         * tests/unictype/test-categ_Po.c: Likewise.
61780         * tests/unictype/test-categ_S.c: Likewise.
61781         * tests/unictype/test-categ_Sc.c: Likewise.
61782         * tests/unictype/test-categ_Sk.c: Likewise.
61783         * tests/unictype/test-categ_Sm.c: Likewise.
61784         * tests/unictype/test-categ_So.c: Likewise.
61785         * tests/unictype/test-ctype_alnum.c: Likewise.
61786         * tests/unictype/test-ctype_alpha.c: Likewise.
61787         * tests/unictype/test-ctype_graph.c: Likewise.
61788         * tests/unictype/test-ctype_lower.c: Likewise.
61789         * tests/unictype/test-ctype_print.c: Likewise.
61790         * tests/unictype/test-ctype_punct.c: Likewise.
61791         * tests/unictype/test-ctype_upper.c: Likewise.
61792         * tests/unictype/test-decdigit.h: Likewise.
61793         * tests/unictype/test-digit.h: Likewise.
61794         * tests/unictype/test-numeric.h: Likewise.
61795         * tests/unictype/test-pr_alphabetic.c: Likewise.
61796         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
61797         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
61798         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
61799         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
61800         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
61801         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
61802         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
61803         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
61804         * tests/unictype/test-pr_case_ignorable.c: Likewise.
61805         * tests/unictype/test-pr_cased.c: Likewise.
61806         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
61807         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
61808         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
61809         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
61810         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
61811         * tests/unictype/test-pr_combining.c: Likewise.
61812         * tests/unictype/test-pr_composite.c: Likewise.
61813         * tests/unictype/test-pr_currency_symbol.c: Likewise.
61814         * tests/unictype/test-pr_decimal_digit.c: Likewise.
61815         * tests/unictype/test-pr_deprecated.c: Likewise.
61816         * tests/unictype/test-pr_format_control.c: Likewise.
61817         * tests/unictype/test-pr_grapheme_base.c: Likewise.
61818         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
61819         * tests/unictype/test-pr_grapheme_link.c: Likewise.
61820         * tests/unictype/test-pr_id_continue.c: Likewise.
61821         * tests/unictype/test-pr_id_start.c: Likewise.
61822         * tests/unictype/test-pr_ideographic.c: Likewise.
61823         * tests/unictype/test-pr_lowercase.c: Likewise.
61824         * tests/unictype/test-pr_math.c: Likewise.
61825         * tests/unictype/test-pr_numeric.c: Likewise.
61826         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
61827         * tests/unictype/test-pr_other_id_continue.c: Likewise.
61828         * tests/unictype/test-pr_other_math.c: Likewise.
61829         * tests/unictype/test-pr_punctuation.c: Likewise.
61830         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
61831         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
61832         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
61833         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
61834         * tests/unictype/test-pr_uppercase.c: Likewise.
61835         * tests/unictype/test-pr_xid_continue.c: Likewise.
61836         * tests/unictype/test-pr_xid_start.c: Likewise.
61837         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
61838         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
61839         changes.
61840         * lib/unictype/categ_Cc.h: Likewise.
61841         * lib/unictype/categ_Cf.h: Likewise.
61842         * lib/unictype/categ_Co.h: Likewise.
61843         * lib/unictype/categ_Cs.h: Likewise.
61844         * lib/unictype/categ_Lt.h: Likewise.
61845         * lib/unictype/categ_Nl.h: Likewise.
61846         * lib/unictype/categ_Pc.h: Likewise.
61847         * lib/unictype/categ_Pd.h: Likewise.
61848         * lib/unictype/categ_Pe.h: Likewise.
61849         * lib/unictype/categ_Pf.h: Likewise.
61850         * lib/unictype/categ_Pi.h: Likewise.
61851         * lib/unictype/categ_Ps.h: Likewise.
61852         * lib/unictype/categ_Z.h: Likewise.
61853         * lib/unictype/categ_Zl.h: Likewise.
61854         * lib/unictype/categ_Zp.h: Likewise.
61855         * lib/unictype/categ_Zs.h: Likewise.
61856         * lib/unictype/ctype_blank.h: Likewise.
61857         * lib/unictype/ctype_cntrl.h: Likewise.
61858         * lib/unictype/ctype_digit.h: Likewise.
61859         * lib/unictype/ctype_space.h: Likewise.
61860         * lib/unictype/ctype_xdigit.h: Likewise.
61861         * lib/unictype/mirror.h: Likewise.
61862         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
61863         * lib/unictype/pr_bidi_block_separator.h: Likewise.
61864         * lib/unictype/pr_bidi_common_separator.h: Likewise.
61865         * lib/unictype/pr_bidi_control.h: Likewise.
61866         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
61867         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
61868         * lib/unictype/pr_bidi_european_digit.h: Likewise.
61869         * lib/unictype/pr_bidi_pdf.h: Likewise.
61870         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
61871         * lib/unictype/pr_bidi_whitespace.h: Likewise.
61872         * lib/unictype/pr_dash.h: Likewise.
61873         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
61874         * lib/unictype/pr_diacritic.h: Likewise.
61875         * lib/unictype/pr_extender.h: Likewise.
61876         * lib/unictype/pr_hex_digit.h: Likewise.
61877         * lib/unictype/pr_hyphen.h: Likewise.
61878         * lib/unictype/pr_ids_binary_operator.h: Likewise.
61879         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
61880         * lib/unictype/pr_ignorable_control.h: Likewise.
61881         * lib/unictype/pr_iso_control.h: Likewise.
61882         * lib/unictype/pr_join_control.h: Likewise.
61883         * lib/unictype/pr_left_of_pair.h: Likewise.
61884         * lib/unictype/pr_line_separator.h: Likewise.
61885         * lib/unictype/pr_logical_order_exception.h: Likewise.
61886         * lib/unictype/pr_non_break.h: Likewise.
61887         * lib/unictype/pr_not_a_character.h: Likewise.
61888         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
61889         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
61890         * lib/unictype/pr_other_id_start.h: Likewise.
61891         * lib/unictype/pr_other_lowercase.h: Likewise.
61892         * lib/unictype/pr_other_uppercase.h: Likewise.
61893         * lib/unictype/pr_paired_punctuation.h: Likewise.
61894         * lib/unictype/pr_paragraph_separator.h: Likewise.
61895         * lib/unictype/pr_pattern_syntax.h: Likewise.
61896         * lib/unictype/pr_pattern_white_space.h: Likewise.
61897         * lib/unictype/pr_private_use.h: Likewise.
61898         * lib/unictype/pr_quotation_mark.h: Likewise.
61899         * lib/unictype/pr_radical.h: Likewise.
61900         * lib/unictype/pr_soft_dotted.h: Likewise.
61901         * lib/unictype/pr_space.h: Likewise.
61902         * lib/unictype/pr_titlecase.h: Likewise.
61903         * lib/unictype/pr_variation_selector.h: Likewise.
61904         * lib/unictype/pr_white_space.h: Likewise.
61905         * lib/unictype/pr_zero_width.h: Likewise.
61906         * lib/unictype/sy_c_ident.h: Likewise.
61907         * lib/unictype/sy_c_whitespace.h: Likewise.
61908         * lib/unictype/sy_java_whitespace.h: Likewise.
61909         * lib/uninorm/composition-table.gperf: Likewise.
61910         * lib/uninorm/decomposition-table1.h: Likewise.
61911         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
61912         LB8.
61913         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
61914         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
61915         * modules/unictype/*: Bump version number of expected libunistring
61916         version.
61918 2011-01-09  Bruno Haible  <bruno@clisp.org>
61920         Update to Unicode 5.2.0.
61921         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
61922         trailing whitespace removed.
61924 2011-01-09  Bruno Haible  <bruno@clisp.org>
61926         New Unicode character properties, from Unicode 5.2.0.
61927         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
61928         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
61929         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
61930         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
61931         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
61932         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
61933         uc_is_property_cased, uc_is_property_case_ignorable,
61934         uc_is_property_changes_when_lowercased,
61935         uc_is_property_changes_when_uppercased,
61936         uc_is_property_changes_when_titlecased,
61937         uc_is_property_changes_when_casefolded,
61938         uc_is_property_changes_when_casemapped): New declarations.
61939         * lib/unictype/pr_byname.gperf: Add the new properties.
61940         * modules/unictype/property-byname (Depends-on): Depend on the new
61941         properties modules.
61942         * modules/unictype/property-all (Depends-on): Likewise.
61943         * MODULES.html.sh (Unicode string functions): Add
61944         unictype/property-case-ignorable, unictype/property-cased,
61945         unictype/property-changes-when-casefolded,
61946         unictype/property-changes-when-casemapped,
61947         unictype/property-changes-when-lowercased,
61948         unictype/property-changes-when-titlecased,
61949         unictype/property-changes-when-uppercased.
61951         New module 'unictype/property-changes-when-casemapped'.
61952         * modules/unictype/property-changes-when-casemapped: New file.
61953         * lib/unictype/pr_changes_when_casemapped.c: New file.
61954         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
61955         generated by gen-uni-tables.
61956         * modules/unictype/property-changes-when-casemapped-tests: New file.
61957         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
61958         automatically generated by gen-uni-tables.
61960         New module 'unictype/property-changes-when-casefolded'.
61961         * modules/unictype/property-changes-when-casefolded: New file.
61962         * lib/unictype/pr_changes_when_casefolded.c: New file.
61963         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
61964         generated by gen-uni-tables.
61965         * modules/unictype/property-changes-when-casefolded-tests: New file.
61966         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
61967         automatically generated by gen-uni-tables.
61969         New module 'unictype/property-changes-when-titlecased'.
61970         * modules/unictype/property-changes-when-titlecased: New file.
61971         * lib/unictype/pr_changes_when_titlecased.c: New file.
61972         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
61973         generated by gen-uni-tables.
61974         * modules/unictype/property-changes-when-titlecased-tests: New file.
61975         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
61976         automatically generated by gen-uni-tables.
61978         New module 'unictype/property-changes-when-uppercased'.
61979         * modules/unictype/property-changes-when-uppercased: New file.
61980         * lib/unictype/pr_changes_when_uppercased.c: New file.
61981         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
61982         generated by gen-uni-tables.
61983         * modules/unictype/property-changes-when-uppercased-tests: New file.
61984         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
61985         automatically generated by gen-uni-tables.
61987         New module 'unictype/property-changes-when-lowercased'.
61988         * modules/unictype/property-changes-when-lowercased: New file.
61989         * lib/unictype/pr_changes_when_lowercased.c: New file.
61990         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
61991         generated by gen-uni-tables.
61992         * modules/unictype/property-changes-when-lowercased-tests: New file.
61993         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
61994         automatically generated by gen-uni-tables.
61996         New module 'unictype/property-case-ignorable'.
61997         * modules/unictype/property-case-ignorable: New file.
61998         * lib/unictype/pr_case_ignorable.c: New file.
61999         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
62000         by gen-uni-tables.
62001         * modules/unictype/property-case-ignorable-tests: New file.
62002         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
62003         generated by gen-uni-tables.
62005         New module 'unictype/property-cased'.
62006         * modules/unictype/property-cased: New file.
62007         * lib/unictype/pr_cased.c: New file.
62008         * lib/unictype/pr_cased.h: New file, automatically generated by
62009         gen-uni-tables.
62010         * modules/unictype/property-cased-tests: New file.
62011         * tests/unictype/test-pr_cased.c: New file, automatically generated by
62012         gen-uni-tables.
62014 2011-01-09  Bruno Haible  <bruno@clisp.org>
62016         Update to Unicode 5.2.0.
62017         * lib/gen-uni-tables.c (output_predicate, output_category,
62018         output_combclass, output_bidi_category, output_decimal_digit_test,
62019         output_decimal_digit, output_digit_test, output_digit,
62020         output_numeric_test, output_numeric, output_mirror, output_scripts,
62021         output_scripts_byname, output_blocks, output_ident_category): Fix
62022         comment header.
62023         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
62024         get_wbp.
62025         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
62026         items.
62027         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
62028         Changes_When_Lowercased, Changes_When_Uppercased,
62029         Changes_When_Titlecased, Changes_When_Casefolded,
62030         Changes_When_Casemapped.
62031         (is_property_alphabetic, is_property_default_ignorable_code_point):
62032         Update for Unicode 5.2.0.
62033         (is_property_cased, is_property_case_ignorable,
62034         is_property_changes_when_lowercased,
62035         is_property_changes_when_uppercased,
62036         is_property_changes_when_titlecased,
62037         is_property_changes_when_casefolded,
62038         is_property_changes_when_casemapped): New functions.
62039         (output_properties): Output also the properties cased, case_ignorable,
62040         changes_when_lowercased, changes_when_uppercased,
62041         changes_when_titlecased, changes_when_casefolded,
62042         changes_when_casemapped.
62043         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
62044         Unicode TR#11 revision 17 -> 19.
62045         (LBP_CP): New enumeration value.
62046         (LBP_*): Adjust values accordingly.
62047         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
62048         TR#14 revision 22 -> 24.
62049         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
62050         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
62051         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
62052         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
62053         is_WBP_MIDLETTER.
62054         (output_composition_tables): Allow for 24 bits instead of 16 bits in
62055         the code1 and code2 of each composition rule.
62056         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
62057         * lib/unicase/ignorable.h: Likewise.
62058         * lib/unicase/tocasefold.h: Likewise.
62059         * lib/unicase/tolower.h: Likewise.
62060         * lib/unicase/totitle.h: Likewise.
62061         * lib/unicase/toupper.h: Likewise.
62062         * lib/unictype/bidi_of.h: Likewise.
62063         * lib/unictype/blocks.h: Likewise.
62064         * lib/unictype/categ_C.h: Likewise.
62065         * lib/unictype/categ_Cf.h: Likewise.
62066         * lib/unictype/categ_Cn.h: Likewise.
62067         * lib/unictype/categ_L.h: Likewise.
62068         * lib/unictype/categ_Ll.h: Likewise.
62069         * lib/unictype/categ_Lm.h: Likewise.
62070         * lib/unictype/categ_Lo.h: Likewise.
62071         * lib/unictype/categ_Lu.h: Likewise.
62072         * lib/unictype/categ_M.h: Likewise.
62073         * lib/unictype/categ_Mc.h: Likewise.
62074         * lib/unictype/categ_Mn.h: Likewise.
62075         * lib/unictype/categ_N.h: Likewise.
62076         * lib/unictype/categ_Nd.h: Likewise.
62077         * lib/unictype/categ_Nl.h: Likewise.
62078         * lib/unictype/categ_No.h: Likewise.
62079         * lib/unictype/categ_P.h: Likewise.
62080         * lib/unictype/categ_Pd.h: Likewise.
62081         * lib/unictype/categ_Po.h: Likewise.
62082         * lib/unictype/categ_S.h: Likewise.
62083         * lib/unictype/categ_Sc.h: Likewise.
62084         * lib/unictype/categ_So.h: Likewise.
62085         * lib/unictype/categ_of.h: Likewise.
62086         * lib/unictype/combining.h: Likewise.
62087         * lib/unictype/ctype_alnum.h: Likewise.
62088         * lib/unictype/ctype_alpha.h: Likewise.
62089         * lib/unictype/ctype_graph.h: Likewise.
62090         * lib/unictype/ctype_lower.h: Likewise.
62091         * lib/unictype/ctype_print.h: Likewise.
62092         * lib/unictype/ctype_punct.h: Likewise.
62093         * lib/unictype/ctype_upper.h: Likewise.
62094         * lib/unictype/decdigit.h: Likewise.
62095         * lib/unictype/digit.h: Likewise.
62096         * lib/unictype/numeric.h: Likewise.
62097         * lib/unictype/pr_alphabetic.h: Likewise.
62098         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
62099         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
62100         * lib/unictype/pr_bidi_european_digit.h: Likewise.
62101         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
62102         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
62103         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
62104         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
62105         * lib/unictype/pr_combining.h: Likewise.
62106         * lib/unictype/pr_composite.h: Likewise.
62107         * lib/unictype/pr_currency_symbol.h: Likewise.
62108         * lib/unictype/pr_dash.h: Likewise.
62109         * lib/unictype/pr_decimal_digit.h: Likewise.
62110         * lib/unictype/pr_deprecated.h: Likewise.
62111         * lib/unictype/pr_diacritic.h: Likewise.
62112         * lib/unictype/pr_extender.h: Likewise.
62113         * lib/unictype/pr_grapheme_base.h: Likewise.
62114         * lib/unictype/pr_grapheme_extend.h: Likewise.
62115         * lib/unictype/pr_grapheme_link.h: Likewise.
62116         * lib/unictype/pr_id_continue.h: Likewise.
62117         * lib/unictype/pr_id_start.h: Likewise.
62118         * lib/unictype/pr_ideographic.h: Likewise.
62119         * lib/unictype/pr_ignorable_control.h: Likewise.
62120         * lib/unictype/pr_logical_order_exception.h: Likewise.
62121         * lib/unictype/pr_lowercase.h: Likewise.
62122         * lib/unictype/pr_numeric.h: Likewise.
62123         * lib/unictype/pr_other_alphabetic.h: Likewise.
62124         * lib/unictype/pr_punctuation.h: Likewise.
62125         * lib/unictype/pr_sentence_terminal.h: Likewise.
62126         * lib/unictype/pr_terminal_punctuation.h: Likewise.
62127         * lib/unictype/pr_unassigned_code_value.h: Likewise.
62128         * lib/unictype/pr_unified_ideograph.h: Likewise.
62129         * lib/unictype/pr_uppercase.h: Likewise.
62130         * lib/unictype/pr_xid_continue.h: Likewise.
62131         * lib/unictype/pr_xid_start.h: Likewise.
62132         * lib/unictype/pr_zero_width.h: Likewise.
62133         * lib/unictype/scripts.h: Likewise.
62134         * lib/unictype/scripts_byname.gperf: Likewise.
62135         * lib/unictype/sy_java_ident.h: Likewise.
62136         * lib/unigbrk/gbrkprop.h: Likewise.
62137         * lib/unilbrk/lbrkprop1.h: Likewise.
62138         * lib/unilbrk/lbrkprop2.h: Likewise.
62139         * lib/unilbrk/lbrktables.h: Likewise.
62140         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
62141         LBP_CP. Implement rule LB30.
62142         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
62143         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
62144         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
62145         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
62146         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
62147         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
62148         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
62149         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
62150         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
62151         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
62152         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
62153         bits instead of 16 bits in the code1 and code2 of each composition
62154         rule.
62155         (uc_composition): Update for Unicode 5.2.0.
62156         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
62157         * lib/uninorm/decomposition-table2.h: Likewise.
62158         * lib/uniwbrk/wbrkprop.h: Likewise.
62159         * tests/unicase/test-cased.c: Likewise.
62160         * tests/unicase/test-ignorable.c: Likewise.
62161         * tests/unicase/test-uc_tolower.c: Likewise.
62162         * tests/unicase/test-uc_totitle.c: Likewise.
62163         * tests/unicase/test-uc_toupper.c: Likewise.
62164         * tests/unictype/test-categ_C.c: Likewise.
62165         * tests/unictype/test-categ_Cf.c: Likewise.
62166         * tests/unictype/test-categ_Cn.c: Likewise.
62167         * tests/unictype/test-categ_L.c: Likewise.
62168         * tests/unictype/test-categ_Ll.c: Likewise.
62169         * tests/unictype/test-categ_Lm.c: Likewise.
62170         * tests/unictype/test-categ_Lo.c: Likewise.
62171         * tests/unictype/test-categ_Lu.c: Likewise.
62172         * tests/unictype/test-categ_M.c: Likewise.
62173         * tests/unictype/test-categ_Mc.c: Likewise.
62174         * tests/unictype/test-categ_Mn.c: Likewise.
62175         * tests/unictype/test-categ_N.c: Likewise.
62176         * tests/unictype/test-categ_Nd.c: Likewise.
62177         * tests/unictype/test-categ_Nl.c: Likewise.
62178         * tests/unictype/test-categ_No.c: Likewise.
62179         * tests/unictype/test-categ_P.c: Likewise.
62180         * tests/unictype/test-categ_Pd.c: Likewise.
62181         * tests/unictype/test-categ_Po.c: Likewise.
62182         * tests/unictype/test-categ_S.c: Likewise.
62183         * tests/unictype/test-categ_Sc.c: Likewise.
62184         * tests/unictype/test-categ_So.c: Likewise.
62185         * tests/unictype/test-ctype_alnum.c: Likewise.
62186         * tests/unictype/test-ctype_alpha.c: Likewise.
62187         * tests/unictype/test-ctype_graph.c: Likewise.
62188         * tests/unictype/test-ctype_lower.c: Likewise.
62189         * tests/unictype/test-ctype_print.c: Likewise.
62190         * tests/unictype/test-ctype_punct.c: Likewise.
62191         * tests/unictype/test-ctype_upper.c: Likewise.
62192         * tests/unictype/test-decdigit.h: Likewise.
62193         * tests/unictype/test-digit.h: Likewise.
62194         * tests/unictype/test-numeric.h: Likewise.
62195         * tests/unictype/test-pr_alphabetic.c: Likewise.
62196         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
62197         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
62198         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
62199         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
62200         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
62201         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
62202         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
62203         * tests/unictype/test-pr_combining.c: Likewise.
62204         * tests/unictype/test-pr_composite.c: Likewise.
62205         * tests/unictype/test-pr_currency_symbol.c: Likewise.
62206         * tests/unictype/test-pr_dash.c: Likewise.
62207         * tests/unictype/test-pr_decimal_digit.c: Likewise.
62208         * tests/unictype/test-pr_deprecated.c: Likewise.
62209         * tests/unictype/test-pr_diacritic.c: Likewise.
62210         * tests/unictype/test-pr_extender.c: Likewise.
62211         * tests/unictype/test-pr_grapheme_base.c: Likewise.
62212         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
62213         * tests/unictype/test-pr_grapheme_link.c: Likewise.
62214         * tests/unictype/test-pr_id_continue.c: Likewise.
62215         * tests/unictype/test-pr_id_start.c: Likewise.
62216         * tests/unictype/test-pr_ideographic.c: Likewise.
62217         * tests/unictype/test-pr_ignorable_control.c: Likewise.
62218         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
62219         * tests/unictype/test-pr_lowercase.c: Likewise.
62220         * tests/unictype/test-pr_numeric.c: Likewise.
62221         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
62222         * tests/unictype/test-pr_punctuation.c: Likewise.
62223         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
62224         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
62225         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
62226         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
62227         * tests/unictype/test-pr_uppercase.c: Likewise.
62228         * tests/unictype/test-pr_xid_continue.c: Likewise.
62229         * tests/unictype/test-pr_xid_start.c: Likewise.
62230         * tests/unictype/test-pr_zero_width.c: Likewise.
62231         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
62232         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
62233         changed behaviour: line breaking is now disallowed between a letter
62234         or '=' and '('.
62235         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
62236         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
62237         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
62238         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
62239         * tests/uniwidth/test-uc_width2.sh: Same updates as in
62240         lib/uniwidth/width.c.
62241         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
62242         without comments, but with the original copyright notice.
62243         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
62244         changes.
62245         * lib/unictype/categ_Cc.h: Likewise.
62246         * lib/unictype/categ_Co.h: Likewise.
62247         * lib/unictype/categ_Cs.h: Likewise.
62248         * lib/unictype/categ_Lt.h: Likewise.
62249         * lib/unictype/categ_Me.h: Likewise.
62250         * lib/unictype/categ_Pc.h: Likewise.
62251         * lib/unictype/categ_Pe.h: Likewise.
62252         * lib/unictype/categ_Pf.h: Likewise.
62253         * lib/unictype/categ_Pi.h: Likewise.
62254         * lib/unictype/categ_Ps.h: Likewise.
62255         * lib/unictype/categ_Sk.h: Likewise.
62256         * lib/unictype/categ_Sm.h: Likewise.
62257         * lib/unictype/categ_Z.h: Likewise.
62258         * lib/unictype/categ_Zl.h: Likewise.
62259         * lib/unictype/categ_Zp.h: Likewise.
62260         * lib/unictype/categ_Zs.h: Likewise.
62261         * lib/unictype/ctype_blank.h: Likewise.
62262         * lib/unictype/ctype_cntrl.h: Likewise.
62263         * lib/unictype/ctype_digit.h: Likewise.
62264         * lib/unictype/ctype_space.h: Likewise.
62265         * lib/unictype/ctype_xdigit.h: Likewise.
62266         * lib/unictype/mirror.h: Likewise.
62267         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
62268         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
62269         * lib/unictype/pr_bidi_block_separator.h: Likewise.
62270         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
62271         * lib/unictype/pr_bidi_common_separator.h: Likewise.
62272         * lib/unictype/pr_bidi_control.h: Likewise.
62273         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
62274         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
62275         * lib/unictype/pr_bidi_pdf.h: Likewise.
62276         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
62277         * lib/unictype/pr_bidi_whitespace.h: Likewise.
62278         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
62279         * lib/unictype/pr_format_control.h: Likewise.
62280         * lib/unictype/pr_hex_digit.h: Likewise.
62281         * lib/unictype/pr_hyphen.h: Likewise.
62282         * lib/unictype/pr_ids_binary_operator.h: Likewise.
62283         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
62284         * lib/unictype/pr_iso_control.h: Likewise.
62285         * lib/unictype/pr_join_control.h: Likewise.
62286         * lib/unictype/pr_left_of_pair.h: Likewise.
62287         * lib/unictype/pr_line_separator.h: Likewise.
62288         * lib/unictype/pr_math.h: Likewise.
62289         * lib/unictype/pr_non_break.h: Likewise.
62290         * lib/unictype/pr_not_a_character.h: Likewise.
62291         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
62292         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
62293         * lib/unictype/pr_other_id_continue.h: Likewise.
62294         * lib/unictype/pr_other_id_start.h: Likewise.
62295         * lib/unictype/pr_other_lowercase.h: Likewise.
62296         * lib/unictype/pr_other_math.h: Likewise.
62297         * lib/unictype/pr_other_uppercase.h: Likewise.
62298         * lib/unictype/pr_paired_punctuation.h: Likewise.
62299         * lib/unictype/pr_paragraph_separator.h: Likewise.
62300         * lib/unictype/pr_pattern_syntax.h: Likewise.
62301         * lib/unictype/pr_pattern_white_space.h: Likewise.
62302         * lib/unictype/pr_private_use.h: Likewise.
62303         * lib/unictype/pr_quotation_mark.h: Likewise.
62304         * lib/unictype/pr_radical.h: Likewise.
62305         * lib/unictype/pr_soft_dotted.h: Likewise.
62306         * lib/unictype/pr_space.h: Likewise.
62307         * lib/unictype/pr_titlecase.h: Likewise.
62308         * lib/unictype/pr_variation_selector.h: Likewise.
62309         * lib/unictype/pr_white_space.h: Likewise.
62310         * lib/unictype/sy_c_ident.h: Likewise.
62311         * lib/unictype/sy_c_whitespace.h: Likewise.
62312         * lib/unictype/sy_java_whitespace.h: Likewise.
62313         * modules/uni*/*: Bump version number of expected libunistring version.
62314         Reported by Simon Josefsson.
62316 2011-01-09  Karl Heuer  <kwzh@gnu.org>
62318         useless-if-before-free: fix typo in --help and make the internal,
62319         automatic version date update process work once again.
62320         --help output contained a NUL character instead of the
62321         backslash-zero that was intended.  Also, the "must lie within
62322         the first 8 lines" line is on line 9, and hence not getting
62323         automatically updated.
62324         * build-aux/useless-if-before-free: Fix the former by adding a
62325         backslash, and the latter by condensing the three lines of what-it-does
62326         to a single line, leaving one line of slack for the future.
62328 2011-01-09  Bruno Haible  <bruno@clisp.org>
62330         uniwidth/width: Fix width of U+1D173..U+1D17A.
62331         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
62332         symbolic_width, output_width_property_test): New functions.
62333         (main): Invoke output_nonspacing_property, output_width_property_test.
62334         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
62335         U+1D173..U+1D17A.
62336         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
62337         1.
62338         * modules/uniwidth/*: Bump version number of expected libunistring
62339         version.
62340         * modules/unilbrk/*: Likewise.
62342 2011-01-08  Bruno Haible  <bruno@clisp.org>
62344         uninorm tests: Preserve copyright of Unicode data file.
62345         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
62346         Mention modifications.
62348 2011-01-08  Bruno Haible  <bruno@clisp.org>
62350         gen-uni-tables: Prepare for Unicode 5.2.0.
62351         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
62352         (debug_output_lbp, output_lbp): Update.
62354 2011-01-08  Bruno Haible  <bruno@clisp.org>
62356         unilbrk: Clarify gen-uni-tables.c code.
62357         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
62358         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
62359         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
62361 2011-01-07  Bruno Haible  <bruno@clisp.org>
62363         strtod: Restore errno when successfully parsing Infinity or NaN.
62364         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
62365         restore the original errno.
62367 2011-01-07  Bruno Haible  <bruno@clisp.org>
62369         remove test: Avoid failure on HP-UX 11.
62370         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
62372 2011-01-07  Bruno Haible  <bruno@clisp.org>
62374         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
62375         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
62376         error code.
62378 2011-01-07  Pádraig Brady  <P@draigBrady.com>
62380         ignore-value: fixup comments, and add Eric Blake
62381         as an author since he rewrote the macros.
62382         * lib/ignore-value.h (ignore_value):  State that
62383         we now support aggregates.  Also specify exactly
62384         when the GCC warn_unused_result feature was added.
62386 2011-01-06  Eric Blake  <eblake@redhat.com>
62388         ignore-value: support aggregate types
62389         * lib/ignore-value.h (ignore_value): Provide separate gcc
62390         definition.
62391         * modules/ignore-value-tests: New test module.
62392         * tests/test-ignore-value.c: New test.
62394         maint.mk: improve sc_prohibit_strcmp regex
62395         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
62396         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
62397         definition of STRNEQ.
62399         signal: work around Haiku issue with SIGBUS
62400         * lib/siglist.h: Add comment.
62401         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
62402         strsignal's favoring of SIGSEGV.
62403         * tests/test-signal.c (main): Avoid test failure.
62404         * doc/posix-headers/signal.texi (signal.h): Document the issue.
62405         Reported by Scott McCreary.
62407         maint.mk: add pre-release check to ensure submodule commits are public
62408         * top/maint.mk (public-submodule-commit): New rule.
62409         (submodule-checks): New variable.
62410         (alpha beta stable): Depend on the variable.
62412 2011-01-05  Pádraig Brady  <P@draigBrady.com>
62413         and Jim Meyering  <meyering@redhat.com>
62415         ignore-value: make ignore_value more generic; deprecate ignore_ptr
62416         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
62417         (ATTRIBUTE_DEPRECATED): Define.
62418         (_ignore_case): New function.
62419         (ignore_value): New macro, to replace the old function.
62420         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
62421         * modules/ignore-value (Depends-on): Add stdint.
62423 2011-01-04  Eric Blake  <eblake@redhat.com>
62425         doc: regenerate INSTALL
62426         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
62427         @firstparagraphindent support, now that autoconf dropped it.
62428         (INSTALL_PRELUDE): Reinstate old macro.
62429         * doc/install.texi: Resync from autoconf.
62430         * doc/INSTALL: Reflect recent autoconf update.
62431         * doc/INSTALL.ISO: Likewise.
62432         * doc/INSTALL.UTF-8: Likewise.
62433         Reported by Karl Berry.
62435 2011-01-04  Bruce Korb  <address@hidden>
62437         git-version-gen: avoid a sub-shell
62438         * build-aux/git-version-gen: Redirect stderr in `...` via
62439         "exec 2>...", rather than via an added sub-shell.
62441 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
62443         git-version-gen: use (...) rather than sh -c '...'
62444         * build-aux/git-version-gen: Rather than hard-coding a shell's name
62445         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
62447 2011-01-03  Jim Meyering  <meyering@redhat.com>
62449         git-version-gen: convert leading TABs to spaces
62450         * build-aux/git-version-gen: Expand leading TABs.
62452         git-version-gen: handle failed "git rev-list"
62453         * build-aux/git-version-gen: Rather than leaking a "fatal" error
62454         from git and proceeding as if it had succeeded but printed no SHA1
62455         checksums, suppress the diagnostic and handle the failure.
62456         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
62458         git-version-gen: include command name in one more diagnostic
62459         * build-aux/git-version-gen: When the required .tarball-version file
62460         was missing or unreadable, you might see the diagnostic from "cat",
62461         but no trace of the name of the invoking script.  Now, you still see
62462         the diagnostic from cat, but also get one from "git-version-gen: ".
62463         Inspired by a patch from Bruce Korb.
62465         update-copyright: adjust test to match changed code
62466         * tests/test-update-copyright.sh: Change test's expected output
62467         to match new actual output.
62469 2011-01-02  Bruno Haible  <bruno@clisp.org>
62471         getlogin_r: Avoid test failure on HP-UX 11.
62472         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
62473         ERANGE when the second argument is zero.
62474         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
62475         portability problem.
62477 2011-01-02  Bruce Korb  <bkorb@gnu.org>
62479         * build-aux/update-copyright: doc Simon's changes
62481 2011-01-02  Simon Josefsson  <simon@josefsson.org>
62483         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
62484         environment variable.
62486 2011-01-02  Bruno Haible  <bruno@clisp.org>
62488         unigbrk: Avoid gcc warnings.
62489         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
62490         unused variable.
62491         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
62492         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
62493         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
62494         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
62495         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
62496         Change type of first argument to 'const char *'.
62497         (main): Remove unused variable.
62498         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
62499         type of first argument to 'const char *'.
62500         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
62501         Likewise.
62502         (main): Change type of variable 's'.
62503         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
62504         to 'int'.
62506 2011-01-02  Bruno Haible  <bruno@clisp.org>
62508         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
62509         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
62510         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
62511         bug.
62512         * lib/pwrite.c: Undo 2010-12-31 patch.
62513         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
62515 2011-01-02  Bruno Haible  <bruno@clisp.org>
62517         pread: Fix test whether it works.
62518         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
62520 2011-01-02  Bruno Haible  <bruno@clisp.org>
62522         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
62523         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
62524         ends in "6". Don't require a specific month name. Try also the locale
62525         names found on HP-UX 11 and Solaris 7.
62527 2011-01-02  Bruno Haible  <bruno@clisp.org>
62529         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
62530         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
62531         C linkage.
62532         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
62534 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
62536         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
62537         for consistency, since the "cluster" term is not used elsewhere.
62538         * lib/unigbrk.in.h: Update name.
62539         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
62540         * lib/unigbrk/u16-grapheme-next.c: Update name.
62541         * lib/unigbrk/u16-grapheme-prev.c: Update name.
62542         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
62543         * lib/unigbrk/u32-grapheme-next.c: Update name.
62544         * lib/unigbrk/u32-grapheme-prev.c: Update name.
62545         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
62546         * lib/unigbrk/u8-grapheme-next.c: Update name.
62547         * lib/unigbrk/u8-grapheme-prev.c: Update name.
62548         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
62549         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
62550         Suggested by Bruno Haible.
62552 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
62554         Remove module 'u8-grapheme-len' as too redundant with
62555         'u8-grapheme-next'.
62556         * modules/unigbrk/u8-grapheme-len: Delete file.
62557         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
62558         * lib/unigbrk.in.h: Remove prototype for deleted function.
62559         * lib/unigbrk/u8-grapheme-len.c: Delete file.
62560         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
62562         Remove module 'u16-grapheme-len' as too redundant with
62563         'u16-grapheme-next'.
62564         * modules/unigbrk/u16-grapheme-len: Delete file.
62565         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
62566         * lib/unigbrk.in.h: Remove prototype for deleted function.
62567         * lib/unigbrk/u16-grapheme-len.c: Delete file.
62568         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
62570         Remove module 'u32-grapheme-len' as too redundant with
62571         'u32-grapheme-next'.
62572         * modules/unigbrk/u32-grapheme-len: Delete file.
62573         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
62574         * lib/unigbrk.in.h: Remove prototype for deleted function.
62575         * lib/unigbrk/u32-grapheme-len.c: Delete file.
62576         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
62578         Suggested by Bruno Haible.
62580 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
62582         * unigbrk.in.h: Fix typo: "ben" => "been".
62583         Reported by Bruno Haible.
62585 2011-01-01  Jim Meyering  <meyering@redhat.com>
62587         maint: update almost all copyright ranges to include 2011
62588         Run the new "make update-copyright" rule.
62590 2011-01-01  Jim Meyering  <meyering@redhat.com>
62592         maint: update-copyright: exempt doc/INSTALL*
62593         * Makefile (update-copyright): Also exclude doc/INSTALL*,
62594         since they are generated.  Suggested by Bruno Haible.
62596 2011-01-01  Jim Meyering  <meyering@redhat.com>
62598         maint: refine the update-copyright rule
62599         * Makefile (update-copyright): Also exclude any file that includes
62600         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
62601         code that merely generates the comment.
62603 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
62605         New module 'u8-grapheme-len'.
62606         * modules/unigbrk/u8-grapheme-len: New file.
62607         * modules/unigbrk/u8-grapheme-len-tests: New file.
62608         * lib/unigbrk.in.h: Add prototype for new function.
62609         * lib/unigbrk/u8-grapheme-len.c: New file.
62610         * tests/unigbrk/test-u8-grapheme-len.c: New file.
62612         New module 'u16-grapheme-len'.
62613         * modules/unigbrk/u16-grapheme-len: New file.
62614         * modules/unigbrk/u16-grapheme-len-tests: New file.
62615         * lib/unigbrk.in.h: Add prototype for new function.
62616         * lib/unigbrk/u16-grapheme-len.c: New file.
62617         * tests/unigbrk/test-u16-grapheme-len.c: New file.
62619         New module 'u32-grapheme-len'.
62620         * modules/unigbrk/u32-grapheme-len: New file.
62621         * modules/unigbrk/u32-grapheme-len-tests: New file.
62622         * lib/unigbrk.in.h: Add prototype for new function.
62623         * lib/unigbrk/u32-grapheme-len.c: New file.
62624         * tests/unigbrk/test-u32-grapheme-len.c: New file.
62626         New module 'u8-grapheme-next'.
62627         * modules/unigbrk/u8-grapheme-next: New file.
62628         * modules/unigbrk/u8-grapheme-next-tests: New file.
62629         * lib/unigbrk.in.h: Add prototype for new function.
62630         * lib/unigbrk/u8-grapheme-next.c: New file.
62631         * tests/unigbrk/test-u8-grapheme-next.c: New file.
62633         New module 'u16-grapheme-next'.
62634         * modules/unigbrk/u16-grapheme-next: New file.
62635         * modules/unigbrk/u16-grapheme-next-tests: New file.
62636         * lib/unigbrk.in.h: Add prototype for new function.
62637         * lib/unigbrk/u16-grapheme-next.c: New file.
62638         * tests/unigbrk/test-u16-grapheme-next.c: New file.
62640         New module 'u32-grapheme-next'.
62641         * modules/unigbrk/u32-grapheme-next: New file.
62642         * modules/unigbrk/u32-grapheme-next-tests: New file.
62643         * lib/unigbrk.in.h: Add prototype for new function.
62644         * lib/unigbrk/u32-grapheme-next.c: New file.
62645         * tests/unigbrk/test-u32-grapheme-next.c: New file.
62647         New module 'u8-grapheme-prev'.
62648         * modules/unigbrk/u8-grapheme-prev: New file.
62649         * modules/unigbrk/u8-grapheme-prev-tests: New file.
62650         * lib/unigbrk.in.h: Add prototype for new function.
62651         * lib/unigbrk/u8-grapheme-prev.c: New file.
62652         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
62654         New module 'u16-grapheme-prev'.
62655         * modules/unigbrk/u16-grapheme-prev: New file.
62656         * modules/unigbrk/u16-grapheme-prev-tests: New file.
62657         * lib/unigbrk.in.h: Add prototype for new function.
62658         * lib/unigbrk/u16-grapheme-prev.c: New file.
62659         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
62661         New module 'u32-grapheme-prev'.
62662         * modules/unigbrk/u32-grapheme-prev: New file.
62663         * modules/unigbrk/u32-grapheme-prev-tests: New file.
62664         * lib/unigbrk.in.h: Add prototype for new function.
62665         * lib/unigbrk/u32-grapheme-prev.c: New file.
62666         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
62668         New module 'u8-grapheme-breaks'.
62669         * modules/unigbrk/u8-grapheme-breaks: New file.
62670         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
62671         * lib/unigbrk.in.h: Add prototype for new function.
62672         * lib/unigbrk/u8-grapheme-breaks.c: New file.
62673         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
62675         New module 'u16-grapheme-breaks'.
62676         * modules/unigbrk/u16-grapheme-breaks: New file.
62677         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
62678         * lib/unigbrk.in.h: Add prototype for new function.
62679         * lib/unigbrk/u16-grapheme-breaks.c: New file.
62680         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
62682         New module 'u32-grapheme-breaks'.
62683         * modules/unigbrk/u32-grapheme-breaks: New file.
62684         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
62685         * lib/unigbrk.in.h: Add prototype for new function.
62686         * lib/unigbrk/u32-grapheme-breaks.c: New file.
62687         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
62689         New module 'ulc-grapheme-breaks'.
62690         * modules/unigbrk/ulc-grapheme-breaks: New file.
62691         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
62692         * m4/locale-ar.m4: New file.
62693         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
62694         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
62695         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
62697 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
62699         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
62700         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
62701         modified how this file was generated before I initially submitted
62702         the module, but failed to regenerate it.  This meant that several
62703         of the level2 entries were wrong.
62704         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
62705         Remove the division-by-2 that is folded into the table now that
62706         gbrkprop.h has been regenerated properly.  Now -1 entries are
62707         handled correctly.
62709         New module 'unigbrk/uc-gbrk-prop-tests'.
62710         * modules/unigbrk/uc-gbrk-prop-tests: New file.
62711         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
62712         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
62713         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
62715 2011-01-01  Bruno Haible  <bruno@clisp.org>
62717         Avoid use of hexadecimal escapes.
62718         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
62719         instead of hexadecimal escapes.
62721 2011-01-01  Jim Meyering  <meyering@redhat.com>
62723         maint: new rule to update copyright year ranges
62724         * Makefile (update-copyright): New rule.
62726         maint: indent with TABs in Makefile
62727         * Makefile: Expand leading sequences of spaces to TABs
62729         version-etc: update the copyright year it reports
62730         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
62732 2010-12-31  Bruno Haible  <bruno@clisp.org>
62734         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
62735         * lib/isfinite.c (zerof, zerod, zerol): New variables.
62736         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
62737         zero.
62739 2010-12-31  Bruno Haible  <bruno@clisp.org>
62741         pwrite: Work around HP-UX 11.11 bug.
62742         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
62743         works and set REPLACE_PWRITE if not.
62744         * lib/pwrite.c (pwrite): Add an implementation that uses the system
62745         function.
62746         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
62748 2010-12-31  Bruno Haible  <bruno@clisp.org>
62750         pread: Work around HP-UX 11 bugs.
62751         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
62752         and set REPLACE_PREAD if not.
62753         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
62755 2010-12-31  Eric Blake  <eblake@redhat.com>
62757         nl_langinfo: fix YESEXPR on Irix 6.5
62758         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
62759         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
62760         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
62761         it.
62763 2010-12-31  Bruno Haible  <bruno@clisp.org>
62765         iconv: Document HP-UX 11 bug.
62766         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
62768 2010-12-31  Bruno Haible  <bruno@clisp.org>
62770         ldexpl: Fix link error on HP-UX 11.
62771         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
62772         LDEXPL_LIBM, using $ISNANL_LIBM.
62774 2010-12-31  Eric Blake  <eblake@redhat.com>
62776         ftello: avoid compilation failure with SunStudio c89
62777         * lib/ftello.c (ftello): Use lseek, not llseek.
62779         tests: avoid failing coreutils tests on cygwin
62780         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
62781         (create_exe_shims_): Return 0 when skipping.
62783 2010-12-31  Bruno Haible  <bruno@clisp.org>
62785         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
62786         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
62788 2010-12-31  Bruno Haible  <bruno@clisp.org>
62790         waitpid: Fix link error in C++ mode.
62791         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
62793 2010-12-31  Bruno Haible  <bruno@clisp.org>
62795         isnan: Use GCC built-ins when possible.
62796         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
62797         __builtin_isnan.
62798         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
62799         (isnan): Define using GCC built-ins for GCC >= 4.0.
62801 2010-12-31  Bruno Haible  <bruno@clisp.org>
62803         isnand: Fix mistake.
62804         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
62805         __builtin_isnand.
62807 2010-12-31  Bruno Haible  <bruno@clisp.org>
62809         open: Avoid C++ error on HP-UX 11.
62810         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
62812 2010-12-31  Bruno Haible  <bruno@clisp.org>
62814         time_r: Add missing declarations on HP-UX 11.
62815         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
62816         instead of HAVE_LOCALTIME_R.
62817         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
62818         HAVE_LOCALTIME_R always.
62819         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
62820         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
62821         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
62822         HAVE_LOCALTIME_R.
62823         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
62824         * doc/posix-functions/localtime_r.texi: Likewise.
62826 2010-12-29  Eric Blake  <eblake@redhat.com>
62828         mountlist: tweak previous commit
62829         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
62830         Reported by Paul Eggert.
62832         mountlist: fix local drive detection on cygwin
62833         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
62834         that works for cygwin.
62836 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
62838         ftoastr, snprintf: ftoastr + snprintf module
62839         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
62840         since the snprintf module now should be good enough here.
62841         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
62842         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
62843         and gl_MODULE_INDICATOR([snprintf]), but the former enables
62844         GNULIB_SNPRINTF only for the test directory, and the latter
62845         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
62846         seems to suffice by itself.
62848 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
62850         alloca: one step towards thread-safety
62851         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
62852         need for a static variable.  All callers changed.  This does not
62853         make the alloca replacement thread-safe, but it's one step.
62855         tests: minor indenting change
62856         * tests/init.sh: Sync from coreutils housekeeping patch
62857         <http://lists.gnu.org/r/coreutils/2010-12/msg00116.html>
62858         to keep lines within 80 columns.
62860 2010-12-28  Jim Meyering  <meyering@redhat.com>
62862         regex: don't infloop on persistent failing calloc
62863         * lib/regexec.c (build_trtable): Return failure indication upon
62864         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
62865         In glibc, this was fixed for version 2.13:
62866         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
62868 2010-12-28  Bruno Haible  <bruno@clisp.org>
62869             Paul Eggert <eggert@cs.ucla.edu>
62871         linkat: Make implementation robust against system behaviour variations.
62872         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
62873         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
62874         way, and to -2 if it needs a generic runtime test.
62875         * lib/linkat.c (solaris_optimized_link_immediate,
62876         solaris_optimized_link_follow): New functions.
62877         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
62878         (check_same_link): Use it.
62880 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
62882         New module 'unigbrk/base'.
62883         * modules/unigbrk/base: New file.
62884         * lib/unigbrk.in.h: New file.
62886         New module 'unigbrk/uc-gbrk-prop'.
62887         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
62888         * modules/unigbrk/uc-gbrk-prop: New file.
62889         * lib/unigbrk/gbrkprop.h: New file.
62890         * lib/unigbrk/uc-gbrk-prop.c: New file.
62892         New module 'unigbrk/uc-is-grapheme-break'.
62893         * modules/unigbrk/uc-is-grapheme-break: New file.
62894         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
62895         * lib/unigbrk/uc-is-grapheme-break.c: New file.
62896         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
62897         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
62898         * tests/unigbrk/GraphemeBreakTest.txt: New file.
62900         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
62902 2010-12-27  Bruno Haible  <bruno@clisp.org>
62904         linkat test: Avoid failure on Solaris 11 2010-11.
62905         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
62907 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
62909         utimens: work around glibc rounding bug on more platforms
62910         * lib/utimens.c (fdutimens): Work around rounding bug even if
62911         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
62912         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00298.html>.
62914 2010-12-27  Bruno Haible  <bruno@clisp.org>
62916         select tests: Improve comments.
62917         * tests/test-select.c (do_select): Add comments.
62919 2010-12-27  Bruno Haible  <bruno@clisp.org>
62921         select tests: Safer way of handling timeout.
62922         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
62923         at every invocation.
62925 2010-12-27  Bruno Haible  <bruno@clisp.org>
62927         select tests: Use 'bool' where appropriate.
62928         * tests/test-select.c (connect_to_socket): Change argument type to
62929         'bool'.
62931 2010-12-27  Bruno Haible  <bruno@clisp.org>
62933         select tests: Use existing modules.
62934         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
62935         (configure.ac): Don't test for unistd.h.
62936         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
62937         declared in <unistd.h>.
62939 2010-12-27  Bruno Haible  <bruno@clisp.org>
62941         mbrtowc: Work around a Solaris 7 bug.
62942         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
62943         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
62944         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
62945         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
62946         MBRTOWC_NULL_ARG1_BUG.
62947         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
62948         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
62949         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
62950         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
62952 2010-12-27  Jim Meyering  <meyering@redhat.com>
62954         read-file.c: tweak syntax
62955         * lib/read-file.c (fread_file): Remove space after "*" in function
62956         definitions.
62958 2010-12-27  Bruno Haible  <bruno@clisp.org>
62960         times test: Avoid gcc warnings on OSF/1.
62961         * tests/test-times.c (main): Cast printf arguments from clock_t to
62962         'long int'.
62964 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
62966         utimens: work around glibc rounding bug on older Linux kernels
62967         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
62968         on Linux with a glibc whose utimes might not work, then work
62969         around a longstanding glibc bug involving rounding rather than
62970         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
62971         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00113.html>.
62973 2010-12-26  Bruno Haible  <bruno@clisp.org>
62975         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
62976         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
62977         _GL_CXXALIAS_SYS.
62978         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
62980 2010-12-26  Bruno Haible  <bruno@clisp.org>
62982         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
62983         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
62984         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
62985         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
62986         looking for the declaration.
62987         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
62988         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
62989         problem.
62990         * doc/posix-functions/inet_pton.texi: Likewise.
62992 2010-12-26  Bruno Haible  <bruno@clisp.org>
62994         arpa_inet: Use the common idioms with C++ support.
62995         * lib/arpa_inet.in.h: Include c++defs.h.
62996         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
62997         support.
62998         * modules/arpa_inet (Depends-on): Add c++defs.
62999         (Makefile.am): Substitute the contents of c++defs.h.
63000         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
63001         * modules/arpa_inet-c++-tests: New file.
63002         * tests/test-arpa_inet-c++.cc: New file.
63004 2010-12-25  Bruno Haible  <bruno@clisp.org>
63006         Fix more C++ link errors on Solaris 8.
63007         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
63008         $(LIB_EACCESS).
63009         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
63010         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
63011         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
63012         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
63013         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
63015 2010-12-25  Bruno Haible  <bruno@clisp.org>
63017         printf-posix: Fix link error when a non-GCC compiler is used.
63018         * lib/stdio.in.h (printf): When not using GCC, override printf
63019         correctly.
63020         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
63022 2010-12-25  Bruno Haible  <bruno@clisp.org>
63024         strerror_r-posix: Update doc.
63025         * doc/posix-functions/strerror_r.texi: Update doc about the return
63026         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
63028 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
63030         utimens: simplify the logic of the previous change
63031         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
63032         This should not affect whether the test succeeds or fails.
63034         utimens: configure better on hosts with NFS clock skew
63035         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
63036         uses the clock of the local host.  It might use the clock of the
63037         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
63038         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00113.html>.
63040 2010-12-25  Bruno Haible  <bruno@clisp.org>
63042         ptsname test: Avoid failure on Solaris.
63043         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
63044         open a pseudo-terminal; don't use BSD-style ptys.
63045         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
63047 2010-12-25  Bruno Haible  <bruno@clisp.org>
63049         ptsname: Avoid ERANGE failure on some systems.
63050         * lib/ptsname.c (buffer): Increase size.
63052 2010-12-25  Bruno Haible  <bruno@clisp.org>
63054         rename, renameat: Avoid test failures at NFS mounted locations.
63055         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
63056         so that subsequent mkdir calls succeed.
63058 2010-12-25  Bruno Haible  <bruno@clisp.org>
63060         iswblank: Fix C++ link error on Solaris 8.
63061         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
63062         _GL_FUNCDECL_SYS.
63064 2010-12-25  Bruno Haible  <bruno@clisp.org>
63066         unistd: Fix C++ link error on Solaris 8.
63067         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
63069 2010-12-25  Bruno Haible  <bruno@clisp.org>
63071         readlink doc: Mention an old glibc bug.
63072         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
63074 2010-12-25  Bruno Haible  <bruno@clisp.org>
63076         fcntl-h: Fix for use of C++ on glibc systems.
63077         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
63078         also on glibc systems in C++ mode.
63079         Reported by Gary V. Vaughan <gary@gnu.org>.
63081 2010-12-25  Bruno Haible  <bruno@clisp.org>
63083         roundl-ieee: Make it work on OSF/1 5.1 with cc.
63084         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
63086 2010-12-25  Bruno Haible  <bruno@clisp.org>
63088         truncl-ieee: Make it work on OSF/1 5.1 with cc.
63089         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
63090         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
63091         test whether truncl works according to ISO C 99 with IEC 60559.
63092         * m4/truncl-ieee.m4: New file.
63093         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
63094         m4/signbit.m4.
63095         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
63097 2010-12-25  Bruno Haible  <bruno@clisp.org>
63099         ceill-ieee: Make it work on OSF/1 5.1 with cc.
63100         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
63101         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
63102         test whether ceill works according to ISO C 99 with IEC 60559.
63103         * m4/ceill-ieee.m4: New file.
63104         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
63105         m4/signbit.m4.
63106         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
63108 2010-12-25  Bruno Haible  <bruno@clisp.org>
63110         Ensure all prerequisites of <wchar.h> are included.
63111         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
63112         before <wchar.h>.
63113         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
63114         gl_MBRLEN_NUL_RETVAL): Likewise.
63115         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
63116         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
63117         AC_FUNC_MBRTOWC): Likewise.
63118         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
63119         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
63120         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
63121         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
63122         Likewise.
63123         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
63124         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
63125         (gl_WCHAR_H): Improve comments.
63126         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
63128 2010-12-25  Bruno Haible  <bruno@clisp.org>
63130         strtok_r: Fix C syntax error in autoconf macro.
63131         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
63132         characters in test program.
63134 2010-12-24  Bruno Haible  <bruno@clisp.org>
63136         ceil, trunc, round: Fix gcc warnings.
63137         * lib/ceil.c (MIN): Undefine before redefining.
63138         * lib/trunc.c (MIN): Likewise.
63139         * lib/round.c (MIN): Likewise.
63140         Include <math.h> first.
63142 2010-12-24  Bruno Haible  <bruno@clisp.org>
63144         select tests: Avoid failures on OSF/1 5.1.
63145         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
63146         failure of closing the last socket; it may fail with ECONNRESET.
63148 2010-12-24  Eric Blake  <eblake@redhat.com>
63150         stdint: avoid HP-UX 10.20 preprocessor bug
63151         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
63152         than #if.
63153         * tests/test-floor2.c (main): Likewise.
63154         Reported by Peter O'Gorman.
63156         pipe: make obsoletion transition easier
63157         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
63158         * modules/pipe (Files): Include revived file.
63159         (Include): Drop reference, to mirror getdate's behavior.
63161 2010-12-24  Bruno Haible  <bruno@clisp.org>
63163         sys_socket: Hide mismatch of declarations on NonStop Kernel.
63164         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
63165         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
63166         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
63168 2010-12-24  Bruno Haible  <bruno@clisp.org>
63170         gethostname: Ensure declaration on NonStop Kernel.
63171         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
63172         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
63174 2010-12-24  Bruno Haible  <bruno@clisp.org>
63176         sys_select: Ensure all necessary types on NonStop Kernel.
63177         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
63178         include <sys/time.h>.
63179         * doc/posix-headers/sys_select.texi: Mention that it's missing on
63180         NonStop Kernel.
63181         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
63183 2010-12-24  Bruno Haible  <bruno@clisp.org>
63185         sys_select: Remove unneeded include.
63186         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
63187         have <sys/select.h>.
63189 2010-12-24  Bruno Haible  <bruno@clisp.org>
63191         gethostname: Provide a fallback for HOST_NAME_MAX.
63192         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
63193         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
63194         instead.
63195         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
63197 2010-12-24  Bruno Haible  <bruno@clisp.org>
63199         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
63200         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
63201         (SA_RESTART): Likewise.
63202         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
63204 2010-12-24  Bruno Haible  <bruno@clisp.org>
63206         signal: Define NSIG.
63207         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
63208         * tests/test-signal.c (nsig): New variable.
63209         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
63211 2010-12-24  Bruno Haible  <bruno@clisp.org>
63213         rename, renameat: Avoid test failures on OSF/1 5.1.
63214         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
63215         alternative error codes.
63216         * tests/test-renameat.c (main): Likewise.
63218 2010-12-24  Bruno Haible  <bruno@clisp.org>
63220         *printf: Detect large precisions bug on Solaris 10/SPARC.
63221         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
63222         by Paul Eggert.
63223         * tests/test-snprintf-posix.h (test_function): Add this test code here
63224         too.
63225         * tests/test-sprintf-posix.h (test_function): Likewise.
63226         * tests/test-vasnprintf-posix.c (test_function): Likewise.
63227         * tests/test-vasprintf-posix.c (test_function): Likewise.
63228         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
63229         around by gnulib.
63230         * doc/posix-functions/printf.texi: Likewise.
63231         * doc/posix-functions/snprintf.texi: Likewise.
63232         * doc/posix-functions/sprintf.texi: Likewise.
63233         * doc/posix-functions/vfprintf.texi: Likewise.
63234         * doc/posix-functions/vprintf.texi: Likewise.
63235         * doc/posix-functions/vsnprintf.texi: Likewise.
63236         * doc/posix-functions/vsprintf.texi: Likewise.
63237         * doc/posix-functions/dprintf.texi: Undo last commit.
63238         * doc/posix-functions/vdprintf.texi: Likewise.
63240 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
63242         tests: port test-fdutimensat.c to Solaris 8
63243         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
63244         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
63245         On Solaris 8, it fails with errno == ENOSYS, because there is no
63246         futimens (so it can't use the fd), and there is no lutimens (so it
63247         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
63249         vsnprintf: make more consistent with snprintf; doc fixes
63251         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
63252         the byte count return problem was promoted from the snprintf-posix
63253         to the snprintf module.
63254         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
63255         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
63256         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
63257         * tests/test-snprintf.c (main): Check the byte count returned.
63258         * tests/test-vsnprintf.c (main): Likewise.
63260 2010-12-23  Eric Blake  <eblake@redhat.com>
63262         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
63263         * modules/sigpipe (License): Relax license.
63265 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
63267         doc: document Solaris printf bug with large float precisions
63268         * doc/posix-functions/dprintf.texi (dprintf):
63269         * doc/posix-functions/fprintf.texi (fprintf):
63270         * doc/posix-functions/printf.texi (printf):
63271         * doc/posix-functions/snprintf.texi (snprintf):
63272         * doc/posix-functions/sprintf.texi (sprintf):
63273         * doc/posix-functions/vdprintf.texi (vdprintf):
63274         * doc/posix-functions/vfprintf.texi (vfprintf):
63275         * doc/posix-functions/vprintf.texi (vprintf):
63276         * doc/posix-functions/vsnprintf.texi (vsnprintf):
63277         * doc/posix-functions/vsprintf.texi (vsprintf):
63278         Mention that these functions mishandle large floating point
63279         precisions on Solaris 10.  The same bug is also present in Solaris
63280         8, and I assume earlier.  This causes "cd gnulib-tests; make
63281         check" to fail on Solaris 8 (and I assume, later) when building
63282         the latest coreutils, in test-vasprintf-posix's call to
63283         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
63284         the wide flavors (e.g., wprintf) so this patch just updates the
63285         documentation for the narrow ones.
63287         test-posixtm.c: add two tests
63288         * tests/test-posixtm.c: Add two tests, to highlight the
63289         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
63290         around this bug; this is merely to document it.
63292 2010-12-22  Bruno Haible  <bruno@clisp.org>
63294         getlogin_r: Work around portability problem on OSF/1.
63295         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
63296         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
63297         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
63298         test for a truncated result.
63299         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
63300         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
63301         * modules/getlogin_r (Depends-on): Add memchr.
63302         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
63304 2010-12-22  Bruno Haible  <bruno@clisp.org>
63306         ptsname: Avoid test failure on OSF/1 5.1.
63307         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
63308         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
63309         (same_slave): New function.
63310         (main): Use it to compare ptsname's result with the expected file name.
63312 2010-12-22  Bruno Haible  <bruno@clisp.org>
63314         Port extended stdio modules to HP NonStop Kernel.
63315         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
63316         macros.
63317         * lib/fbufmode.c: Update comments.
63318         * lib/fflush.c: Likewise.
63319         * lib/fpurge.c: Likewise.
63320         * lib/freadable.c: Likewise.
63321         * lib/freadahead.c: Likewise.
63322         * lib/freading.c: Likewise.
63323         * lib/freadptr.c: Likewise.
63324         * lib/freadseek.c: Likewise.
63325         * lib/fseeko.c: Likewise.
63326         * lib/fseterr.c: Likewise.
63327         * lib/fwritable.c: Likewise.
63328         * lib/fwriting.c: Likewise.
63329         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
63331 2010-12-22  Bruno Haible  <bruno@clisp.org>
63333         ttyname_r: Work around bug on OSF/1 5.1.
63334         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
63335         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
63336         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
63337         present.
63338         * lib/ttyname_r.c (ttyname_r): Update comments.
63340 2010-12-22  Bruno Haible  <bruno@clisp.org>
63342         round: Implement result sign according to IEEE 754.
63343         * lib/round.c (MIN, MINUS_ZERO): New macros.
63344         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
63345         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
63346         * tests/test-round-ieee.c (main): Likewise.
63347         * tests/test-roundl-ieee.c (main): Likewise.
63349         trunc: Implement result sign according to IEEE 754.
63350         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
63351         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
63352         * tests/test-trunc2.c: Include minus-zero.h.
63353         (MINUS_ZERO): New macro.
63354         (trunc_reference): Keep in sync with lib/trunc.c.
63355         * tests/test-truncf2.c: Include minus-zero.h.
63356         (MINUS_ZERO): New macro.
63357         (truncf_reference): Keep in sync with lib/trunc.c.
63358         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
63359         * tests/test-trunc-ieee.c (main): Likewise.
63360         * tests/test-truncl-ieee.c (main): Likewise.
63362         ceil: Implement result sign according to IEEE 754.
63363         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
63364         (FUNC): Return -0.0 for -1 < x < 0.
63365         * tests/test-ceil2.c: Include minus-zero.h.
63366         (MINUS_ZERO): New macro.
63367         (ceil_reference): Keep in sync with lib/ceil.c.
63368         * tests/test-ceilf2.c: Include minus-zero.h.
63369         (MINUS_ZERO): New macro.
63370         (ceilf_reference): Keep in sync with lib/ceil.c.
63371         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
63372         * tests/test-ceil-ieee.c (main): Likewise.
63373         * tests/test-ceill-ieee.c (main): Likewise.
63375         floor: Implement result sign according to IEEE 754.
63376         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
63377         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
63378         * tests/test-floorf2.c (floorf_reference): Likewise.
63379         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
63380         * tests/test-floor-ieee.c (main): Likewise.
63381         * tests/test-floorl-ieee.c (main): Likewise.
63383 2010-12-22  Bruno Haible  <bruno@clisp.org>
63385         getaddrinfo: Update doc.
63386         * doc/posix-functions/gai_strerror.texi: Return type is also different
63387         on AIX and HP-UX.
63389 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
63391         getaddrinfo, inet_ntop: Update doc for Solaris.
63392         * doc/posix-functions/gai_strerror.texi: Return type is also an
63393         issue on Solaris 9 and earlier.
63394         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
63395         on Solaris 10 and earlier.
63397 2010-12-21  Bruno Haible  <bruno@clisp.org>
63399         New module 'roundl-ieee'.
63400         * modules/roundl-ieee: New file.
63401         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
63402         test whether roundl works according to ISO C 99 with IEC 60559.
63403         * m4/roundl-ieee.m4: New file.
63404         * modules/roundl-ieee-tests: New file.
63405         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
63406         * tests/test-roundl.c (main): Remove signbit tests.
63407         * modules/roundl-tests (Depends-on): Remove signbit.
63408         * doc/posix-functions/roundl.texi: Mention the new module.
63410 2010-12-21  Bruno Haible  <bruno@clisp.org>
63412         New module 'truncl-ieee'.
63413         * modules/truncl-ieee: New file.
63414         * modules/truncl-ieee-tests: New file.
63415         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
63416         * tests/test-truncl.c (main): Remove signbit tests.
63417         * modules/truncl-tests (Depends-on): Remove signbit.
63418         * doc/posix-functions/truncl.texi: Mention the new module.
63420 2010-12-21  Bruno Haible  <bruno@clisp.org>
63422         New module 'ceill-ieee'.
63423         * modules/ceill-ieee: New file.
63424         * modules/ceill-ieee-tests: New file.
63425         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
63426         * tests/test-ceill.c (main): Remove signbit tests.
63427         * modules/ceill-tests (Depends-on): Remove signbit.
63428         * doc/posix-functions/ceill.texi: Mention the new module.
63430 2010-12-21  Bruno Haible  <bruno@clisp.org>
63432         New module 'floorl-ieee'.
63433         * modules/floorl-ieee: New file.
63434         * modules/floorl-ieee-tests: New file.
63435         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
63436         * tests/test-floorl.c (main): Remove signbit tests.
63437         * modules/floorl-tests (Depends-on): Remove signbit.
63438         * doc/posix-functions/floorl.texi: Mention the new module.
63440 2010-12-21  Bruno Haible  <bruno@clisp.org>
63442         New module 'round-ieee'.
63443         * modules/round-ieee: New file.
63444         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
63445         whether round works according to ISO C 99 with IEC 60559.
63446         * m4/round-ieee.m4: New file.
63447         * modules/round-ieee-tests: New file.
63448         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
63449         * tests/test-round1.c (main): Remove signbit tests.
63450         * modules/round-tests (Depends-on): Remove 'signbit'.
63451         * doc/posix-functions/round.texi: Mention the new module.
63453 2010-12-21  Bruno Haible  <bruno@clisp.org>
63455         New module 'trunc-ieee'.
63456         * modules/trunc-ieee: New file.
63457         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
63458         whether trunc works according to ISO C 99 with IEC 60559.
63459         * m4/trunc-ieee.m4: New file.
63460         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
63461         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
63462         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
63463         * modules/trunc-ieee-tests: New file.
63464         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
63465         * tests/test-trunc1.c (main): Remove signbit tests.
63466         * modules/trunc-tests (Depends-on): Remove 'signbit'.
63467         * doc/posix-functions/trunc.texi: Mention the new module.
63469 2010-12-21  Bruno Haible  <bruno@clisp.org>
63471         New module 'ceil-ieee'.
63472         * modules/ceil-ieee: New file.
63473         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
63474         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
63475         ISO C 99 with IEC 60559.
63476         * m4/ceil-ieee.m4: New file.
63477         * modules/ceil (Files): Add lib/ceil.c.
63478         (Depends-on): Add 'float'.
63479         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
63480         * lib/math.in.h (ceil): New declaration.
63481         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
63482         REPLACE_CEIL.
63483         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
63484         * modules/ceil-ieee-tests: New file.
63485         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
63486         * tests/test-math-c++.cc: Check the signature of 'ceil'.
63487         * doc/posix-functions/ceil.texi: Mention the new module.
63489 2010-12-21  Bruno Haible  <bruno@clisp.org>
63491         New module 'floor-ieee'.
63492         * modules/floor-ieee: New file.
63493         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
63494         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
63495         ISO C 99 with IEC 60559.
63496         * m4/floor-ieee.m4: New file.
63497         * modules/floor (Files): Add lib/floor.c.
63498         (Depends-on): Add 'float'.
63499         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
63500         * lib/math.in.h (floor): New declaration.
63501         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
63502         REPLACE_FLOOR.
63503         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
63504         * modules/floor-ieee-tests: New file.
63505         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
63506         * tests/test-math-c++.cc: Check the signature of 'floor'.
63507         * doc/posix-functions/floor.texi: Mention the new module.
63509 2010-12-21  Bruno Haible  <bruno@clisp.org>
63511         New module 'roundf-ieee'.
63512         * modules/roundf-ieee: New file.
63513         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
63514         test whether roundf works according to ISO C 99 with IEC 60559.
63515         * m4/roundf-ieee.m4: New file.
63516         * modules/roundf-ieee-tests: New file.
63517         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
63518         * tests/test-roundf1.c (main): Remove signbit tests.
63519         * modules/roundf-tests (Depends-on): Remove 'signbit'.
63520         * doc/posix-functions/roundf.texi: Mention the new module.
63522 2010-12-21  Bruno Haible  <bruno@clisp.org>
63524         New module 'truncf-ieee'.
63525         * modules/truncf-ieee: New file.
63526         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
63527         test whether truncf works according to ISO C 99 with IEC 60559.
63528         * m4/truncf-ieee.m4: New file.
63529         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
63530         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
63531         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
63532         * modules/truncf-ieee-tests: New file.
63533         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
63534         * tests/test-truncf1.c (main): Remove signbit tests.
63535         * modules/truncf-tests (Depends-on): Remove 'signbit'.
63536         * doc/posix-functions/truncf.texi: Mention the new module.
63538 2010-12-21  Bruno Haible  <bruno@clisp.org>
63540         New module 'ceilf-ieee'.
63541         * modules/ceilf-ieee: New file.
63542         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
63543         test whether ceilf works according to ISO C 99 with IEC 60559.
63544         * m4/ceilf-ieee.m4: New file.
63545         * modules/ceilf-ieee-tests: New file.
63546         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
63547         * tests/test-ceilf1.c (main): Remove signbit tests.
63548         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
63549         * doc/posix-functions/ceilf.texi: Mention the new module.
63551 2010-12-21  Bruno Haible  <bruno@clisp.org>
63553         New module 'floorf-ieee'.
63554         * modules/floorf-ieee: New file.
63555         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
63556         test whether floorf works according to ISO C 99 with IEC 60559.
63557         * m4/floorf-ieee.m4: New file.
63558         * modules/floorf-ieee-tests: New file.
63559         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
63560         * tests/test-floorf1.c (main): Remove signbit tests.
63561         * modules/floorf-tests (Depends-on): Remove 'signbit'.
63562         * doc/posix-functions/floorf.texi: Mention the new module.
63564 2010-12-21  Bruno Haible  <bruno@clisp.org>
63566         Support for minus zero in autoconf macros.
63567         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
63568         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
63569         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
63570         * tests/minus-zero.h: Update comments.
63572 2010-12-21  Bruno Haible  <bruno@clisp.org>
63574         Tests for module 'ceil'.
63575         * modules/ceil-tests: New file.
63576         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
63577         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
63579 2010-12-21  Bruno Haible  <bruno@clisp.org>
63581         Tests for module 'floor'.
63582         * modules/floor-tests: New file.
63583         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
63584         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
63586 2010-12-21  Bruno Haible  <bruno@clisp.org>
63588         math: Fix indentation.
63589         * lib/math.in.h (floorf): Fix indentation.
63591 2010-12-21  Bruno Haible  <bruno@clisp.org>
63593         Fix cross-compilation guesses on Solaris.
63594         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
63595         not match "solaris2.10".
63596         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
63597         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
63598         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
63600 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
63602         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
63603         This fixes a problem observed with the latest coreutils snapshot
63604         that caused a test to fail on Solaris 8.  src/csplit.c's call
63605         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
63606         earlier, instead of returning the number of bytes that would have
63607         been generated; this causes csplit to incorrectly report memory
63608         exhaustion.
63609         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
63610         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
63611         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
63612         comments to match.
63613         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
63614         Fix typo in matching older versions of Solaris: "solaris2.10"
63615         is matched by the shell pattern "solaris2.[0-9]*".  This matters
63616         only for guessing while cross-compiling.
63617         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
63619 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
63621         ftoastr: fix comment again
63622         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
63623         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00149.html>.
63624         Also, simplify example a bit by using flags = 0.
63626 2010-12-20  Bruno Haible  <bruno@clisp.org>
63628         round*, trunc*: Update documentation regarding glibc.
63629         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
63630         * doc/posix-functions/round.texi: Likewise.
63631         * doc/posix-functions/roundl.texi: Likewise.
63632         * doc/posix-functions/truncf.texi: Likewise.
63633         * doc/posix-functions/trunc.texi: Likewise.
63634         * doc/posix-functions/truncl.texi: Likewise.
63636 2010-12-20  Bruno Haible  <bruno@clisp.org>
63638         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
63639         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
63640         * doc/posix-functions/round.texi: Likewise.
63641         * doc/posix-functions/roundl.texi: Likewise.
63643 2010-12-20  Bruno Haible  <bruno@clisp.org>
63645         ttyname_r: Add missing declaration on HP-UX 11.
63646         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
63647         HAVE_TTYNAME_R.
63648         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
63649         declared. Set HAVE_TTYNAME_R always.
63650         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
63651         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
63652         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
63653         HAVE_TTYNAME_R.
63654         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
63656 2010-12-20  Bruno Haible  <bruno@clisp.org>
63658         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
63659         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
63660         * doc/posix-functions/getlogin_r.texi: Likewise.
63661         * tests/test-getlogin.c: Include <errno.h>.
63662         (main): Avoid test failure on HP-UX 11.11.
63663         * tests/test-getlogin_r.c (main): Likewise.
63665 2010-12-20  Bruno Haible  <bruno@clisp.org>
63667         getlogin_r: Add missing declaration on HP-UX 11.
63668         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
63669         declared also when it exists as a function.
63670         * doc/posix-functions/getlogin_r.texi: Document this workaround.
63672 2010-12-20  Bruno Haible  <bruno@clisp.org>
63674         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
63675         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
63676         through wcrtomb.
63678 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
63680         ftoastr: fix comment
63681         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
63682         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00130.html>.
63684 2010-12-19  Bruno Haible  <bruno@clisp.org>
63686         isnan: Ensure it is a macro.
63687         * lib/math.in.h (isnan): Define as a macro if not already a macro.
63688         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
63689         Solaris.
63691 2010-12-19  Bruno Haible  <bruno@clisp.org>
63693         ldexpl test: Fix link error on OSF/1 5.1.
63694         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
63696 2010-12-19  Bruno Haible  <bruno@clisp.org>
63698         wctype: Make it work in C++ mode on OSF/1 5.1.
63699         * lib/wctype.in.h (iswblank): Declare but not define here.
63700         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
63701         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
63702         * modules/wctype (Files): Add lib/iswblank.c.
63704 2010-12-19  Bruno Haible  <bruno@clisp.org>
63706         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
63707         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
63708         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
63710 2010-12-19  Bruno Haible  <bruno@clisp.org>
63712         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
63713         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
63714         _POSIX_PII_SOCKET.
63715         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
63716         * doc/posix-functions/recvfrom.texi: Likewise.
63717         * doc/posix-functions/send.texi: Likewise.
63718         * doc/posix-functions/sendto.texi: Likewise.
63720 2010-12-19  Bruno Haible  <bruno@clisp.org>
63722         tcgetsid: Add missing declaration on OSF/1 5.1.
63723         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
63724         HAVE_TCGETSID.
63725         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
63726         Don't set HAVE_TCGETSID.
63727         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
63728         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
63729         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
63730         HAVE_TCGETSID.
63731         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
63733 2010-12-19  Bruno Haible  <bruno@clisp.org>
63735         stdio: Fix problem with popen() declaration on OSF/1 5.1.
63736         * lib/stdio.in.h: During the include_next statement, let recursive
63737         includes of this file include only the system header file.
63739 2010-12-19  Bruno Haible  <bruno@clisp.org>
63741         iconv_open: Fix regression from 2010-12-04.
63742         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
63743         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
63745 2010-12-19  Bruno Haible  <bruno@clisp.org>
63747         stdbool test: Avoid a gcc warning.
63748         * tests/test-stdbool.c (main): Fail if e1 is false.
63749         Reported by Jim Meyering.
63751 2010-12-19  Jim Meyering  <meyering@redhat.com>
63753         setenv: restore to working order
63754         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
63755         mistakenly removed.
63756         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
63757         HAVE_SETENV.
63758         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
63759         HAVE_SETENV.
63761 2010-12-19  Bruno Haible  <bruno@clisp.org>
63763         Document some different function declarations on OSF/1 5.1.
63764         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
63765         * doc/posix-functions/inet_ntop.texi: Likewise.
63766         * doc/posix-functions/gethostname.texi: Likewise.
63767         * lib/unistd.in.h (gethostname): Update comment.
63769 2010-12-19  Bruno Haible  <bruno@clisp.org>
63771         doc: Mention vasprintf-posix module.
63772         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
63773         the 'vasprintf-posix' module.
63774         * doc/glibc-functions/vasprintf.texi: Likewise.
63776 2010-12-19  Bruno Haible  <bruno@clisp.org>
63778         unsetenv: Add missing declaration on OSF/1 5.1.
63779         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
63780         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
63781         Don't set HAVE_UNSETENV. In the test program, set _BSD.
63782         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
63783         not HAVE_UNSETENV.
63784         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
63785         HAVE_UNSETENV.
63786         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
63788 2010-12-19  Bruno Haible  <bruno@clisp.org>
63790         setenv: Add missing declaration on OSF/1 5.1.
63791         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
63792         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
63793         declared. Don't set HAVE_SETENV.
63794         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
63795         not HAVE_SETENV.
63796         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
63797         HAVE_SETENV.
63798         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
63800 2010-12-19  Bruno Haible  <bruno@clisp.org>
63802         nl_langinfo tests: Avoid gcc warning.
63803         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
63805 2010-12-19  Bruno Haible  <bruno@clisp.org>
63807         mknod: Avoid error in C++ mode on OSF/1 with GCC.
63808         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
63809         _GL_CXXALIAS_SYS.
63811 2010-12-19  Bruno Haible  <bruno@clisp.org>
63813         stdbool: Relax test.
63814         * tests/test-stdbool.c (e): Don't require that casts from a variable's
63815         address to 'bool' work in static initializer, for compilers other than
63816         GCC.
63818 2010-12-19  Bruno Haible  <bruno@clisp.org>
63820         ftello: Add missing declaration on OSF/1 5.1.
63821         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
63822         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
63823         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
63824         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
63825         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
63827 2010-12-19  Bruno Haible  <bruno@clisp.org>
63829         fseeko: Add missing declaration on OSF/1 5.1.
63830         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
63831         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
63832         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
63833         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
63834         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
63836 2010-12-19  Bruno Haible  <bruno@clisp.org>
63838         fchdir: Add missing declaration on OSF/1 5.1.
63839         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
63840         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
63841         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
63842         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
63843         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
63845 2010-12-19  Bruno Haible  <bruno@clisp.org>
63847         relocatable-prog-wrapper: Separate from relocatable-prog.
63848         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
63849         uninstall-relocwrapper rule here.
63850         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
63851         Reported by Ian Beckwith <ianb@erislabs.net>.
63853 2010-12-19  Bruno Haible  <bruno@clisp.org>
63855         unistr/u8-mbsnlen: Add missing dependency.
63856         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
63857         Reported by Ian Beckwith <ianb@erislabs.net>.
63859 2010-12-19  Bruno Haible  <bruno@clisp.org>
63861         iconv: Make it possible again to use this module without 'iconv-h'.
63862         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
63863         if it is not defined.
63864         Reported by Ian Beckwith <ianb@erislabs.net>.
63866 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
63868         acl: port to Solaris 8 when copying from tmpfs to ufs
63869         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
63870         error number.  Problem observed on Solaris 8 with latest
63871         coreutils, with "mv A B", where A is on a tmpfs file system and B
63872         is on a ufs file system.  This caused coreutils' mv/part-symlink
63873         test to fail.
63875         tests: set fail=0 at start
63876         * tests/init.sh (setup_): Move fail=0 initialization here ...
63877         (mktempd_): ... from here, so that tests can rely on fail being
63878         set to 0 initially.  This fixes a problem in coreutils; see:
63879         http://lists.gnu.org/r/coreutils/2010-12/msg00083.html
63881 2010-12-18  Bruno Haible  <bruno@clisp.org>
63883         memmem-simple: Stylistic changes.
63884         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
63885         Fix preprocessor directive indentation.
63887 2010-12-15  Pádraig Brady  <P@draigBrady.com>
63889         memmem, memmem-simple: reorganize and expand empty needle check
63890         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
63891         functional checks to memmem-simple so that one has a fully functional
63892         memmem by using just this module.
63893         Restrict the performance only check to the memmem module.
63894         Also expand the empty needle check to ensure the correct
63895         pointer is returned, not just a non NULL pointer.
63896         * doc/glibc-functions/memmem.texi: Rearrange the portability
63897         documentation to correlate with the rearranged checks.
63898         Clarify exactly how the memmem and memmem-simple modules
63899         relate to each other.
63901 2010-12-15  Pádraig Brady  <P@draigBrady.com>
63902             Bruno Haible  <bruno@clisp.org>
63904         Improve cross-compilation guesses for uClibc.
63905         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
63906         that uClibc does not have the glibc bug.
63907         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
63908         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
63910 2010-12-14  Eric Blake  <eblake@redhat.com>
63912         configmake: provide fallbacks for oldest supported autotools
63913         * m4/configmake.m4: New file.
63914         * modules/configmake (Files): Ship it.
63915         (configure.ac): Use it to guarantee fallbacks.
63917 2010-12-13  Pádraig Brady  <P@draigBrady.com>
63919         read-file: Improve handling of large files
63920         * lib/read-file.c (fread_file): Minimize realloc()s
63921         for regular files, and better manage sizes around SIZE_MAX.
63923 2010-12-13  Eric Blake  <eblake@redhat.com>
63925         cloexec, fcntl: relax license
63926         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
63927         consent from all contributors.
63928         * modules/fcntl (License): Likewise.
63930 2010-12-10  Bruno Haible  <bruno@clisp.org>
63932         Tests for module 'pipe-posix'.
63933         * modules/pipe-posix-tests: New file.
63934         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
63936 2010-12-10  Bruno Haible  <bruno@clisp.org>
63938         pipe-posix: Make it work in C++ mode.
63939         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
63940         (pipe): Use common idiom, not a macro definition.
63941         * lib/pipe.c: New file.
63942         * m4/pipe.m4: New file.
63943         * modules/pipe-posix (Description): Enhance.
63944         (Files): Add lib/pipe.c, m4/pipe.m4.
63945         (configure.ac): Invoke gl_FUNC_PIPE.
63946         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
63947         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
63948         * tests/test-unistd-c++.cc: Check the signature of pipe.
63950 2010-12-10  Bruno Haible  <bruno@clisp.org>
63952         Rename module 'pipe' to 'spawn-pipe'.
63953         * modules/spawn-pipe: New file, renamed from modules/pipe.
63954         (Files, configure.ac, Makefile.am): Update.
63955         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
63956         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
63957         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
63958         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
63959         "spawn-pipe.h" instead of "pipe.h".
63960         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
63961         to gl_SPAWN_PIPE.
63962         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
63963         (Files, Makefile.am): Update.
63964         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
63965         Update.
63966         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
63967         Include "spawn-pipe.h" instead of "pipe.h".
63968         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
63969         * lib/javacomp.c: Likewise.
63970         * lib/javaversion.c: Likewise.
63971         * lib/pipe-filter-gi.c: Likewise.
63972         * lib/pipe-filter-ii.c: Likewise.
63973         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
63974         * modules/javacomp (Depends-on): Likewise.
63975         * modules/javaversion (Depends-on): Likewise.
63976         * modules/pipe-filter-gi (Depends-on): Likewise.
63977         * modules/pipe-filter-ii (Depends-on): Likewise.
63978         * MODULES.html.sh (Executing programs): Update.
63979         * NEWS: Mention the change.
63981 2010-12-10  Eric Blake  <eblake@redhat.com>
63983         pipe-posix: new module
63984         * modules/pipe-posix: New file.
63985         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
63986         (gl_UNISTD_H): Check for declaration.
63987         * modules/unistd (Makefile.am): Substitute it.
63988         * lib/unistd.in.h (pipe): Provide it for mingw.
63989         * doc/posix-functions/pipe.texi (pipe): Update documentation.
63990         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
63992 2010-12-07  Bruno Haible  <bruno@clisp.org>
63994         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
63995         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
63996         u8_strcmp_gnu.
63997         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
63999 2010-12-06  Bruno Haible  <bruno@clisp.org>
64001         Update internal documentation.
64002         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
64004 2010-12-04  Bruno Haible  <bruno@clisp.org>
64006         Put more information about failed tests into the test return codes.
64007         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
64008         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
64009         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
64010         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
64011         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
64012         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
64013         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
64014         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
64015         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
64016         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
64017         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
64018         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
64019         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
64020         * m4/stdint.m4 (gl_STDINT_H): Likewise.
64021         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
64022         returns a bit mask.
64023         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
64024         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
64025         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
64026         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
64027         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
64028         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
64029         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
64030         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
64031         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
64032         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
64033         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
64034         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
64035         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
64036         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
64037         * m4/link.m4 (gl_FUNC_LINK): Likewise.
64038         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
64039         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
64040         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
64041         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
64042         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
64043         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
64044         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
64045         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
64046         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
64047         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
64048         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
64049         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
64050         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
64051         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
64052         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
64053         gl_PRINTF_PRECISION): Likewise.
64054         * m4/regex.m4 (gl_REGEX): Likewise.
64055         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
64056         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
64057         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
64058         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
64059         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
64060         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
64061         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
64062         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
64063         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
64064         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
64065         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
64066         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
64067         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
64068         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
64069         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
64070         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
64071         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
64072         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
64073         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
64074         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
64075         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
64076         enumerated value.
64077         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
64079 2010-12-04  Bruno Haible  <bruno@clisp.org>
64081         Update for Solaris 11 2010-11.
64082         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
64083         Express, released in November 2010.
64085 2010-12-04  Bruno Haible  <bruno@clisp.org>
64087         nproc: Relax license.
64088         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
64089         and Paul Eggert.
64090         Requested by Ludovic Courtès <ludo@gnu.org>.
64092 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
64094         utimecmp: fine-grained src to nearby coarse-grained dest
64096         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
64097         and the source is on a file system with higher-resolution time
64098         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
64099         not work, and the time stamps are close together, the algorithm to
64100         determine the exact resolution from the read-back mtime was buggy:
64101         it had a "!=" where it should have had an "==".  This bug has been
64102         in the code ever since it was introduced to gnulib.
64103         Problem reported by Dan Jacobson in
64104         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
64106 2010-11-30  Bruno Haible  <bruno@clisp.org>
64108         strerror_r-posix: Fix autoconf test.
64109         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
64111 2010-11-28  Bruno Haible  <bruno@clisp.org>
64112             Paul Eggert  <eggert@cs.ucla.edu>
64114         Tests for module 'getdomainname'.
64115         * modules/getdomainname-tests: New file.
64116         * tests/test-getdomainname.c: New file, based on
64117         tests/test-gethostname.c.
64119 2010-11-28  Bruno Haible  <bruno@clisp.org>
64120             Paul Eggert  <eggert@cs.ucla.edu>
64122         getdomainname: Use the system function when possible.
64123         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
64124         (getdomainname): Replace if needed. Provide the declaration if it is
64125         missing. Don't use _GL_CXXALIAS_SYS_CAST.
64126         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
64127         (getdomainname): When the system has getdomainname, call the system
64128         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
64129         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
64130         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
64131         found in libnsl. Look for the declaration also in <netdb.h>. Replace
64132         the function if its second argument is of type 'int' or if it is found
64133         in libnsl.
64134         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
64135         <sys/systeminfo.h> and sysinfo().
64136         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
64137         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
64138         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
64139         HAVE_GETDOMAINNAME.
64140         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
64141         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
64142         * doc/glibc-functions/getdomainname.texi: Document the problems with
64143         the getdomainname declaration.
64145 2010-11-28  Bruno Haible  <bruno@clisp.org>
64147         sys_socket: Ensure ss_family field on AIX.
64148         * lib/sys_socket.in.h (ss_family): New macro definition.
64149         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
64150         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
64151         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
64152         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
64153         * modules/sys_socket (Makefile.am): Substitute
64154         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
64155         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
64157 2010-11-27  Bruno Haible  <bruno@clisp.org>
64159         readline: Improve configure output.
64160         * m4/readline.m4 (gl_FUNC_READLINE): Make the
64161         "checking for readline..." result understandable.
64163 2010-11-27  Bruno Haible  <bruno@clisp.org>
64165         *printf-posix: Detect a bug on Solaris 10/x86.
64166         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
64167         for floating-point output.
64168         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
64169         directive.
64170         * tests/test-snprintf-posix.h (test_function): Likewise.
64171         * tests/test-sprintf-posix.h (test_function): Likewise.
64172         * tests/test-vasprintf-posix.c (test_function): Likewise.
64173         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
64174         * doc/posix-functions/printf.texi: Likewise.
64175         * doc/posix-functions/snprintf.texi: Likewise.
64176         * doc/posix-functions/sprintf.texi: Likewise.
64177         * doc/posix-functions/vfprintf.texi: Likewise.
64178         * doc/posix-functions/vprintf.texi: Likewise.
64179         * doc/posix-functions/vsnprintf.texi: Likewise.
64180         * doc/posix-functions/vsprintf.texi: Likewise.
64181         * doc/glibc-functions/obstack_printf.texi: Likewise.
64182         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
64184 2010-11-27  Bruno Haible  <bruno@clisp.org>
64186         Fix link error when module libunistring-optional is in use.
64187         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
64188         * modules/striconveha-tests (Makefile.am): Likewise.
64190 2010-11-27  Bruno Haible  <bruno@clisp.org>
64192         regex: Mention link dependencies.
64193         * modules/regex (Link): New section.
64194         * modules/rpmatch (Link): Likewise.
64195         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
64197 2010-11-27  Bruno Haible  <bruno@clisp.org>
64199         ftoastr: Fix compilation error on Solaris.
64200         * lib/ftoastr.c: Include <config.h>.
64202 2010-11-27  Bruno Haible  <bruno@clisp.org>
64204         getloadavg: Update documentation.
64205         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
64207 2010-11-27  Bruno Haible  <bruno@clisp.org>
64209         sys_socket: Fix test whether the functions are declared.
64210         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
64211         not <sys/select.h>.
64213 2010-11-27  Bruno Haible  <bruno@clisp.org>
64215         getpass: Make sure to get system declaration on some platforms.
64216         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
64217         gl_USE_SYSTEM_EXTENSIONS.
64218         * modules/getpass (Depends-on): Add extensions.
64220 2010-11-26  Bruno Haible  <bruno@clisp.org>
64222         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
64223         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
64224         'iconv' module is present.
64225         (ICONV_CONST): New macro.
64226         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
64227         ICONV_CONST.
64228         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
64229         set ICONV_CONST.
64230         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
64231         here.
64232         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
64233         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
64234         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
64235         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
64236         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
64237         present.
64239 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
64241         ftoastr: comment fix
64242         * lib/ftoastr.c: "little" -> "little or no" in comment
64244 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
64246         stdint: port to GCC 4.3 + OSX + Octave
64247         On this platform, stdint.h is buggy and defines int64_t to long
64248         long int.  The replacement defined it to long int, causing
64249         problems with C++ style name mangling.  Instead, trust the system
64250         definition if INT64_MAX is defined, and likewise for the unsigned
64251         variant.   Problem reported by Jarno Rajahalme in
64252         <http://lists.gnu.org/r/bug-gnulib/2010-04/msg00143.html>.
64253         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
64254         and don't mess with int64_t and INT64_MAX in this case.
64255         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
64257 2010-11-24  Bruno Haible  <bruno@clisp.org>
64259         doc: Corrections regarding MacOS X 10.4 and 10.5.
64260         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
64261         MacOS X.
64262         Reported by Simon Josefsson.
64264 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
64266         Uninstall ".bin" files installed by relocwrapper.
64267         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
64268         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
64269         unless it is already there.
64271 2010-11-21  Bruno Haible  <bruno@clisp.org>
64273         Update for NetBSD 5.0.
64274         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
64275         NetBSD; the test fails on NetBSD 5.0.
64276         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
64277         about NetBSD.
64279 2010-11-21  Bruno Haible  <bruno@clisp.org>
64281         Update for HP-UX 11.23 and HP-UX 11.31.
64282         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
64283         HP-UX.
64285 2010-11-21  Bruno Haible  <bruno@clisp.org>
64287         Update for MacOS X 10.5.
64288         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
64289         MacOS X; the test fails on MacOS X 10.5.8.
64290         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
64291         about MacOS X.
64293 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
64295         bootstrap: add bootstrap_sync option.
64296         See discussion at
64297         <http://lists.gnu.org/r/bug-gnulib/2010-10/msg00369.html>,
64298         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00200.html>.
64299         * build-aux/bootstrap: Accept --bootstrap-sync to update
64300         bootstrap if it is not identical to the local gnulib's
64301         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
64302         enable this by default.  Accept --no-bootstrap-sync to disable
64303         it.
64305 2010-11-20  Bruno Haible  <bruno@clisp.org>
64307         Ensure that <features.h> is included before __GLIBC__ is tested.
64308         * lib/printf-parse.h: Include <features.h>.
64309         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
64310         Reported by Mike Frysinger <vapier@gentoo.org>.
64312         Ensure that <features.h> is included before __GLIBC__ is tested.
64313         * lib/wchar.in.h: Include <features.h>.
64314         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
64315         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
64316         Reported by Mike Frysinger <vapier@gentoo.org>.
64318         Ensure that <features.h> is included before __GLIBC__ is tested.
64319         * lib/arpa_inet.in.h: Include <features.h>.
64320         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
64321         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
64322         Reported by Mike Frysinger <vapier@gentoo.org>.
64324         Ensure that <features.h> is included before __GLIBC__ is tested.
64325         * build-aux/link-warning.h: Include <features.h>.
64326         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
64327         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
64328         Reported by Mike Frysinger <vapier@gentoo.org>.
64330         Ensure that <features.h> is included before __GLIBC__ is tested.
64331         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
64332         Reported by Mike Frysinger <vapier@gentoo.org>.
64334 2010-11-20  Bruno Haible  <bruno@clisp.org>
64336         memmem: Fix autoconf test.
64337         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
64339 2010-11-20  Bruno Haible  <bruno@clisp.org>
64341         Port to uClibc.
64342         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
64343         * lib/fcntl.in.h: Likewise.
64344         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
64345         * lib/mbrtowc.c (mbrtowc): Likewise.
64346         * lib/relocatable.c (find_shared_library_fullname): Likewise.
64347         * lib/strerror_r.c: Likewise.
64348         * lib/unistr/u8-strnlen.c: Likewise.
64349         * lib/vasnprintf.c (decimal_point_char): Likewise.
64350         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
64351         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
64352         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
64353         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
64354         * tests/test-sigaction.c (handler, main): Likewise.
64355         * lib/freading.h: Treat uClibc like a non-glibc platform.
64356         * lib/freading.c: Likewise.
64357         * lib/gettext.h: Likewise.
64358         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
64359         Likewise.
64360         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
64361         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
64362         * lib/propername.c (proper_name_utf8): Likewise.
64363         * lib/spawn.in.h: Likewise.
64364         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
64365         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
64366         mem_cd_iconveh_internal): Likewise.
64367         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
64368         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
64369         strstr, strcasestr): Likewise.
64370         * lib/unicodeio.c (unicode_to_mb): Likewise.
64371         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
64372         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
64373         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
64374         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
64375         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
64376         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
64377         * lib/unistr/u8-stpncpy.c: Likewise.
64378         * lib/vasnprintf.c (VASNPRINTF): Likewise.
64379         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
64380         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
64381         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
64382         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
64383         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
64384         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
64385         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
64386         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
64387         Likewise.
64388         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
64389         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
64390         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
64391         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
64392         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
64393         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
64394         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
64395         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
64396         * tests/test-getopt.h (OPTIND_MIN): Likewise.
64397         * tests/test-striconveha.c (main): Likewise.
64398         * tests/test-vasnprintf-posix.c (test_function): Likewise.
64399         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
64400         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
64401         * doc/posix-functions/getline.texi: Likewise.
64402         Reported by Mike Frysinger <vapier@gentoo.org>.
64404 2010-11-20  Bruno Haible  <bruno@clisp.org>
64406         nproc: Fix condition.
64407         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
64408         HAVE_PTHREAD_AFFINITY_NP.
64410 2010-11-20  Bruno Haible  <bruno@clisp.org>
64412         Fix a comment.
64413         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
64415 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
64417         ftoastr: don't assume snprintf
64418         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
64419         Implement a subset of snprintf here, by using sprintf safely.
64420         * modules/ftoastr (Depends-on): Remove snprintf.
64422 2010-11-19  Jim Meyering  <meyering@redhat.com>
64424         test-rename.h: fix compilation failure
64425         * tests/test-rename.h (test_rename): Add omitted "}".
64427 2010-11-17  Jim Meyering  <meyering@redhat.com>
64429         maint.mk: add a URL discussing the no-@acronym policy
64430         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
64432 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
64434         ftoastr: depend on snprintf, improve comments
64435         * lib/ftoastr.c: Also mention Loitsch's draft.
64436         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
64437         needed in the current implementation, but it might simplify
64438         speeding up the code later.
64439         * modules/ftoastr: Depend on snprintf; this improves portability.
64440         Suggested by Bruno Haible in the same email.
64442         ftoastr: port to hosts lacking strtof and strtold
64443         Problem reported by Bruno Haible in
64444         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00242.html>.
64445         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
64446         environment and strtold (and presumably strtof) are not available.
64447         * modules/ftoastr (Files): Add m4/c-strtod.m4.
64448         (configure.ac): Require gl_C99_STRTOLD.
64450 2010-11-18  Bruno Haible  <bruno@clisp.org>
64452         c-strtold: Avoid link error on AIX 7.
64453         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
64454         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
64455         (gl_C_STRTOLD): Test whether strtold_l exists.
64456         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
64458 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
64460         intprops: new macro INT_BITS_STRLEN_BOUND
64461         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
64462         ftoastr.h.  This exposes an internal of intprops.h that was formerly
64463         not exposed.  Also, it uses a slightly tighter bound than before;
64464         though this makes no practical difference, we might as well be as
64465         tight as we easily can.
64467         ftoastr: new module, for lossless conversion of floats to short strings
64468         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
64469         * modules/ftoastr: New files.
64471 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
64473         bootstrap: port to Solaris sed
64474         * build-aux/bootstrap (get_version): Port to Solaris sed.
64475         See Ralf Wildenhues's note in
64476         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00156.html>.
64478 2010-11-14  Jim Meyering  <meyering@redhat.com>
64480         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
64481         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
64482         and move definition closer to sole use.
64484 2010-11-13  Jim Meyering  <meyering@redhat.com>
64486         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
64487         Now we require at least autoconf-2.59, which means the work-around
64488         is no longer needed.
64489         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
64490         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
64491         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
64492         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
64493         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
64495 2010-11-13  Bruno Haible  <bruno@clisp.org>
64497         rename, renameat: Avoid test failures at NFS mounted locations.
64498         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
64499         functions.
64500         (test_rename): Use assert_nonexistent.
64501         * tests/test-rename.c: Include <dirent.h>.
64502         * tests/test-renameat.c: Likewise.
64503         Reported by Gary V. Vaughan <gary@gnu.org>.
64505         rename, renameat: Document Linux bug with NFS
64506         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00154.html>.
64507         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
64508         * doc/posix-functions/renameat.texi: Likewise.
64509         Suggested by Eric Blake.
64511 2010-11-13  Bruno Haible  <bruno@clisp.org>
64513         rename test: Add comments.
64514         * tests/test-rename.h (test_rename): Add structure and comments.
64516 2010-11-13  Eric Blake  <eblake@redhat.com>
64518         maintainer-makefile: cover a few more files
64519         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
64520         scripts generated within C files, for libvirt.
64522 2010-11-13  Bruno Haible  <bruno@clisp.org>
64524         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
64525         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
64526         character, return the number of bytes that belong together, not always
64527         1.
64528         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
64529         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
64530         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
64531         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
64532         number of bytes of an invalid character.
64533         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
64534         (main): Invoke it.
64535         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
64536         results.
64537         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
64538         malformed byte sequences.
64539         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
64540         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
64541         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
64542         Reported by Ben Pfaff and Paolo Bonzini.
64544 2010-11-13  Bruno Haible  <bruno@clisp.org>
64546         openat: Work around glibc bug with fchownat() and empty file names.
64547         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
64548         (gl_FUNC_FCHOWNAT): Invoke it.
64549         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
64550         * doc/posix-functions/fchownat.texi: Document the glibc bug.
64551         Reported by Gary V. Vaughan <gary@gnu.org>.
64553 2010-11-13  Bruno Haible  <bruno@clisp.org>
64555         openat: Ensure autoconf macro ordering.
64556         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
64557         gl_USE_SYSTEM_EXTENSIONS.
64558         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
64560 2010-11-13  Bruno Haible  <bruno@clisp.org>
64562         Update comments.
64563         * lib/unistr/u8-check.c: Update file name in comments.
64564         * lib/unistr/u8-mblen.c: Likewise.
64565         * lib/unistr/u8-prev.c: Likewise.
64566         * lib/unistr/u8-strmblen.c: Likewise.
64567         * lib/unistr/u8-strmbtouc.c: Likewise.
64569 2010-11-13  Jim Meyering  <meyering@redhat.com>
64571         tests: avoid test failure on Solaris 10 due to lack of PATH export
64572         * tests/test-update-copyright.sh: Don't forget to export PATH.
64574         init.sh: ensure that IFS is defined, just in case...
64575         * tests/init.sh (setup_): Ensure that IFS is defined,
64576         so that saving and restoring it works as expected.  This
64577         appears to be useful at least for an old version of dash
64578         from a long time ago (RH 6).  See here for details:
64579         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
64581         maint.mk: tighten "test a == b" check
64582         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
64583         test to files that contain something like #!/bin/sh.
64584         Without this, coreutils would get two false positives in
64585         the comments of C source files.
64587 2010-11-12  Eric Blake  <eblake@redhat.com>
64589         bootstrap: fix typo in previous attempt
64590         * build-aux/bootstrap (buildreq): Correct the grouping.
64591         Reported by Paul Eggert.
64593         maintainer-makefile: prohibit test x == x
64594         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
64595         Based on a report by Matthias Bolte.
64597         bootstrap: allow FreeBSD gzip
64598         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
64599         which has no '.' and goes to stderr.
64600         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
64601         Reported by Matthias Bolte.
64603         maintainer-makefile: check for i18n setup
64604         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
64605         will likely work.
64607 2010-11-12  Bruno Haible  <bruno@clisp.org>
64609         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
64610         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
64611         * lib/nanosleep.c (nanosleep): Likewise.
64613 2010-11-11  Bruno Haible  <bruno@clisp.org>
64615         fcntl-h: Fix for use of C++ on glibc systems.
64616         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
64617         also on glibc systems in C++ mode.
64618         Reported by Gary V. Vaughan <gary@gnu.org>.
64620 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
64622         mknod: avoid false failure with dash
64623         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
64625 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
64627         unlink: Fix "is it should" typo in diagnostic.
64628         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
64629         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00106.html>.
64631 2010-11-11  Bruno Haible  <bruno@clisp.org>
64633         Tests for module 'strerror_r-posix'.
64634         * modules/strerror_r-posix-tests: New file.
64635         * tests/test-strerror_r.c: New file.
64636         * tests/test-string-c++.cc: Check the signature of strerror_r.
64638         New module 'strerror_r-posix'.
64639         * lib/string.in.h (strerror_r): New declaration.
64640         * lib/strerror_r.c: New file.
64641         * m4/strerror_r.m4: New file.
64642         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
64643         of strerror_r.
64644         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
64645         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
64646         * modules/strerror_r-posix: New file.
64647         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
64648         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
64649         * doc/posix-functions/strerror_r.texi: Mention the new module and the
64650         portability problems.
64652 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
64654         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
64655         line is also considered for output. Quoted function name in shell
64656         command, so temporary files for functions like MyClass::operator()
64657         are removed correctly without errors.
64659 2010-11-09  Bruno Haible  <bruno@clisp.org>
64661         * doc/posix-functions/strerror.texi: List more failing platforms.
64663         * doc/posix-functions/strerror.texi: Add a comment.
64665 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
64667         fdopendir: fix bug on MacOS X when low on file descriptors
64669         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
64670         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
64671         All callers changed.
64672         (fdopendir): Invoke save_cwd at the top level, not after using
64673         multiple dup() calls to use up file descriptors.  Then retry
64674         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
64675         less than the maximum number of open file descriptors, because
64676         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
64677         on Mac OS X 10.6.4 for tar 1.24
64678         <http://lists.gnu.org/r/bug-tar/2010-10/msg00084.html>
64679         <http://lists.gnu.org/r/bug-tar/2010-11/msg00000.html>
64680         and for tar 1.25
64681         <http://lists.gnu.org/r/bug-tar/2010-11/msg00038.html>.
64683 2010-11-07  Bruno Haible  <bruno@clisp.org>
64685         vasnprintf: Support I flag on glibc systems.
64686         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
64687         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
64688         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
64689         snprintf function.
64690         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
64691         glibc systems.
64692         * tests/test-vasnprintf-posix3.c: New file.
64693         * modules/vasnprintf-posix-tests (Files): Add it.
64694         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
64696 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
64698         [html] Fix copy/paste bug: Use unique name for compiler warnings.
64699         * MODULES.html.sh: For compiler warnings, use name
64700         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
64702 2010-11-05  Eric Blake  <eblake@redhat.com>
64704         ceil, floor: avoid spurious failure with icc
64705         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
64706         [denormals-as-zero] when optimizing without -mieee-fp option.
64707         * tests/test-floorf2.c (floorf_reference): Likewise.
64708         * tests/test-ceilf1.c (dummy): New function.
64709         (main): Use it to outsmart icc's optimization.
64710         * tests/test-floorf1.c (dummy, main): Likewise.
64712         tests: require working signbit
64713         * modules/ceilf-tests (Depends-on): Add signbit.
64714         * modules/ceill-tests (Depends-on): Likewise.
64715         * modules/floorf-tests (Depends-on): Likewise.
64716         * modules/floorl-tests (Depends-on): Likewise.
64717         * modules/round-tests (Depends-on): Likewise.
64718         * modules/roundf-tests (Depends-on): Likewise.
64719         * modules/roundl-tests (Depends-on): Likewise.
64720         * modules/trunc-tests (Depends-on): Likewise.
64721         * modules/truncf-tests (Depends-on): Likewise.
64722         * modules/truncl-tests (Depends-on): Likewise.
64724         strtod: work around icc bug
64725         * lib/strtod.c (minus_zero): Define to working value.
64726         (strtod): Use it to avoid icc bug.
64728         copysign: enhance tests
64729         * modules/copysign-tests (Files): Add minus-zero.h.
64730         * tests/test-copysign.c (main): Also test zeros.
64732 2010-11-04  Eric Blake  <eblake@redhat.com>
64734         ceil, floor, round, trunc: enhance tests of -0
64735         * tests/test-ceilf1.c (main): Ensure correct sign of result.
64736         * tests/test-ceill.c (main): Likewise.
64737         * tests/test-floorf1.c (main): Likewise.
64738         * tests/test-floorl.c (main): Likewise.
64739         * tests/test-round1.c (main): Likewise.
64740         * tests/test-roundf1.c (main): Likewise.
64741         * tests/test-roundl.c (main): Likewise.
64742         * tests/test-trunc1.c (main): Likewise.
64743         * tests/test-truncf1.c (main): Likewise.
64744         * tests/test-truncl.c (main): Likewise.
64746 2010-11-04  Eric Blake  <eblake@redhat.com>
64748         frexp, tests: work around ICC bug with -zero
64749         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
64750         works with more compilers.
64751         * tests/minus-zero.h: New file.
64752         * modules/ceilf-tests (Files): Include it.
64753         * modules/ceill-tests (Files): Likewise.
64754         * modules/floorf-tests (Files): Likewise.
64755         * modules/floorl-tests (Files): Likewise.
64756         * modules/frexp-nolibm-tests (Files): Likewise.
64757         * modules/frexp-tests (Files): Likewise.
64758         * modules/frexpl-nolibm-tests (Files): Likewise.
64759         * modules/frexpl-tests (Files): Likewise.
64760         * modules/isnan-tests (Files): Likewise.
64761         * modules/isnand-nolibm-tests (Files): Likewise.
64762         * modules/isnand-tests (Files): Likewise.
64763         * modules/isnanf-nolibm-tests (Files): Likewise.
64764         * modules/isnanf-tests (Files): Likewise.
64765         * modules/isnanl-nolibm-tests (Files): Likewise.
64766         * modules/isnanl-tests (Files): Likewise.
64767         * modules/round-tests (Files): Likewise.
64768         * modules/roundf-tests (Files): Likewise.
64769         * modules/roundl-tests (Files): Likewise.
64770         * modules/ldexpl-tests (Files): Likewise.
64771         * modules/signbit-tests (Files): Likewise.
64772         * modules/snprintf-posix-tests (Files): Likewise.
64773         * modules/sprintf-posix-tests (Files): Likewise.
64774         * modules/strtod-tests (Files): Likewise.
64775         * modules/trunc-tests (Files): Likewise.
64776         * modules/truncf-tests (Files): Likewise.
64777         * modules/truncl-tests (Files): Likewise.
64778         * modules/vsnprintf-posix-tests (Files): Likewise.
64779         * modules/vsprintf-posix-tests (Files): Likewise.
64780         * modules/vasnprintf-posix-tests (Files): Likewise.
64781         * modules/vasprintf-posix-tests (Files): Likewise.
64782         * tests/test-ceilf1.c (main): Use it.
64783         * tests/test-ceill.c (main): Likewise.
64784         * tests/test-floorf1.c (main): Likewise.
64785         * tests/test-floorl.c (main): Likewise.
64786         * tests/test-frexp.c (main): Likewise.
64787         * tests/test-frexpl.c (main): Likewise.
64788         * tests/test-isnan.c (main): Likewise.
64789         * tests/test-isnand.h (main): Likewise.
64790         * tests/test-isnanf.h (main): Likewise.
64791         * tests/test-isnanl.h (main): Likewise.
64792         * tests/test-ldexpl.c (main): Likewise.
64793         * tests/test-round.c (main): Likewise.
64794         * tests/test-roundf.c (main): Likewise.
64795         * tests/test-roundl.c (main): Likewise.
64796         * tests/test-signbit.c (test_signbitf, test_signbitd)
64797         (test_signbitl): Likewise.
64798         * tests/test-snprintf-posix.h (test_function): Likewise.
64799         * tests/test-sprintf-posix.h (test_function): Likewise.
64800         * tests/test-strtod.c (main): Likewise.
64801         * tests/test-trunc1.c (main): Likewise.
64802         * tests/test-truncf1.c (main): Likewise.
64803         * tests/test-truncl.c (main): Likewise.
64805         isnanl: work around icc bug
64806         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
64808 2010-11-03  Eric Blake  <eblake@redhat.com>
64810         tests: fix compiler warnings
64811         * tests/test-getopt.h (test_getopt): Fix condition.
64812         * tests/test-getopt_long.h (test_getopt_long): Likewise.
64813         * tests/test-pipe2.c (main): Likewise.
64814         * tests/test-quotearg-simple.c (main): Avoid icc warning.
64816         utimens: fix broken m4 test
64817         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
64819 2010-10-28  Bruno Haible  <bruno@clisp.org>
64821         posix_spawn*, getdtablesize: Relax license.
64822         * modules/posix_spawn (License): Change to LGPLv2+.
64823         * modules/posix_spawnp (License): Likewise.
64824         * modules/posix_spawn-internal (License): Likewise.
64825         * modules/posix_spawnattr_init (License): Likewise.
64826         * modules/posix_spawnattr_getflags (License): Likewise.
64827         * modules/posix_spawnattr_setflags (License): Likewise.
64828         * modules/posix_spawnattr_getpgroup (License): Likewise.
64829         * modules/posix_spawnattr_setpgroup (License): Likewise.
64830         * modules/posix_spawnattr_getschedparam (License): Likewise.
64831         * modules/posix_spawnattr_setschedparam (License): Likewise.
64832         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
64833         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
64834         * modules/posix_spawnattr_getsigdefault (License): Likewise.
64835         * modules/posix_spawnattr_setsigdefault (License): Likewise.
64836         * modules/posix_spawnattr_getsigmask (License): Likewise.
64837         * modules/posix_spawnattr_setsigmask (License): Likewise.
64838         * modules/posix_spawnattr_destroy (License): Likewise.
64839         * modules/posix_spawn_file_actions_init (License): Likewise.
64840         * modules/posix_spawn_file_actions_addclose (License): Likewise.
64841         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
64842         * modules/posix_spawn_file_actions_addopen (License): Likewise.
64843         * modules/posix_spawn_file_actions_destroy (License): Likewise.
64844         * modules/getdtablesize (License): Likewise.
64845         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
64847 2010-10-26  Bruno Haible  <bruno@clisp.org>
64849         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
64850         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
64851         Cygwin and mingw.
64852         Suggested by Eric Blake.
64854 2010-10-26  Bruno Haible  <bruno@clisp.org>
64856         stdio: Work around compilation error due to renameat() on Solaris 10.
64857         * lib/stdio.in.h: Include <unistd.h> on Solaris.
64858         * lib/renameat.c: Don't include <unistd.h> here.
64859         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
64860         Reported by Paul Eggert and Eric Blake.
64862 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
64864         renameat: port to Solaris 10, which declares renameat in unistd.h
64866         * lib/renameat.c: Include unistd.h before stdio.h, because
64867         Solaris 10 declares renameat in unistd.h.  Problem encountered
64868         when building GNU tar 1.24 on Solaris 10.
64870 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
64872         fdopendir: fix C89 compilation
64873         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
64874         compilers.
64876 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
64878         inttostr: simplify by removing unnecessary redundancy
64879         * lib/anytostr.c: Don't include verify.h.
64880         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
64881         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
64882         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
64883         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
64884         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
64885         Likewise.
64886         * modules/inttostr (Depends-on): Remove 'verify'.
64888 2010-10-23  Bruno Haible  <bruno@clisp.org>
64890         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
64891         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
64892         Reported by Eric Blake.
64894 2010-10-23  Bruno Haible  <bruno@clisp.org>
64896         Tests: Fix LOCALE_JA on MirBSD 10.
64897         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
64898         to an UTF-8 locale.
64899         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
64900         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
64901         Reported by Eric Blake.
64903 2010-10-21  Bruno Haible  <bruno@clisp.org>
64905         nl_langinfo test: Avoid test failure on NetBSD 5.
64906         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
64907         Reported by Eric Blake.
64909 2010-10-21  Eric Blake  <eblake@redhat.com>
64911         c-stack: work around libsigsegv 2.8 bug
64912         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
64913         overflow on at least PowerPC64.
64915 2010-10-17  Bruno Haible  <bruno@clisp.org>
64917         userspec: Drop redundant file.
64918         * modules/userspec (Files): Remove lib/inttostr.h.
64920 2010-10-17  Bruno Haible  <bruno@clisp.org>
64922         nl_langinfo tests: Silence some warnings.
64923         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
64924         Reported by Jim Meyering.
64926 2010-10-17  Bruno Haible  <bruno@clisp.org>
64928         Make use of GCC's attribute __alloc_size__.
64929         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
64930         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
64931         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
64932         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
64933         __alloc_size__.
64934         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
64935         Suggested by Jim Meyering.
64937 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
64939         bootstrap: anchor .gitignore entries.
64940         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
64941         with...
64942         (insert_vc_ignore): ... this new function, which prepends `/' to
64943         all .gitignore entries before passing them to
64944         insert_sorted_if_absent.
64946 2010-10-16  Bruno Haible  <bruno@clisp.org>
64948         nextafter: Fix configure check.
64949         * modules/nextafter (configure.ac): Correct expected prototype.
64951 2010-10-16  Bruno Haible  <bruno@clisp.org>
64953         termios: Update documentation.
64954         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
64956 2010-10-16  Bruno Haible  <bruno@clisp.org>
64958         tests: Make them compile with TinyCC.
64959         * tests/test-strstr.c (main): Remove parentheses around array
64960         initializer.
64962 2010-10-15  Eric Blake  <eblake@redhat.com>
64964         ignore-value: make header idempotent
64965         * lib/ignore-value.h: Add double-inclusion guards.
64966         Reported by Stefan Berger.
64968 2010-10-15  Jim Meyering  <meyering@redhat.com>
64970         GNUmakefile: handle "stable" target, not "major"
64971         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
64972         lists in maint.mk and announce-gen.  Without this, "make stable"
64973         would fail to ensure that $(VERSION) is up to date.
64975 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
64977         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
64978         & co.
64980 2010-10-14  Bruno Haible  <bruno@clisp.org>
64982         vasnprintf: Don't set errno to 0.
64983         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
64984         block that sets it to 0.
64985         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
64987 2010-10-14  Bruno Haible  <bruno@clisp.org>
64989         socketlib: Fix.
64990         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
64991         gl_PREREQ_SYS_H_WINSOCK2.
64992         Reported by Ian Beckwith <ianb@erislabs.net>.
64994 2010-10-13  Jim Meyering  <meyering@redhat.com>
64996         test-select-stdin.c: avoid warn_unused_result warnings
64997         * tests/test-select-stdin.c: Include "macros.h".
64998         ASSERT that read and fflush succeed.
65000 2010-10-13  Jim Meyering  <meyering@redhat.com>
65002         git-version-gen: do require git-VC'd files in cwd
65003         * build-aux/git-version-gen: Reject a git version string
65004         if there are no commits associated with the current directory.
65005         This avoids an unlikely false-positive (unrelated dir whose parent
65006         repository also contains a tag matching v*), as pointed out
65007         by Giuseppe Scrivano in
65008         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
65010 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
65012         argv-iter: omit nonconforming declaration
65013         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
65014         enum arg_iter_err declaration, which doesn't conform to C99.
65015         Solaris 10 cc warns about this.
65017 2010-10-13  Eric Blake  <eblake@redhat.com>
65019         termios: fix compilation on mingw
65020         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
65021         (gl_TERMIOS_H): Adjust it on mingw.
65022         * modules/termios (Makefile.am): Substitute new key.
65023         * lib/termios.in.h (includes): Make include_next conditional.
65024         * doc/posix-headers/termios.texi (termios.h): Update
65025         documentation.
65026         Reported by Daniel P. Berrange.
65028 2010-10-13  Jim Meyering  <meyering@redhat.com>
65030         git-version-gen: don't require that .git/ be in the current dir
65031         * build-aux/git-version-gen: Adjust this script so that it works
65032         when run from any working directory beneath the top-level .git/-
65033         containing directory.  Inspired by a patch from Giuseppe Scrivano,
65034         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
65036         test-select: avoid warn_unused_result warnings
65037         * tests/test-select.c: Include "macros.h".
65038         ASSERT that each call to read, write, and pipe succeeds.
65039         While not technically required, also check each "close".
65040         * modules/select-tests (Files): Add tests/macros.h.
65042         test-symlinkat: remove declaration of unused local
65043         * tests/test-symlinkat.c (main): Remove unused local, "buf".
65045         test-inttostr: avoid shadowing warnings
65046         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
65047         and use malloc rather than the stack for the same reason as
65048         mentioned in the comment justifying the other allocation.
65050 2010-10-11  Bruno Haible  <bruno@clisp.org>
65052         stdlib: Allow multiple gnulib generated replacements to coexist.
65053         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
65054         Reported by Sam Steingold <sds@gnu.org>.
65056 2010-10-11  Jim Meyering  <meyering@redhat.com>
65058         fix a documentation typo
65059         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
65061 2010-10-11  Eric Blake  <eblake@redhat.com>
65063         futimens: work around Solaris 11 bug
65064         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
65065         * tests/test-futimens.h (test_futimens): Enhance, rather than
65066         weaken test.
65067         * doc/posix-functions/futimens.texi (futimens): Document the bug.
65069 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
65071         Indentation.
65072         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
65073         higher-level operators more to the left.
65075 2010-10-11  Jim Meyering  <meyering@redhat.com>
65077         test-futimens: avoid unwarranted test failure on Solaris 5.11
65078         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
65079         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
65080         because it tries to dereference the NULL name argument.
65082 2010-10-11  Bruno Haible  <bruno@clisp.org>
65084         Indentation.
65085         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
65086         indentation.
65088 2010-10-11  Jim Meyering  <meyering@redhat.com>
65090         spawn.in.h: make indentation consistent with parentheses
65091         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
65092         Make indentation consistent with parentheses.
65094 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
65096         Fix mismatched parens in previous commit
65097         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
65098         parens.
65100 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
65102         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
65104         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
65105         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
65106         * lib/malloca.c: Include "verify.h".
65107         (verify1): Remove, replacing with a verify call.
65108         * lib/relocwrapper.c (verify1): Likewise.
65109         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
65110         Likewise.
65111         * modules/malloca (Depends-on): Add 'verify'.
65112         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
65113         * modules/vasnprintf (Depends-on): Add 'verify'.
65114         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
65115         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
65116         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
65117         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
65118         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
65119         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
65120         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
65122         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
65124         Formerly the style was sometimes 2*X - 1, because the C standard
65125         was wrongly thought to disallow ?: in integral constant expressions.
65126         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
65127         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
65128         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
65129         * lib/stdint.in.h (_verify_intmax_size): Likewise.
65130         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
65131         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
65132         verify that time_t cannot be floating.
65134 2010-10-08  Eric Blake  <eblake@redhat.com>
65136         time: enforce recent POSIX ruling that time_t is integral
65137         * lib/time.in.h (__time_t_must_be_integral): Detect any
65138         problematic systems, allowing the rest of gnulib to assume POSIX.
65140 2010-10-08  Jim Meyering  <meyering@redhat.com>
65142         fdopendir: fix a bug on systems lacking openat and /proc support
65143         OpenBSD 4.7 is one such system.  The most noticeable effect was
65144         failure of any application making nontrivial use of fts: rm, du,
65145         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
65146           ./rm: traversal failed: `a': Bad file descriptor
65147         Debugging that, you see that even though FD 6 was closed just
65148         prior to the opendir call in fd_clone_opendir, its resulting
65149         dir->dd_fd was 8, rather than the expected value of 6:
65151         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
65152         93                close (fd);
65153         (gdb) n
65154         94                dir = fd_clone_opendir (dupfd);
65155         (gdb) n
65156         95                saved_errno = errno;
65157         (gdb) p dir->dd_fd
65158         $11 = 8
65160         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
65161         The problem is that on OpenBSD, fd_clone_opendir has to resort
65162         to using the old-style save/restore CWD mechanism, due to its
65163         lack of openat/proc support, and *that* would steal the FD (6)
65164         that opendir was supposed to use.
65166         The fix is to squirrel away the desired FD so that save_cwd uses a
65167         different one, and then free the dest FD right before calling opendir.
65168         That guarantees opendir will use the required file descriptor.
65170         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
65172 2010-10-08  Bruno Haible  <bruno@clisp.org>
65174         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
65175         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
65177 2010-10-08  Bruno Haible  <bruno@clisp.org>
65179         nanosleep: Make replacement POSIX compliant.
65180         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
65181         is out of range.
65182         Reported by Jim Meyering.
65184 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
65186         bootstrap: add hook for altering gnulib.mk, for Bison
65187         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
65188         the Bison bootstrapping process can rewrite file names and variables
65189         in this file before later parts of 'bootstrap' use the file.
65190         Bison wants to include lib/gnulib.mk from the top-level makefile,
65191         so it needs the file names in this file to be relative to the top
65192         level, not relative to lib; plus it needs variable names to be
65193         rewritten.
65194         (slurp): Use the new function.
65196         bootstrap: reformat for readability
65197         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
65199 2010-10-08  Eric Blake  <eblake@redhat.com>
65201         docs: update cygwin progress
65202         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
65203         1.7.7.
65204         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
65205         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
65206         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
65207         * doc/posix-functions/carg.texi (carg): Likewise.
65208         * doc/posix-functions/cargf.texi (cargf): Likewise.
65209         * doc/posix-functions/casin.texi (casin): Likewise.
65210         * doc/posix-functions/casinf.texi (casinf): Likewise.
65211         * doc/posix-functions/casinh.texi (casinh): Likewise.
65212         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
65213         * doc/posix-functions/catan.texi (catan): Likewise.
65214         * doc/posix-functions/catanf.texi (catanf): Likewise.
65215         * doc/posix-functions/catanh.texi (catanh): Likewise.
65216         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
65217         * doc/posix-functions/ccos.texi (ccos): Likewise.
65218         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
65219         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
65220         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
65221         * doc/posix-functions/cexp.texi (cexp): Likewise.
65222         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
65223         * doc/posix-functions/cimag.texi (cimag): Likewise.
65224         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
65225         * doc/posix-functions/clog.texi (clog): Likewise.
65226         * doc/posix-functions/clogf.texi (clogf): Likewise.
65227         * doc/posix-functions/conj.texi (conj): Likewise.
65228         * doc/posix-functions/conjf.texi (conjf): Likewise.
65229         * doc/posix-functions/cpow.texi (cpow): Likewise.
65230         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
65231         * doc/posix-functions/cproj.texi (cproj): Likewise.
65232         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
65233         * doc/posix-functions/creal.texi (creal): Likewise.
65234         * doc/posix-functions/crealf.texi (crealf): Likewise.
65235         * doc/posix-functions/csin.texi (csin): Likewise.
65236         * doc/posix-functions/csinf.texi (csinf): Likewise.
65237         * doc/posix-functions/csinh.texi (csinh): Likewise.
65238         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
65239         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
65240         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
65241         * doc/posix-functions/ctan.texi (ctan): Likewise.
65242         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
65243         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
65244         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
65245         * doc/posix-headers/complex.texi (complex.h): Likewise.
65247 2010-10-07  Jim Meyering  <meyering@redhat.com>
65249         parse-datetime: avoid compilation failure on OpenBSD 4.7
65250         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
65251         This works around a compilation failure on OpenBSD 4.7:
65252         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
65254 2010-10-07  Eric Blake  <eblake@redhat.com>
65256         docs: update cygwin progress
65257         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
65258         1.7.6.
65259         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
65260         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
65261         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
65262         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
65263         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
65264         Likewise.
65265         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
65266         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
65267         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
65268         Likewise.
65269         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
65270         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
65271         Likewise.
65272         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
65273         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
65274         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
65275         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
65276         Likewise.
65277         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
65278         Likewise.
65279         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
65281         docs: update parse-datetime history
65282         * doc/parse-datetime.texi (Authors of parse_datetime): Better
65283         documentation of this function's history and alternatives.
65285         cygwin: use more robust version check
65286         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
65287         exclude an eventual cygwin 1.9.1.
65288         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
65289         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
65290         (gl_FUNC_STRCASESTR): Likewise.
65291         Reported by Bruno Haible.
65293 2010-10-06  Bruno Haible  <bruno@clisp.org>
65295         string, sys_select: Avoid #including large headers unless necessary.
65296         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
65297         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
65298         OSF/1, BeOS, Haiku.
65299         Reported by Jim Meyering.
65301 2010-10-05  Eric Blake  <eblake@redhat.com>
65303         memmem, strstr, strcasestr: fix bug with long periodic needle
65304         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
65305         periodic needle having false positive.
65306         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
65307         and cygwin 1.7.7.
65308         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
65309         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
65310         (gl_FUNC_STRCASESTR): Likewise.
65311         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
65312         * tests/test-memmem.c (main): Expose the bug.
65313         * tests/test-strcasestr.c (main): Likewise.
65314         * tests/test-strstr.c (main): Likewise.
65315         * tests/test-c-strcasestr.c (main): Likewise.
65316         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
65317         * doc/posix-functions/strstr.texi (strstr): Likewise.
65318         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
65319         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
65321 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
65323         parse-datetime: do some more renaming
65324         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
65325         parse_datetime, not get_date.  Mention the renaming.
65326         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
65327         in comments.
65328         * m4/bison.m4: Likewise.
65330 2010-10-05  Eric Blake  <eblake@redhat.com>
65332         parse-datetime: better name than get_date
65333         * NEWS: Reword the deprecation notice.
65334         * modules/get_date: Rename to modules/parse-datetime.
65335         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
65336         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
65337         * lib/get_date.y: Rename to lib/parse-datetime.y.
65338         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
65339         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
65340         * doc/getdate.texi: Provide fallback wrapper.
65341         * lib/getdate.h: Move guts, and wrap...
65342         * lib/parse-datetime.h: ...new file.
65343         * lib/parse-datetime.y (get_date): Rename...
65344         (parse_datetime): ...to this.
65345         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
65346         (gl_PARSE_DATETIME): ...to this.
65347         * doc/posix-functions/getdate.texi (get_date): Provide fallback
65348         documentation.
65349         * modules/getdate (Files): Provide fallback docs and header.
65350         (Notice, Depends-on): Update references.
65351         * tests/test-parse-datetime.c: Likewise.
65352         * DEPENDENCIES: Likewise.
65353         * MODULES.html.sh (Date and time <time.h>): Likewise.
65354         * doc/parse-datetime.texi (Date input formats)
65355         (Authors of parse_datetime): Likewise.
65356         * modules/parse-datetime (Files, configure.ac, Makefile.am)
65357         (Include): Likewise.
65358         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
65359         * gnulib-tool: Likewise.
65360         * m4/bison.m4 (gl_BISON): Likewise.
65361         Suggested by Bruno Haible.
65363 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
65365         more ports to Solaris tr, which needs [] around ranges
65366         * gnulib-tool: Solaris tr needs [] around ranges.
65367         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
65368         * tests/test-pipe-filter-gi1.c (main): Likewise.
65369         * tests/test-pipe-filter-ii1.c (main): Likewise.
65371 2010-10-05  Eric Blake  <eblake@redhat.com>
65373         bootstrap: fix Solaris regression
65374         * build-aux/bootstrap (check_versions): Solaris tr still needs []
65375         around ranges.
65376         Reported by Pádraig Brady.
65378         bootstrap: work with pkg-config
65379         * build-aux/bootstrap (check_versions): Also transliterate - in
65380         prerequisite name.
65381         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
65382         prerequisites that were already found, to avoid confusion.
65383         Reported by Justin Clift.
65385         faccessat: remove unused wrappers
65386         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
65387         presence of these wrappers dragged in -lgen on Solaris.
65388         Reported by Clemens Brogi; fix suggested by Paul Eggert.
65390 2010-10-05  Jim Meyering  <meyering@redhat.com>
65392         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
65393         * Makefile (sc_pragma_columns): New syntax-check rule.
65395 2010-10-04  Bruno Haible  <bruno@clisp.org>
65397         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
65398         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
65399         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
65400         Reported by Bruce Korb and Eric Blake.
65402 2010-10-04  Bruno Haible  <bruno@clisp.org>
65404         threadlib: Make option --with-libpth-prefix work.
65405         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
65406         use $LIBPTH, not just -lpth.
65408 2010-10-04  Bruno Haible  <bruno@clisp.org>
65410         Avoid line length limitation from HP NonStop system header files.
65411         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
65412         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
65413         * lib/ctype.in.h: Likewise.
65414         * lib/dirent.in.h: Likewise.
65415         * lib/errno.in.h: Likewise.
65416         * lib/fcntl.in.h: Likewise.
65417         * lib/float.in.h: Likewise.
65418         * lib/getopt.in.h: Likewise.
65419         * lib/iconv.in.h: Likewise.
65420         * lib/inttypes.in.h: Likewise.
65421         * lib/langinfo.in.h: Likewise.
65422         * lib/locale.in.h: Likewise.
65423         * lib/math.in.h: Likewise.
65424         * lib/netdb.in.h: Likewise.
65425         * lib/netinet_in.in.h: Likewise.
65426         * lib/poll.in.h: Likewise.
65427         * lib/pthread.in.h: Likewise.
65428         * lib/pty.in.h: Likewise.
65429         * lib/sched.in.h: Likewise.
65430         * lib/se-selinux.in.h: Likewise.
65431         * lib/search.in.h: Likewise.
65432         * lib/signal.in.h: Likewise.
65433         * lib/spawn.in.h: Likewise.
65434         * lib/stdarg.in.h: Likewise.
65435         * lib/stddef.in.h: Likewise.
65436         * lib/stdint.in.h: Likewise.
65437         * lib/stdio.in.h: Likewise.
65438         * lib/stdlib.in.h: Likewise.
65439         * lib/string.in.h: Likewise.
65440         * lib/strings.in.h: Likewise.
65441         * lib/sys_file.in.h: Likewise.
65442         * lib/sys_ioctl.in.h: Likewise.
65443         * lib/sys_select.in.h: Likewise.
65444         * lib/sys_socket.in.h: Likewise.
65445         * lib/sys_stat.in.h: Likewise.
65446         * lib/sys_time.in.h: Likewise.
65447         * lib/sys_times.in.h: Likewise.
65448         * lib/sys_utsname.in.h: Likewise.
65449         * lib/sys_wait.in.h: Likewise.
65450         * lib/sysexits.in.h: Likewise.
65451         * lib/termios.in.h: Likewise.
65452         * lib/time.in.h: Likewise.
65453         * lib/unistd.in.h: Likewise.
65454         * lib/wchar.in.h: Likewise.
65455         * lib/wctype.in.h: Likewise.
65456         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
65457         * modules/ctype (Makefile.am): Likewise.
65458         * modules/dirent (Makefile.am): Likewise.
65459         * modules/errno (Makefile.am): Likewise.
65460         * modules/fcntl-h (Makefile.am): Likewise.
65461         * modules/float (Makefile.am): Likewise.
65462         * modules/getopt-posix (Makefile.am): Likewise.
65463         * modules/iconv-h (Makefile.am): Likewise.
65464         * modules/inttypes (Makefile.am): Likewise.
65465         * modules/langinfo (Makefile.am): Likewise.
65466         * modules/locale (Makefile.am): Likewise.
65467         * modules/math (Makefile.am): Likewise.
65468         * modules/netdb (Makefile.am): Likewise.
65469         * modules/netinet_in (Makefile.am): Likewise.
65470         * modules/poll-h (Makefile.am): Likewise.
65471         * modules/pthread (Makefile.am): Likewise.
65472         * modules/pty (Makefile.am): Likewise.
65473         * modules/sched (Makefile.am): Likewise.
65474         * modules/search (Makefile.am): Likewise.
65475         * modules/selinux-h (Makefile.am): Likewise.
65476         * modules/signal (Makefile.am): Likewise.
65477         * modules/spawn (Makefile.am): Likewise.
65478         * modules/stdarg (Makefile.am): Likewise.
65479         * modules/stddef (Makefile.am): Likewise.
65480         * modules/stdint (Makefile.am): Likewise.
65481         * modules/stdio (Makefile.am): Likewise.
65482         * modules/stdlib (Makefile.am): Likewise.
65483         * modules/string (Makefile.am): Likewise.
65484         * modules/strings (Makefile.am): Likewise.
65485         * modules/sys_file (Makefile.am): Likewise.
65486         * modules/sys_ioctl (Makefile.am): Likewise.
65487         * modules/sys_select (Makefile.am): Likewise.
65488         * modules/sys_socket (Makefile.am): Likewise.
65489         * modules/sys_stat (Makefile.am): Likewise.
65490         * modules/sys_time (Makefile.am): Likewise.
65491         * modules/sys_times (Makefile.am): Likewise.
65492         * modules/sys_utsname (Makefile.am): Likewise.
65493         * modules/sys_wait (Makefile.am): Likewise.
65494         * modules/sysexits (Makefile.am): Likewise.
65495         * modules/termios (Makefile.am): Likewise.
65496         * modules/time (Makefile.am): Likewise.
65497         * modules/unistd (Makefile.am): Likewise.
65498         * modules/wchar (Makefile.am): Likewise.
65499         * modules/wctype (Makefile.am): Likewise.
65501 2010-10-04  Bruno Haible  <bruno@clisp.org>
65503         read-file tests: Avoid a test failure on NonStop Kernel.
65504         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
65505         a regular file.
65506         Reported by Joachim Schmitz <schmitz@hp.com>.
65508 2010-10-03  Bruno Haible  <bruno@clisp.org>
65510         gnulib-tool: Fixes for --create-testdir with --libtool.
65511         * gnulib-tool (func_get_automake_snippet): Don't augment
65512         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
65513         an executable.
65514         (func_create_testdir): Handle module 'alloca' like func_import.
65515         Reported by Bruce Korb <bruce.korb@gmail.com>.
65517 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
65519         Avoid some lines longer than 80 characters.
65520         * lib/stdint.in.h: Break long comment lines.
65521         * lib/math.in.h: Likewise.
65522         (_GL_NUM_UINT_WORDS): New macro, for readability.
65523         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
65524         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
65525         * lib/stdlib.in.h: Likewise.
65526         * lib/spawn.in.h: Likewise.
65527         * lib/sys_socket.in.h: Update an URL.
65528         * lib/sys_stat.in.h: Break long line.
65530 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
65532         Improve pmccabe2html.
65533         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
65534         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
65535         when the sources change. Remove the line in the HTML about "Used
65536         ranges" (which implied that there might be other unused ranges),
65537         rename "Resume" to "Summary" (easier to understand for more users).
65538         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
65539         styles, and some unnecessary blank lines.
65541 2010-10-03  Bruno Haible  <bruno@clisp.org>
65542             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
65544         acl: Add support for ACLs on NonStop Kernel.
65545         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
65546         Check whether the function aclsort() exists.
65547         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
65548         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
65549         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
65550         (acl_nontrivial [HAVE_ACLSORT]: New function.
65551         (file_has_acl): Implement for NonStop Kernel.
65552         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
65553         (qset_acl): Implement for NonStop Kernel.
65554         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
65555         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
65556         (main): Implement for NonStop Kernel.
65557         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
65558         Kernel. Handle this flavor.
65559         * tests/test-set-mode-acl.sh: Likewise.
65560         * tests/test-copy-acl.sh: Likewise.
65561         * tests/test-copy-file.sh: Likewise.
65563 2010-10-03  Bruno Haible  <bruno@clisp.org>
65565         Info about ACLs on NonStop Kernel.
65566         * doc/acl-resources.txt: Add info about NonStop Kernel.
65567         References by Joachim Schmitz <schmitz@hp.com>.
65569 2010-10-02  Bruno Haible  <bruno@clisp.org>
65571         Define missing EDQUOT on NonStop Kernel.
65572         * lib/errno.in.h (EDQUOT): Assign a value if missing.
65573         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
65574         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
65575         missing.
65576         * doc/posix-headers/errno.texi: Mention the NSK bug.
65577         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
65578         Reported by Joachim Schmitz <schmitz@hp.com>.
65580 2010-10-02  Bruno Haible  <bruno@clisp.org>
65582         Update doc for POSIX:2008.
65583         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
65584         Update URL of POSIX specification.
65586 2010-10-02  Bruno Haible  <bruno@clisp.org>
65588         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
65589         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
65590         from gnulib, not from Automake.
65592 2010-10-02  Bruno Haible  <bruno@clisp.org>
65594         New module 'system-posix'.
65595         * modules/system-posix: New file.
65596         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
65597         module is present.
65598         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
65599         GNULIB_SYSTEM_POSIX.
65600         * modules/stdlib (Depends-on): Remove sys_wait.
65601         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
65602         * doc/posix-functions/system.texi: Mention the new module.
65603         * doc/posix-headers/stdlib.texi: Likewise.
65604         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
65605         define test_sys_wait_macros to a no-op.
65606         Reported by Sam Steingold <sds@gnu.org>.
65608 2010-09-30  Bruno Haible  <bruno@clisp.org>
65610         More renaming from 'getdate' to 'get_date'.
65611         * doc/get_date.texi: Renamed from doc/getdate.texi.
65612         * modules/get_date (Files): Update.
65613         * MODULES.html.sh (Date and time <time.h>): Update.
65614         * DEPENDENCIES: Update.
65615         * gnulib-tool: Update comment.
65616         * m4/bison.m4 (gl_BISON): Likewise.
65617         * m4/get_date.m4 (gl_GET_DATE): Likewise.
65619 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
65621         bootstrap: support ACLOCAL_FLAGS during aclocal
65622         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
65623         can add additional -I dir for third-party .m4 files.
65625 2010-09-30  Eric Blake  <eblake@redhat.com>
65627         bootstrap: use glibtoolize on MacOS
65628         * build-aux/bootstrap (check_versions): Convert libtool into
65629         libtoolize.
65630         (tool search): Move libtool check earlier, and look for
65631         glibtoolize for MacOS.
65632         (gnulib_tool_options): Auto-add --libtool when appropriate.
65633         Reported by Justin Clift.
65635         poll: fix typo that broke test on MacOS
65636         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
65637         Reported by Justin Clift.
65639         getdate: rename to get_date
65640         Note: getdate.h is not renamed, to minimize client impact.
65641         * modules/getdate: Mark obsolete.  Move old contents...
65642         * modules/get_date: ...to new module name.
65643         * modules/getdate-tests: Move...
65644         * modules/get_date-tests: ...here.
65645         * m4/getdate.m4: Move...
65646         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
65647         * lib/getdate.y: Move...
65648         * lib/get_date.y: ...here.
65649         * tests/test-getdate.c: Move...
65650         * tests/test-get_date.c: ...here.
65651         * doc/posix-functions/getdate.texi (getdate): Update name.
65652         * NEWS: Mention the change.
65654 2010-09-29  Bruno Haible  <bruno@clisp.org>
65656         Separate the module 'waitpid' from the module 'sys_wait'.
65657         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
65658         present.
65659         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
65660         gl_MODULE_INDICATOR_FOR_TESTS.
65661         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
65662         * modules/sys_wait (Depends-on): Remove waitpid.
65663         (Makefile.am): Substitute GNULIB_WAITPID.
65664         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
65665         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
65666         signature only if the 'waitpid' module is present.
65667         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
65668         * NEWS: Mention the change.
65669         * modules/grantpt (Depends-on): Add waitpid.
65670         * modules/wait-process (Depends-on): Likewise.
65672 2010-09-29  Bruno Haible  <bruno@clisp.org>
65674         More tests for module 'sys_wait'.
65675         * modules/sys_wait-c++-tests: New file.
65676         * tests/test-sys_wait-c++.cc: New file.
65677         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
65678         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
65680 2010-09-29  Bruno Haible  <bruno@clisp.org>
65682         New module 'waitpid'.
65683         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
65684         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
65685         Don't include <process.h>.
65686         (waitpid): Declare only, using modern idiom.
65687         * m4/waitpid.m4: New file.
65688         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
65689         * modules/waitpid: New file.
65690         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
65691         (Makefile.am): Update.
65692         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
65694 2010-09-28  Bruno Haible  <bruno@clisp.org>
65696         poll: Assume ANSI C.
65697         * lib/poll.c (poll): Use an ANSI C declaration.
65699 2010-09-28  Bruno Haible  <bruno@clisp.org>
65701         poll-h: Create poll.h on all platforms.
65702         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
65703         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
65704         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
65705         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
65706         (gl_REPLACE_POLL_H): Don't set POLL_H.
65707         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
65708         * modules/poll-h (Depends-on): Add include_next.
65709         (Makefile.am): Create poll.h unconditionally. Substitute also
65710         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
65712 2010-09-28  Bruno Haible  <bruno@clisp.org>
65714         Tests for module 'poll-h'.
65715         * modules/poll-h-c++-tests: New file.
65716         * tests/test-poll-h-c++.cc: New file.
65718         Tests for module 'poll-h'.
65719         * modules/poll-h-tests: New file.
65720         * tests/test-poll-h.c: New file.
65722 2010-09-28  Bruno Haible  <bruno@clisp.org>
65724         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
65725         * modules/poll-h (Depends-on): Add 'extensions'.
65727 2010-09-28  Bruno Haible  <bruno@clisp.org>
65729         New module 'poll-h'.
65730         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
65731         (poll): Use modern idiom.
65732         * modules/poll-h: New file.
65733         * modules/poll (Files): Remove lib/poll.in.h.
65734         (Depends-on): Add poll-h.
65735         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
65736         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
65737         * m4/poll_h.m4: New file.
65738         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
65739         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
65740         and invoke gl_REPLACE_POLL_H.
65741         * lib/poll.c: Use common idiom.
65742         * tests/test-poll.c: Likewise.
65743         * doc/posix-headers/poll.texi: Mention the poll-h module.
65744         Suggested by Eric Blake.
65746 2010-09-26  Bruno Haible  <bruno@clisp.org>
65748         sys_wait: Implement WSTOPSIG.
65749         * lib/sys_wait.in.h (WSTOPSIG): New macro.
65750         Reported by Simon Josefsson.
65752 2010-09-26  Simon Josefsson  <simon@josefsson.org>
65754         stdlib, sys_wait: Avoid compilation error on mingw.
65755         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
65757 2010-09-26  Bruno Haible  <bruno@clisp.org>
65759         stdlib tests: Avoid code duplication.
65760         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
65761         * modules/sys_wait-tests (Files): Likewise.
65762         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
65763         * tests/test-stdlib.c: Include test-sys_wait.h.
65764         (main): Invoke test_sys_wait_macros.
65765         * tests/test-sys_wait.c: Include test-sys_wait.h.
65766         (main): Invoke test_sys_wait_macros.
65768 2010-09-25  Simon Josefsson  <simon@josefsson.org>
65770         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
65771         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
65772         sure Windows sockets are working before calling getaddrinfo.
65773         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
65774         * doc/gnulib.texi (Windows sockets): Fix typo.
65776 2010-09-25  Bruno Haible  <bruno@clisp.org>
65778         Tests for module 'regex-quote'.
65779         * modules/regex-quote-tests: New file.
65780         * tests/test-regex-quote.c: New file.
65782         New module 'regex-quote'.
65783         * lib/regex-quote.h: New file.
65784         * lib/regex-quote.c: New file.
65785         * modules/regex-quote: New file.
65786         Suggested by Reuben Thomas <rrt@sc3d.org>.
65788 2010-09-24  Bruno Haible  <bruno@clisp.org>
65790         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
65791         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
65793 2010-09-23  Bruno Haible  <bruno@clisp.org>
65795         setenv: Relax license.
65796         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
65797         Blake.
65798         Requested by Eric Blake.
65800 2010-09-22  Bruno Haible  <bruno@clisp.org>
65802         termios: Relax license.
65803         * modules/termios (License): Change to LGPLv2+.
65804         Requested by Eric Blake.
65806 2010-09-22  Bruno Haible  <bruno@clisp.org>
65808         threadlib: Allow the package to change the default to 'no'.
65809         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
65810         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
65811         Reported by Paul Eggert.
65813 2010-09-22  Pádraig Brady  <P@draigbrady.com>
65814             Bruno Haible  <bruno@clisp.org>
65816         Fix endless loop in mbmemcasecoll.
65817         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
65818         byte.
65819         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
65821 2010-09-22  Bruno Haible  <bruno@clisp.org>
65823         Tests for module 'memcoll'.
65824         * modules/memcoll-tests: New file.
65825         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
65827         memcoll, xmemcoll: Clarify size vs. length.
65828         * modules/memcoll.c (memcoll0): Clarify specification.
65829         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
65830         passed to collate_error.
65832 2010-09-22  Bruno Haible  <bruno@clisp.org>
65834         Tests for module 'memcasecmp'.
65835         * modules/memcasecmp-tests: New file.
65836         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
65838 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
65840         * lib/pthread.in.h: Add split double-inclusion guard, and include
65841         system <pthread.h> if there is one.  Use @@-style as in other
65842         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
65843         pthread.h doesn't.
65844         (pthread_mutexattr_destroy, pthread_mutexattr_init):
65845         (pthread_mutexattr_settype, pthread_mutex_trylock):
65846         New static inline functions, if there's no system <pthread.h>.
65847         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
65848         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
65849         Approximate with mutexes if the system lacks spinlocks, as in
65850         MacOS.
65851         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
65852         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
65853         @@-style.  Check for spinlocks separately.
65854         (gl_PTHREAD_DEFAULTS): New macro.
65855         * modules/pthread: Redo to use a more typical style for in.h files.
65857 2010-09-21  Eric Blake  <eblake@redhat.com>
65859         net_if: enhance tests
65860         * tests/test-net_if.c (main): Move signature checks earlier.
65861         Print failures to stderr.
65862         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
65863         Document the bug that we do not yet fix.
65865 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
65867         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
65868         about gnulib, not GSS.
65870 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
65872         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
65873         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
65874         for Emacs.
65875         * build-aux/pmccabe2html: Make Makefile.am example code more
65876         cut-and-paste friendly.
65878 2010-09-21  Simon Josefsson  <simon@josefsson.org>
65880         * tests/test-net_if.c: New file.
65881         * modules/net_if-tests: New file.
65883 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
65885         pthread: add pthread_spin_destroy
65886         * lib/pthread.in.h (pthread_spin_destroy): New function.
65888 2010-09-19  Bruno Haible  <bruno@clisp.org>
65890         gnulib-tool: Fix --help output.
65891         * gnulib-tool (func_usage): Fix help message.
65892         Reported by Reuben Thomas <rrt@sc3d.org>.
65894 2010-09-18  Jim Meyering  <meyering@redhat.com>
65896         maint.mk: avoid unexpanded \n in two diagnostics
65897         * top/maint.mk (sc_prohibit_always_true_header_tests):
65898         Don't use a literal \n in a halt=... assignment.  It would not be
65899         expanded, and the two \n bytes would appear in the diagnostic output
65900         rather than the desired newline.  Use halt=$$(printf ... instead.
65901         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
65903 2010-09-18  Bruno Haible  <bruno@clisp.org>
65905         netinet_in: Doc tweak.
65906         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
65907         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
65909 2010-09-18  Jim Meyering  <meyering@redhat.com>
65911         init.sh: correct an outdated comment
65912         * tests/init.sh (create_exe_shims_):  s/function/alias/
65914         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
65915         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
65916         a file named "*.exe" is removed between the glob expansion and the
65917         processing of that oddly named file.
65919 2010-09-17  Eric Blake  <eblake@redhat.com>
65921         mirbsd: add some more support
65922         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
65923         in BSD family.
65924         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
65925         devices as OpenBSD.
65926         * m4/host-os.m4 (mirbsd): Add MirBSD.
65928         tests: fix unportable assumption on sys/wait.h
65929         * tests/test-sys_wait.c (main): Relax test.
65930         * tests/test-stdlib.c (main): Likewise.
65932         init.sh: accommodate directory with no .exes
65933         * tests/init.sh: Accomodate directory containing only scripts.
65935         tests: avoid compiler warning
65936         * tests/test-stdlib.c (main): Use the variable.
65938         fdutimens, fdutimensat: update signature, again
65939         * lib/utimens.h (gl_futimens): Delete, and move signature...
65940         (fdutimens): ...here.
65941         (fdutimensat): Rearrange signature.
65942         (lutimensat): Rename variable for clarity.
65943         * lib/fdutimensat.c (fdutimensat): Update signature.
65944         * lib/utimens.c (fdutimens): Likewise.
65945         (gl_futimens): Delete.
65946         (utimens, lutimens): Update callers.
65947         * lib/futimens.c (futimens): Likewise.
65948         * tests/test-fdutimensat.c: Likewise.
65949         * tests/test-utimens.c: Likewise.
65950         * tests/test-futimens.h: Update comment.
65951         * NEWS: Mention this.
65952         Suggested by Paul Eggert.
65954 2010-09-17  Bruno Haible  <bruno@clisp.org>
65956         Take over the maintenance of some older macros from Autoconf.
65957         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
65958         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
65959         GNU Autoconf.
65960         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
65961         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
65963 2010-09-17  Eric Blake  <eblake@redhat.com>
65965         fdutimensat: drop atflag validation
65966         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
65967         with valid fd, to close a race scenario where futimens is
65968         unsupported and FILE was replaced by a symlink.
65969         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
65970         accordingly.
65971         Suggested by Paul Eggert.
65973 2010-09-16  Bruno Haible  <bruno@clisp.org>
65975         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
65976         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
65978 2010-09-16  Bruno Haible  <bruno@clisp.org>
65980         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
65981         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
65982         login_tty exists.
65983         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
65985 2010-09-16  Bruno Haible  <bruno@clisp.org>
65987         login_tty: Make the replacement code work on BSD systems.
65988         * lib/login_tty.c: Include <sys/ioctl.h>.
65989         (login_tty): Use ioctl TIOCSCTTY when available.
65990         * modules/login_tty (Depends-on): Add sys_ioctl.
65991         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
65993 2010-09-16  Bruno Haible  <bruno@clisp.org>
65995         login_tty: Stricter unit test.
65996         * modules/login_tty-tests (Depends-on): Add tcgetsid.
65997         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
65998         and tcgetsid() after login_tty.
65999         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
66001 2010-09-16  Bruno Haible  <bruno@clisp.org>
66003         New module 'tcgetsid'.
66004         * lib/tcgetsid.c: New file.
66005         * m4/tcgetsid.m4: New file.
66006         * modules/tcgetsid: New file.
66007         * modules/termios (Depends-on): Add c++defs, warn-on-use.
66008         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
66009         GNULIB_TCGETSID, HAVE_TCGETSID.
66010         * lib/termios.in.h: Include <sys/types.h>.
66011         (tcgetsid): New declaration.
66012         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
66013         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
66014         * doc/posix-functions/tcgetsid.texi: Mention the new module.
66015         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
66017 2010-09-16  Bruno Haible  <bruno@clisp.org>
66019         Tests for module 'termios'.
66020         * modules/termios-c++-tests: New file.
66021         * modules/termios-tests: New file.
66022         * tests/test-termios-c++.cc: New file.
66023         * tests/test-termios.c: New file.
66025         New module 'termios'.
66026         * modules/termios: New file.
66027         * lib/termios.in.h: New file.
66028         * m4/termios_h.m4: New file.
66029         * doc/posix-headers/termios.texi: Mention the new module.
66031 2010-09-16  Eric Blake  <eblake@redhat.com>
66033         fdutimensat: add an atflag parameter
66034         * lib/fdutimensat.c (fdutimensat): Add new parameter.
66035         * lib/utimens.h (fdutimensat): Update prototype.
66036         * tests/test-fdutimensat.c: Adjust test to match.
66037         * NEWS: Document the change.
66038         Suggested by Paul Eggert.
66040 2010-09-16  Bruno Haible  <bruno@clisp.org>
66042         Fix typos in comments.
66043         * lib/striconveh.h: Fix typo in comment.
66044         * lib/login_tty.c (login_tty): Likewise.
66046 2010-09-15  Bruno Haible  <bruno@clisp.org>
66048         stdlib: clarify MirBSD WEXITSTATUS bug
66049         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
66050         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
66052 2010-09-15  Eric Blake  <eblake@redhat.com>
66054         stdlib: work around MirBSD WEXITSTATUS bug
66055         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
66056         * modules/stdlib (Depends-on): Add sys_wait.
66057         * tests/test-sys_wait.c (main): Enhance test.
66058         * tests/test-stdlib.c (main): Likewise.
66059         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
66061         docs: mention MacOS issue with WEXITSTATUS(constant)
66062         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
66063         issue.
66064         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
66066         strnlen: add tests
66067         * modules/strnlen-tests: New file.
66068         * tests/test-strnlen.c: Likewise.
66070 2010-09-14  Bruno Haible  <bruno@clisp.org>
66072         unistr/base: Avoid link errors when module 'libunistring' is also used.
66073         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
66074         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
66075         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
66076         Declare also when HAVE_LIBUNISTRING is set.
66077         Reported by Pádraig Brady <P@draigbrady.com>.
66079 2010-09-14  Eric Blake  <eblake@redhat.com>
66081         test-rawmemchr: make more robust
66082         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
66083         (Depends-on, configure.ac): Add needed prerequisites to use it.
66084         * modules/memchr-tests (Files, Depends-on, configure.ac):
66085         Likewise, to avoid implicit reliance on memchr module prereqs.
66086         * tests/test-memchr.c (main): Ensure proper masking.
66087         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
66088         reads.
66090         memchr: detect glibc Alpha bug
66091         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
66092         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
66093         Alpha.
66094         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
66095         * tests/test-memchr.c (main): Enhance test.
66096         Reported by Nelson H. F. Beebe.
66098 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
66100         fts, getcwd, glob: audit for dirfd returning -1
66101         * lib/fts.c (opendir): Remove #define; no longer used.
66102         (opendirat): New arg PDIR_FD.  All callers changed.
66103         (fts_build, _opendir2): Use new opendirat to avoid the need for
66104         dirfd, or for checking whether dirfd returns a negative value.
66105         Don't use opendir; always use openat followed by fdopendir.
66106         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
66107         it.
66108         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
66109         returns -1 here.
66110         * modules/fts (Depends-on): Remove dirfd.
66111         * modules/getcwd (Depends-on): Likewise.
66113 2010-09-13  Eric Blake  <eblake@redhat.com>
66115         float: fix broken MirBSD header
66116         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
66117         * doc/posix-headers/float.texi (float.h): Document it.
66119 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
66121         fts: use O_NOFOLLOW to avoid race condition when opening a directory
66122         * lib/fts.c (opendirat): New arg extra_flags.
66123         (__opendir2): Use it to avoid following symlinks when opening
66124         a directory, if symlinks are not supposed to be followed.  See
66125         <http://lists.gnu.org/r/bug-gnulib/2010-09/msg00213.html>.
66127         fdopendir: preserve argument fd before returning
66128         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
66129         (fdopendir_with_dup, fd_clone_opendir): New static functions.
66130         (fdopendir): Use them, arranging for FD to be open to the same
66131         directory that it was when it started.  (It might be temporarily
66132         closed while fdopendir is running, so this not thread- or
66133         signal-safe.)  Be careful to do the right thing even when file
66134         descriptors are scarce and dup fails with errno == EMFILE.  See
66135         <http://lists.gnu.org/r/bug-gnulib/2010-09/msg00208.html>.
66137 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
66139         regex: Pass the system regex if its only problem is 32-bit regoff_t.
66140         * NEWS: Document change.
66141         * m4/regex.m4: Disable test for regoff_t size.
66143 2010-09-13  Jim Meyering  <meyering@redhat.com>
66145         fts: don't operate on an invalid file descriptor after failed dup
66146         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
66147         negative file descriptor.
66149 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
66151         savedir: add streamsavedir, deprecate fdsavedir
66152         * NEWS: Mention deprecation of fdsavedir.
66153         * lib/savedir.c (streamsavedir): New extern function, whose name
66154         ends in "savedir" to be consistent with the others.  This differs
66155         from savedirstream in that it doesn't close its argument.  The
66156         next version of GNU tar will use this instead of fdsavedir, to
66157         avoid some race conditions and conserve file descriptors.
66158         (savedirstream): Reimplement as a wrapper around streamsavedir.
66159         (fdsavedir): Add a comment deprecating this function.  As far as
66160         I know, only GNU tar used it, and GNU tar doesn't need it any more.
66161         * lib/savedir.h (streamsavedir): New decl.
66162         (fdsavedir): Add a comment deprecating this.
66164 2010-09-10  Bruno Haible  <bruno@clisp.org>
66166         langinfo: Fix last commit.
66167         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
66168         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
66169         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
66171 2010-09-10  Bruno Haible  <bruno@clisp.org>
66173         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
66174         * lib/progreloc.c (O_EXEC): Define fallback.
66176 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
66178         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
66179         * NEWS: Document recent changes to fcntl-h.
66180         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
66181         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
66182         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
66183         Similarly for O_SEARCH; this last was already true, but not documented.
66184         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
66185         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
66186         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
66187         Likewise.
66188         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
66189         is zero, not whether it is defined.
66190         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
66191         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
66192         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
66194 2010-09-10  Bruno Haible  <bruno@clisp.org>
66196         langinfo, nl_langinfo: Fix for IRIX 5.3.
66197         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
66198         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
66199         HAVE_LANGINFO_YESEXPR.
66200         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
66201         HAVE_LANGINFO_YESEXPR.
66202         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
66203         HAVE_LANGINFO_T_FMT_AMPM is 0.
66204         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
66205         HAVE_LANGINFO_YESEXPR is 0.
66206         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
66207         NOEXPR.
66208         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
66209         * doc/posix-functions/nl_langinfo.texi: Likewise.
66210         Reported by Eric Blake.
66212 2010-09-10  Bruno Haible  <bruno@clisp.org>
66214         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
66215         * doc/glibc-functions/login_tty.texi: Mention the include file problem
66216         on FreeBSD 8.0 and OpenBSD 4.6.
66217         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
66218         * m4/pty_h.m4 (gl_PTY_H): Likewise.
66219         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
66220         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
66221         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
66222         ac_includes_default.
66223         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
66225 2010-09-09  Eric Blake  <eblake@redhat.com>
66227         strsignal: work around NetBSD bug
66228         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
66229         * lib/string.in.h (includes): Likewise.
66230         * doc/posix-functions/strsignal.texi (strsignal): Document the
66231         bug.
66232         Reported by Nelson H. F. Beebe.
66234         gnulib-tool: work with NetBSD /bin/sh
66235         * gnulib-tool (func_cache_var, func_cache_lookup_module)
66236         (func_get_description, func_get_comment, func_get_status)
66237         (func_get_notice, func_get_applicability, func_get_filelist)
66238         (func_get_dependencies, func_get_autoconf_early_snippet)
66239         (func_get_autoconf_snippet, func_get_automake_snippet)
66240         (func_get_include_directive, func_get_link_directive)
66241         (func_get_license, func_get_maintainer, func_import): Avoid
66242         shell syntax errors from parsing syntax extensions.
66244 2010-09-09  Bruno Haible  <bruno@clisp.org>
66246         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
66247         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
66248         a reliable way to determine whether the 'alias' command works.
66250 2010-09-08  Jim Meyering  <meyering@redhat.com>
66252         init.sh: penalize a set-x-impaired shell; don't disqualify it
66253         * tests/init.sh: Too many shells corrupt application stderr when
66254         you set -x, so we can't afford to disqualify them, since at least
66255         on Irix-6.5, that would disqualify all bourne shells.
66256         Instead, use a two-pass approach.
66257         On the first pass, try to find a shell that meets the stricter
66258         condition that set -x does not corrupt stderr.
66259         If no shell meets the stricter condition, retest each candidate
66260         shell, but without that extra condition.  Finally, when
66261         VERBOSE=yes is requested and set -x might cause trouble, simply
66262         issue a warning and refrain from enabling debug output.
66264 2010-09-08  Eric Blake  <eblake@redhat.com>
66266         unsetenv: fix OpenBSD bug
66267         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
66268         * doc/posix-functions/unsetenv.texi (unsetenv): Update
66269         documentation.
66270         Reported by Jim Meyering.
66272         strtod: work around IRIX 6.5 bug
66273         * lib/strtod.c (strtod): Reparse number on shorter string if
66274         exponent parse was invalid.
66275         * tests/test-strtod.c (main): Add check for "0x1p 2".
66276         Reported by Tom G. Christensen.
66278         getopt: optimize previous patch
66279         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
66280         empty variable.  Speed up awk script.
66281         Reported by Paolo Bonzini.
66283 2010-09-08  Jim Meyering  <meyering@redhat.com>
66285         test.sh: disqualify shells for which set -x corrupts stderr
66286         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
66287         and OpenBSD 4.7.  They make it so with "set -x", environment settings
66288         appear in stderr output.  For example, this command:
66289             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
66290         prints "P=1" on those two systems:
66292 2010-09-08  Bruno Haible  <bruno@clisp.org>
66294         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
66295         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
66296         commands, because some shells ignore redirections when there is an
66297         error in the command lookup.
66298         Reported by Eric Blake.
66300 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
66302         * lib/regex.h: Fix a mention of `regex_compile' (should be
66303         `re_compile_pattern').
66304         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
66305         (re_set_registers): Correct name of parameter in comment.
66307         * doc/regex.texi: Add documentation for missing syntax flags.
66308         Remove commented-out documentation of defunct syntax option
66309         RE_NO_EMPTY_ALTS.
66310         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
66311         Add documentation of re_set_registers.
66312         Document trick to re-use a pattern buffer by setting fastmap manually.
66313         Update documentation of struct re_pattern_buffer per public members.
66314         Uncomment documentation of equivalence class operators and
66315         collating symbol operators, since they are now implemented,
66316         Explain leftmost-longest matching in relation to alternatives.
66317         Tidy documentation of substring matching.
66318         Remove POSIX documentation, which is done better in
66319         glibc, and refer the reader there. Keep BSD API documentation, as
66320         that is not readily available elsewhere.
66322 2010-09-07  Eric Blake  <eblake@redhat.com>
66324         getopt: handle POSIXLY_CORRECT set but not exported
66325         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
66326         export state of POSIXLY_CORRECT, due to bash set -o posix.
66327         Reported by Dustin J. Mitchell.
66329 2010-09-05  Bruno Haible  <bruno@clisp.org>
66331         gnulib-tool: Highlight the changed options.
66332         * gnulib-tool (func_usage): Display the --import, --add-import,
66333         --remove-import explanations in bold font.
66335 2010-09-06  Karl Berry  <karl@gnu.org>
66337         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
66339 2010-09-05  Bruno Haible  <bruno@clisp.org>
66341         uniwidth/width: Update comment.
66342         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
66343         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
66345 2010-09-05  Bruno Haible  <bruno@clisp.org>
66347         isinf, isnan: Relax license.
66348         * modules/isinf (License): Change from GPL to LGPL, with consent from
66349         Ben Pfaff.
66350         * modules/isnan (License): Likewise.
66351         Requested by Ludovic Courtès.
66353 2010-09-04  Bruno Haible  <bruno@clisp.org>
66355         gnulib-tool: Help migration from --import to --add-import or --update.
66356         * gnulib-tool: Emit a verbose error message when --import is used
66357         without any module name.
66359 2010-09-04  Bruno Haible  <bruno@clisp.org>
66361         Update doc about gnulib-tool.
66362         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
66363         'gnulib-tool --update' in more detail.
66364         Reported by Eric Blake.
66366 2010-09-04  Bruno Haible  <bruno@clisp.org>
66368         gnulib-tool: Change --import. New options --add/remove-import.
66369         * gnulib-tool: New options --add-import, --remove-import.
66370         (func_usage): Document them.
66371         (have_associative): Define always.
66372         (func_import): In import mode, don't merge the specified settings with
66373         the cached settings. Implement remove-import mode.
66374         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
66375         Explain when to use them versus --import.
66376         (Simple update): Use --add-import instead of --import.
66377         * NEWS: Mention the change.
66379 2010-09-04  Bruno Haible  <bruno@clisp.org>
66381         * doc/gnulib-tool.texi (Initial import): Update paragraph about
66382         separate gnulib.mk.
66384 2010-09-04  Bruno Haible  <bruno@clisp.org>
66386         gnulib-tool: Don't talk about CVS any more.
66387         * gnulib-tool (func_usage, func_import): Write "version control"
66388         instead of CVS.
66390 2010-09-04  Jim Meyering  <meyering@redhat.com>
66392         maint.mk: avoid obscure sc_copyright_check failure in coreutils
66393         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
66394         false positives (whose names may be ill-chosen) when searching
66395         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
66396         would cause a false-positive.
66398         avoid coreutils "make distcheck" failure
66399         Coreutils tests with an absolute build directory name that contains
66400         a space.  Not quoting this directory name caused a failure.
66401         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
66402         * tests/test-vc-list-files-cvs.sh: Likewise.
66404 2010-09-04  Bruno Haible  <bruno@clisp.org>
66406         gnulib-tool: Avoid error when run in a package without Makefile.am.
66407         * gnulib-tool: When collecting the m4dirs in a package that does not
66408         have a Makefile.am, eliminate those directories that contain no
66409         gnulib-cache.m4. Fix expression that counts these directories.
66411 2010-09-04  Bruno Haible  <bruno@clisp.org>
66413         update-copyright test: Improve output when perl is missing or too old.
66414         * tests/test-update-copyright.sh: Move test of Perl version down after
66415         the test whether Perl exists. Provide an explanation relating Perl's
66416         error message to Automake's SKIP: message.
66418 2010-09-04  Bruno Haible  <bruno@clisp.org>
66420         Don't augment PATH in TESTS_ENVIRONMENT.
66421         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
66422         set abs_aux_dir instead of augmenting PATH.
66423         * modules/vc-list-files-tests (Makefile.am): Likewise.
66424         * tests/test-update-copyright.sh: Augment PATH here.
66425         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
66426         path_prepend_.
66427         * tests/test-vc-list-files-git.sh: Likewise.
66429 2010-09-04  Jim Meyering  <meyering@redhat.com>
66431         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
66432         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
66434 2010-09-04  Bruno Haible  <bruno@clisp.org>
66436         strdup: Fix compilation error in C++ mode.
66437         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
66438         the macro.
66440 2010-09-04  Bruno Haible  <bruno@clisp.org>
66442         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
66443         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
66444         macro into a function.
66445         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
66447 2010-09-04  Bruno Haible  <bruno@clisp.org>
66449         Set PATH_SEPARATOR the same way autoconf does.
66450         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
66451         the value of PATH_SEPARATOR the same way autoconf-generated configure
66452         scripts do.
66453         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
66454         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
66456 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
66458         Set PATH_SEPARATOR the same way autoconf does.
66459         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
66460         the same way autoconf-generated configure scripts do.
66461         * posix-modules: Likewise.
66463 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
66465         hash: fix safe_hasher const typo
66466         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
66467         const; otherwise, there is a type error later.
66469 2010-09-02  Jim Meyering  <meyering@redhat.com>
66471         test-update-copyright.sh: require perl 5.8.0
66472         * tests/test-update-copyright.sh: Require 5.8.0,
66473         which Tom G. Christensen has confirmed is adequate,
66474         while 5.6.1 is not.
66476 2010-09-02  Eric Blake  <eblake@redhat.com>
66478         tests: init.sh improvements for re-exec'ing with zsh
66479         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
66480         -vx through shell re-exec.
66481         Reported by Tom G. Christensen.
66483         wctype: fix typo in previous commit
66484         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
66485         Reported by Ludovic Courtès.
66487 2010-09-02  Jim Meyering  <meyering@redhat.com>
66489         test-update-copyright.sh: skip test if Perl is too old
66490         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
66491         Reported by Tom G. Christensen.
66493 2010-09-02  Bruno Haible  <bruno@clisp.org>
66495         wctype: Avoid compilation error on IRIX 6.5.30.
66496         * lib/wctype.in.h (iswblank): Declare with a replacement if
66497         REPLACE_ISWBLANK is set.
66498         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
66499         declared. Set REPLACE_ISWBLANK.
66500         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
66501         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
66502         * doc/posix-headers/wctype.texi: Likewise.
66503         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
66505 2010-09-01  Bruno Haible  <bruno@clisp.org>
66507         New module 'socketlib'.
66508         * modules/socketlib: New file.
66509         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
66510         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
66511         * modules/sockets (Depends-on): Add socketlib.
66512         Suggested by Sam Steingold <sds@gnu.org>.
66514 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
66516         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
66518         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
66519         when one needs search access to a directory but not read access.
66520         On systems where it is available, it works in some cases where
66521         O_RDONLY does not, namely on directories that are searchable but
66522         not readable, and which need only to be searchable.  If O_SEARCH
66523         is not available, fall back to the traditional method of using
66524         O_RDONLY.
66526         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
66527         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
66528         when opening a directory that needs only to be searchable.
66529         * lib/chdir-safer.c (chdir_no_follow): Likewise.
66530         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
66531         * lib/openat-proc.c (openat_proc_name): Likewise.
66532         * lib/openat.c (openat_needs_fchdir): Likewise.
66533         * lib/save-cwd.c (save_cwd): Likewise.
66534         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
66536 2010-08-28  Bruno Haible  <bruno@clisp.org>
66538         New module 'host-cpu-c-abi'.
66539         * modules/host-cpu-c-abi: New file.
66540         * m4/host-cpu-c-abi.m4: New file, based on part of
66541         clisp/src/m4/general.m4.
66542         Requested by Sam Steingold <sds@gnu.org>.
66544 2010-08-31  Eric Blake  <eblake@redhat.com>
66545         and Jim Meyering  <meyering@redhat.com>
66547         hash: factor, and guard against misbehaving hasher function
66548         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
66549         of table->hasher's return value.  Also protect against a hash value
66550         so large that adding it to table->bucket results in a NULL pointer.
66551         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
66552         Use it in place of open-coded check-and-abort.
66554 2010-08-30  Bruno Haible  <bruno@clisp.org>
66556         hash: silence spurious clang warning
66557         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
66558         Reported by Eric Blake.
66560 2010-08-30  Eric Blake  <eblake@redhat.com>
66562         strstr, memmem, strcasestr: avoid leaked shell message
66563         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
66564         FreeBSD.
66565         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
66566         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
66568         tests: silence clang warning
66569         * tests/test-malloca.c (do_allocation): Avoid dead store.
66571 2010-08-29  Bruno Haible  <bruno@clisp.org>
66573         gettext: Fix recent mistake.
66574         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
66576 2010-08-29  Bruno Haible  <bruno@clisp.org>
66578         selinux-h: Offer a --without-selinux option.
66579         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
66580         --without-selinux was specified, skip all tests and define
66581         HAVE_SELINUX_SELINUX_H to 0.
66582         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
66583         set LIB_SELINUX to empty.
66584         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
66585         gl_LIBSELINUX. If --without-selinux was specified, replace
66586         selinux/context.h.
66587         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
66589 2010-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66590             Bruno Haible  <bruno@clisp.org>
66592         Make the module 'realloc-gnu' work again on AIX and OSF/1.
66593         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
66594         of HAVE_REALLOC.
66595         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
66596         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
66597         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
66598         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
66600 2010-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66601             Bruno Haible  <bruno@clisp.org>
66603         Make the module 'calloc-gnu' work again on AIX and OSF/1.
66604         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
66605         HAVE_CALLOC.
66606         * lib/xmalloc.c: Update accordingly.
66607         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
66608         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
66609         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
66611 2010-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66612             Bruno Haible  <bruno@clisp.org>
66614         Make the module 'malloc-gnu' work again on AIX and OSF/1.
66615         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
66616         HAVE_MALLOC.
66617         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
66618         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
66619         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
66621 2010-08-29  Bruno Haible  <bruno@clisp.org>
66623         Update modules list.
66624         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
66625         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
66626         (String handling <string.h>): Add astrxfrm.
66627         (File system functions): Add readlinkat.
66629 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66631         Tests for module 'realloc-gnu'.
66632         * modules/realloc-gnu-tests: New file.
66633         * tests/test-realloc-gnu.c: New file.
66635         Tests for module 'calloc-gnu'.
66636         * modules/calloc-gnu-tests: New file.
66637         * tests/test-calloc-gnu.c: New file.
66639         Tests for module 'malloc-gnu'.
66640         * modules/malloc-gnu-tests: New file.
66641         * tests/test-malloc-gnu.c: New file.
66643 2010-08-28  Bruno Haible  <bruno@clisp.org>
66645         Rename module 'realloc' -> 'realloc-gnu'.
66646         * modules/realloc-gnu: New file, copied from modules/realloc.
66647         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
66648         obsolete.
66649         * modules/mgetgroups (Depends-on): Update.
66650         * doc/posix-functions/realloc.texi: Update.
66651         * NEWS: Mention the change.
66653         Rename module 'calloc' -> 'calloc-gnu'.
66654         * modules/calloc-gnu: New file, copied from modules/calloc.
66655         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
66656         obsolete.
66657         * doc/posix-functions/calloc.texi: Update.
66658         * NEWS: Mention the change.
66660         Rename module 'malloc' -> 'malloc-gnu'.
66661         * modules/malloc-gnu: New file, copied from modules/malloc.
66662         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
66663         obsolete.
66664         * modules/argp (Depends-on): Update.
66665         * modules/regex (Depends-on): Update.
66666         * doc/posix-functions/malloc.texi: Update.
66667         * NEWS: Mention the change.
66669 2010-08-28  Eric Blake  <eblake@redhat.com>
66671         pread, pwrite: add missing dependency
66672         * modules/pread (Depends-on): Add extensions.
66673         * modules/pwrite (Depends-on): Likewise.
66675 2010-08-28  Bruno Haible  <bruno@clisp.org>
66677         unistr/u*-strchr: Fix tests dependencies.
66678         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
66679         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
66680         Reported by Ian Beckwith <ianb@erislabs.net>.
66682 2010-08-28  Bruno Haible  <bruno@clisp.org>
66684         read-file: Don't occupy too much unused memory.
66685         * lib/read-file.c (fread_file): Shrink the buffer at the end.
66687 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
66688             Eric Blake  <eblake@redhat.com>
66689             Bruno Haible  <bruno@clisp.org>
66691         read-file: Avoid memory reallocations with regular files.
66692         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
66693         (fread_file): With regular files, use the remaining length as the
66694         initial buffer size.  Check against overflow.
66695         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
66696         sys_stat.
66698 2010-08-28  Bruno Haible  <bruno@clisp.org>
66700         ftello: Relax license.
66701         * modules/ftello (License): Relax to LGPLv2+.
66702         Reported by Eric Blake.
66704 2010-08-28  Bruno Haible  <bruno@clisp.org>
66706         Avoid relocwrapper link errors due to gnulib replacement functions.
66707         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
66708         function.
66709         Reported by Ben Pfaff <blp@cs.stanford.edu>.
66711 2010-08-28  Bruno Haible  <bruno@clisp.org>
66713         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
66714         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
66715         defined.
66716         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
66717         Suggested by Eric Blake.
66719 2010-08-28  Bruno Haible  <bruno@clisp.org>
66721         sys_socket, netdb: Ensure socklen_t gets defined.
66722         * modules/sys_socket (Depends-on): Add socklen.
66723         * modules/netdb (Depends-on): Likewise.
66724         * modules/getaddrinfo (Depends-on): Remove socklen.
66725         * modules/getsockopt (Depends-on): Likewise.
66726         * modules/setsockopt (Depends-on): Likewise.
66727         * tests/test-sys_socket.c: Check that socklen_t is defined.
66728         * tests/test-netdb.c: Likewise.
66729         * m4/socklen.m4: Update comments.
66730         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
66732 2010-08-27  Eric Blake  <eblake@redhat.com>
66734         login_tty: add missing dependency
66735         * modules/login_tty (Depends-on): Add pty.
66737 2010-08-26  Eric Blake  <eblake@redhat.com>
66739         lib-symbol-versions: fix m4 quoting
66740         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
66741         format for AC_LINK_IFELSE.
66743         glob: fix compile test
66744         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
66746         btowc: fix missing file
66747         * modules/btowc (Files): Also ship locale-fr.m4.
66749         lseek: fix link test
66750         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
66751         AC_LINK_IFELSE.
66753         include_next: silence autoconf 2.68 warning
66754         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
66755         AC_COMPILE_IFELSE as special.
66756         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
66757         autoconf < 2.68.
66759         acl: fix compilation test
66760         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
66761         AC_COMPILE_IFELSE.
66763 2010-08-26  Bruno Haible  <bruno@clisp.org>
66765         Modernize AC_TRY_RUN invocations.
66766         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
66767         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
66768         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
66769         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
66770         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
66771         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
66772         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
66773         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
66774         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
66775         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
66776         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
66777         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
66778         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
66779         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
66780         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
66781         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
66782         gl_MBRLEN_NUL_RETVAL): Likewise.
66783         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
66784         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
66785         Likewise.
66786         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
66787         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
66788         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
66789         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
66790         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
66791         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
66792         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
66793         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
66794         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
66795         Likewise.
66796         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
66797         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
66798         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
66799         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
66800         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
66801         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
66802         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
66803         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
66804         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
66805         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
66807 2010-08-26  Bruno Haible  <bruno@clisp.org>
66809         Modernize AC_TRY_LINK invocations.
66810         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
66811         AC_TRY_LINK.
66812         * m4/argp.m4 (gl_ARGP): Likewise.
66813         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
66814         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
66815         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
66816         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
66817         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
66818         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
66819         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
66820         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
66821         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
66822         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
66823         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
66824         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
66825         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
66826         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
66827         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
66828         * m4/hostent.m4 (gl_HOSTENT): Likewise.
66829         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
66830         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
66831         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
66832         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
66833         Likewise.
66834         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
66835         Likewise.
66836         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
66837         Likewise.
66838         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
66839         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
66840         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
66841         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
66842         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
66843         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
66844         * m4/servent.m4 (gl_SERVENT): Likewise.
66845         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
66846         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
66847         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
66848         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
66849         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
66850         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
66851         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
66852         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
66853         * modules/tsearch-tests (configure.ac): Likewise.
66855 2010-08-26  Bruno Haible  <bruno@clisp.org>
66857         Modernize AC_TRY_COMPILE invocations.
66858         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
66859         AC_TRY_COMPILE.
66860         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
66861         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
66862         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
66863         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
66864         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
66865         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
66866         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
66867         * m4/lock.m4 (gl_LOCK): Likewise.
66868         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
66869         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
66870         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
66871         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
66872         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
66873         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
66874         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
66875         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
66876         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
66877         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
66878         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
66879         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
66880         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
66881         extraneous semicolon.
66883 2010-08-26  Jim Meyering  <meyering@redhat.com>
66885         stat-time: relax license LGPL
66886         * modules/stat-time (License): Change from GPL to LGPL,
66887         with consent from all contributors, for use in libguile.
66888         Requested by Ludovic Courtès.
66890 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
66892         poll: return immediately on POLLHUP.
66893         * lib/poll.c (poll): Always set timeout before wait_timeout is
66894         computed.
66896 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66898         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
66899         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
66900         rmdir ("dir/.//"), unlinkat.
66902 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
66904         stdbool: avoid spurious failure with modern xlc
66905         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
66907 2010-08-24  Bruno Haible  <bruno@clisp.org>
66909         getloadavg: simplify code
66910         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
66911         gl_have_func. Update comments.
66913 2010-08-24  Eric Blake  <eblake@redhat.com>
66915         getloadavg: don't define SVR4 on cygwin
66916         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
66917         only define SVR4 when -lkvm is required.
66918         Reported by Yaakov Selkowitz.
66920 2010-08-24  Bruno Haible  <bruno@clisp.org>
66922         priv-set: fix comment
66923         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
66925 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
66927         priv-set: fix comments
66928         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
66929         to match code, as suggested by David Bartley in:
66930         http://lists.gnu.org/r/bug-tar/2010-08/msg00018.html
66932 2010-08-23  Eric Blake  <eblake@redhat.com>
66934         stdbool: avoid rejecting clang
66935         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
66936         * tests/test-stdbool.c: Enable more tests if using the system
66937         <stdbool.h> instead of the gnulib replacement.
66938         (main): Move xlc bug test to a runtime test for all compilers.
66939         Reported by Anders Kaseorg.
66941         argz: fix shell quoting issue
66942         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
66943         Reported by Charles Wilson.
66945 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
66946             Erik Faye-Lund <kusmabite@gmail.com>
66948         poll, select: handle ERROR_BROKEN_PIPE.
66949         * lib/poll.c (win32_compute_revents): Return POLLHUP when
66950         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
66951         * lib/select.c (win32_compute_revents): Do not mark a pipe
66952         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
66954 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
66956         fts: allow compilation with C++
66957         * lib/fts_.h: Specify extern "C" linkage with C++.
66959 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66961         Fix gnulib-tool sed script de-commentation for AIX sed.
66962         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
66963         sed.
66965 2010-08-17  Eric Blake  <eblake@redhat.com>
66967         test-stddef: test for (some) offsetof bugs
66968         * tests/test-stddef.c: Enhance test to ensure correct type of
66969         offsetof.
66970         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
66971         that we are not fixing at this time.
66973 2010-08-15  Bruno Haible  <bruno@clisp.org>
66975         stpncpy: Allow stpncpy to be defined as a macro.
66976         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
66977         if it's already correctly declared.
66978         * lib/string.in.h (stpncpy): Undefine before redefining.
66979         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
66981 2010-08-14  Bruno Haible  <bruno@clisp.org>
66983         Rename module 'memxfrm' to 'amemxfrm'.
66984         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
66985         (amemxfrm): Renamed from memxfrm.
66986         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
66987         (amemxfrm): Renamed from memxfrm.
66988         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
66989         * NEWS: Mention the change.
66990         * MODULES.html.sh (String handling <string.h>): Update.
66991         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
66992         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
66993         * lib/unicase/u16-casexfrm.c: Likewise.
66994         * lib/unicase/u32-casexfrm.c: Likewise.
66995         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
66996         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
66997         * lib/uninorm/u16-normxfrm.c: Likewise.
66998         * lib/uninorm/u32-normxfrm.c: Likewise.
66999         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
67000         memxfrm.
67001         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
67002         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
67003         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
67004         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
67005         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
67006         Suggested by Paul Eggert.
67008 2010-08-14  Bruno Haible  <bruno@clisp.org>
67010         Tests for module 'astrxfrm'.
67011         * modules/astrxfrm-tests: New file.
67012         * tests/test-astrxfrm.c: New file.
67014         New module 'astrxfrm'.
67015         * lib/astrxfrm.h: New file.
67016         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
67017         * modules/astrxfrm: New file.
67019 2010-08-14  Reuben Thomas  <rrt@sc3d.org>
67021         regex: Tweak doc.
67022         * doc/regex.texi (Overview): Don't mention regex.c.
67023         (GNU Regular Expression Compiling): Likewise.
67024         (Match-end-of-line Operator): Mention 'not_eol'.
67026 2010-08-14  Brian Gough  <bjg@gnu.org>
67027             Bruno Haible  <bruno@clisp.org>
67029         git-merge-changelog: add doc relating to use with bzr and hg.
67030         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
67032 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
67034         pthread: fix pthread.h creation for srcdir != builddir
67035         * modules/pthread (Makefile.am): Fix the rule to work also in a
67036         non-srcdir build.
67038 2010-08-13  Karl Berry  <karl@gnu.org>
67040         * doc/regex.texi (Predefined Syntaxes): @smallexample.
67041         * doc/posix-*/*: force line break before @url of POSIX
67042         specifications.
67043         Suggested by Werner Lemberg.
67045 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
67047         strtod: fix const diagnostic
67048         * lib/strtod.c (strtod): Don't assign const char * to char *,
67049         as this elicits a warning from GCC when warnings are enabled.
67051 2010-08-10  Pádraig Brady  <P@draigbrady.com>
67052         and Eric Blake  <eblake@redhat.com>
67054         copy-acl: ignore ENOTSUP on HP-UX
67055         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
67056         so that it is available for HP-UX.
67057         * lib/copy-acl.c (qcopy_acl): Use it.
67058         Reported by Patrick M. Callahan.
67060 2010-08-10  Eric Blake  <eblake@redhat.com>
67062         open, chown: relax license
67063         * modules/open (License): Change to LGPLv2+, with consent by all
67064         authors, for use in augeas.
67065         * modules/chown (License): Likewise.
67066         * modules/lchown (Likewise): Likewise.
67067         Requested by Adam Stokes.
67069 2010-08-09  Karl Berry  <karl@gnu.org>
67071         * build-aux/ar-lib: new file, import from Automake.
67072         * config/srclist.txt: autocheck for updates.
67074 2010-08-09  Eric Blake  <eblake@redhat.com>
67076         readlinkat: adjust client modules
67077         * modules/areadlinkat (Depends-on): Use readlinkat, not
67078         symlinkat.
67079         * modules/areadlinkat-with-size (Depends-on): Likewise.
67081         mknod: be more vocal about danger of running tests as root
67082         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
67083         root, since that is just asking for problems.
67084         Suggested by Bruno Haible, based on a report by Rainer Tammer.
67086         readlinkat: split into its own module
67087         * modules/symlinkat: Split readlinkat...
67088         * modules/readlinkat: ...into separate module.
67089         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
67090         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
67091         * lib/symlinkat.c (readlinkat): Move...
67092         * lib/readlinkat.c: ...into new file.
67093         * modules/symlinkat-tests: Split readlinkat test...
67094         * modules/readlinkat-tests: ...into separate module.
67095         * tests/test-symlinkat.c: Split...
67096         * tests/test-readlinkat.c: ...into new file.
67097         * NEWS: Document the split.
67098         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
67099         * lib/unistd.in.h (readlinkat): Likewise.
67100         Suggested by Bruno Haible.
67102 2010-08-08  Bruno Haible  <bruno@clisp.org>
67104         memxfrm: Speed up.
67105         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
67106         that usually only one call to strxfrm is necessary for each string
67107         part.
67108         Reported by Paul Eggert <eggert@cs.ucla.edu>.
67110 2010-08-07  Karl Berry  <karl@gnu.org>
67112         * doc/posix-headers/limits.texi,
67113         * doc/posix-functions/malloc.texi,
67114         * doc/posix-functions/strsignal.texi: missing @item.
67115         * doc/ld-version-script.texi: spurious leading i.
67116         * doc/regex.texi (Interval Operators): no commas inside @var.
67118 2010-08-01  Bruno Haible  <bruno@clisp.org>
67120         Integrate the regex documentation.
67121         * doc/gnulib.texi: Define 'cn' index.
67122         (Regular expressions): New a chapter that includes regex.texi and
67123         regexprops-generic.texi.
67124         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
67125         syntax.
67127         Whitespace cleanup.
67128         * doc/regex.texi: Remove trailing spaces.
67130         Add regex documentation.
67131         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
67132         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
67133         Written by Kathy A. Hargreaves and Karl Berry.
67135 2010-08-01  Bruno Haible  <bruno@clisp.org>
67137         link: Update documentation.
67138         * doc/posix-functions/link.texi: Update regarding Solaris.
67140 2010-07-31  Bruno Haible  <bruno@clisp.org>
67142         Update modules list.
67143         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
67144         (String handling <string.h>): Add memcmp2, memxfrm.
67145         (Container data structures): Add xlist, xsublist, xoset.
67146         (Core language properties): Add alignof, unused-parameter.
67147         (Process control, Numeric conversion functions <stdlib.h>): Renamed
67148         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
67149         (Unibyte characters <ctype.h>): New section.
67150         (String handling <string.h>): New section.
67151         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
67152         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
67153         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
67154         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
67155         tan, tanh, tanl, y0, y1, yn.
67156         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
67157         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
67158         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
67159         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
67160         unlockpt, vdprintf, vdprintf-posix.
67161         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
67162         (File system functions): Add concat-filename, sys_file, sys_ioctl,
67163         xconcat-filename.
67164         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
67165         getdtablesize, pipe2, pipe2-safer.
67166         (Security): New section.
67167         (Networking functions): Add accept4.
67168         (Signal handling): Add sigpipe.
67169         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
67170         mbmemcasecoll.
67171         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
67172         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
67173         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
67174         pipe-filter-ii.
67175         (Misc): Add argp-version-etc, login_tty, parse-duration.
67177 2010-07-31  Bruno Haible  <bruno@clisp.org>
67179         Improve doc in MODULES.html.
67180         * modules/linkat (Description): Add the word "function".
67181         * modules/mkfifo (Description): Likewise.
67182         * modules/mknod (Description): Likewise.
67183         * modules/remove (Description): Likewise.
67184         * modules/renameat (Description): Likewise.
67185         * modules/stat (Description): Likewise.
67186         * modules/symlink (Description): Likewise.
67187         * modules/unlink (Description): Likewise.
67189 2010-07-31  Bruno Haible  <bruno@clisp.org>
67191         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
67192         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
67193         option --enable/disable-c++ instead of --enable/disable-cxx.
67194         * NEWS: Mention the change.
67196 2010-07-31  Bruno Haible  <bruno@clisp.org>
67198         readlink, areadlink: Relax test a bit.
67199         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
67200         alternative to ENOTDIR.
67201         * tests/test-areadlink.h (test_areadlink): Likewise.
67202         Reported by Rainer Tammer.
67204 2010-07-31  Bruno Haible  <bruno@clisp.org>
67206         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
67207         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
67208         character, perform the search using U_STRCHR.
67209         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
67210         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
67211         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
67212         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
67213         Suggested by Paolo Bonzini.
67215 2010-07-31  Bruno Haible  <bruno@clisp.org>
67217         unistr/u*-strstr: Fix dependencies.
67218         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
67219         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
67220         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
67222 2010-07-31  Bruno Haible  <bruno@clisp.org>
67224         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
67225         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
67226         the beginning of the loop.
67227         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
67228         cases in 'switch' statement.
67230         unistr/u8-strchr: Fix several bugs.
67231         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
67232         the string. When not found, return NULL, not a pointer near the end.
67234         More tests for unistr/u8-strchr.
67235         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
67236         that the function does not read past the first occurrence of the byte
67237         being searched.
67238         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
67239         * tests/unistr/test-u16-strchr.c (main): New function.
67240         * tests/unistr/test-u32-strchr.c (main): New function.
67242 2010-07-31  Bruno Haible  <bruno@clisp.org>
67244         posix-modules: Ignore backup files of documentation files.
67245         * posix-modules: grep only through files named *.texi.
67247 2010-07-31  Bruno Haible  <bruno@clisp.org>
67249         symlinkat: Fix documentation.
67250         * doc/posix-functions/readlinkat.texi: Fix module name.
67252 2010-07-31  Bruno Haible  <bruno@clisp.org>
67254         fchownat: Replace also when chown has the trailing slash bug.
67255         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
67256         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
67257         introduced on 2010-04-10.
67258         Reported by Rainer Tammer.
67260 2010-07-31  Bruno Haible  <bruno@clisp.org>
67262         linkat: Work around AIX 7.1 bug.
67263         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
67264         whether linkat handles trailing slash correctly. If not, replace linkat
67265         and define LINKAT_TRAILING_SLASH_BUG.
67266         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
67267         check whether (fd1,file1) points to a directory if file1 or file2 ends
67268         in a slash. Code taken from lib/link.c.
67269         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
67270         Reported by Rainer Tammer.
67272 2010-07-31  Bruno Haible  <bruno@clisp.org>
67274         Correctly determine whether pow is available in libc on AIX 7 with xlc.
67275         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
67276         This disables an xlc optimization that was causing wrong test results.
67277         Reported by Rainer Tammer.
67279 2010-07-31  Bruno Haible  <bruno@clisp.org>
67281         iconv: Work around AIX 6.1..7.1 bug.
67282         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
67283         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
67284         cross-compiling, guess no on all versions of AIX.
67285         Reported by Rainer Tammer.
67287 2010-07-31  Bruno Haible  <bruno@clisp.org>
67289         readlink: Relax test a bit.
67290         * tests/test-readlink.h (test_readlink): Allow different errno value
67291         when readlink is called with a file name that ends in / and refers to
67292         a file.
67293         Suggested by Eric Blake.
67294         Reported by Rainer Tammer.
67296 2010-07-31  Bruno Haible  <bruno@clisp.org>
67298         copysign: Does not require -lm on glibc systems.
67299         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
67300         gl_COMMON_DOUBLE_MATHFUNC.
67301         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
67303 2010-07-31  Bruno Haible  <bruno@clisp.org>
67305         duplocale: Work around AIX 7.1 bug.
67306         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
67307         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
67308         * lib/duplocale.c (rpl_duplocale): Update comment.
67309         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
67310         Reported by Rainer Tammer.
67312 2010-07-30  Bruno Haible  <bruno@clisp.org>
67314         dirfd: Avoid link error on AIX 7.1.
67315         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
67316         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
67317         exist, set REPLACE_DIRFD.
67318         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
67319         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
67320         * doc/posix-functions/dirfd.texi: Update.
67321         Reported by Rainer Tammer.
67323 2010-07-30  Eric Blake  <eblake@redhat.com>
67325         strtod: next round of AIX fixes
67326         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
67327         exponent.
67328         * tests/test-strtod.c (main): Enhance tests.
67329         * doc/posix-functions/strtod.texi (strtod): Document next bug.
67330         Reported by Rainer Tammer.
67332         futimens: fix configure check
67333         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
67334         Reported by Bruno Haible.
67336 2010-07-30  Bruno Haible  <bruno@clisp.org>
67338         getline: Update regarding AIX.
67339         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
67340         Reported by Rainer Tammer.
67342 2010-07-30  Bruno Haible  <bruno@clisp.org>
67344         wcwidth: Drop replacement on AIX 7.
67345         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
67346         AIX 7.
67347         Reported by Rainer Tammer.
67349 2010-07-30  Bruno Haible  <bruno@clisp.org>
67351         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
67352         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
67353         a 'char *'.
67354         Reported by Rainer Tammer.
67356 2010-07-30  Bruno Haible  <bruno@clisp.org>
67358         unlink: Update regarding AIX.
67359         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
67360         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
67361         Reported by Rainer Tammer.
67363 2010-07-30  Bruno Haible  <bruno@clisp.org>
67365         symlink: Update regarding AIX.
67366         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
67367         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
67368         Reported by Rainer Tammer.
67370 2010-07-30  Bruno Haible  <bruno@clisp.org>
67372         strndup: Update regarding AIX.
67373         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
67374         AIX 7.
67375         Reported by Rainer Tammer.
67377 2010-07-30  Bruno Haible  <bruno@clisp.org>
67379         stat: Update regarding AIX.
67380         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
67381         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
67382         Reported by Rainer Tammer.
67384 2010-07-30  Bruno Haible  <bruno@clisp.org>
67386         truncl: Fix autoconf test.
67387         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
67388         whether truncl works.
67389         Reported by Rainer Tammer.
67391 2010-07-30  Bruno Haible  <bruno@clisp.org>
67393         round: Update regarding AIX.
67394         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
67395         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
67396         Reported by Rainer Tammer.
67398 2010-07-30  Bruno Haible  <bruno@clisp.org>
67400         rename: Update regarding AIX.
67401         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
67402         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
67403         Reported by Rainer Tammer.
67405 2010-07-30  Bruno Haible  <bruno@clisp.org>
67407         printf.m4: Update regarding AIX.
67408         * m4/printf.m4: Update comments regarding AIX.
67409         Reported by Rainer Tammer.
67411 2010-07-30  Bruno Haible  <bruno@clisp.org>
67413         iconv: Update regarding AIX.
67414         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
67415         AIX 7.
67416         Reported by Rainer Tammer.
67418 2010-07-30  Bruno Haible  <bruno@clisp.org>
67420         getopt: Update regarding AIX.
67421         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
67422         no on AIX.
67423         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
67424         Reported by Rainer Tammer.
67426 2010-07-30  Bruno Haible  <bruno@clisp.org>
67428         ldexpl; Update regarding AIX.
67429         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
67430         on AIX 7.
67431         Reported by Rainer Tammer.
67433 2010-07-30  Bruno Haible  <bruno@clisp.org>
67435         frexpl: Update regarding AIX.
67436         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
67437         on AIX 7.
67438         Reported by Rainer Tammer.
67440 2010-07-30  Bruno Haible  <bruno@clisp.org>
67442         open, fopen: Update regarding AIX.
67443         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
67444         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
67445         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
67446         * doc/posix-functions/fopen.texi: Likewise.
67447         Reported by Rainer Tammer.
67449 2010-07-30  Bruno Haible  <bruno@clisp.org>
67451         chown: Update doc regarding AIX.
67452         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
67453         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
67454         Reported by Rainer Tammer.
67456 2010-07-30  Eric Blake  <eblake@redhat.com>
67458         strtod: fix bug in replacement function on AIX
67459         * lib/strtod.c (strtod): Special case broken "0x" parse in
67460         underlying strtod.
67461         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
67462         * doc/posix-functions/strtod.texi (strtod): Likewise.
67463         Reported by Rainer Tammer.
67465 2010-07-30  Bruno Haible  <bruno@clisp.org>
67467         mbrlen: Fix cross-compilation guess for AIX.
67468         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
67469         guess. Leftover from 2008-12-22.
67471 2010-07-30  Bruno Haible  <bruno@clisp.org>
67473         mbrtowc: Fix cross-compilation guess for AIX.
67474         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
67475         guess. Leftover from 2008-12-21.
67477 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
67479         init.sh: work around trap limitation of some shells
67480         * tests/init.sh (setup_): Move exit trap outside of shell function.
67482 2010-07-29  Eric Blake  <eblake@redhat.com>
67484         strtod: aid debugging
67485         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
67486         understanding why strtod is rejected.
67488 2010-07-28  Bruno Haible  <bruno@clisp.org>
67490         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
67491         * lib/unistr/u8-chr.c: Include <string.h>.
67492         * tests/unistr/test-u8-chr.c: Likewise.
67493         * tests/unistr/test-u16-chr.c: Likewise.
67494         * tests/unistr/test-u32-chr.c: Likewise.
67495         * tests/unistr/test-u8-strchr.c: Likewise.
67496         * tests/unistr/test-u16-strchr.c: Likewise.
67497         * tests/unistr/test-u32-strchr.c: Likewise.
67498         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
67499         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
67500         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
67501         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
67503 2010-07-28  Bruno Haible  <bruno@clisp.org>
67505         Use spaces for indentation, not tabs.
67506         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
67508 2010-07-27  Bruno Haible  <bruno@clisp.org>
67510         mbspcasecmp: Fix function specification.
67511         * lib/string.in.h (mbspcasecmp): Fix specification comment.
67512         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
67513         Reported by Eric Blake <eblake@redhat.com>.
67515 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
67517         timespec: use cast and not conditional, as truncation isn't possible
67518         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
67519         instead of a conditional.  Comment about the situation in more detail.
67520         This undoes most of the 2009-10-29 patch.
67522 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
67524         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
67525         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
67526         * lib/unistr/u8-strchr.c: Likewise.
67527         * modules/unistr/u8-chr: Depend on memchr.
67529         unistr/u*-strchr: add tests
67530         * modules/unistr/u8-strchr-tests: New file.
67531         * modules/unistr/u16-strchr-tests: New file.
67532         * modules/unistr/u32-strchr-tests: New file.
67533         * tests/unistr/test-strchr.h: New file.
67534         * tests/unistr/test-u8-strchr.c: New file.
67535         * tests/unistr/test-u16-strchr.c: New file.
67536         * tests/unistr/test-u32-strchr.c: New file.
67538         unistr/u*-chr: test multibyte sequences more
67539         * tests/unistr/test-chr.h: Do complete testing of the characters in the
67540         test vector.
67541         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
67542         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
67543         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
67545         unistr/u*-chr: test multibyte sequences
67546         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
67548         unistr/u*-chr: prepare for multibyte tests
67549         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
67550         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
67551         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
67552         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
67553         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
67554         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
67556 2010-07-18  Bruno Haible  <bruno@clisp.org>
67558         unistr/u8-strchr: Optimize non-ASCII argument case.
67559         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
67560         because the first byte often matches anyway.
67561         Reported by Pádraig Brady <P@draigbrady.com>.
67563 2010-07-15  Karl Berry  <karl@gnu.org>
67565         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
67567 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
67569         getcwd: on Solaris, work better if ancestors are inaccessible
67570         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
67571         buffer and size, try again with a large buffer.  This works better
67572         on Solaris, since its getcwd succeeds even if the path to the root
67573         is inaccessible, and this is helpful in common cases such as .zfs
67574         hidden directories.  Problem reported by J Chapman Flack in
67575         http://lists.gnu.org/r/bug-tar/2010-06/msg00000.html
67576         Use system getcwd if it's declared, not merely if it's partly
67577         working; use the partly-working test only to avoid needless effort
67578         if the system getcwd fails.
67579         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
67580         comment that was already obsolete and is now even more obsolete.
67581         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
67582         now might call strdup.
67584 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
67586         pthread: Add enough so that coreutils/src/sort.c compiles.
67587         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
67588         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
67589         gnulib. Include <sched.h> and <time.h>, as per POSIX.
67590         Include <sys/types.h>, in case it defines pthread_t.
67591         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
67592         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
67593         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
67594         (pthread_rwlockattr_t, pthread_spinlock_t):
67595         New typedefs, if HAVE_PTHREAD_T is not defined.
67596         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
67597         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
67598         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
67599         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
67600         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
67601         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
67602         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
67603         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
67604         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
67605         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
67606         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
67607         New macros.
67608         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
67609         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
67610         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
67611         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
67612         (pthread_spin_unlock): New dummy functions.
67613         (pthread_create): Return EAGAIN; don't set errno.
67614         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
67615         require AC_C_INLINE.
67616         * modules/pthread (Depends-on): Add sched, time.
67617         (pthread.h): Use AM_V_GEN.
67619 2010-07-13  Bruno Haible  <bruno@clisp.org>
67621         striconveh: Don't malloc memory if the result buffer is sufficient.
67622         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
67623         buffer if its size is sufficient.
67624         Reported by Ludovic Courtès <ludo@gnu.org>.
67626 2010-07-13  Bruno Haible  <bruno@clisp.org>
67628         strtod: Add safety check.
67629         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
67631 2010-07-12  Bruno Haible  <bruno@clisp.org>
67633         Unify tests that set gl_cv_func_ldexpl_no_libm.
67634         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
67635         gl_FUNC_LDEXPL.
67636         (gl_FUNC_LDEXPL): Invoke it.
67637         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
67639 2010-07-12  Bruno Haible  <bruno@clisp.org>
67641         Unify tests that set gl_cv_func_ldexp_no_libm.
67642         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
67643         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
67644         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
67645         (configure.ac): Simply invoke gl_FUNC_LDEXP.
67646         * modules/strtod (Files): Add m4/ldexp.m4.
67648 2010-07-12  Bruno Haible  <bruno@clisp.org>
67650         Unify tests that set gl_cv_func_frexpl_no_libm.
67651         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
67652         gl_FUNC_FREXPL_NO_LIBM.
67653         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
67654         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
67656 2010-07-12  Bruno Haible  <bruno@clisp.org>
67658         Unify tests that set gl_cv_func_frexp_no_libm.
67659         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
67660         gl_FUNC_FREXP_NO_LIBM.
67661         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
67662         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
67664 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
67666         memcoll: clarify sizes versus lengths, document better, and tweak perf
67667         * lib/memcoll.c (strcoll_loop, memcoll0):
67668         Improve quality of descriptive comments.  Name variables
67669         consistently as to whether they are lengths (which do not include
67670         terminating null) versus sizes (which do).
67671         * lib/xmemcoll.c (xmemcoll0): Likewise.
67672         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
67673         returned when s1size == 0; this is easier to compile and saves
67674         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
67676 2010-07-12  Bruno Haible  <bruno@clisp.org>
67678         Tests for module '_Exit'.
67679         * modules/_Exit-tests: New file.
67680         * tests/test-_Exit.sh: New file.
67681         * tests/test-_Exit.c: New file.
67683         New module '_Exit'.
67684         * lib/stdlib.in.h (__attribute__): New macro.
67685         (_Exit): New declaration.
67686         * lib/_Exit.c: New file.
67687         * m4/_Exit.m4: New file.
67688         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
67689         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
67690         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
67691         * modules/_Exit: New file.
67692         * tests/test-stdlib-c++.cc (_Exit): Check signature.
67693         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
67695 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
67697         strtod: make it more-accurate typically, and don't require libm
67698         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
67699         Include limits.h.  Don't include string.h.
67700         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
67701         (locale_isspace): New function, so that no casts are needed to
67702         check whether *s is a space.
67703         (ldexp): Provide an unused dummy if not available.
67704         (scale_radix_exp, parse_number, underlying_strtod): New functions.
67705         (strtod): Use them.  This implementation prefers to use the
67706         underlying strtod if available, falling back on our own code
67707         only to fix known bugs.  This is more likely to produce an
67708         accurate result.  Also, it avoids the use of libm functions.
67709         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
67710         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
67711         was absent, but it caused a test failure with coreutils.
67712         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
67713         with libm.
67714         * modules/strtod (Makefile.am, Link): libm is no longer needed.
67715         * modules/strtod-tests (Makefile.am): Likewise.
67717 2010-07-11  Pádraig Brady  <P@draigBrady.com>
67718             Bruno Haible  <bruno@clisp.org>
67720         unistr/u8-strchr: Optimize ASCII argument case.
67721         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
67723 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
67725         (x)memcoll: minor tweaks
67726         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
67727         is after the type that it qualifies.
67728         (memcoll0): Likewise.
67729         * lib/memcoll.h (memcoll0): Likewise.
67730         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
67731         * lib/xmemcoll.h (xmemcoll0): Likewise.
67732         * lib/memcoll.c (memcoll0): Correct the comment.  This function
67733         differs from memcoll in that the NUL byte is part of the argument.
67734         Omit the abort-checks, as performance is a real issue here.  Plus,
67735         the checks were wrong anyway (an off-by-one error).  Omit local
67736         variable 'diff', as it's a bit clearer that way.
67737         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
67738         no longer needed.
67740 2010-07-08  Chen Guo  <chenguo4@yahoo.com>
67742         (x)memcoll: speedup when input is known to be NUL delimited
67743         * lib/memcoll.c: Include stdlib.
67744         (memcoll0): New function.
67745         (strcoll_loop): New function, refactored for use in both memcoll
67746         and memcoll0.
67747         * lib/memcoll.h (memcoll0): Add prototype.
67748         * lib/xmemcoll.c (xmemcoll0): New function.
67749         (collate_error): New function, refactored for use in both xmemcoll
67750         and xmemcoll0.
67751         * lib/xmemcoll.h (xmemcoll0): Add prototype.
67752         * m4/memcoll.m4: add inline invocation.
67754 2010-07-06  Pádraig Brady  <P@draigBrady.com>
67756         * build-aux/bootstrap: Remove any local translations
67757         from the translation project synchronization directory,
67758         so that local only translations are not distributed.
67760 2010-07-04  Bruno Haible  <bruno@clisp.org>
67762         fsusage: Clarify which code applies to which platforms.
67763         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
67764         platform.
67765         * lib/fsusage.c (get_fs_usage): Likewise.
67767 2010-07-04  Bruno Haible  <bruno@clisp.org>
67769         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
67770         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
67771         Reported by Martin Lambers <marlam@marlam.de>.
67773 2010-07-04  Jim Meyering  <meyering@redhat.com>
67775         hash: once again explicitly disallow insertion of NULL
67776         * lib/hash.c (hash_insert0): Reinstate just-removed test:
67777         inserting a NULL pointer cannot work with these functions.
67778         Add a comment with details.
67779         This reverts part of the 2010-07-01 commit, 5bef1a35
67780         "hash: extend module to deal with non-pointer keys".
67782 2010-07-01  Bruno Haible  <bruno@clisp.org>
67784         stdbool: Update doc.
67785         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
67786         Info from Christian Weisgerber <naddy@mips.inka.de>.
67788 2010-07-01  Jim Meyering  <meyering@redhat.com>
67790         hash: extend module to deal with non-pointer keys
67791         * lib/hash.c (hash_insert0): New interface, much like hash_insert
67792         but that allows insertion of non-pointer entries.
67793         Do not disallow an ENTRY value of NULL.
67794         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
67795         * lib/hash.h (hash_insert0): Declare.
67797 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
67799         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
67800         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
67801         not present (i.e. with autoconf 2.59 and when using gettextize, not
67802         gnulib), require AC_GNU_SOURCE instead.
67804 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
67806         idpriv-drop: Fix tests.
67807         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
67808         not to the test-idpriv-droptemp program.
67810 2010-06-29  Bruno Haible  <bruno@clisp.org>
67812         string: Fix syntax error with g++ 2.96.
67813         * lib/string.in.h (__pure__): Remove definition.
67814         (_GL_ATTRIBUTE_PURE): New macro.
67815         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
67816         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
67817         Reported by Christian Weisgerber <naddy@mips.inka.de>.
67819 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
67821         unitypes: Fix bug introduced on 2010-05-18.
67822         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
67824 2010-06-22  Eric Blake  <eblake@redhat.com>
67826         memmem: slight optimization
67827         * lib/str-two-way.h (critical_factorization): Update comments.
67828         Reduce work during factorization phase.
67829         Reported by Carlos Bueno <carlos@bueno.org>.
67831 2010-06-21  Bruno Haible  <bruno@clisp.org>
67833         Fix HAVE_CALLOC_POSIX misnomer.
67834         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
67835         !HAVE_CALLOC_POSIX.
67836         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
67837         HAVE_CALLOC_POSIX.
67838         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
67839         instead of HAVE_CALLOC_POSIX.
67840         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
67841         HAVE_CALLOC_POSIX.
67843         Use modern idiom for calloc() replacement.
67844         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
67845         AC_FUNC_CALLOC.
67846         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
67847         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
67848         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
67849         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
67850         (gl_REPLACE_CALLOC): New macro.
67852 2010-06-21  Bruno Haible  <bruno@clisp.org>
67854         Fix HAVE_REALLOC_POSIX misnomer.
67855         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
67856         !HAVE_REALLOC_POSIX.
67857         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
67858         HAVE_REALLOC_POSIX.
67859         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
67860         instead of HAVE_REALLOC_POSIX.
67861         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
67862         HAVE_REALLOC_POSIX.
67864         Use modern idiom for realloc() replacement.
67865         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
67866         AC_FUNC_REALLOC.
67867         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
67868         Autoconf's AC_FUNC_REALLOC.
67869         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
67870         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
67871         (gl_REPLACE_REALLOC): New macro.
67872         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
67874 2010-06-21  Bruno Haible  <bruno@clisp.org>
67876         Fix HAVE_MALLOC_POSIX misnomer.
67877         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
67878         !HAVE_MALLOC_POSIX.
67879         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
67880         HAVE_MALLOC_POSIX.
67881         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
67882         instead of HAVE_MALLOC_POSIX.
67883         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
67884         HAVE_MALLOC_POSIX.
67886         Use modern idiom for malloc() replacement.
67887         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
67888         AC_FUNC_MALLOC.
67889         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
67890         Autoconf's AC_FUNC_MALLOC.
67891         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
67892         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
67893         (gl_REPLACE_MALLOC): New macro.
67894         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
67896 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
67898         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
67899         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
67900         This macro takes 3 arguments, not 4.
67902 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
67904         ipv6: fix detection under mingw
67905         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
67906         in6_addr.
67908 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
67910         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
67911         that strtod() works when cross-compiling to a glibc version known
67912         to work.
67914 2010-06-15  Bruno Haible  <bruno@clisp.org>
67916         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
67918 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
67920         select: Correct timeout.
67921         * lib/select.c (rpl_select): Compute wait_timeout correctly.
67923 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
67925         git-version-gen: init shell var to avoid env var influence
67926         * build-aux/git-version-gen (v): Init shell var to empty.
67928 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
67930         priv-set: Don't assume that priv.h exists merely because getppriv does.
67931         See Jan Andersen's bug report about AIX 5L in
67932         http://lists.gnu.org/r/bug-tar/2010-06/msg00019.html
67933         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
67934         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
67935         * lib/priv-set.h: Likewise.
67936         * tests/test-priv-set.c: Likewise.
67938 2010-06-13  Bruno Haible  <bruno@clisp.org>
67940         relocatable: Make it easier to test whether to install wrappers.
67941         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
67942         RELOCATABLE_VIA_WRAPPER.
67944 2010-06-13  Bruno Haible  <bruno@clisp.org>
67946         gnulib-tool: Display specified modules and dependencies differently.
67947         * gnulib-tool (func_show_module_list): New function.
67948         (func_import, func_create_testdir): Invoke it.
67949         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
67951 2010-06-13  Bruno Haible  <bruno@clisp.org>
67953         gnulib-tool: Align code of func_import and func_create_testdir.
67954         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
67955         specified_modules.
67957 2010-06-12  Jim Meyering  <meyering@redhat.com>
67959         test-inttostr: avoid spurious failure on Solaris 9
67960         * tests/test-inttostr.c (main): Skip the test when snprintf fails
67961         to accept "%ju".  Reported by Bruno Haible.
67963 2010-06-11  Jim Meyering  <meyering@redhat.com>
67965         test-sys_socket: mark variables as used more readably
67966         * tests/test-sys_socket.c (main): Mark otherwise unused variables
67967         as "used" explicitly via (void) statement casts.  This is more
67968         readable than using them in an artificial return expression.
67969         Suggestion from Bruno Haible.
67971 2010-06-11  Bruno Haible  <bruno@clisp.org>
67973         Avoid some more warnings from "gcc -Wwrite-strings".
67974         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
67975         to 'const char *'.
67976         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
67977         * tests/test-c-strcasestr.c (main): Likewise.
67978         * tests/test-mbscasestr1.c (main): Likewise.
67979         * tests/test-mbscasestr2.c (main): Likewise.
67980         * tests/test-memmem.c (main): Likewise.
67981         * tests/test-strstr.c (main): Likewise.
67982         * tests/test-strcasestr.c (main): Likewise.
67984 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67986         init.sh: change framework_failure_ to fail with status 99, not 1
67987         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
67988         automake's parallel-tests rule that this is an unexpected failure,
67989         even if the test is listed in XFAIL_TESTS.
67991 2010-06-11  Jim Meyering  <meyering@redhat.com>
67993         test-inttostr: avoid warnings about 4-6KB literal strings
67994         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
67995         Include "macros.h", for its definition of ASSERT.
67996         (CK): s/assert/ASSERT/
67997         * modules/inttostr-tests (Files): Add macros.h.
67999         init.sh: don't use $ME_ or skip_ before they are defined
68000         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
68001         their first uses.  Also hoist their companions: warn_, fail_,
68002         framework_failure_, $stderr_fileno.  Prompted by a patch from
68003         Stefano Lattarini.
68005         test-sys_socket: avoid set-but-not-used warnings from gcc
68006         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
68007         avoid warning about set-but-not-used variables.
68009         test-xvasprintf: avoid 'const' discard warnings
68010         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
68011         "const" when assigning from literal strings.
68012         (test_xasprintf): Add "void" in function argument list to placate
68013         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
68015         tests: avoid compilation warnings in argmatch and exclude tests...
68016         in packages that define ARGMATCH_DIE_DECL, like coreutils.
68017         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
68018         Since it always exits, declare with the "noreturn" attribute.
68019         * tests/test-argmatch.c: Likewise.
68021         tests: avoid 'const' discard warnings in mbsstr tests
68022         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
68023         * tests/test-mbsstr2.c (main): Likewise.
68025         test-verify: avoid warning from gcc's -Wmissing-declarations
68026         * tests/test-verify.c (function): Declare to be static.
68028         test-inttostr.c: include <string.h> for use of strcmp
68029         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
68031         test-linkat: avoid failed assertion on "other" architectures
68032         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
68033         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
68034         sparc: https://bugs.launchpad.net/bugs/591968
68036 2010-06-11  Jim Meyering  <meyering@redhat.com>
68038         printf.m4: avoid autoconf's "Expanded Before Required" warning
68039         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
68040         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
68041         autoconf warning.
68043 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
68045         Replacement header templates are now named with ".in", not "_".
68046         * doc/gnulib-intro.texi: Correct.
68048 2010-06-10  Jim Meyering  <meyering@redhat.com>
68050         inttostr-tests: depend on snprintf, not snprintf-posix
68051         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
68052         snprintf-posix, to avoid this aclocal failure:
68053           missing file gnulib-tests/vasnprintf.c
68054           configure.ac:45: error: expected source file, required through \
68055           AC_LIBSOURCES, not found
68057 2010-06-10  Jim Meyering  <meyering@redhat.com>
68059         inttostr: add a new function, inttostr, and tests
68060         The namesake function was not available.  The existence of the
68061         template file, inttostr.c makes its addition nontrivial.
68062         * lib/anytostr.c: Rename from inttostr.c.
68063         (anytostr): Rename from inttostr.
68064         * lib/inttostr.c: New file.
68065         * modules/inttostr (Files): Add anytostr.c.
68066         (Makefile.am): Set lib_SOURCES instead of ...
68067         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
68068         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
68069         * lib/offtostr.c: Likewise.
68070         * lib/uinttostr.c: Likewise.
68071         * lib/umaxtostr.c: Likewise.
68072         * modules/inttostr-tests: New file.
68073         * tests/test-inttostr.c: New file.  Test these functions.
68075 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
68076             Bruno Haible  <bruno@clisp.org>
68078         Add "Extending Gnulib" chapter to manual.
68079         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
68080         chapter.
68081         (Extending Gnulib): New chapter.
68082         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
68083         chapter.
68085 2010-06-09  Bruno Haible  <bruno@clisp.org>
68087         Avoid relocwrapper link errors due to gnulib replacement functions.
68088         * lib/areadlink.c: Use the system's malloc, realloc functions.
68089         (areadlink): Set errno to ENOMEM explicitly.
68090         * modules/areadlink (Depends-on): Remove malloc-posix.
68091         Reported by Ben Pfaff <blp@cs.stanford.edu>.
68093 2010-06-09  Bruno Haible  <bruno@clisp.org>
68095         Avoid relocwrapper link errors due to gnulib replacement functions.
68096         * lib/canonicalize-lgpl.c: Use the system's malloc function.
68097         * lib/malloca.c: Likewise.
68098         * lib/relocatable.c: Likewise.
68099         * lib/progreloc.c: Use the system's malloc, sprintf functions.
68100         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
68101         * lib/setenv.c: Use the system's malloc, realloc functions.
68102         * lib/strerror.c: Use the system's sprintf function.
68103         Reported by Ben Pfaff <blp@cs.stanford.edu>.
68105 2010-06-04  Bruno Haible  <bruno@clisp.org>
68107         Prefer documented low-level autoconf macro names.
68108         * m4/lib-link.m4: Use m4_translit instead of translit.
68109         * m4/environ.m4: Likewise.
68110         * m4/mathfunc.m4: Likewise.
68111         * m4/onceonly.m4: Likewise.
68112         * m4/stdint.m4: Likewise.
68113         Suggested by Eric Blake.
68115 2010-06-04  Martin Lambers  <marlam@marlam.de>
68116             Bruno Haible  <bruno@clisp.org>
68118         havelib: Allow library names with '+' characters.
68119         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
68120         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
68122 2010-06-09  Bruno Haible  <bruno@clisp.org>
68124         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
68125         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
68126         realloc failed.
68128 2010-06-08  Peter Simons  <simons@cryp.to>
68130         maint.mk: make the news-check rule more configurable
68131         * top/maint.mk (news-check-lines-spec): New variable.
68132         (news-check): Use "sed -n 1,10p" in place of "head".
68134 2010-06-07  Jim Meyering  <meyering@redhat.com>
68136         do-release-commit-and-tag: fix typo in --help
68137         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
68139         regex: avoid new dead-code warning with gcc-4.6.0
68140         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
68141         if-block containing a while-loop.  It's been unused for at least
68142         5 years.
68144 2010-06-05  Bruno Haible  <bruno@clisp.org>
68146         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
68147         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
68149 2010-06-04  Bruno Haible  <bruno@clisp.org>
68151         Update to GNU gettext 0.18.1.
68152         * modules/gettext (configure.ac): Require gettext infrastructure from
68153         version 0.18.1.
68155 2010-06-03  Bruno Haible  <bruno@clisp.org>
68157         Don't use AC_LIBOBJ with file names in subdirectories.
68158         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
68159         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
68160         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
68161         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
68162         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
68163         gl_LIBUNISTRING_LIBSOURCE.
68164         (Makefile.am): Augment lib_SOURCES here, conditionally.
68165         * NEWS: Drop requirement for Automake option 'subdir-objects'.
68167 2010-06-03  Bruno Haible  <bruno@clisp.org>
68169         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
68170         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
68171         expansion does not end with a newline.
68172         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
68173         unnecessary newline.
68175 2010-06-03  Bruno Haible  <bruno@clisp.org>
68177         Reduce dependencies.
68178         * tests/test-quotearg.h: New file, extracted from
68179         tests/test-quotearg.c.
68180         * tests/test-quotearg-simple.c: New file, extracted from
68181         tests/test-quotearg.c.
68182         * tests/test-quotearg.c: Don't include <ctype.h>.
68183         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
68184         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
68185         use_quote_double_quotes, use_quotearg_colon): Moved to
68186         tests/test-quotearg.h.
68187         (results_g, flag_results, custom_quotes, custom_results): Moved
68188         to tests/test-quotearg-simple.c.
68189         (main): Moved the part that does not depend on gettext to
68190         tests/test-quotearg-simple.c. Return 77 if the test cannot be
68191         performed.
68192         * modules/quotearg-simple: New file.
68193         * modules/quotearg-simple-tests: New file.
68194         * modules/quotearg (Depends-on): Add quotearg-simple.
68195         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
68196         (Files): Add tests/test-quotearg.h.
68197         Reported by Paolo Bonzini.
68199 2010-06-03  Bruno Haible  <bruno@clisp.org>
68201         Reduce dependencies.
68202         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
68204 2010-06-03  Bruno Haible  <bruno@clisp.org>
68206         time: Undefine more broken macros.
68207         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
68208         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
68209         Reported by Eric Blake.
68211 2010-06-03  Bruno Haible  <bruno@clisp.org>
68213         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
68214         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
68215         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
68216         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
68217         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
68218         Reported by Ludovic Courtès <ludo@gnu.org>.
68220 2010-06-02  Eric Blake  <eblake@redhat.com>
68222         time: work with mingw + pthreads-win32 library
68223         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
68224         if timespec is defined only in pthread.h.
68225         * modules/time (Makefile.am): Substitute it.
68226         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
68227         <pthread.h>, when needed.
68228         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
68229         from the library.
68231 2010-05-31  Bruno Haible  <bruno@clisp.org>
68233         Avoid expanding two macros in the wrong order.
68234         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
68235         gl_LIBUNISTRING if it is defined.
68236         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
68237         autoconf >= 2.64.
68238         Reported by Ludovic Courtès <ludo@gnu.org>.
68240 2010-05-27  Jim Meyering  <meyering@redhat.com>
68242         maint.mk: also prohibit "#undef" of always-defined symbols
68243         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
68244         Allow more than one space before the symbol name.
68245         (sc_prohibit_always-defined_macros): Use grep's -E, now that
68246         the regexp uses alternation.
68248 2010-05-26  Eric Blake  <eblake@redhat.com>
68250         maint.mk: avoid echo -e
68251         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
68252         Convert all uses of echo -* to printf.
68253         Reported by Matthias Bolte.
68255 2010-05-25  Bruno Haible  <bruno@clisp.org>
68257         Update to GNU gettext 0.18, part 2.
68258         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
68259         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
68261 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68263         Add missing include in test-pwrite.c.
68264         * tests/test-pwrite.c: Include string.h, for strcmp.
68266 2010-05-24  Bruno Haible  <bruno@clisp.org>
68268         * NEWS: Mention requirement for Automake option 'subdir-objects'.
68270 2010-05-24  Bruno Haible  <bruno@clisp.org>
68272         Don't use conversion with transliteration in u{8,16,32}_strcoll.
68273         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
68274         iconveh_error argument.
68275         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
68276         U_STRCONV_TO_LOCALE.
68277         * lib/unistr/u16-strcoll.c: Likewise.
68278         * lib/unistr/u32-strcoll.c: Likewise.
68279         * modules/unistr/u8-strcoll (Depends-on): Add
68280         uniconv/u8-strconv-to-enc, localcharset. Remove
68281         uniconv/u8-strconv-to-locale.
68282         (configure.ac): Bump version number.
68283         * modules/unistr/u16-strcoll (Depends-on): Add
68284         uniconv/u16-strconv-to-enc, localcharset. Remove
68285         uniconv/u16-strconv-to-locale.
68286         (configure.ac): Bump version number.
68287         * modules/unistr/u32-strcoll (Depends-on): Add
68288         uniconv/u32-strconv-to-enc, localcharset. Remove
68289         uniconv/u32-strconv-to-locale.
68290         (configure.ac): Bump version number.
68292 2010-05-24  Bruno Haible  <bruno@clisp.org>
68294         Avoid a test failure on NetBSD 5.0.
68295         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
68296         an iconv() bug.
68298 2010-05-24  Bruno Haible  <bruno@clisp.org>
68300         Adjust #include directive style.
68301         * modules/regex (Includes): Recommend to write <regex.h>.
68303 2010-05-24  Bruno Haible  <bruno@clisp.org>
68305         regex: Don't require alloca.
68306         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
68307         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
68308         only inside if (0).
68310 2010-05-23  Jim Meyering  <meyering@redhat.com>
68312         test-renameat.c: include <sys/stat.h>
68313         * tests/test-renameat.c: Include <sys/stat.h>; required for
68314         definition of S_IS* macros.
68316 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
68318         Update maintainer documentation for 'relocatable-prog' module.
68319         * doc/relocatable-maint.texi: Update.
68320         Comments by Bruno Haible.
68322 2010-05-23  Bruno Haible  <bruno@clisp.org>
68324         git-merge-changelog: Enable --split-merged-entry by default.
68325         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
68326         (usage): Don't mention this option any more.
68327         Reported by Ralf Wildenhues.
68329 2010-05-23  Jim Meyering  <meyering@redhat.com>
68331         test-pwrite: do not leave behind a test file named "out"
68332         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
68333         The trivial-looking use of init.sh is really necessary.
68334         It ensures that the temporary file, "out", is created in
68335         a temporary directory, and removed upon termination.
68336         * tests/test-pwrite.sh: Re-add file.
68337         * modules/pwrite-tests: Reference it.
68339 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68341         Fix output redirection buglet in init.sh.
68342         * tests/init.sh: Fix redirection of stderr.
68344 2010-05-20  Simon Josefsson  <simon@josefsson.org>
68346         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
68348 2010-05-17  Simon Josefsson  <simon@josefsson.org>
68350         * modules/valgrind-tests: New file.
68351         * m4/valgrind-tests.m4: New file.
68352         * doc/valgrind-tests.texi: New file.
68353         * doc/gnulib.texi (Running self-tests under valgrind): New
68354         section.
68356 2010-05-19  Bruno Haible  <bruno@clisp.org>
68358         Clean up dead code in recent commit.
68359         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
68360         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
68361         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
68362         Suggested by Paolo Bonzini.
68364 2010-05-19  Bruno Haible  <bruno@clisp.org>
68366         Avoid valgrind error reports from libunistring.
68367         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
68368         * modules/libunistring (Files): Add it.
68369         * modules/libunistring-optional (Files): Likewise.
68371 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
68372             Bruno Haible  <bruno@clisp.org>
68374         New module 'libunistring-optional'.
68375         * modules/libunistring-optional: New file.
68376         * m4/libunistring-base.m4: New file.
68377         * m4/libunistring-optional.m4: New file.
68378         * lib/unicase.in.h: Renamed from lib/unicase.h.
68379         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
68380         * lib/unictype.in.h: Renamed from lib/unictype.h.
68381         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
68382         * lib/uniname.in.h: Renamed from lib/uniname.h.
68383         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
68384         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
68385         * lib/unistr.in.h: Renamed from lib/unistr.h.
68386         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
68387         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
68388         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
68389         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
68390         gl_LIBUNISTRING. If the library was found, determine the installed
68391         version and set LIBUNISTRING_VERSION.
68392         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
68393         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
68394         handle a configuration option --with-included-libunistring.
68395         * modules/libunistring (Files): Add m4/absolute-header.m4.
68396         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
68397         Add m4/libunistring-base.m4.
68398         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
68399         (Makefile.am): Build unicase.h from unicase.in.h.
68400         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
68401         Add m4/libunistring-base.m4.
68402         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
68403         (Makefile.am): Build uniconv.h from uniconv.in.h.
68404         * modules/unictype/base (Files): Use unictype.in.h instead of
68405         unictype.h. Add m4/libunistring-base.m4.
68406         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
68407         (Makefile.am): Build unictype.h from unictype.in.h.
68408         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
68409         Add m4/libunistring-base.m4.
68410         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
68411         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
68412         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
68413         Add m4/libunistring-base.m4.
68414         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
68415         (Makefile.am): Build uniname.h from uniname.in.h.
68416         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
68417         Add m4/libunistring-base.m4.
68418         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
68419         (Makefile.am): Build uninorm.h from uninorm.in.h.
68420         * modules/unistdio/base (Files): Use unistdio.in.h instead of
68421         unistdio.h. Add m4/libunistring-base.m4.
68422         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
68423         (Makefile.am): Build unistdio.h from unistdio.in.h.
68424         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
68425         Add m4/libunistring-base.m4.
68426         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
68427         (Makefile.am): Build unistr.h from unistr.in.h.
68428         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
68429         Add m4/libunistring-base.m4.
68430         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
68431         (Makefile.am): Build unitypes.h from unitypes.in.h.
68432         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
68433         Add m4/libunistring-base.m4.
68434         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
68435         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
68436         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
68437         uniwidth.h. Add m4/libunistring-base.m4.
68438         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
68439         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
68440         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
68441         instead of augmenting lib_SOURCES.
68442         * modules/unicase/empty-suffix-context: Likewise.
68443         * modules/unicase/locale-language: Likewise.
68444         * modules/unicase/tolower: Likewise.
68445         * modules/unicase/totitle: Likewise.
68446         * modules/unicase/toupper: Likewise.
68447         * modules/unicase/u8-casecmp: Likewise.
68448         * modules/unicase/u8-casecoll: Likewise.
68449         * modules/unicase/u8-casefold: Likewise.
68450         * modules/unicase/u8-casexfrm: Likewise.
68451         * modules/unicase/u8-ct-casefold: Likewise.
68452         * modules/unicase/u8-ct-tolower: Likewise.
68453         * modules/unicase/u8-ct-totitle: Likewise.
68454         * modules/unicase/u8-ct-toupper: Likewise.
68455         * modules/unicase/u8-is-cased: Likewise.
68456         * modules/unicase/u8-is-casefolded: Likewise.
68457         * modules/unicase/u8-is-lowercase: Likewise.
68458         * modules/unicase/u8-is-titlecase: Likewise.
68459         * modules/unicase/u8-is-uppercase: Likewise.
68460         * modules/unicase/u8-prefix-context: Likewise.
68461         * modules/unicase/u8-suffix-context: Likewise.
68462         * modules/unicase/u8-tolower: Likewise.
68463         * modules/unicase/u8-totitle: Likewise.
68464         * modules/unicase/u8-toupper: Likewise.
68465         * modules/unicase/u16-casecmp: Likewise.
68466         * modules/unicase/u16-casecoll: Likewise.
68467         * modules/unicase/u16-casefold: Likewise.
68468         * modules/unicase/u16-casexfrm: Likewise.
68469         * modules/unicase/u16-ct-casefold: Likewise.
68470         * modules/unicase/u16-ct-tolower: Likewise.
68471         * modules/unicase/u16-ct-totitle: Likewise.
68472         * modules/unicase/u16-ct-toupper: Likewise.
68473         * modules/unicase/u16-is-cased: Likewise.
68474         * modules/unicase/u16-is-casefolded: Likewise.
68475         * modules/unicase/u16-is-lowercase: Likewise.
68476         * modules/unicase/u16-is-titlecase: Likewise.
68477         * modules/unicase/u16-is-uppercase: Likewise.
68478         * modules/unicase/u16-prefix-context: Likewise.
68479         * modules/unicase/u16-suffix-context: Likewise.
68480         * modules/unicase/u16-tolower: Likewise.
68481         * modules/unicase/u16-totitle: Likewise.
68482         * modules/unicase/u16-toupper: Likewise.
68483         * modules/unicase/u32-casecmp: Likewise.
68484         * modules/unicase/u32-casecoll: Likewise.
68485         * modules/unicase/u32-casefold: Likewise.
68486         * modules/unicase/u32-casexfrm: Likewise.
68487         * modules/unicase/u32-ct-casefold: Likewise.
68488         * modules/unicase/u32-ct-tolower: Likewise.
68489         * modules/unicase/u32-ct-totitle: Likewise.
68490         * modules/unicase/u32-ct-toupper: Likewise.
68491         * modules/unicase/u32-is-cased: Likewise.
68492         * modules/unicase/u32-is-casefolded: Likewise.
68493         * modules/unicase/u32-is-lowercase: Likewise.
68494         * modules/unicase/u32-is-titlecase: Likewise.
68495         * modules/unicase/u32-is-uppercase: Likewise.
68496         * modules/unicase/u32-prefix-context: Likewise.
68497         * modules/unicase/u32-suffix-context: Likewise.
68498         * modules/unicase/u32-tolower: Likewise.
68499         * modules/unicase/u32-totitle: Likewise.
68500         * modules/unicase/u32-toupper: Likewise.
68501         * modules/unicase/ulc-casecmp: Likewise.
68502         * modules/unicase/ulc-casecoll: Likewise.
68503         * modules/unicase/ulc-casexfrm: Likewise.
68504         * modules/uniconv/u8-conv-from-enc: Likewise.
68505         * modules/uniconv/u8-conv-to-enc: Likewise.
68506         * modules/uniconv/u8-strconv-from-enc: Likewise.
68507         * modules/uniconv/u8-strconv-from-locale: Likewise.
68508         * modules/uniconv/u8-strconv-to-enc: Likewise.
68509         * modules/uniconv/u8-strconv-to-locale: Likewise.
68510         * modules/uniconv/u16-conv-from-enc: Likewise.
68511         * modules/uniconv/u16-conv-to-enc: Likewise.
68512         * modules/uniconv/u16-strconv-from-enc: Likewise.
68513         * modules/uniconv/u16-strconv-from-locale: Likewise.
68514         * modules/uniconv/u16-strconv-to-enc: Likewise.
68515         * modules/uniconv/u16-strconv-to-locale: Likewise.
68516         * modules/uniconv/u32-conv-from-enc: Likewise.
68517         * modules/uniconv/u32-conv-to-enc: Likewise.
68518         * modules/uniconv/u32-strconv-from-enc: Likewise.
68519         * modules/uniconv/u32-strconv-from-locale: Likewise.
68520         * modules/uniconv/u32-strconv-to-enc: Likewise.
68521         * modules/uniconv/u32-strconv-to-locale: Likewise.
68522         * modules/unictype/bidicategory-byname: Likewise.
68523         * modules/unictype/bidicategory-name: Likewise.
68524         * modules/unictype/bidicategory-of: Likewise.
68525         * modules/unictype/bidicategory-test: Likewise.
68526         * modules/unictype/block-list: Likewise.
68527         * modules/unictype/block-test: Likewise.
68528         * modules/unictype/category-C: Likewise.
68529         * modules/unictype/category-Cc: Likewise.
68530         * modules/unictype/category-Cf: Likewise.
68531         * modules/unictype/category-Cn: Likewise.
68532         * modules/unictype/category-Co: Likewise.
68533         * modules/unictype/category-Cs: Likewise.
68534         * modules/unictype/category-L: Likewise.
68535         * modules/unictype/category-Ll: Likewise.
68536         * modules/unictype/category-Lm: Likewise.
68537         * modules/unictype/category-Lo: Likewise.
68538         * modules/unictype/category-Lt: Likewise.
68539         * modules/unictype/category-Lu: Likewise.
68540         * modules/unictype/category-M: Likewise.
68541         * modules/unictype/category-Mc: Likewise.
68542         * modules/unictype/category-Me: Likewise.
68543         * modules/unictype/category-Mn: Likewise.
68544         * modules/unictype/category-N: Likewise.
68545         * modules/unictype/category-Nd: Likewise.
68546         * modules/unictype/category-Nl: Likewise.
68547         * modules/unictype/category-No: Likewise.
68548         * modules/unictype/category-P: Likewise.
68549         * modules/unictype/category-Pc: Likewise.
68550         * modules/unictype/category-Pd: Likewise.
68551         * modules/unictype/category-Pe: Likewise.
68552         * modules/unictype/category-Pf: Likewise.
68553         * modules/unictype/category-Pi: Likewise.
68554         * modules/unictype/category-Po: Likewise.
68555         * modules/unictype/category-Ps: Likewise.
68556         * modules/unictype/category-S: Likewise.
68557         * modules/unictype/category-Sc: Likewise.
68558         * modules/unictype/category-Sk: Likewise.
68559         * modules/unictype/category-Sm: Likewise.
68560         * modules/unictype/category-So: Likewise.
68561         * modules/unictype/category-Z: Likewise.
68562         * modules/unictype/category-Zl: Likewise.
68563         * modules/unictype/category-Zp: Likewise.
68564         * modules/unictype/category-Zs: Likewise.
68565         * modules/unictype/category-and: Likewise.
68566         * modules/unictype/category-and-not: Likewise.
68567         * modules/unictype/category-byname: Likewise.
68568         * modules/unictype/category-name: Likewise.
68569         * modules/unictype/category-none: Likewise.
68570         * modules/unictype/category-of: Likewise.
68571         * modules/unictype/category-or: Likewise.
68572         * modules/unictype/category-test: Likewise.
68573         * modules/unictype/combining-class: Likewise.
68574         * modules/unictype/ctype-alnum: Likewise.
68575         * modules/unictype/ctype-alpha: Likewise.
68576         * modules/unictype/ctype-blank: Likewise.
68577         * modules/unictype/ctype-cntrl: Likewise.
68578         * modules/unictype/ctype-digit: Likewise.
68579         * modules/unictype/ctype-graph: Likewise.
68580         * modules/unictype/ctype-lower: Likewise.
68581         * modules/unictype/ctype-print: Likewise.
68582         * modules/unictype/ctype-punct: Likewise.
68583         * modules/unictype/ctype-space: Likewise.
68584         * modules/unictype/ctype-upper: Likewise.
68585         * modules/unictype/ctype-xdigit: Likewise.
68586         * modules/unictype/decimal-digit: Likewise.
68587         * modules/unictype/digit: Likewise.
68588         * modules/unictype/mirror: Likewise.
68589         * modules/unictype/numeric: Likewise.
68590         * modules/unictype/property-alphabetic: Likewise.
68591         * modules/unictype/property-ascii-hex-digit: Likewise.
68592         * modules/unictype/property-bidi-arabic-digit: Likewise.
68593         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
68594         * modules/unictype/property-bidi-block-separator: Likewise.
68595         * modules/unictype/property-bidi-boundary-neutral: Likewise.
68596         * modules/unictype/property-bidi-common-separator: Likewise.
68597         * modules/unictype/property-bidi-control: Likewise.
68598         * modules/unictype/property-bidi-embedding-or-override: Likewise.
68599         * modules/unictype/property-bidi-eur-num-separator: Likewise.
68600         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
68601         * modules/unictype/property-bidi-european-digit: Likewise.
68602         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
68603         * modules/unictype/property-bidi-left-to-right: Likewise.
68604         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
68605         * modules/unictype/property-bidi-other-neutral: Likewise.
68606         * modules/unictype/property-bidi-pdf: Likewise.
68607         * modules/unictype/property-bidi-segment-separator: Likewise.
68608         * modules/unictype/property-bidi-whitespace: Likewise.
68609         * modules/unictype/property-byname: Likewise.
68610         * modules/unictype/property-combining: Likewise.
68611         * modules/unictype/property-composite: Likewise.
68612         * modules/unictype/property-currency-symbol: Likewise.
68613         * modules/unictype/property-dash: Likewise.
68614         * modules/unictype/property-decimal-digit: Likewise.
68615         * modules/unictype/property-default-ignorable-code-point: Likewise.
68616         * modules/unictype/property-deprecated: Likewise.
68617         * modules/unictype/property-diacritic: Likewise.
68618         * modules/unictype/property-extender: Likewise.
68619         * modules/unictype/property-format-control: Likewise.
68620         * modules/unictype/property-grapheme-base: Likewise.
68621         * modules/unictype/property-grapheme-extend: Likewise.
68622         * modules/unictype/property-grapheme-link: Likewise.
68623         * modules/unictype/property-hex-digit: Likewise.
68624         * modules/unictype/property-hyphen: Likewise.
68625         * modules/unictype/property-id-continue: Likewise.
68626         * modules/unictype/property-id-start: Likewise.
68627         * modules/unictype/property-ideographic: Likewise.
68628         * modules/unictype/property-ids-binary-operator: Likewise.
68629         * modules/unictype/property-ids-trinary-operator: Likewise.
68630         * modules/unictype/property-ignorable-control: Likewise.
68631         * modules/unictype/property-iso-control: Likewise.
68632         * modules/unictype/property-join-control: Likewise.
68633         * modules/unictype/property-left-of-pair: Likewise.
68634         * modules/unictype/property-line-separator: Likewise.
68635         * modules/unictype/property-logical-order-exception: Likewise.
68636         * modules/unictype/property-lowercase: Likewise.
68637         * modules/unictype/property-math: Likewise.
68638         * modules/unictype/property-non-break: Likewise.
68639         * modules/unictype/property-not-a-character: Likewise.
68640         * modules/unictype/property-numeric: Likewise.
68641         * modules/unictype/property-other-alphabetic: Likewise.
68642         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
68643         * modules/unictype/property-other-grapheme-extend: Likewise.
68644         * modules/unictype/property-other-id-continue: Likewise.
68645         * modules/unictype/property-other-id-start: Likewise.
68646         * modules/unictype/property-other-lowercase: Likewise.
68647         * modules/unictype/property-other-math: Likewise.
68648         * modules/unictype/property-other-uppercase: Likewise.
68649         * modules/unictype/property-paired-punctuation: Likewise.
68650         * modules/unictype/property-paragraph-separator: Likewise.
68651         * modules/unictype/property-pattern-syntax: Likewise.
68652         * modules/unictype/property-pattern-white-space: Likewise.
68653         * modules/unictype/property-private-use: Likewise.
68654         * modules/unictype/property-punctuation: Likewise.
68655         * modules/unictype/property-quotation-mark: Likewise.
68656         * modules/unictype/property-radical: Likewise.
68657         * modules/unictype/property-sentence-terminal: Likewise.
68658         * modules/unictype/property-soft-dotted: Likewise.
68659         * modules/unictype/property-space: Likewise.
68660         * modules/unictype/property-terminal-punctuation: Likewise.
68661         * modules/unictype/property-test: Likewise.
68662         * modules/unictype/property-titlecase: Likewise.
68663         * modules/unictype/property-unassigned-code-value: Likewise.
68664         * modules/unictype/property-unified-ideograph: Likewise.
68665         * modules/unictype/property-uppercase: Likewise.
68666         * modules/unictype/property-variation-selector: Likewise.
68667         * modules/unictype/property-white-space: Likewise.
68668         * modules/unictype/property-xid-continue: Likewise.
68669         * modules/unictype/property-xid-start: Likewise.
68670         * modules/unictype/property-zero-width: Likewise.
68671         * modules/unictype/scripts: Likewise.
68672         * modules/unictype/syntax-c-ident: Likewise.
68673         * modules/unictype/syntax-c-whitespace: Likewise.
68674         * modules/unictype/syntax-java-ident: Likewise.
68675         * modules/unictype/syntax-java-whitespace: Likewise.
68676         * modules/unilbrk/u8-possible-linebreaks: Likewise.
68677         * modules/unilbrk/u8-width-linebreaks: Likewise.
68678         * modules/unilbrk/u16-possible-linebreaks: Likewise.
68679         * modules/unilbrk/u16-width-linebreaks: Likewise.
68680         * modules/unilbrk/u32-possible-linebreaks: Likewise.
68681         * modules/unilbrk/u32-width-linebreaks: Likewise.
68682         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
68683         * modules/unilbrk/ulc-width-linebreaks: Likewise.
68684         * modules/uniname/uniname: Likewise.
68685         * modules/uninorm/canonical-decomposition: Likewise.
68686         * modules/uninorm/composition: Likewise.
68687         * modules/uninorm/decomposing-form: Likewise.
68688         * modules/uninorm/decomposition: Likewise.
68689         * modules/uninorm/filter: Likewise.
68690         * modules/uninorm/nfc: Likewise.
68691         * modules/uninorm/nfd: Likewise.
68692         * modules/uninorm/nfkc: Likewise.
68693         * modules/uninorm/nfkd: Likewise.
68694         * modules/uninorm/u8-normalize: Likewise.
68695         * modules/uninorm/u8-normcmp: Likewise.
68696         * modules/uninorm/u8-normcoll: Likewise.
68697         * modules/uninorm/u8-normxfrm: Likewise.
68698         * modules/uninorm/u16-normalize: Likewise.
68699         * modules/uninorm/u16-normcmp: Likewise.
68700         * modules/uninorm/u16-normcoll: Likewise.
68701         * modules/uninorm/u16-normxfrm: Likewise.
68702         * modules/uninorm/u32-normalize: Likewise.
68703         * modules/uninorm/u32-normcmp: Likewise.
68704         * modules/uninorm/u32-normcoll: Likewise.
68705         * modules/uninorm/u32-normxfrm: Likewise.
68706         * modules/unistdio/u8-asnprintf: Likewise.
68707         * modules/unistdio/u8-asprintf: Likewise.
68708         * modules/unistdio/u8-snprintf: Likewise.
68709         * modules/unistdio/u8-sprintf: Likewise.
68710         * modules/unistdio/u8-u8-asnprintf: Likewise.
68711         * modules/unistdio/u8-u8-asprintf: Likewise.
68712         * modules/unistdio/u8-u8-snprintf: Likewise.
68713         * modules/unistdio/u8-u8-sprintf: Likewise.
68714         * modules/unistdio/u8-u8-vasnprintf: Likewise.
68715         * modules/unistdio/u8-u8-vasprintf: Likewise.
68716         * modules/unistdio/u8-u8-vsnprintf: Likewise.
68717         * modules/unistdio/u8-u8-vsprintf: Likewise.
68718         * modules/unistdio/u8-vasnprintf: Likewise.
68719         * modules/unistdio/u8-vasprintf: Likewise.
68720         * modules/unistdio/u8-vsnprintf: Likewise.
68721         * modules/unistdio/u8-vsprintf: Likewise.
68722         * modules/unistdio/u16-asnprintf: Likewise.
68723         * modules/unistdio/u16-asprintf: Likewise.
68724         * modules/unistdio/u16-snprintf: Likewise.
68725         * modules/unistdio/u16-sprintf: Likewise.
68726         * modules/unistdio/u16-u16-asnprintf: Likewise.
68727         * modules/unistdio/u16-u16-asprintf: Likewise.
68728         * modules/unistdio/u16-u16-snprintf: Likewise.
68729         * modules/unistdio/u16-u16-sprintf: Likewise.
68730         * modules/unistdio/u16-u16-vasnprintf: Likewise.
68731         * modules/unistdio/u16-u16-vasprintf: Likewise.
68732         * modules/unistdio/u16-u16-vsnprintf: Likewise.
68733         * modules/unistdio/u16-u16-vsprintf: Likewise.
68734         * modules/unistdio/u16-vasnprintf: Likewise.
68735         * modules/unistdio/u16-vasprintf: Likewise.
68736         * modules/unistdio/u16-vsnprintf: Likewise.
68737         * modules/unistdio/u16-vsprintf: Likewise.
68738         * modules/unistdio/u32-asnprintf: Likewise.
68739         * modules/unistdio/u32-asprintf: Likewise.
68740         * modules/unistdio/u32-snprintf: Likewise.
68741         * modules/unistdio/u32-sprintf: Likewise.
68742         * modules/unistdio/u32-u32-asnprintf: Likewise.
68743         * modules/unistdio/u32-u32-asprintf: Likewise.
68744         * modules/unistdio/u32-u32-snprintf: Likewise.
68745         * modules/unistdio/u32-u32-sprintf: Likewise.
68746         * modules/unistdio/u32-u32-vasnprintf: Likewise.
68747         * modules/unistdio/u32-u32-vasprintf: Likewise.
68748         * modules/unistdio/u32-u32-vsnprintf: Likewise.
68749         * modules/unistdio/u32-u32-vsprintf: Likewise.
68750         * modules/unistdio/u32-vasnprintf: Likewise.
68751         * modules/unistdio/u32-vasprintf: Likewise.
68752         * modules/unistdio/u32-vsnprintf: Likewise.
68753         * modules/unistdio/u32-vsprintf: Likewise.
68754         * modules/unistdio/ulc-asnprintf: Likewise.
68755         * modules/unistdio/ulc-asprintf: Likewise.
68756         * modules/unistdio/ulc-fprintf: Likewise.
68757         * modules/unistdio/ulc-snprintf: Likewise.
68758         * modules/unistdio/ulc-sprintf: Likewise.
68759         * modules/unistdio/ulc-vasnprintf: Likewise.
68760         * modules/unistdio/ulc-vasprintf: Likewise.
68761         * modules/unistdio/ulc-vfprintf: Likewise.
68762         * modules/unistdio/ulc-vsnprintf: Likewise.
68763         * modules/unistdio/ulc-vsprintf: Likewise.
68764         * modules/unistr/u8-check: Likewise.
68765         * modules/unistr/u8-chr: Likewise.
68766         * modules/unistr/u8-cmp: Likewise.
68767         * modules/unistr/u8-cmp2: Likewise.
68768         * modules/unistr/u8-cpy: Likewise.
68769         * modules/unistr/u8-cpy-alloc: Likewise.
68770         * modules/unistr/u8-endswith: Likewise.
68771         * modules/unistr/u8-mblen: Likewise.
68772         * modules/unistr/u8-mbsnlen: Likewise.
68773         * modules/unistr/u8-mbtouc: Likewise.
68774         * modules/unistr/u8-mbtouc-unsafe: Likewise.
68775         * modules/unistr/u8-mbtoucr: Likewise.
68776         * modules/unistr/u8-move: Likewise.
68777         * modules/unistr/u8-next: Likewise.
68778         * modules/unistr/u8-prev: Likewise.
68779         * modules/unistr/u8-set: Likewise.
68780         * modules/unistr/u8-startswith: Likewise.
68781         * modules/unistr/u8-stpcpy: Likewise.
68782         * modules/unistr/u8-stpncpy: Likewise.
68783         * modules/unistr/u8-strcat: Likewise.
68784         * modules/unistr/u8-strchr: Likewise.
68785         * modules/unistr/u8-strcmp: Likewise.
68786         * modules/unistr/u8-strcoll: Likewise.
68787         * modules/unistr/u8-strcpy: Likewise.
68788         * modules/unistr/u8-strcspn: Likewise.
68789         * modules/unistr/u8-strdup: Likewise.
68790         * modules/unistr/u8-strlen: Likewise.
68791         * modules/unistr/u8-strmblen: Likewise.
68792         * modules/unistr/u8-strmbtouc: Likewise.
68793         * modules/unistr/u8-strncat: Likewise.
68794         * modules/unistr/u8-strncmp: Likewise.
68795         * modules/unistr/u8-strncpy: Likewise.
68796         * modules/unistr/u8-strnlen: Likewise.
68797         * modules/unistr/u8-strpbrk: Likewise.
68798         * modules/unistr/u8-strrchr: Likewise.
68799         * modules/unistr/u8-strspn: Likewise.
68800         * modules/unistr/u8-strstr: Likewise.
68801         * modules/unistr/u8-strtok: Likewise.
68802         * modules/unistr/u8-to-u16: Likewise.
68803         * modules/unistr/u8-to-u32: Likewise.
68804         * modules/unistr/u8-uctomb: Likewise.
68805         * modules/unistr/u16-check: Likewise.
68806         * modules/unistr/u16-chr: Likewise.
68807         * modules/unistr/u16-cmp: Likewise.
68808         * modules/unistr/u16-cmp2: Likewise.
68809         * modules/unistr/u16-cpy: Likewise.
68810         * modules/unistr/u16-cpy-alloc: Likewise.
68811         * modules/unistr/u16-endswith: Likewise.
68812         * modules/unistr/u16-mblen: Likewise.
68813         * modules/unistr/u16-mbsnlen: Likewise.
68814         * modules/unistr/u16-mbtouc: Likewise.
68815         * modules/unistr/u16-mbtouc-unsafe: Likewise.
68816         * modules/unistr/u16-mbtoucr: Likewise.
68817         * modules/unistr/u16-move: Likewise.
68818         * modules/unistr/u16-next: Likewise.
68819         * modules/unistr/u16-prev: Likewise.
68820         * modules/unistr/u16-set: Likewise.
68821         * modules/unistr/u16-startswith: Likewise.
68822         * modules/unistr/u16-stpcpy: Likewise.
68823         * modules/unistr/u16-stpncpy: Likewise.
68824         * modules/unistr/u16-strcat: Likewise.
68825         * modules/unistr/u16-strchr: Likewise.
68826         * modules/unistr/u16-strcmp: Likewise.
68827         * modules/unistr/u16-strcoll: Likewise.
68828         * modules/unistr/u16-strcpy: Likewise.
68829         * modules/unistr/u16-strcspn: Likewise.
68830         * modules/unistr/u16-strdup: Likewise.
68831         * modules/unistr/u16-strlen: Likewise.
68832         * modules/unistr/u16-strmblen: Likewise.
68833         * modules/unistr/u16-strmbtouc: Likewise.
68834         * modules/unistr/u16-strncat: Likewise.
68835         * modules/unistr/u16-strncmp: Likewise.
68836         * modules/unistr/u16-strncpy: Likewise.
68837         * modules/unistr/u16-strnlen: Likewise.
68838         * modules/unistr/u16-strpbrk: Likewise.
68839         * modules/unistr/u16-strrchr: Likewise.
68840         * modules/unistr/u16-strspn: Likewise.
68841         * modules/unistr/u16-strstr: Likewise.
68842         * modules/unistr/u16-strtok: Likewise.
68843         * modules/unistr/u16-to-u32: Likewise.
68844         * modules/unistr/u16-to-u8: Likewise.
68845         * modules/unistr/u16-uctomb: Likewise.
68846         * modules/unistr/u32-check: Likewise.
68847         * modules/unistr/u32-chr: Likewise.
68848         * modules/unistr/u32-cmp: Likewise.
68849         * modules/unistr/u32-cmp2: Likewise.
68850         * modules/unistr/u32-cpy: Likewise.
68851         * modules/unistr/u32-cpy-alloc: Likewise.
68852         * modules/unistr/u32-endswith: Likewise.
68853         * modules/unistr/u32-mblen: Likewise.
68854         * modules/unistr/u32-mbsnlen: Likewise.
68855         * modules/unistr/u32-mbtouc: Likewise.
68856         * modules/unistr/u32-mbtouc-unsafe: Likewise.
68857         * modules/unistr/u32-mbtoucr: Likewise.
68858         * modules/unistr/u32-move: Likewise.
68859         * modules/unistr/u32-next: Likewise.
68860         * modules/unistr/u32-prev: Likewise.
68861         * modules/unistr/u32-set: Likewise.
68862         * modules/unistr/u32-startswith: Likewise.
68863         * modules/unistr/u32-stpcpy: Likewise.
68864         * modules/unistr/u32-stpncpy: Likewise.
68865         * modules/unistr/u32-strcat: Likewise.
68866         * modules/unistr/u32-strchr: Likewise.
68867         * modules/unistr/u32-strcmp: Likewise.
68868         * modules/unistr/u32-strcoll: Likewise.
68869         * modules/unistr/u32-strcpy: Likewise.
68870         * modules/unistr/u32-strcspn: Likewise.
68871         * modules/unistr/u32-strdup: Likewise.
68872         * modules/unistr/u32-strlen: Likewise.
68873         * modules/unistr/u32-strmblen: Likewise.
68874         * modules/unistr/u32-strmbtouc: Likewise.
68875         * modules/unistr/u32-strncat: Likewise.
68876         * modules/unistr/u32-strncmp: Likewise.
68877         * modules/unistr/u32-strncpy: Likewise.
68878         * modules/unistr/u32-strnlen: Likewise.
68879         * modules/unistr/u32-strpbrk: Likewise.
68880         * modules/unistr/u32-strrchr: Likewise.
68881         * modules/unistr/u32-strspn: Likewise.
68882         * modules/unistr/u32-strstr: Likewise.
68883         * modules/unistr/u32-strtok: Likewise.
68884         * modules/unistr/u32-to-u16: Likewise.
68885         * modules/unistr/u32-to-u8: Likewise.
68886         * modules/unistr/u32-uctomb: Likewise.
68887         * modules/uniwbrk/u8-wordbreaks: Likewise.
68888         * modules/uniwbrk/u16-wordbreaks: Likewise.
68889         * modules/uniwbrk/u32-wordbreaks: Likewise.
68890         * modules/uniwbrk/ulc-wordbreaks: Likewise.
68891         * modules/uniwbrk/wordbreak-property: Likewise.
68892         * modules/uniwidth/u8-strwidth: Likewise.
68893         * modules/uniwidth/u8-width: Likewise.
68894         * modules/uniwidth/u16-strwidth: Likewise.
68895         * modules/uniwidth/u16-width: Likewise.
68896         * modules/uniwidth/u32-strwidth: Likewise.
68897         * modules/uniwidth/u32-width: Likewise.
68898         * modules/uniwidth/width: Likewise.
68899         * modules/unicase/cased-tests (Makefile.am): Link all test programs
68900         with $(LIBUNISTRING).
68901         * modules/unicase/ignorable-tests: Likewise.
68902         * modules/unicase/locale-language-tests: Likewise.
68903         * modules/unicase/tolower-tests: Likewise.
68904         * modules/unicase/totitle-tests: Likewise.
68905         * modules/unicase/toupper-tests: Likewise.
68906         * modules/unicase/u8-casecmp-tests: Likewise.
68907         * modules/unicase/u8-casecoll-tests: Likewise.
68908         * modules/unicase/u8-casefold-tests: Likewise.
68909         * modules/unicase/u8-is-cased-tests: Likewise.
68910         * modules/unicase/u8-is-casefolded-tests: Likewise.
68911         * modules/unicase/u8-is-lowercase-tests: Likewise.
68912         * modules/unicase/u8-is-titlecase-tests: Likewise.
68913         * modules/unicase/u8-is-uppercase-tests: Likewise.
68914         * modules/unicase/u8-tolower-tests: Likewise.
68915         * modules/unicase/u8-totitle-tests: Likewise.
68916         * modules/unicase/u8-toupper-tests: Likewise.
68917         * modules/unicase/u16-casecmp-tests: Likewise.
68918         * modules/unicase/u16-casecoll-tests: Likewise.
68919         * modules/unicase/u16-casefold-tests: Likewise.
68920         * modules/unicase/u16-is-cased-tests: Likewise.
68921         * modules/unicase/u16-is-casefolded-tests: Likewise.
68922         * modules/unicase/u16-is-lowercase-tests: Likewise.
68923         * modules/unicase/u16-is-titlecase-tests: Likewise.
68924         * modules/unicase/u16-is-uppercase-tests: Likewise.
68925         * modules/unicase/u16-tolower-tests: Likewise.
68926         * modules/unicase/u16-totitle-tests: Likewise.
68927         * modules/unicase/u16-toupper-tests: Likewise.
68928         * modules/unicase/u32-casecmp-tests: Likewise.
68929         * modules/unicase/u32-casecoll-tests: Likewise.
68930         * modules/unicase/u32-casefold-tests: Likewise.
68931         * modules/unicase/u32-is-cased-tests: Likewise.
68932         * modules/unicase/u32-is-casefolded-tests: Likewise.
68933         * modules/unicase/u32-is-lowercase-tests: Likewise.
68934         * modules/unicase/u32-is-titlecase-tests: Likewise.
68935         * modules/unicase/u32-is-uppercase-tests: Likewise.
68936         * modules/unicase/u32-tolower-tests: Likewise.
68937         * modules/unicase/u32-totitle-tests: Likewise.
68938         * modules/unicase/u32-toupper-tests: Likewise.
68939         * modules/unicase/ulc-casecmp-tests: Likewise.
68940         * modules/unicase/ulc-casecoll-tests: Likewise.
68941         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
68942         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
68943         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
68944         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
68945         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
68946         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
68947         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
68948         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
68949         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
68950         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
68951         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
68952         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
68953         * modules/unictype/bidicategory-byname-tests: Likewise.
68954         * modules/unictype/bidicategory-name-tests: Likewise.
68955         * modules/unictype/bidicategory-of-tests: Likewise.
68956         * modules/unictype/bidicategory-test-tests: Likewise.
68957         * modules/unictype/block-list-tests: Likewise.
68958         * modules/unictype/block-of-tests: Likewise.
68959         * modules/unictype/block-test-tests: Likewise.
68960         * modules/unictype/category-C-tests: Likewise.
68961         * modules/unictype/category-Cc-tests: Likewise.
68962         * modules/unictype/category-Cf-tests: Likewise.
68963         * modules/unictype/category-Cn-tests: Likewise.
68964         * modules/unictype/category-Co-tests: Likewise.
68965         * modules/unictype/category-Cs-tests: Likewise.
68966         * modules/unictype/category-L-tests: Likewise.
68967         * modules/unictype/category-Ll-tests: Likewise.
68968         * modules/unictype/category-Lm-tests: Likewise.
68969         * modules/unictype/category-Lo-tests: Likewise.
68970         * modules/unictype/category-Lt-tests: Likewise.
68971         * modules/unictype/category-Lu-tests: Likewise.
68972         * modules/unictype/category-M-tests: Likewise.
68973         * modules/unictype/category-Mc-tests: Likewise.
68974         * modules/unictype/category-Me-tests: Likewise.
68975         * modules/unictype/category-Mn-tests: Likewise.
68976         * modules/unictype/category-N-tests: Likewise.
68977         * modules/unictype/category-Nd-tests: Likewise.
68978         * modules/unictype/category-Nl-tests: Likewise.
68979         * modules/unictype/category-No-tests: Likewise.
68980         * modules/unictype/category-P-tests: Likewise.
68981         * modules/unictype/category-Pc-tests: Likewise.
68982         * modules/unictype/category-Pd-tests: Likewise.
68983         * modules/unictype/category-Pe-tests: Likewise.
68984         * modules/unictype/category-Pf-tests: Likewise.
68985         * modules/unictype/category-Pi-tests: Likewise.
68986         * modules/unictype/category-Po-tests: Likewise.
68987         * modules/unictype/category-Ps-tests: Likewise.
68988         * modules/unictype/category-S-tests: Likewise.
68989         * modules/unictype/category-Sc-tests: Likewise.
68990         * modules/unictype/category-Sk-tests: Likewise.
68991         * modules/unictype/category-Sm-tests: Likewise.
68992         * modules/unictype/category-So-tests: Likewise.
68993         * modules/unictype/category-Z-tests: Likewise.
68994         * modules/unictype/category-Zl-tests: Likewise.
68995         * modules/unictype/category-Zp-tests: Likewise.
68996         * modules/unictype/category-Zs-tests: Likewise.
68997         * modules/unictype/category-and-not-tests: Likewise.
68998         * modules/unictype/category-and-tests: Likewise.
68999         * modules/unictype/category-byname-tests: Likewise.
69000         * modules/unictype/category-name-tests: Likewise.
69001         * modules/unictype/category-none-tests: Likewise.
69002         * modules/unictype/category-of-tests: Likewise.
69003         * modules/unictype/category-or-tests: Likewise.
69004         * modules/unictype/category-test-withtable-tests: Likewise.
69005         * modules/unictype/combining-class-tests: Likewise.
69006         * modules/unictype/ctype-alnum-tests: Likewise.
69007         * modules/unictype/ctype-alpha-tests: Likewise.
69008         * modules/unictype/ctype-blank-tests: Likewise.
69009         * modules/unictype/ctype-cntrl-tests: Likewise.
69010         * modules/unictype/ctype-digit-tests: Likewise.
69011         * modules/unictype/ctype-graph-tests: Likewise.
69012         * modules/unictype/ctype-lower-tests: Likewise.
69013         * modules/unictype/ctype-print-tests: Likewise.
69014         * modules/unictype/ctype-punct-tests: Likewise.
69015         * modules/unictype/ctype-space-tests: Likewise.
69016         * modules/unictype/ctype-upper-tests: Likewise.
69017         * modules/unictype/ctype-xdigit-tests: Likewise.
69018         * modules/unictype/decimal-digit-tests: Likewise.
69019         * modules/unictype/digit-tests: Likewise.
69020         * modules/unictype/mirror-tests: Likewise.
69021         * modules/unictype/numeric-tests: Likewise.
69022         * modules/unictype/property-alphabetic-tests: Likewise.
69023         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
69024         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
69025         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
69026         * modules/unictype/property-bidi-block-separator-tests: Likewise.
69027         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
69028         * modules/unictype/property-bidi-common-separator-tests: Likewise.
69029         * modules/unictype/property-bidi-control-tests: Likewise.
69030         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
69031         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
69032         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
69033         * modules/unictype/property-bidi-european-digit-tests: Likewise.
69034         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
69035         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
69036         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
69037         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
69038         * modules/unictype/property-bidi-pdf-tests: Likewise.
69039         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
69040         * modules/unictype/property-bidi-whitespace-tests: Likewise.
69041         * modules/unictype/property-byname-tests: Likewise.
69042         * modules/unictype/property-combining-tests: Likewise.
69043         * modules/unictype/property-composite-tests: Likewise.
69044         * modules/unictype/property-currency-symbol-tests: Likewise.
69045         * modules/unictype/property-dash-tests: Likewise.
69046         * modules/unictype/property-decimal-digit-tests: Likewise.
69047         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
69048         * modules/unictype/property-deprecated-tests: Likewise.
69049         * modules/unictype/property-diacritic-tests: Likewise.
69050         * modules/unictype/property-extender-tests: Likewise.
69051         * modules/unictype/property-format-control-tests: Likewise.
69052         * modules/unictype/property-grapheme-base-tests: Likewise.
69053         * modules/unictype/property-grapheme-extend-tests: Likewise.
69054         * modules/unictype/property-grapheme-link-tests: Likewise.
69055         * modules/unictype/property-hex-digit-tests: Likewise.
69056         * modules/unictype/property-hyphen-tests: Likewise.
69057         * modules/unictype/property-id-continue-tests: Likewise.
69058         * modules/unictype/property-id-start-tests: Likewise.
69059         * modules/unictype/property-ideographic-tests: Likewise.
69060         * modules/unictype/property-ids-binary-operator-tests: Likewise.
69061         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
69062         * modules/unictype/property-ignorable-control-tests: Likewise.
69063         * modules/unictype/property-iso-control-tests: Likewise.
69064         * modules/unictype/property-join-control-tests: Likewise.
69065         * modules/unictype/property-left-of-pair-tests: Likewise.
69066         * modules/unictype/property-line-separator-tests: Likewise.
69067         * modules/unictype/property-logical-order-exception-tests: Likewise.
69068         * modules/unictype/property-lowercase-tests: Likewise.
69069         * modules/unictype/property-math-tests: Likewise.
69070         * modules/unictype/property-non-break-tests: Likewise.
69071         * modules/unictype/property-not-a-character-tests: Likewise.
69072         * modules/unictype/property-numeric-tests: Likewise.
69073         * modules/unictype/property-other-alphabetic-tests: Likewise.
69074         * modules/unictype/property-other-default-ignorable-code-point-tests:
69075         Likewise.
69076         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
69077         * modules/unictype/property-other-id-continue-tests: Likewise.
69078         * modules/unictype/property-other-id-start-tests: Likewise.
69079         * modules/unictype/property-other-lowercase-tests: Likewise.
69080         * modules/unictype/property-other-math-tests: Likewise.
69081         * modules/unictype/property-other-uppercase-tests: Likewise.
69082         * modules/unictype/property-paired-punctuation-tests: Likewise.
69083         * modules/unictype/property-paragraph-separator-tests: Likewise.
69084         * modules/unictype/property-pattern-syntax-tests: Likewise.
69085         * modules/unictype/property-pattern-white-space-tests: Likewise.
69086         * modules/unictype/property-private-use-tests: Likewise.
69087         * modules/unictype/property-punctuation-tests: Likewise.
69088         * modules/unictype/property-quotation-mark-tests: Likewise.
69089         * modules/unictype/property-radical-tests: Likewise.
69090         * modules/unictype/property-sentence-terminal-tests: Likewise.
69091         * modules/unictype/property-soft-dotted-tests: Likewise.
69092         * modules/unictype/property-space-tests: Likewise.
69093         * modules/unictype/property-terminal-punctuation-tests: Likewise.
69094         * modules/unictype/property-test-tests: Likewise.
69095         * modules/unictype/property-titlecase-tests: Likewise.
69096         * modules/unictype/property-unassigned-code-value-tests: Likewise.
69097         * modules/unictype/property-unified-ideograph-tests: Likewise.
69098         * modules/unictype/property-uppercase-tests: Likewise.
69099         * modules/unictype/property-variation-selector-tests: Likewise.
69100         * modules/unictype/property-white-space-tests: Likewise.
69101         * modules/unictype/property-xid-continue-tests: Likewise.
69102         * modules/unictype/property-xid-start-tests: Likewise.
69103         * modules/unictype/property-zero-width-tests: Likewise.
69104         * modules/unictype/scripts-tests: Likewise.
69105         * modules/unictype/syntax-c-ident-tests: Likewise.
69106         * modules/unictype/syntax-c-whitespace-tests: Likewise.
69107         * modules/unictype/syntax-java-ident-tests: Likewise.
69108         * modules/unictype/syntax-java-whitespace-tests: Likewise.
69109         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
69110         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
69111         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
69112         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
69113         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
69114         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
69115         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
69116         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
69117         * modules/uniname/uniname-tests: Likewise.
69118         * modules/uninorm/canonical-decomposition-tests: Likewise.
69119         * modules/uninorm/compat-decomposition-tests: Likewise.
69120         * modules/uninorm/composition-tests: Likewise.
69121         * modules/uninorm/decomposing-form-tests: Likewise.
69122         * modules/uninorm/decomposition-tests: Likewise.
69123         * modules/uninorm/filter-tests: Likewise.
69124         * modules/uninorm/nfc-tests: Likewise.
69125         * modules/uninorm/nfd-tests: Likewise.
69126         * modules/uninorm/nfkc-tests: Likewise.
69127         * modules/uninorm/nfkd-tests: Likewise.
69128         * modules/uninorm/u8-normcmp-tests: Likewise.
69129         * modules/uninorm/u8-normcoll-tests: Likewise.
69130         * modules/uninorm/u16-normcmp-tests: Likewise.
69131         * modules/uninorm/u16-normcoll-tests: Likewise.
69132         * modules/uninorm/u32-normcmp-tests: Likewise.
69133         * modules/uninorm/u32-normcoll-tests: Likewise.
69134         * modules/unistdio/u8-asnprintf-tests: Likewise.
69135         * modules/unistdio/u8-vasnprintf-tests: Likewise.
69136         * modules/unistdio/u8-vasprintf-tests: Likewise.
69137         * modules/unistdio/u8-vsnprintf-tests: Likewise.
69138         * modules/unistdio/u8-vsprintf-tests: Likewise.
69139         * modules/unistdio/u16-asnprintf-tests: Likewise.
69140         * modules/unistdio/u16-vasnprintf-tests: Likewise.
69141         * modules/unistdio/u16-vasprintf-tests: Likewise.
69142         * modules/unistdio/u16-vsnprintf-tests: Likewise.
69143         * modules/unistdio/u16-vsprintf-tests: Likewise.
69144         * modules/unistdio/u32-asnprintf-tests: Likewise.
69145         * modules/unistdio/u32-vasnprintf-tests: Likewise.
69146         * modules/unistdio/u32-vasprintf-tests: Likewise.
69147         * modules/unistdio/u32-vsnprintf-tests: Likewise.
69148         * modules/unistdio/u32-vsprintf-tests: Likewise.
69149         * modules/unistdio/ulc-asnprintf-tests: Likewise.
69150         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
69151         * modules/unistdio/ulc-vasprintf-tests: Likewise.
69152         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
69153         * modules/unistdio/ulc-vsprintf-tests: Likewise.
69154         * modules/unistr/u8-check-tests: Likewise.
69155         * modules/unistr/u8-chr-tests: Likewise.
69156         * modules/unistr/u8-cmp-tests: Likewise.
69157         * modules/unistr/u8-cmp2-tests: Likewise.
69158         * modules/unistr/u8-cpy-alloc-tests: Likewise.
69159         * modules/unistr/u8-cpy-tests: Likewise.
69160         * modules/unistr/u8-mblen-tests: Likewise.
69161         * modules/unistr/u8-mbsnlen-tests: Likewise.
69162         * modules/unistr/u8-mbtouc-tests: Likewise.
69163         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
69164         * modules/unistr/u8-mbtoucr-tests: Likewise.
69165         * modules/unistr/u8-move-tests: Likewise.
69166         * modules/unistr/u8-next-tests: Likewise.
69167         * modules/unistr/u8-prev-tests: Likewise.
69168         * modules/unistr/u8-set-tests: Likewise.
69169         * modules/unistr/u8-stpcpy-tests: Likewise.
69170         * modules/unistr/u8-stpncpy-tests: Likewise.
69171         * modules/unistr/u8-strcat-tests: Likewise.
69172         * modules/unistr/u8-strcmp-tests: Likewise.
69173         * modules/unistr/u8-strcoll-tests: Likewise.
69174         * modules/unistr/u8-strcpy-tests: Likewise.
69175         * modules/unistr/u8-strdup-tests: Likewise.
69176         * modules/unistr/u8-strlen-tests: Likewise.
69177         * modules/unistr/u8-strmblen-tests: Likewise.
69178         * modules/unistr/u8-strmbtouc-tests: Likewise.
69179         * modules/unistr/u8-strncat-tests: Likewise.
69180         * modules/unistr/u8-strncmp-tests: Likewise.
69181         * modules/unistr/u8-strncpy-tests: Likewise.
69182         * modules/unistr/u8-strnlen-tests: Likewise.
69183         * modules/unistr/u8-to-u16-tests: Likewise.
69184         * modules/unistr/u8-to-u32-tests: Likewise.
69185         * modules/unistr/u8-uctomb-tests: Likewise.
69186         * modules/unistr/u16-check-tests: Likewise.
69187         * modules/unistr/u16-chr-tests: Likewise.
69188         * modules/unistr/u16-cmp-tests: Likewise.
69189         * modules/unistr/u16-cmp2-tests: Likewise.
69190         * modules/unistr/u16-cpy-alloc-tests: Likewise.
69191         * modules/unistr/u16-cpy-tests: Likewise.
69192         * modules/unistr/u16-mblen-tests: Likewise.
69193         * modules/unistr/u16-mbsnlen-tests: Likewise.
69194         * modules/unistr/u16-mbtouc-tests: Likewise.
69195         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
69196         * modules/unistr/u16-mbtoucr-tests: Likewise.
69197         * modules/unistr/u16-move-tests: Likewise.
69198         * modules/unistr/u16-next-tests: Likewise.
69199         * modules/unistr/u16-prev-tests: Likewise.
69200         * modules/unistr/u16-set-tests: Likewise.
69201         * modules/unistr/u16-stpcpy-tests: Likewise.
69202         * modules/unistr/u16-stpncpy-tests: Likewise.
69203         * modules/unistr/u16-strcat-tests: Likewise.
69204         * modules/unistr/u16-strcmp-tests: Likewise.
69205         * modules/unistr/u16-strcoll-tests: Likewise.
69206         * modules/unistr/u16-strcpy-tests: Likewise.
69207         * modules/unistr/u16-strdup-tests: Likewise.
69208         * modules/unistr/u16-strlen-tests: Likewise.
69209         * modules/unistr/u16-strmblen-tests: Likewise.
69210         * modules/unistr/u16-strmbtouc-tests: Likewise.
69211         * modules/unistr/u16-strncat-tests: Likewise.
69212         * modules/unistr/u16-strncmp-tests: Likewise.
69213         * modules/unistr/u16-strncpy-tests: Likewise.
69214         * modules/unistr/u16-strnlen-tests: Likewise.
69215         * modules/unistr/u16-to-u32-tests: Likewise.
69216         * modules/unistr/u16-to-u8-tests: Likewise.
69217         * modules/unistr/u16-uctomb-tests: Likewise.
69218         * modules/unistr/u32-check-tests: Likewise.
69219         * modules/unistr/u32-chr-tests: Likewise.
69220         * modules/unistr/u32-cmp-tests: Likewise.
69221         * modules/unistr/u32-cmp2-tests: Likewise.
69222         * modules/unistr/u32-cpy-alloc-tests: Likewise.
69223         * modules/unistr/u32-cpy-tests: Likewise.
69224         * modules/unistr/u32-mblen-tests: Likewise.
69225         * modules/unistr/u32-mbsnlen-tests: Likewise.
69226         * modules/unistr/u32-mbtouc-tests: Likewise.
69227         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
69228         * modules/unistr/u32-mbtoucr-tests: Likewise.
69229         * modules/unistr/u32-move-tests: Likewise.
69230         * modules/unistr/u32-next-tests: Likewise.
69231         * modules/unistr/u32-prev-tests: Likewise.
69232         * modules/unistr/u32-set-tests: Likewise.
69233         * modules/unistr/u32-stpcpy-tests: Likewise.
69234         * modules/unistr/u32-stpncpy-tests: Likewise.
69235         * modules/unistr/u32-strcat-tests: Likewise.
69236         * modules/unistr/u32-strcmp-tests: Likewise.
69237         * modules/unistr/u32-strcoll-tests: Likewise.
69238         * modules/unistr/u32-strcpy-tests: Likewise.
69239         * modules/unistr/u32-strdup-tests: Likewise.
69240         * modules/unistr/u32-strlen-tests: Likewise.
69241         * modules/unistr/u32-strmblen-tests: Likewise.
69242         * modules/unistr/u32-strmbtouc-tests: Likewise.
69243         * modules/unistr/u32-strncat-tests: Likewise.
69244         * modules/unistr/u32-strncmp-tests: Likewise.
69245         * modules/unistr/u32-strncpy-tests: Likewise.
69246         * modules/unistr/u32-strnlen-tests: Likewise.
69247         * modules/unistr/u32-to-u16-tests: Likewise.
69248         * modules/unistr/u32-to-u8-tests: Likewise.
69249         * modules/unistr/u32-uctomb-tests: Likewise.
69250         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
69251         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
69252         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
69253         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
69254         * modules/uniwidth/u8-strwidth-tests: Likewise.
69255         * modules/uniwidth/u8-width-tests: Likewise.
69256         * modules/uniwidth/u16-strwidth-tests: Likewise.
69257         * modules/uniwidth/u16-width-tests: Likewise.
69258         * modules/uniwidth/u32-strwidth-tests: Likewise.
69259         * modules/uniwidth/u32-width-tests: Likewise.
69260         * modules/uniwidth/width-tests: Likewise.
69262 2010-05-18  Richard Jones  <rjones@redhat.com>
69264         doc: users.txt: list hivex
69265         * users.txt: Add hivex.
69267 2010-05-18  Richard Jones  <rjones@redhat.com>
69269         doc: users.txt: list febootstrap
69270         * users.txt: Add febootstrap.
69272 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
69274         bootstrap: fix an error when gnulib is not used as a git submodule
69275         * build-aux/bootstrap (gnulib_path): If its length is zero then
69276         assign "gnulib" to it.
69277         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
69279 2010-05-16  Bruno Haible  <bruno@clisp.org>
69281         Avoid autoconf warnings about AM_ICONV.
69282         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
69283         2.64.
69285 2010-05-16  Bruno Haible  <bruno@clisp.org>
69287         absolute-header: Make the macro usable in more situations.
69288         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
69289         from gl_ABSOLUTE_HEADER.
69290         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
69292 2010-05-16  James Youngman  <jay@gnu.org>
69294         doc: update users.txt
69295         * users.txt: Add CSSC.
69297 2010-05-16  Jim Meyering  <meyering@redhat.com>
69299         init.sh: fix an error in the previous change; add more comments
69300         * tests/init.sh: Compare exit code in loop against 9, not 2.
69301         Patch by Bruno Haible.
69302         Make the two tests more similar by adding an empty "then" clause.
69303         Add comments.
69305         init.sh: avoid unnecessary shell re-exec
69306         * tests/init.sh: Improve the re-exec-required check to first test the
69307         current shell.  If it passes the test, do not search for a shell that
69308         does pass, and do not re-exec.  This test is particularly contorted to
69309         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
69310         of $(...) evokes a syntax error and causes immediate shell exit with
69311         status 2.  Bruno Haible reported that the re-exec made it impossible
69312         to single-step through any init.sh-using script.
69314 2010-05-16  Bruno Haible  <bruno@clisp.org>
69316         Fix collision between gnulib's and libintl's printf replacements.
69317         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
69318         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
69319         (printf): When using GNU C, map the __printf__ function to rpl_printf
69320         via __asm__. When not using GNU C, define rpl_printf instead of
69321         __printf__.
69322         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
69323         commit.
69324         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
69325         commit.
69326         * m4/asm-underscore.m4: New file.
69327         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
69328         * modules/stdio (Files): Add m4/asm-underscore.m4.
69329         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
69330         Reported by Ben Pfaff.
69332 2010-05-16  Bruno Haible  <bruno@clisp.org>
69334         verify: Avoid skipping the test on openSUSE 11.0.
69335         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
69337 2010-05-13  Bruno Haible  <bruno@clisp.org>
69339         Avoid useless warnings from G++.
69340         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
69341         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
69342         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
69344 2010-05-11  Jim Meyering  <meyering@redhat.com>
69346         maint.mk: tweak preceding change
69347         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
69348         regexps tighter by anchoring at EOL, and make the new group "shy"
69349         for slightly decreased overhead.
69351 2010-05-11  Eric Blake  <eblake@redhat.com>
69353         maint.mk: gnulib doesn't guarantee NSIG
69354         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
69356 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
69358         test-pwrite.c: Remove unused variable declaration.
69359         * tests/test-pwrite.c (main): Remove read_buf declaration.
69361         Remove useless test-pwrite.sh file.
69362         * tests/test-pwrite.sh: Delete file.
69363         * modules/pwrite-tests: Remove references.
69364         Reported by Bruno Haible.
69366 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
69368         init.sh: fix a typo
69369         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
69371 2010-05-10  Jim Meyering  <meyering@redhat.com>
69373         maint.mk: avoid using a temporary file in the always-defined-macros check
69374         * top/maint.mk (.re-defmac): Remove rule.
69375         (gl_trap_): Remove definition.
69376         (sc_prohibit_always-defined_macros): Rewrite not to create and
69377         depend on a temporary file.  Instead, depend on GNU grep's ability
69378         to read a list of regular expressions from stdin when given "-f -".
69380 2010-05-09  Bruno Haible  <bruno@clisp.org>
69382         Update to GNU gettext 0.18, part 1.
69383         * m4/gettext.m4: Update to GNU gettext 0.18.
69384         * m4/intl.m4: Likewise.
69385         * m4/po.m4: Likewise.
69386         * modules/gettext (Files): Add m4/fcntl-o.m4.
69387         (configure.ac): Require gettext infrastructure from version 0.18.
69389 2010-05-09  Jim Meyering  <meyering@redhat.com>
69391         init.sh: enable MALLOC_PERTURB_
69392         * tests/init.sh: Enable glibc's malloc-perturbing option.
69394         maint.mk: improve sc_cross_check_PATH_usage_in_tests
69395         With my recent change in init.sh from the two-line form:
69396             -#   : ${srcdir=.}
69397             -#   . "$srcdir/init.sh"; path_prepend_ .
69398             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
69399         I noticed that using the one-line form would cause this test
69400         to fail with a false-positive, or to stop working altogether,
69401         depending on whether help-version changed or all the tests did.
69402         * top/maint.mk (_hv_regex): Remove this definition.
69403         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
69404         (_hv_regex_strong): Use a stronger regex to check for conformance.
69405         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
69406         Give a separate diagnostic for lack of conforming use.
69408         maint.mk: prohibit definition of symbols defined by gnulib
69409         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
69410         definition of symbols defined by gnulib.
69412 2010-05-09  Bruno Haible  <bruno@clisp.org>
69414         acl: Avoid test failure on Cygwin-hosted mingw.
69415         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
69417 2010-05-09  Bruno Haible  <bruno@clisp.org>
69419         error: Use system's fcntl function.
69420         * lib/error.c (fcntl): Undefine.
69422 2010-05-09  Jim Meyering  <meyering@redhat.com>
69424         verify: adjust formatting to be more consistent
69425         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
69426         argument-list '('s, and after one comma.
69428 2010-05-09  Bruno Haible  <bruno@clisp.org>
69430         error: More reliable output on mingw.
69431         * lib/error.c: Include <windows.h>.
69432         (is_open): New function.
69433         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
69434         defined.
69436 2010-05-09  Bruno Haible  <bruno@clisp.org>
69438         vasnprintf: Fix syntax errors in libintl build on mingw.
69439         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
69440         pad_ourselves and prec_ourselves after use.
69442 2010-05-08  Bruno Haible  <bruno@clisp.org>
69444         * lib/config.charset: Update comments for Cygwin 1.7.
69445         * lib/localcharset.c: Likewise.
69447 2010-05-07  Jim Meyering  <meyering@redhat.com>
69449         init.sh: improve comments
69450         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
69451         . "${srcdir=.}/init.sh"; path_prepend_ .
69452         Add a note about path_prepend_ and the alternative of using
69453         TESTS_ENVIRONMENT.
69455 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
69457         exclude: Unescape hashed patterns in wildcard mode.
69458         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
69459         to the hash list.
69460         * tests/test-exclude8.sh: New test case.
69461         * modules/exclude-tests: Add new test.
69463 2010-05-05  Eric Blake  <eblake@redhat.com>
69465         verify: automate tests
69466         * modules/verify-tests: New module.
69467         * tests/test-verify.sh: New file.
69468         * tests/test-verify.c: Guard each negative test with a unique id.
69469         Also avoid warning about unused left hand of comma expressions.
69471 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
69473         Further improvements to verify.h, suggested by Eric Blake.
69474         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
69475         the GL_* versions, to avoid collision with OpenGL.
69476         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
69477         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
69478         than testing merely whether it's defined.
69480         Modify verify.h to pacify gcc -Wredundant_decls.
69481         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
69482         These use the prefix "GL_" since they're likely to be useful elsewhere.
69483         We may need to break them out into a different .h file.
69484         (__COUNTER__): Define to 0 if the compiler doesn't support it.
69485         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
69486         of verify_function__.
69488 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
69490         Tests for module pwrite.
69491         * modules/pwrite-tests: New file.
69492         * tests/test-pwrite.sh: New file.
69493         * tests/test-pwrite.c: New file.
69495         New module pwrite.
69496         * lib/unistd.in.h (pwrite): New declaration.
69497         * lib/pwrite.c: New file, from glibc with modifications.
69498         * m4/pwrite.m4: New file.
69499         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
69500         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
69501         REPLACE_PWRITE.
69502         * modules/pwrite: New file.
69503         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
69504         REPLACE_PWRITE.
69505         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
69506         * doc/posix-functions/pwrite.texi: Mention the new module.
69508 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
69510         pread: Update documentation.
69511         * doc/posix-functions/pread.texi: Mention the 'pread' module.
69513 2010-05-04  Eric Blake  <eblake@redhat.com>
69515         docs: update cygwin progress
69516         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
69517         this bug.
69518         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
69519         Added in cygwin 1.7.2.
69520         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
69521         Likewise.
69522         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
69523         Likewise.
69524         * doc/glibc-functions/dup3.texi (dup3): Likewise.
69525         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
69526         * doc/glibc-functions/accept4.texi (accept4): Likewise.
69527         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
69528         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
69529         Mention nproc module.
69530         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
69531         bug in cygwin 1.7.5 addition.
69532         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
69533         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
69534         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
69535         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
69536         1.7.5.
69537         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
69538         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
69539         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
69540         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
69541         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
69542         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
69543         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
69544         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
69545         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
69546         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
69547         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
69548         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
69549         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
69550         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
69551         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
69552         Likewise.
69553         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
69554         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
69555         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
69556         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
69557         Likewise.
69558         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
69559         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
69560         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
69561         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
69562         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
69563         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
69564         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
69565         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
69566         Likewise.
69567         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
69568         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
69569         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
69570         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
69571         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
69572         Likewise.
69573         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
69574         Likewise.
69575         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
69576         Likewise.
69577         * doc/glibc-functions/xdrrec_endofrecord.texi
69578         (xdrrec_endofrecord): Likewise.
69579         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
69580         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
69581         Likewise.
69582         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
69583         Likewise.
69585 2010-05-04  Jim Meyering  <meyering@redhat.com>
69587         gendocs.sh: make its "-s FILE" option more useful
69588         * build-aux/gendocs.sh: When honoring the -s FILE option, update
69589         $PACKAGE to reflect the probably-different basename of "FILE".
69591 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
69593         bootstrap: don't ignore download_po_files failure
69594         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
69595         failure.
69597 2010-05-03  Jim Meyering  <meyering@redhat.com>
69599         maint.mk: allow to pass options to gendocs.sh
69600         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
69601         (gendocs_options_): New overridable variable.
69603         gnu-web-doc-update: don't ignore configure or build failure
69604         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
69606         announce-gen: backslash-escape '@'s in --help output
69607         * build-aux/announce-gen: Fix syntax errors.
69609         maint.mk, announce-gen: allow project-specific announcement mail headers
69610         * top/maint.mk (translation_project_): Define default.
69611         (announcement_Cc_, announcement_mail_headers_): Likewise.
69612         (announcement): Invoke announce-gen with new --mail-headers option.
69613         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
69615         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
69616         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
69617         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
69618         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
69619         line in the "err2" output file when running "make check" in verbose
69620         mode (i.e., with set -x enabled).
69622 2010-05-03  Bruno Haible  <bruno@clisp.org>
69624         wctob: Fix for weird platforms.
69625         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
69626         argument value.
69628 2010-05-03  Jim Meyering  <meyering@redhat.com>
69630         maint.mk: prohibit unwarranted use of <strings.h>
69631         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
69632         strings.h in a file that does not also use strcasecmp, strncasecmp,
69633         ffs or ffsll.
69635         maint.mk: remove obsolete comments
69636         * top/maint.mk: Remove stale, commented-out rules.
69638 2010-05-02  Bruno Haible  <bruno@clisp.org>
69640         wcwidth: Declare also when it's aliased.
69641         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
69642         macro.
69644 2010-05-02  Bruno Haible  <bruno@clisp.org>
69646         Fix regression from 2010-04-25.
69647         * gnulib-tool (func_modules_transitive_closure): Check the status of
69648         all modules, not only of the tests that are of the form foo-tests where
69649         foo is a module.
69651 2010-05-02  Bruno Haible  <bruno@clisp.org>
69653         wctob: Work around nasty Cygwin 1.7.2 bug.
69654         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
69655         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
69657 2010-05-01  Bruno Haible  <bruno@clisp.org>
69659         fpurge: Sharper test.
69660         * tests/test-fpurge.c (main): Add one more ftell check.
69661         * modules/fpurge-tests (Depends-on): Add ftell.
69662         Suggested by Eric Blake.
69664 2010-05-01  Bruno Haible  <bruno@clisp.org>
69666         ftello: Another test.
69667         * tests/test-ftello3.c: New file.
69668         * modules/ftello-tests (Files): Add it.
69669         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
69670         MOSTLYCLEANFILES.
69672         ftell: Another test.
69673         * tests/test-ftell3.c: New file.
69674         * modules/ftell-tests (Files): Add it.
69675         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
69676         MOSTLYCLEANFILES.
69678 2010-05-01  Bruno Haible  <bruno@clisp.org>
69680         ftell, ftello: Work around Solaris bug.
69681         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
69682         * lib/ftello.c: Include stdio-impl.h.
69683         (ftello): On Solaris, when _IOWRT is set, compute the result without
69684         looking at _IOREAD.
69685         * modules/ftello (Files): Add lib/stdio-impl.h.
69686         * doc/posix-functions/ftell.texi: Mention Solaris bug.
69687         * doc/posix-functions/ftello.texi: Likewise.
69688         Reported by Eric Blake.
69690 2010-05-01  Bruno Haible  <bruno@clisp.org>
69692         freading: Adapt to special meaning of _IOREAD flag on Solaris.
69693         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
69694         the _IOWRT flag is also set.
69696 2010-05-01  Bruno Haible  <bruno@clisp.org>
69698         Fix doc about a HP-UX stdio bug.
69699         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
69700         * doc/posix-functions/ftello.texi: Likewise.
69702 2010-05-01  Bruno Haible  <bruno@clisp.org>
69704         lseek test: Fix failure on Solaris.
69705         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
69706         output.
69708 2010-04-30  Jim Meyering  <meyering@redhat.com>
69710         bootstrap: don't ignore failure to generate po*/Makevars
69711         * build-aux/bootstrap (with_gettext): Don't ignore failure
69712         to create po/Makevars or runtime-po/Makevars.
69714 2010-04-29  Eric Blake  <eblake@redhat.com>
69716         headers: relax license to LGPLv2+
69717         * modules/fcntl-h (License): Relax license.
69718         * modules/getopt-posix (License): Likewise.
69719         * modules/locale (License): Likewise.
69720         * modules/math (License): Likewise.
69721         * modules/pty (License): Likewise.
69722         * modules/sched (License): Likewise.
69723         * modules/search (License): Likewise.
69724         * modules/spawn (License): Likewise.
69725         * modules/stdarg (License): Likewise.
69726         * modules/sysexits (License): Likewise.
69728 2010-04-29  Jim Meyering  <meyering@redhat.com>
69730         inttypes: relax license to LGPLv2+
69731         * modules/inttypes (License): Relax license.
69733 2010-04-29  Simon Josefsson  <simon@josefsson.org>
69735         * top/maint.mk (indent): Run twice to produce idempotent results.
69737 2010-04-28  Bruno Haible  <bruno@clisp.org>
69739         getdate: Generate getdate.c in the source directory.
69740         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
69741         MOSTLYCLEANFILES.
69742         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
69744 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
69746         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
69747         is not declared as a const *; avoid warnings in that case.
69749 2010-04-28  Eric Blake  <eblake@redhat.com>
69751         canonicalize-lgpl: avoid compiler warning
69752         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
69753         declaration' / 'extraneous semicolon' warning with some compilers.
69754         Reported by Andreas Gruenbacher.
69756 2010-04-28  Jim Meyering  <meyering@redhat.com>
69758         init.sh: ensure a more reliable exit status when exiting via trap
69759         * tests/init.sh (setup_): Don't rely on $? in signal handler.
69760         Inspired by patches from Dmitry V. Levin.
69761         Also trap on signal 3 (SIGQUIT).
69763 2010-04-27  Bruno Haible  <bruno@clisp.org>
69765         Update doc about utimes().
69766         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
69767         'utimens' module.
69768         Reported by Andreas Gruenbacher <agruen@suse.de>.
69770 2010-04-27  Eric Blake  <eblake@redhat.com>
69772         full-read, full-write: relax license
69773         * modules/full-read (License): Drop to LGPLv2+.
69774         * modules/full-write (License): Likewise.
69775         * modules/safe-read (License): Likewise.
69776         * modules/safe-write (License): Likewise.
69778         pthread: mention library for linking
69779         * modules/pthread (Link): Mention $(LIB_PTHREAD).
69781 2010-04-27  Jim Meyering  <meyering@redhat.com>
69783         maint.mk: fix a bug introduced in last change
69784         * top/maint.mk (gl_assured_headers_): Now that all names are on
69785         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
69786         is not anchored to end of word, it should be adequate.
69788         maint.mk: avoid side-effect in latest syntax-check
69789         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
69790         to run commands via $(shell...), and hence to incur cost only when
69791         the new rule is actually run.
69793         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
69794         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
69795         and use that to create a regexp used to detect all #if HAVE_..._H uses.
69796         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
69797         (gl_assured_headers_, az_, AZ_): Define.
69798         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
69800 2010-04-26  Jim Meyering  <jim@meyering.net>
69801             Bruno Haible  <bruno@clisp.org>
69803         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
69804         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
69805         Prompted by an exchange with Gilles Espinasse.
69807 2010-04-26  Jim Meyering  <meyering@redhat.com>
69809         git-version-gen: aesthetic tweak
69810         * build-aux/git-version-gen: Use "$nl" rather than a literal,
69811         so that the command remains on a single line.
69813 2010-04-26  Eric Blake  <eblake@redhat.com>
69815         git-version-gen: allow use on EBCDIC hosts
69816         * build-aux/git-version-gen (dirty): Use literal rather than tying
69817         ourselves to ascii.
69818         Reported by Steve Goetze.
69820 2010-04-25  Bruno Haible  <bruno@clisp.org>
69822         netdb: Add support for GNULIB_POSIXCHECK.
69823         * lib/netdb.in.h: Include warn-on-use.h.
69824         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
69825         functions are used when GNULIB_POSIXCHECK is defined and the
69826         getaddrinfo module is not in use.
69827         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
69828         freeaddrinfo, gai_strerror, getnameinfo are declared.
69829         * modules/netdb (Depends-on): Add warn-on-use.
69830         (Makefile.am): Include warn-on-use.h in netdb.h.
69832 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
69834         build: avoid "make check" failure without .git/ directory
69835         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
69836         there is no .git/ directory.
69838 2010-04-25  Bruno Haible  <bruno@clisp.org>
69840         ptsname: Fix misuse of ttyname_r.
69841         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
69842         of errno.
69844 2010-04-25  Bruno Haible  <bruno@clisp.org>
69846         ttyname_r: Make it work on Solaris 10.
69847         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
69848         if the system function has the POSIX declaration. Test whether the
69849         function fails if the buffer is less than 128 bytes large.
69850         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
69851         system's ttyname_r function. Provide a reasonably large buffer.
69852         * modules/ttyname_r (Depends-on): Add extensions.
69853         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
69855 2010-04-25  Bruno Haible  <bruno@clisp.org>
69857         Use the 'extensions' module for some more functions on Solaris.
69858         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
69859         module.
69860         * doc/posix-functions/ctime_r.texi: Likewise.
69861         * doc/posix-functions/getgrgid_r.texi: Likewise.
69862         * doc/posix-functions/getgrnam_r.texi: Likewise.
69863         * doc/posix-functions/getpwnam_r.texi: Likewise.
69864         * doc/posix-functions/getpwuid_r.texi: Likewise.
69865         * doc/posix-functions/readdir_r.texi: Likewise.
69866         * doc/posix-functions/sigwait.texi: Likewise.
69867         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
69868         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
69870 2010-04-25  Bruno Haible  <bruno@clisp.org>
69872         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
69873         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
69874         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
69875         * lib/ttyname_r.c: Include <limits.h>.
69876         (ttyname_r): Define using the system's ttyname_r function, if it exists
69877         and not on Solaris.
69878         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
69879         set.
69880         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
69881         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
69882         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
69883         Reported by Simon Josefsson.
69885 2010-04-25  Bruno Haible  <bruno@clisp.org>
69887         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
69888         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
69889         * doc/posix-functions/ctime_r.texi: Likewise.
69890         * doc/posix-functions/getgrgid_r.texi: Likewise.
69891         * doc/posix-functions/getgrnam_r.texi: Likewise.
69892         * doc/posix-functions/getlogin_r.texi: Likewise.
69893         * doc/posix-functions/getpwnam_r.texi: Likewise.
69894         * doc/posix-functions/getpwuid_r.texi: Likewise.
69895         * doc/posix-functions/readdir_r.texi: Likewise.
69896         * doc/posix-functions/sigwait.texi: Likewise.
69897         * doc/posix-functions/ttyname_r.texi: Likewise.
69898         Reported by Simon Josefsson.
69900 2010-04-25  Bruno Haible  <bruno@clisp.org>
69902         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
69903         * gnulib-tool (func_usage): Document that --with-*-tests options apply
69904         also to --create-testdir.
69905         (func_acceptable): Don't consider the status of *-tests modules here.
69906         (func_modules_transitive_closure): Consider it here, before including a
69907         test module.
69908         (func_import, func_create_testdir): Set inc_all_direct_tests,
69909         inc_all_indirect_tests.
69910         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
69911         --create-testdir and --create-megatestdir.
69913 2010-04-25  Bruno Haible  <bruno@clisp.org>
69915         gnulib-tool: Add --without-*-tests options.
69916         * gnulib-tool (func_usage): Document the --without-*-tests options.
69917         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
69918         excl_unportable_tests): New variables.
69919         Fail if they are specified with --import or --update.
69920         (func_acceptable): Respect the excl_*_tests variables.
69921         (func_import): Set the excl_*_tests variables to empty.
69923 2010-04-25  Simon Josefsson  <simon@josefsson.org>
69924             Bruno Haible  <bruno@clisp.org>
69926         Work around a MacOS X 10.4 bug with openpty.
69927         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
69928         * tests/test-openpty.c (main): Close the master side explicitly.
69930 2010-04-25  Bruno Haible  <bruno@clisp.org>
69932         strnlen: Fix a C++ test error on MacOS X and Solaris.
69933         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
69934         the function is not declared.
69935         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
69936         Simon Josefsson.
69938 2010-04-24  Bruno Haible  <bruno@clisp.org>
69940         Avoid a gcc warning.
69941         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
69942         of correct type for %08lx directive.
69943         Reported by Eric Blake.
69945 2010-04-24  Bruno Haible  <bruno@clisp.org>
69947         vasnprintf: Correct errno value in case of out-of-memory.
69948         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
69949         or sprintf. Use the errno value from SNPRINTF or sprintf.
69950         Reported by Ian Beckwith <ianb@erislabs.net>.
69952 2010-04-24  Bruno Haible  <bruno@clisp.org>
69954         ansi-c++-opt: Find correct compiler when cross-compiling.
69955         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
69956         AC_CHECK_PROGS.
69957         Reported by Simon Josefsson.
69959 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
69961         vc-list-files: Add support for subversion
69962         * build-aux/vc-list-files: Use "svn list" to generate the list of
69963         files controlled by subversion.
69965 2010-04-23  Jim Meyering  <meyering@redhat.com>
69967         vc-list-files tests: convert to use init.sh
69968         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
69969         path_prepend_.
69970         Use Exit, not exit.
69971         Use skip_ rather than open coding it.
69972         Remove trap set-up and compare definitions.
69973         * tests/test-vc-list-files-git.sh: Likewise.
69974         * modules/vc-list-files-tests (Files): Add tests/init.sh.
69976 2010-04-22  Simon Josefsson  <simon@josefsson.org>
69978         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
69979         backup files.
69981 2010-04-21  Simon Josefsson  <simon@josefsson.org>
69983         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
69985 2010-04-20  Eric Blake  <eblake@redhat.com>
69987         tests: be robust to ignored SIGPIPE
69988         * tests/test-select-in.sh: Consume all output.
69989         * tests/test-lseek.sh: Check correct exit status, while avoiding
69990         EPIPE.
69992 2010-04-20  Simon Josefsson  <simon@josefsson.org>
69993             Bruno Haible  <bruno@clisp.org>
69995         visibility: Don't use -fvisibility if it leads to a warning.
69996         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
69997         yes, don't pretend that visibility works if it leads to a warning.
69998         Reported by Mike Gran <spk121@yahoo.com>.
70000 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
70002         * build-aux/bootstrap: Use "git -h" for testing for supported options
70003         instead of "git --help".  The short-form option only shows a summary,
70004         and doesn't layout the full man page.  Grep for the full option name
70005         in the summary, too.
70007 2010-04-19  Bruno Haible  <bruno@clisp.org>
70009         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
70010         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
70011         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
70012         mention of RELOCATABLE_STRIP.
70013         Reported by Sylvain Beucler <beuc@beuc.net>.
70015 2010-04-19  Bruno Haible  <bruno@clisp.org>
70017         * lib/diffseq.h: Fix typo in comment.
70018         Reported by Eric Blake.
70020 2010-04-19  Bruno Haible  <bruno@clisp.org>
70022         ioctl: Move autoconf macro to a .m4 file.
70023         * m4/ioctl.m4: New file, extracted from modules/ioctl.
70024         * modules/ioctl (Files): Add it.
70025         (configure.ac): Simply invoke gl_FUNC_IOCTL.
70026         Reported by Ian Beckwith <ianb@erislabs.net>.
70028 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
70029             Bruno Haible  <bruno@clisp.org>
70031         diffseq: Accommodate use-case with abstract arrays.
70032         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
70033         is not defined.
70034         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
70035         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
70037 2010-04-18  Bruno Haible  <bruno@clisp.org>
70039         * doc/posix-headers/stdbool.texi: More precise wording.
70041 2010-04-17  Jim Meyering  <meyering@redhat.com>
70043         maint.mk: use gnu-style indentation in an embedded perl script
70044         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
70045         Rename variable: s/two/last_two_bytes/
70047 2010-04-16  Eric Blake  <eblake@redhat.com>
70049         test-stdbool: skip test that fails with Solaris CC
70050         * tests/test-stdbool.c (f): Skip test that causes compilation
70051         error under buggy C++ compiler.
70052         * lib/stdbool.in.h: Document the limitation.
70053         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
70055         setenv: allow compilation with C++
70056         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
70057         register keyword.
70059         stdint: allow test to pass with C++
70060         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
70062         getopt: allow compilation with C++
70063         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
70064         struct.
70065         * lib/getopt.c (_getopt_internal_r): Use correct type.
70066         Reported by Dagobert Michelson, via Joel E. Denny.
70068 2010-04-16  Bruno Haible  <bruno@clisp.org>
70070         Override netdb.h always.
70071         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
70072         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
70073         Reported by Ludovic Courtès <ludo@gnu.org>.
70075 2010-04-15  Bruno Haible  <bruno@clisp.org>
70077         openpty: Fix mistake from 2010-03-21.
70078         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
70079         Reported by Simon Josefsson.
70081 2010-04-15  Eric Blake  <eblake@redhat.com>
70083         test-forkpty: fix expected signature
70084         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
70085         Reported by Simon Josefsson.
70087 2010-04-15  Jim Meyering  <meyering@redhat.com>
70089         maint.mk: texinfo_suffix_re_: correct the default regexp
70090         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
70092         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
70093         make it configurable via texinfo_suffix_re_.
70095 2010-04-14  Eric Blake  <eblake@redhat.com>
70097         strtok_r: relax license to LGPLv2+
70098         * modules/strtok_r (License): Relax license.
70099         Reported by Matthias Bolte.
70101 2010-04-14  Simon Josefsson  <simon@josefsson.org>
70103         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
70104         version 1.4.4 by default instead of requiring the libgcrypt
70105         version used during build.  This makes it possible to use the
70106         application with older but still binary compatible libgcrypt
70107         versions.
70109 2010-04-13  Eric Blake  <eblake@redhat.com>
70111         getopt-gnu: match recent glibc fixes and posix ruling
70112         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
70113         '+' handling, when requesting extensions.
70114         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
70115         'W;' handling.
70116         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
70117         * doc/posix-functions/getopt.texi (getopt): Document this.
70118         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
70119         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
70120         Likewise.
70122         getopt: merge bug fixes from glibc
70123         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
70124         diagnostics.  Honor '+:' correctly.  Reject ';'.
70126         getopt-posix: detect MacOS bug
70127         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
70128         optind when missing a required argument.
70129         * doc/posix-functions/getopt.texi (getopt): Document the bug.
70130         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
70131         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
70132         Likewise.
70134         getopt-posix: avoid spurious failure on Solaris
70135         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
70136         an indicator that setting optind=1 is sufficient for reset.
70138         getopt-posix: avoid spurious failure on FreeBSD
70139         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
70140         in POSIX mode, since the m4 test uses it.
70142         gnulib-tool: silence warning on BSD sh
70143         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
70145 2010-04-13  Jim Meyering  <meyering@redhat.com>
70147         doc: users.txt: GNU patch now uses gnulib
70148         * users.txt: Add patch.
70150 2010-04-12  Jim Meyering  <meyering@redhat.com>
70152         maint.mk: generate more concise timing data for syntax-check rules
70153         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
70154         " done" from each line that reports a syntax-check test duration.
70156 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
70158         git-version-gen: use "git update-index..." rather than "git status"
70159         * build-aux/git-version-gen: Use git update-index --refresh, not
70160         "git status".  With some versions of git, "git status" would fail
70161         to update the index and result in an unwarranted "-dirty" suffix.
70163 2010-04-11  Jim Meyering  <meyering@redhat.com>
70165         openat: correct formatting (no semantic change)
70166         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
70167         Suggested by Bruno Haible.
70169 2010-04-11  Bruno Haible  <bruno@clisp.org>
70171         Stricter declaration checking in testdirs.
70172         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
70173         If for_tests is true, augment AM_CPPFLAGS to define
70174         GNULIB_STRICT_CHECKING.
70175         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
70176         GNULIB_STRICT_CHECKING is defined, verify that the function is
70177         declared.
70179 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
70180             Bruno Haible  <bruno@clisp.org>
70182         libunistring: Improve configure output.
70183         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
70184         Don't say "consider installing GNU libunistring" when checking again
70185         with libiconv.
70187 2010-04-11  Bruno Haible  <bruno@clisp.org>
70189         libunistring: Correct value of $LTLIBUNISTRING.
70190         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
70191         correct the value of $LTLIBUNISTRING.
70193 2010-04-11  Bruno Haible  <bruno@clisp.org>
70195         havelib: Add static libraries to LIBS in the right order.
70196         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
70197         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
70199 2010-04-11  Bruno Haible  <bruno@clisp.org>
70201         libunistring: Detect libunistring also when it depends on libiconv.
70202         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
70203         the second AC_LIB_HAVE_LINKFLAGS invocation.
70205 2010-04-11  James Youngman  <jay@gnu.org>
70207         close-stream: declare local scalars to be "const"
70208         * lib/close-stream.c (close_stream): Make boolean variables const
70209         to document the fact that we set but do not change them.
70211 2010-04-11  Bruno Haible  <bruno@clisp.org>
70213         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
70215 2010-04-11  Jim Meyering  <meyering@redhat.com>
70217         maint.mk: don't include dist-check.mk
70218         * top/maint.mk: Remove bogus include directive.
70220         maint.mk: improve empty-line-at-EOF check
70221         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
70222         solution, rather than tail+Perl-based one.  The latter would read
70223         a few kilobytes from the end of each file, and did not handle empty
70224         files properly.
70226         maint.mk: print the elapsed time for each syntax-check rule
70227         * top/maint.mk (sc_m_rules_): Save start time in a file.
70228         (sc_z_rules_): New rules: remove temp file and print elapsed time.
70229         (local-check): Interpose the .z rules
70231 2010-04-11  Jim Meyering  <meyering@redhat.com>
70233         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
70234         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
70235         empty file with one that ends in an empty line.
70237 2010-04-10  Bruno Haible  <bruno@clisp.org>
70239         mkdir: Make it work on mingw64.
70240         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
70241         * lib/mkdir.c: Update comment.
70242         Reported by Roman Donchenko (Роман Донченко) <dxdragon@yandex.ru>.
70244 2010-04-10  Bruno Haible  <bruno@clisp.org>
70246         Don't override improved macro from newer autoconf.
70247         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
70248         autoconf >= 2.62.
70249         Reported by Joel E. Denny <jdenny@clemson.edu>.
70251 2010-04-10  Jim Meyering  <meyering@redhat.com>
70253         maint.mk: new syntax-check rule: prohibit empty lines at end of file
70254         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
70256         maint.mk: correct a diagnostic
70257         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
70258         in diagnostic; now use $prohibit.
70260 2010-04-10  Bruno Haible  <address@hidden>
70262         fchownat: Fix a C++ test error on Solaris 8.
70263         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
70264         the function does not exist.
70266 2010-04-10  Bruno Haible  <bruno@clisp.org>
70268         vasnprintf: Add more tests.
70269         * tests/test-vasnprintf-posix.c: Include <errno.h>.
70270         (test_function): Test converting an invalid wide string.
70272         vasnprintf: Correct handling of unconvertible wide string arguments.
70273         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
70274         VASNPRINTF.
70275         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
70276         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
70277         smaller than the expected maximum need for the directive. Set errno to
70278         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
70279         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
70280         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
70281         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
70282         * modules/vasnprintf (Files): Add m4/printf.m4.
70283         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
70285 2010-04-10  Bruno Haible  <bruno@clisp.org>
70287         vasnprintf: Fix crash in %ls directive.
70288         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
70289         string is passed as argument to %ls, with no precision and no width.
70290         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
70292 2010-04-10  Bruno Haible  <bruno@clisp.org>
70294         vasnprintf: Fix multiple test failures on mingw.
70295         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
70296         _snprintf, or snwprintf, not _snwprintf.
70298 2010-04-10  Bruno Haible  <bruno@clisp.org>
70300         write: Fix a C++ test error on mingw.
70301         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
70303 2010-04-10  Bruno Haible  <bruno@clisp.org>
70305         vasnprintf test: Reduce code duplication.
70306         * tests/test-vasnprintf.c (test_function): New function, extracted from
70307         test_vasnprintf.
70308         (test_vasnprintf, test_asnprintf): Invoke it.
70310 2010-04-10  Bruno Haible  <bruno@clisp.org>
70312         strnlen: Fix warning in C++ mode on MacOS X.
70313         * lib/string.in.h (strnlen): Use the modern idiom.
70314         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
70315         defining strnlen as a macro already in <config.h>.
70316         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
70317         REPLACE_STRNLEN.
70318         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
70319         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
70321 2010-04-08  James Youngman  <jay@gnu.org>
70323         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
70324         the example.
70326 2010-04-09  Jim Meyering  <meyering@redhat.com>
70328         maint.mk: print better diagnostic when there is no $(_hv_file)
70329         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
70330         announce that when $(_hv_file) (aka help-version) does not exist.
70332         init.sh: run tr in the "C" locale to avoid multibyte interpretation
70333         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
70334         not try to interpret its random input bytes.  Jarno Rajahalme reported
70335         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
70336         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
70337         (mktempd_): Likewise, just in case.
70339         ftruncate: add two years to projected module removal date: 2012
70340         * m4/ftruncate.m4: Adjust comments.
70342         ftruncate: mark module as obsolete; even MinGW provides it, now
70343         * modules/ftruncate (Status): Obsolete.
70344         (Notice): Say that.
70345         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
70346         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
70348 2010-04-08  Bruno Haible  <bruno@clisp.org>
70350         Fix side effects from tests-related modules.
70351         * modules/dprintf-posix (Comment): New section.
70352         * modules/fprintf-posix (Comment): Likewise.
70353         * modules/obstack-printf-posix (Comment): Likewise.
70354         * modules/printf-posix (Comment): Likewise.
70355         * modules/snprintf-posix (Comment): Likewise.
70356         * modules/sprintf-posix (Comment): Likewise.
70357         * modules/vasnprintf-posix (Comment): Likewise.
70358         * modules/vasprintf-posix (Comment): Likewise.
70359         * modules/vdprintf-posix (Comment): Likewise.
70360         * modules/vfprintf-posix (Comment): Likewise.
70361         * modules/vprintf-posix (Comment): Likewise.
70362         * modules/vsnprintf-posix (Comment): Likewise.
70363         * modules/vsprintf-posix (Comment): Likewise.
70364         * modules/xprintf-posix (Comment): Likewise.
70365         * modules/xvasprintf-posix (Comment): Likewise.
70366         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
70367         * modules/floorf-tests (Depends-on): Likewise.
70368         * modules/round-tests (Depends-on): Likewise.
70369         * modules/roundf-tests (Depends-on): Likewise.
70370         * modules/trunc-tests (Depends-on): Likewise.
70371         * modules/truncf-tests (Depends-on): Likewise.
70372         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
70373         'fprintf-posix' module is not present.
70374         * tests/test-floorf2.c (check): Likewise.
70375         * tests/test-trunc2.c (check): Likewise.
70376         * tests/test-truncf2.c (check): Likewise.
70377         * tests/test-round2.c (equal): Likewise.
70378         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
70380 2010-04-07  Karl Berry  <karl@gnu.org>
70382         * config/srclist.txt,
70383         * config/srclistvars.sh,
70384         * config/srclist-update: doc fixes.
70386 2010-04-07  Jim Meyering  <meyering@redhat.com>
70388         maint.mk: add a PATH crosschecking syntax-check rule
70389         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
70390         Useful if you use a test like the one in help-version (coreutils,
70391         diffutils, grep, gzip) that ensures $(VERSION) matches what is
70392         printed by prog --version.
70394 2010-04-06  Bruno Haible  <bruno@clisp.org>
70396         Fix link error on mingw.
70397         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
70398         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
70400 2010-04-06  Bruno Haible  <bruno@clisp.org>
70402         Assume rmdir exists.
70403         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
70405 2010-04-06  Giuseppe Scrivano  <gscrivano@gnu.org>
70407         doc: update users.txt
70408         * users.txt: Add gcal.
70410 2010-04-06  Jim Meyering  <meyering@redhat.com>
70412         init.sh: simply unset TMPDIR rather than risking env -i
70413         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
70414         although it probably works fine on all Unix-based systems, some
70415         systems (Cygwin?) cannot tolerate a totally cleared environment.
70416         Suggestion from Eric Blake.
70418 2010-04-06  Jim Meyering  <meyering@redhat.com>
70420         init.sh: portability fix: use env's POSIX-specified -i option not -u
70421         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
70422         than unportable env -u.  Solaris 5.11's env lacks support for -u.
70424 2010-04-05  Bruno Haible  <bruno@clisp.org>
70426         btowc: Work around Cygwin 1.7.2 bug.
70427         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
70428         does not map NUL to 0.
70429         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
70431 2010-04-05  Bruno Haible  <bruno@clisp.org>
70433         Make the multithread modules work on Cygwin 1.7.2.
70434         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
70435         imported symbols can be declared weak, so that it returns "no" on
70436         Cygwin 1.7.2.
70438 2010-04-05  Bruno Haible  <bruno@clisp.org>
70440         Use the module 'strncat'.
70441         * modules/unistr/u8-strncat (Depends-on): Add strncat.
70443         Tests for module 'strncat'.
70444         * modules/strncat-tests: New file.
70445         * tests/test-strncat.c: New file.
70447         New module 'strncat'.
70448         * lib/string.in.h (strncat): New declaration.
70449         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
70450         * m4/strncat.m4: New file, based on m4/memchr.m4.
70451         * modules/strncat: New file.
70452         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
70453         is declared.
70454         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
70455         REPLACE_STRNCAT.
70456         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
70457         REPLACE_STRNCAT.
70458         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
70459         module.
70460         * tests/test-string-c++.cc: Check signature of strncat.
70462 2010-04-05  Jim Meyering  <meyering@redhat.com>
70464         xstrtoumax-tests: convert to use init.sh
70465         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
70466         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
70467         Use Exit, not exit.
70468         Remove uses of $EXEEXT and "./" to run a program in the current dir.
70470         xstrtoimax-tests: convert to use init.sh
70471         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
70472         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
70473         Use Exit, not exit.
70474         Remove uses of $EXEEXT and "./" to run a program in the current dir.
70476 2010-04-05  Bruno Haible  <bruno@clisp.org>
70478         sys_socket: Avoid #define replacements in C++ mode.
70479         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
70480         warning to the function if possible, rather than #defining the symbol
70481         to a dysfunctional alias.
70483 2010-04-05  Bruno Haible  <bruno@clisp.org>
70485         fseeko: Fix C++ test error on mingw.
70486         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
70487         gl_FUNC_FSEEKO.
70488         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
70489         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
70490         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
70491         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
70493 2010-04-05  Bruno Haible  <bruno@clisp.org>
70495         duplocale: Improve test output.
70496         * tests/test-duplocale.c (main): Print reason for skipped test.
70498 2010-04-05  Bruno Haible  <bruno@clisp.org>
70500         Assume rmdir exists.
70501         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
70502         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
70504 2010-04-05  Bruno Haible  <bruno@clisp.org>
70506         Fix link error on Solaris 8 with cc.
70507         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
70509 2010-04-05  Bruno Haible  <bruno@clisp.org>
70511         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
70512         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
70514 2010-04-05  Bruno Haible  <bruno@clisp.org>
70516         vasprintf: Update documentation.
70517         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
70519 2010-04-05  Bruno Haible  <bruno@clisp.org>
70521         ptsname: Improve test.
70522         * tests/test-ptsname.c (main): Also try the various master names of BSD
70523         systems.
70525 2010-04-05  Bruno Haible  <bruno@clisp.org>
70527         memchr: Avoid a possible C++ test error.
70528         * lib/string.in.h (memchr): Provide declaration if function is missing.
70529         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
70530         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
70531         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
70532         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
70534 2010-04-05  Bruno Haible  <bruno@clisp.org>
70536         strtok_r: Improve idiom.
70537         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
70538         AC_LIBOBJ is used.
70540 2010-04-05  Bruno Haible  <bruno@clisp.org>
70542         strdup: Improve idiom.
70543         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
70544         AC_LIBOBJ is used.
70545         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
70546         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
70547         when AC_LIBOBJ is used.
70549 2010-04-05  Bruno Haible  <bruno@clisp.org>
70551         mbsinit, mbrtowc, wcrtomb: Improve idioms.
70552         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
70553         don't set REPLACE_MBSINIT to 1.
70554         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
70555         don't set REPLACE_MBRTOWC to 1.
70556         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
70557         exist, don't set REPLACE_MBSRTOWCS to 1.
70558         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
70559         exist, don't set REPLACE_MBSNRTOWCS to 1.
70560         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
70561         don't set REPLACE_WCRTOMB to 1.
70562         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
70563         exist, don't set REPLACE_WCSRTOMBS to 1.
70564         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
70565         exist, don't set REPLACE_WCSNRTOMBS to 1.
70567 2010-04-05  Bruno Haible  <bruno@clisp.org>
70569         ldexpl: Improve idiom.
70570         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
70571         make sure to set HAVE_DECL_LDEXPL to 0.
70573 2010-04-05  Jim Meyering  <meyering@redhat.com>
70575         xstrtol-tests: convert to use init.sh
70576         * modules/xstrtol-tests (Files): Add tests/init.sh.
70577         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
70578         Use Exit, not exit.
70579         Remove uses of $EXEEXT and "./" to run a program in the current dir.
70581         atexit-tests: convert to use init.sh
70582         * modules/atexit-tests (Files): Add tests/init.sh.
70583         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
70584         Use Exit, not exit.
70585         Remove uses of $EXEEXT and "./" to run a program in the current dir.
70587         init.sh: fix typo
70588         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
70590         init.sh: make it easier for a test script to write to the tty, ...
70591         when using automake's parallel-tests mode.
70592         * tests/init.sh (stderr_fileno_): Define overridable variable.
70593         (warn_): New function, to use it.
70594         (fail_, skip_, framework_failure_): Use warn_.
70596 2010-04-04  Bruno Haible  <bruno@clisp.org>
70598         btowc: Avoid warning.
70599         * lib/btowc.c: Include <stdlib.h>.
70600         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
70602 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
70603             Bruno Haible  <bruno@clisp.org>
70605         wchar: Port to NetBSD 1.5.
70606         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
70607         * lib/wctype.in.h (WEOF): Likewise.
70609 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
70610             Bruno Haible  <bruno@clisp.org>
70612         Port extended stdio to NetBSD 1.5.
70613         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
70614         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
70615         older.
70617 2010-04-04  Bruno Haible  <bruno@clisp.org>
70619         string: Remove unused substitution.
70620         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
70621         HAVE_DECL_STRERROR.
70622         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
70624 2010-04-04  Bruno Haible  <bruno@clisp.org>
70626         strtod: Avoid a possible C++ test error.
70627         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
70628         set REPLACE_STRTOD.
70630 2010-04-04  Bruno Haible  <bruno@clisp.org>
70632         strerror: Update documentation.
70633         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
70635 2010-04-04  Bruno Haible  <bruno@clisp.org>
70637         stdio: Fix some C++ test errors on Solaris 8 with GCC.
70638         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
70639         _GL_CXXALIAS_SYS_CAST.
70641 2010-04-04  Bruno Haible  <bruno@clisp.org>
70643         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
70644         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
70645         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
70646         REPLACE_FREXPL to 1.
70647         * doc/posix-functions/frexpl.texi: Update documentation.
70649 2010-04-04  Bruno Haible  <bruno@clisp.org>
70651         math: Fix some C++ test errors on Solaris 8 and Cygwin.
70652         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
70654 2010-04-04  Bruno Haible  <bruno@clisp.org>
70656         Implement nanosleep for native Windows.
70657         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
70659 2010-04-04  Bruno Haible  <bruno@clisp.org>
70661         math: Fix some C++ test errors on Solaris 8.
70662         * lib/math.in.h (truncf, trunc): Use simpler idiom.
70664 2010-04-04  Bruno Haible  <bruno@clisp.org>
70666         math: Fix some C++ test errors on Cygwin.
70667         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
70668         truncl): Provide declaration if the system does not have it.
70669         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
70670         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
70671         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
70672         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
70673         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
70674         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
70675         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
70676         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
70677         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
70678         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
70679         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
70680         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
70681         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
70682         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
70683         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
70684         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
70685         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
70686         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
70687         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
70688         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
70689         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
70690         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
70692 2010-04-04  Bruno Haible  <bruno@clisp.org>
70694         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
70695         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
70696         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
70697         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
70698         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
70699         * m4/isinf.m4 (gl_ISINF): Likewise.
70700         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
70702 2010-04-04  Bruno Haible  <bruno@clisp.org>
70704         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
70705         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
70707 2010-04-04  Bruno Haible  <bruno@clisp.org>
70709         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
70710         * modules/tmpfile (configure.ac): Update.
70712         tmpfile: Fix C++ test error on mingw.
70713         * lib/stdio.in.h (tmpfile): New declaration.
70714         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
70715         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
70716         * modules/tmpfile (Depends-on): Add stdio.
70717         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
70718         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
70719         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
70720         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
70721         REPLACE_TMPFILE.
70722         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
70724 2010-04-04  Bruno Haible  <bruno@clisp.org>
70726         ioctl: Fix C++ test error on mingw.
70727         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
70728         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
70729         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
70731 2010-04-03  Bruno Haible  <bruno@clisp.org>
70733         wcwidth: Fix C++ test error on mingw.
70734         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
70735         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
70736         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
70738 2010-04-03  Bruno Haible  <bruno@clisp.org>
70740         nanosleep: Fix C++ test error on mingw.
70741         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
70742         * lib/time.in.h (nanosleep): Use modern idiom.
70743         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
70744         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
70745         REPLACE_NANOSLEEP to 1.
70746         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
70747         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
70749 2010-04-03  Bruno Haible  <bruno@clisp.org>
70751         strptime: Fix C++ test error on mingw.
70752         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
70753         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
70754         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
70755         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
70756         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
70757         not REPLACE_STRPTIME.
70758         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
70759         REPLACE_STRPTIME.
70761 2010-04-03  Bruno Haible  <bruno@clisp.org>
70763         timegm: Fix C++ test error on mingw.
70764         * lib/time.in.h (timegm): Use modern idiom.
70765         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
70766         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
70767         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
70768         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
70770 2010-04-03  Bruno Haible  <bruno@clisp.org>
70772         timegm: Assume declaration if function exists.
70773         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
70774         if it exists. Don't clobber ac_cv_func_timegm.
70776 2010-04-03  Bruno Haible  <bruno@clisp.org>
70778         time_r: Fix C++ test error on mingw.
70779         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
70780         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
70781         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
70782         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
70783         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
70785 2010-04-03  Bruno Haible  <bruno@clisp.org>
70787         time_r: Minor updates.
70788         * modules/time_r (Description): Mention the provided functions.
70789         * lib/time_r.c: Don't include <string.h>.
70790         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
70791         * doc/posix-functions/localtime_r.texi: Likewise.
70793 2010-04-03  Bruno Haible  <bruno@clisp.org>
70795         time: Fix regression introduced on 2010-03-08.
70796         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
70797         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
70799 2010-04-03  Jim Meyering  <meyering@redhat.com>
70801         maint.mk: don't silently disable project-specific syntax-check rules
70802         * top/maint.mk (_prohibit_regexp): Define, to help people realize
70803         that they need to convert their project-specific syntax-check rules
70804         to use the new _sc_search_regexp.
70806 2010-04-03  Bruno Haible  <bruno@clisp.org>
70808         fchdir: Fix regression introduced on 2010-03-08.
70809         * lib/unistd.in.h (fchdir): Fix declaration.
70810         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
70811         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
70812         REPLACE_FCHDIR.
70813         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
70814         REPLACE_FCHDIR.
70816 2010-04-03  Bruno Haible  <bruno@clisp.org>
70818         getpagesize: Fix C++ test error on mingw.
70819         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
70820         system does not declare the function.
70821         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
70822         declared.
70823         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
70824         HAVE_DECL_GETPAGESIZE.
70825         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
70827 2010-04-03  Bruno Haible  <bruno@clisp.org>
70829         stdio: Make C++ tests work on mingw.
70830         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
70831         does not declare the function.
70833 2010-04-03  Bruno Haible  <bruno@clisp.org>
70835         ftello: Fix C++ test error on mingw.
70836         * lib/stdio.in.h (ftello): Use modern idiom.
70837         * lib/ftello.c (ftello): Renamed from rpl_ftello.
70838         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
70839         is missing and that it needs to be replaced.
70840         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
70841         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
70842         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
70844 2010-04-03  Bruno Haible  <bruno@clisp.org>
70846         fseeko: Fix C++ test error on mingw.
70847         * lib/stdio.in.h (fseeko): Use modern idiom.
70848         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
70849         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
70850         is missing and that it needs to be replaced.
70851         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
70852         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
70853         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
70855 2010-04-03  Bruno Haible  <bruno@clisp.org>
70857         mkstemp: Fix C++ test error on mingw.
70858         * lib/stdlib.in.h (mkstemp): Use modern idiom.
70859         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
70860         function is missing and that it needs to be replaced.
70861         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
70862         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
70864 2010-04-03  Bruno Haible  <bruno@clisp.org>
70866         stpncpy: Fix C++ test error on mingw.
70867         * lib/string.in.h (stpncpy): Use modern idiom.
70868         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
70869         function is missing and that it needs to be replaced.
70870         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
70871         REPLACE_STPNCPY.
70872         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
70874 2010-04-03  Bruno Haible  <bruno@clisp.org>
70876         sys_stat: Fix C++ test error on mingw.
70877         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
70878         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
70880 2010-04-03  Bruno Haible  <bruno@clisp.org>
70882         pty: Update doc.
70883         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
70885 2010-04-03  Bruno Haible  <bruno@clisp.org>
70887         unistd: Fix C++ test error on mingw.
70888         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
70890 2010-04-03  Bruno Haible  <bruno@clisp.org>
70892         Update doc regarding mingw.
70893         * doc/glibc-functions/openpty.texi: Update regarding mingw.
70894         * doc/glibc-functions/login_tty.texi: Likewise.
70895         * doc/glibc-functions/forkpty.texi: Likewise.
70897 2010-04-03  Bruno Haible  <bruno@clisp.org>
70899         stdlib: Avoid compilation failure of c-strtold on mingw.
70900         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
70902 2010-04-03  Bruno Haible  <bruno@clisp.org>
70904         locale: Make C++ tests work on Cygwin and mingw.
70905         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
70906         cannot provide the function.
70907         Reported by Simon Josefsson.
70909 2010-04-03  Bruno Haible  <bruno@clisp.org>
70911         localename: Port to MacOS X 10.6.
70912         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
70913         memory layout of the locales in MacOS X 10.6 as well.
70914         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
70916 2010-04-02  Bruno Haible  <bruno@clisp.org>
70918         gnulib-tool: Ensure that long-running tests are executed last.
70919         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
70920         running tests after the one for the other tests.
70922 2010-04-02  Bruno Haible  <bruno@clisp.org>
70924         gnulib-tool: Ensure the tests in the main directory are executed first.
70925         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
70926         start with the current directory.
70928 2010-04-02  Bruno Haible  <bruno@clisp.org>
70930         Tests for module 'havelib', moved here from GNU gettext.
70931         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
70932         modifications.
70933         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
70934         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
70935         with modifications.
70936         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
70937         modifications.
70938         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
70939         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
70940         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
70941         with modifications.
70942         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
70943         with modifications.
70944         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
70945         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
70946         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
70947         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
70948         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
70949         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
70950         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
70951         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
70952         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
70953         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
70954         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
70955         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
70956         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
70957         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
70958         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
70959         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
70960         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
70961         with modifications.
70962         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
70963         with modifications.
70964         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
70965         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
70966         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
70967         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
70968         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
70969         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
70970         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
70971         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
70972         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
70973         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
70974         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
70975         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
70976         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
70977         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
70978         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
70979         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
70980         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
70981         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
70982         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
70983         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
70984         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
70985         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
70986         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
70987         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
70988         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
70989         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
70990         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
70991         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
70992         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
70993         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
70994         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
70995         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
70996         * tests/havelib/rpathx/rpathx.c: New file, from
70997         gettext/autoconf-lib-link.
70998         * tests/havelib/rpathx/Makefile.am: New file, from
70999         gettext/autoconf-lib-link.
71000         * tests/havelib/rpathx/configure.ac: New file, from
71001         gettext/autoconf-lib-link with modifications.
71002         * tests/havelib/rpathy/rpathy.c: New file, from
71003         gettext/autoconf-lib-link.
71004         * tests/havelib/rpathy/Makefile.am: New file, from
71005         gettext/autoconf-lib-link.
71006         * tests/havelib/rpathy/configure.ac: New file, from
71007         gettext/autoconf-lib-link with modifications.
71008         * tests/havelib/rpathz/rpathz.c: New file, from
71009         gettext/autoconf-lib-link.
71010         * tests/havelib/rpathz/Makefile.am: New file, from
71011         gettext/autoconf-lib-link.
71012         * tests/havelib/rpathz/configure.ac: New file, from
71013         gettext/autoconf-lib-link with modifications.
71014         * tests/havelib/rpathlx/usex.c: New file, from
71015         gettext/autoconf-lib-link.
71016         * tests/havelib/rpathlx/Makefile.am: New file, from
71017         gettext/autoconf-lib-link.
71018         * tests/havelib/rpathlx/configure.ac: New file, from
71019         gettext/autoconf-lib-link with modifications.
71020         * tests/havelib/rpathly/usey.c: New file, from
71021         gettext/autoconf-lib-link.
71022         * tests/havelib/rpathly/Makefile.am: New file, from
71023         gettext/autoconf-lib-link.
71024         * tests/havelib/rpathly/configure.ac: New file, from
71025         gettext/autoconf-lib-link with modifications.
71026         * tests/havelib/rpathlz/usez.c: New file, from
71027         gettext/autoconf-lib-link.
71028         * tests/havelib/rpathlz/Makefile.am: New file, from
71029         gettext/autoconf-lib-link.
71030         * tests/havelib/rpathlz/configure.ac: New file, from
71031         gettext/autoconf-lib-link with modifications.
71032         * tests/havelib/rpathlyx/usey.c: New file, from
71033         gettext/autoconf-lib-link.
71034         * tests/havelib/rpathlyx/Makefile.am: New file, from
71035         gettext/autoconf-lib-link.
71036         * tests/havelib/rpathlyx/configure.ac: New file, from
71037         gettext/autoconf-lib-link with modifications.
71038         * tests/havelib/rpathlzyx/usez.c: New file, from
71039         gettext/autoconf-lib-link.
71040         * tests/havelib/rpathlzyx/Makefile.am: New file, from
71041         gettext/autoconf-lib-link.
71042         * tests/havelib/rpathlzyx/configure.ac: New file, from
71043         gettext/autoconf-lib-link with modifications.
71044         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
71045         with modifications.
71047 2010-04-02  Bruno Haible  <bruno@clisp.org>
71049         gnulib-tool: Create distributed built sources also for the tests.
71050         * gnulib-tool (func_create_testdir): Also generate distributed built
71051         sources in the tests directory.
71053 2010-04-02  Bruno Haible  <bruno@clisp.org>
71055         gnulib-tool: Obey user's environment variables.
71056         * gnulib-tool (func_create_testdir): When creating built sources,
71057         respect the environment variables for autoconf, automake, etc. given by
71058         the user.
71060 2010-04-02  Bruno Haible  <bruno@clisp.org>
71062         gnulib-tool: Provide the value of --m4-base to modules.
71063         * gnulib-tool (func_import, func_create_testdir): Emit a definition
71064         of gl_m4_base.
71066 2010-04-02  Eric Blake  <eblake@redhat.com>
71068         maint.mk: fix some fallout
71069         * NEWS: Document the incompatible change, and its effect on cfg.mk.
71070         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
71072 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
71074         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
71075         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
71076         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
71077         (sc_cast_of_x_alloc_return_value): Likewise.
71078         (sc_cast_of_alloca_return_value): Likewise.
71079         (sc_space_tab): Likewise.
71080         (sc_prohibit_atoi_atof): Likewise.
71081         (sc_prohibit_magic_number_exit): Likewise.
71082         (sc_error_exit_success): Likewise.
71083         (sc_file_system): Likewise.
71084         (sc_prohibit_have_config_h): Likewise.
71085         (sc_require_config_h): Likewise.
71086         (sc_prohibit_HAVE_MBRTOWC): Likewise.
71087         (sc_obsolete_symbols): Likewise.
71088         (sc_changelog): Likewise.
71089         (sc_program_name): Likewise.
71090         (sc_the_the): Likewise.
71091         (sc_trailing_blank): Likewise.
71092         (sc_two_space_separator_in_usage): Likewise.
71093         (sc_useless_cpp_parens): Likewise.
71094         (sc_GPL_version): Likewise.
71095         (sc_GFDL_version): Likewise.
71096         (sc_texinfo_acronym): Likewise.
71097         (sc_prohibit_cvs_keyword): Likewise.
71098         (sc_prohibit_stat_st_blocks): Likewise.
71099         (sc_prohibit_S_IS_definition): Likewise.
71100         (sc_redundant_const): Likewise.
71101         (sc_makefile_TAB_only_indentation): Likewise.
71102         (sc_m4_quote_check): Likewise.
71103         (sc_makefile_path_separator_check): Likewise.
71104         (sc_copyright_check): Likewise.
71105         (sc_Wundef_boolean): Likewise.
71106         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
71108         maint.mk: match 0 or more whitespace-before-function-call '('
71109         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
71110         that have zero or two-and-more spaces between the function name
71111         and the open parenthesis.
71112         (sc_error_message_warn_fatal): Likewise.
71113         (sc_error_message_uppercase): Likewise.
71114         (sc_error_message_period): Likewise.
71116 2010-03-31  Eric Blake  <eblake@redhat.com>
71118         maint.mk: check for [ as well as test
71119         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
71120         Based on a libvirt report by Matthias Bolte.
71122         gnumakefile: don't squelch _version output
71123         * top/GNUmakefile (_version): Create one-shot dependency rather
71124         than using $(shell) when version must be regenerated.
71125         (_autoreconf): Run verbosely, by default.
71127         sys_time: avoid compiler warnings
71128         * lib/sys_time.in.h (includes): Ensure gcc pragma is
71129         unconditional, fixing regression from 2010-03-29.
71130         Reported by Simon Josefsson.
71132 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
71134         maint.mk: s/_header_without_use/_sc_header_without_use/
71135         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
71136         (sc_prohibit_assert_without_use): Use the new name.
71137         (sc_prohibit_close_stream_without_use): Likewise.
71138         (sc_prohibit_getopt_without_use): Likewise.
71139         (sc_prohibit_quotearg_without_use): Likewise.
71140         (sc_prohibit_quote_without_use): Likewise.
71141         (sc_prohibit_long_options_without_use): Likewise.
71142         (sc_prohibit_inttostr_without_use): Likewise.
71143         (sc_prohibit_ignore_value_without_use): Likewise.
71144         (sc_prohibit_error_without_use): Likewise.
71145         (sc_prohibit_xalloc_without_use): Likewise.
71146         (sc_prohibit_hash_without_use): Likewise.
71147         (sc_prohibit_hash_pjw_without_use): Likewise.
71148         (sc_prohibit_safe_read_without_use): Likewise.
71149         (sc_prohibit_argmatch_without_use): Likewise.
71150         (sc_prohibit_canonicalize_without_use): Likewise.
71151         (sc_prohibit_root_dev_ino_without_use): Likewise.
71152         (sc_prohibit_openat_without_use): Likewise.
71153         (sc_prohibit_c_ctype_without_use): Likewise.
71154         (sc_prohibit_signal_without_use): Likewise.
71155         (sc_prohibit_intprops_without_use): Likewise.
71157 2010-03-30  Eric Blake  <eblake@redhat.com>
71159         maint: improve module indicators
71160         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
71161         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
71162         columns, and avoid extra macro expansion.
71164         fdopendir: work around FreeBSD bug
71165         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
71166         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
71167         * modules/dirent (Makefile.am): Substitute it.
71168         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
71169         declaration.
71170         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
71171         fix.
71172         Reported by Christian Weisgerber <naddy@mips.inka.de>.
71174 2010-03-29  Bruno Haible  <bruno@clisp.org>
71176         Emit #pragma system_header after the inclusion guard, not before.
71177         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
71178         guard that spans the entire file, not before. This enables an
71179         optimization in GCC's preprocessor.
71180         * lib/ctype.in.h: Likewise.
71181         * lib/dirent.in.h: Likewise.
71182         * lib/errno.in.h: Likewise.
71183         * lib/float.in.h: Likewise.
71184         * lib/getopt.in.h: Likewise.
71185         * lib/iconv.in.h: Likewise.
71186         * lib/langinfo.in.h: Likewise.
71187         * lib/locale.in.h: Likewise.
71188         * lib/math.in.h: Likewise.
71189         * lib/netdb.in.h: Likewise.
71190         * lib/netinet_in.in.h: Likewise.
71191         * lib/pty.in.h: Likewise.
71192         * lib/sched.in.h: Likewise.
71193         * lib/se-selinux.in.h: Likewise.
71194         * lib/search.in.h: Likewise.
71195         * lib/spawn.in.h: Likewise.
71196         * lib/stdarg.in.h: Likewise.
71197         * lib/stdint.in.h: Likewise.
71198         * lib/string.in.h: Likewise.
71199         * lib/strings.in.h: Likewise.
71200         * lib/sys_file.in.h: Likewise.
71201         * lib/sys_ioctl.in.h: Likewise.
71202         * lib/sys_time.in.h: Likewise.
71203         * lib/sys_times.in.h: Likewise.
71204         * lib/sys_utsname.in.h: Likewise.
71205         * lib/sys_wait.in.h: Likewise.
71206         * lib/sysexits.in.h: Likewise.
71207         * lib/wctype.in.h: Likewise.
71209 2010-03-28  James Youngman  <jay@gnu.org>
71211         save-cwd: don't leak a file descriptor when the caller execs.
71212         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
71213         saved file descriptor.
71214         * modules/save-cwd (Depends-on): Depend on cloexec.
71216 2010-03-29  Bruno Haible  <bruno@clisp.org>
71218         Remove vestiges of fts-lgpl module.
71219         * lib/fts_.h: Assume GNULIB_FTS is 1.
71220         * lib/fts.c: Likewise.
71221         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
71223 2010-03-28  Bruno Haible  <bruno@clisp.org>
71225         Fix definition of tests witness macro.
71226         * gnulib-tool (func_import): Fix definition of witness macro.
71228 2010-03-28  Bruno Haible  <bruno@clisp.org>
71230         Fix ioctl's protoype on glibc systems.
71231         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
71232         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
71233         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
71234         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
71235         signature. If not, arrange to replace the ioctl function.
71236         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
71237         REPLACE_IOCTL.
71238         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
71239         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
71240         Reported by Ludovic Courtès <ludo@gnu.org>.
71242 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
71244         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
71245         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
71246         made it so grep -r --include=GLOB* ... did not work.
71248 2010-03-26  Jim Meyering  <meyering@redhat.com>
71249             Eric Blake  <eblake@redhat.com>
71251         maint.mk: prohibit use of test's -o and -a operators
71252         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
71254 2010-03-28  Bruno Haible  <bruno@clisp.org>
71256         Remove unused GNULIB_XYZ macro definitions.
71257         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
71258         invocation.
71260 2010-03-28  Bruno Haible  <bruno@clisp.org>
71262         Mark privileged tests modules.
71263         * modules/idpriv-drop-tests (Status): New section.
71264         * modules/idpriv-droptemp-tests (Status): New section.
71266 2010-03-28  Bruno Haible  <bruno@clisp.org>
71268         Split C++ tests into separate tests modules.
71269         * modules/dirent-c++-tests: New file, extracted from
71270         modules/dirent-tests.
71271         * modules/dirent-tests: Depend on it.
71272         * modules/fcntl-h-c++-tests: New file, extracted from
71273         modules/fcntl-h-tests.
71274         * modules/fcntl-h-tests: Depend on it.
71275         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
71276         * modules/glob-tests: Depend on it.
71277         * modules/iconv-h-c++-tests: New file, extracted from
71278         modules/iconv-h-tests.
71279         * modules/iconv-h-tests: Depend on it.
71280         * modules/langinfo-c++-tests: New file, extracted from
71281         modules/langinfo-tests.
71282         * modules/langinfo-tests: Depend on it.
71283         * modules/locale-c++-tests: New file, extracted from
71284         modules/locale-tests.
71285         * modules/locale-tests: Depend on it.
71286         * modules/math-c++-tests: New file, extracted from modules/math-tests.
71287         * modules/math-tests: Depend on it.
71288         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
71289         * modules/pty-tests: Depend on it.
71290         * modules/search-c++-tests: New file, extracted from
71291         modules/search-tests.
71292         * modules/search-tests: Depend on it.
71293         * modules/signal-c++-tests: New file, extracted from
71294         modules/signal-tests.
71295         * modules/signal-tests: Depend on it.
71296         * modules/spawn-c++-tests: New file, extracted from
71297         modules/spawn-tests.
71298         * modules/spawn-tests: Depend on it.
71299         * modules/stdio-c++-tests: New file, extracted from
71300         modules/stdio-tests.
71301         * modules/stdio-tests: Depend on it.
71302         * modules/stdlib-c++-tests: New file, extracted from
71303         modules/stdlib-tests.
71304         * modules/stdlib-tests: Depend on it.
71305         * modules/string-c++-tests: New file, extracted from
71306         modules/string-tests.
71307         * modules/string-tests: Depend on it.
71308         * modules/sys_ioctl-c++-tests: New file, extracted from
71309         modules/sys_ioctl-tests.
71310         * modules/sys_ioctl-tests: Depend on it.
71311         * modules/sys_select-c++-tests: New file, extracted from
71312         modules/sys_select-tests.
71313         * modules/sys_select-tests: Depend on it.
71314         * modules/sys_socket-c++-tests: New file, extracted from
71315         modules/sys_socket-tests.
71316         * modules/sys_socket-tests: Depend on it.
71317         * modules/sys_stat-c++-tests: New file, extracted from
71318         modules/sys_stat-tests.
71319         * modules/sys_stat-tests: Depend on it.
71320         * modules/sys_time-c++-tests: New file, extracted from
71321         modules/sys_time-tests.
71322         * modules/sys_time-tests: Depend on it.
71323         * modules/time-c++-tests: New file, extracted from modules/time-tests.
71324         * modules/time-tests: Depend on it.
71325         * modules/unistd-c++-tests: New file, extracted from
71326         modules/unistd-tests.
71327         * modules/unistd-tests: Depend on it.
71328         * modules/wchar-c++-tests: New file, extracted from
71329         modules/wchar-tests.
71330         * modules/wchar-tests: Depend on it.
71331         * modules/wctype-c++-tests: New file, extracted from
71332         modules/wctype-tests.
71333         * modules/wctype-tests: Depend on it.
71334         Reported by Simon Josefsson.
71336 2010-03-28  Bruno Haible  <bruno@clisp.org>
71338         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
71339         * gnulib-tool (func_exists_module): New function, extracted from
71340         func_verify_module.
71341         (func_verify_module): Use it.
71342         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
71343         'foo' only if 'foo' exists.
71344         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
71345         module.
71347 2010-03-28  Bruno Haible  <bruno@clisp.org>
71349         gnulib-tool: Add support for special categories of tests.
71350         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
71351         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
71352         (func_usage): Document them.
71353         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
71354         inc_unportable_tests, inc_all_tests): New variables.
71355         (func_acceptable): Consider these variables.
71356         (func_modules_transitive_closure): Make it work when the 'Status' field
71357         consists of multiple words.
71358         (func_import): Store and restore the values of inc_cxx_tests,
71359         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
71360         inc_all_tests in gnulib-comp.m4.
71361         (func_create_testdir): Set inc_all_tests to true.
71362         * doc/gnulib.texi (Extra tests modules): New section.
71363         Suggested by Jim Meyering.
71365 2010-03-28  Bruno Haible  <bruno@clisp.org>
71367         ansi-c++-opt: Allow turning off the C++ build by default.
71368         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
71369         gl_CXX_CHOICE_DEFAULT_NO is defined.
71370         Requested by Eric Blake.
71372 2010-03-28  Bruno Haible  <bruno@clisp.org>
71374         unistd: Avoid #define replacements in C++ mode.
71375         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
71376         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
71377         setsockopt, shutdown, select): In C++, attach a warning to the function
71378         if possible, rather than #defining the symbol to a dysfunctional alias.
71379         Reported by John W. Eaton <jwe@gnu.org>.
71381 2010-03-28  Bruno Haible  <bruno@clisp.org>
71383         Fix link errors on mingw.
71384         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
71385         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
71386         $(LIBSOCKET).
71387         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
71388         $(LIBSOCKET).
71390 2010-03-28  Bruno Haible  <bruno@clisp.org>
71391             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71393         lib-ignore: Determine different options for different compilers.
71394         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
71395         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
71396         Add comments.
71397         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
71398         * NEWS: Mention the change.
71400 2010-03-27  Bruno Haible  <bruno@clisp.org>
71402         Remove unused GNULIB_XYZ macro definitions.
71403         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
71404         * modules/fseek (configure.ac): Likewise.
71405         * modules/ioctl (configure.ac): Likewise.
71406         * modules/open (configure.ac): Likewise.
71407         * modules/stdlib-safer (configure.ac): Likewise.
71409 2010-03-27  Bruno Haible  <bruno@clisp.org>
71411         Add a remark about certain modules.
71412         * modules/malloc (Comment): New section.
71413         * modules/realloc (Comment): Likewise.
71414         * modules/sigpipe (Comment): Likewise.
71416 2010-03-27  Bruno Haible  <bruno@clisp.org>
71418         Resolve conflict between the two kinds of module indicators.
71419         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
71420         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
71421         * modules/canonicalize (configure.ac): Invoke
71422         gl_MODULE_INDICATOR_FOR_TESTS.
71423         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
71424         GNULIB_XYZ.
71425         * tests/test-dirent-c++.cc: Likewise.
71426         * tests/test-dirent-safer.c: Likewise.
71427         * tests/test-dup2.c: Likewise.
71428         * tests/test-fchdir.c: Likewise.
71429         * tests/test-fcntl-h-c++.cc: Likewise.
71430         * tests/test-getopt.c: Likewise.
71431         * tests/test-getopt.h: Likewise.
71432         * tests/test-langinfo-c++.cc: Likewise.
71433         * tests/test-locale-c++.cc: Likewise.
71434         * tests/test-math-c++.cc: Likewise.
71435         * tests/test-pty-c++.cc: Likewise.
71436         * tests/test-search-c++.cc: Likewise.
71437         * tests/test-signal-c++.cc: Likewise.
71438         * tests/test-spawn-c++.cc: Likewise.
71439         * tests/test-stdio-c++.cc: Likewise.
71440         * tests/test-stdlib-c++.cc: Likewise.
71441         * tests/test-string-c++.cc: Likewise.
71442         * tests/test-sys_ioctl-c++.cc: Likewise.
71443         * tests/test-sys_select-c++.cc: Likewise.
71444         * tests/test-sys_socket-c++.cc: Likewise.
71445         * tests/test-sys_stat-c++.cc: Likewise.
71446         * tests/test-sys_time-c++.cc: Likewise.
71447         * tests/test-time-c++.cc: Likewise.
71448         * tests/test-unistd-c++.cc: Likewise.
71449         * tests/test-wchar-c++.cc: Likewise.
71450         * tests/uninorm/test-u8-nfc.c: Likewise.
71451         * tests/uninorm/test-u8-nfd.c: Likewise.
71452         * tests/uninorm/test-u8-nfkc.c: Likewise.
71453         * tests/uninorm/test-u8-nfkd.c: Likewise.
71454         * tests/uninorm/test-u16-nfc.c: Likewise.
71455         * tests/uninorm/test-u16-nfd.c: Likewise.
71456         * tests/uninorm/test-u16-nfkc.c: Likewise.
71457         * tests/uninorm/test-u16-nfkd.c: Likewise.
71458         * tests/uninorm/test-u32-nfc.c: Likewise.
71459         * tests/uninorm/test-u32-nfc-big.c: Likewise.
71460         * tests/uninorm/test-u32-nfd.c: Likewise.
71461         * tests/uninorm/test-u32-nfd-big.c: Likewise.
71462         * tests/uninorm/test-u32-nfkc.c: Likewise.
71463         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
71464         * tests/uninorm/test-u32-nfkd.c: Likewise.
71465         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
71466         * tests/uninorm/test-u32-normalize-big.c: Likewise.
71468 2010-03-27  Bruno Haible  <bruno@clisp.org>
71470         Distinguish two kinds of module indicators.
71471         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
71472         gl_MODULE_INDICATOR.
71473         (gl_MODULE_INDICATOR): New macro.
71474         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
71475         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
71476         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
71477         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
71478         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
71479         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
71480         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
71481         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
71482         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
71483         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
71484         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
71485         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
71486         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
71487         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
71488         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
71489         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
71490         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
71491         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
71492         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
71493         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
71494         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
71495         * modules/cloexec (configure.ac): Likewise.
71496         * modules/getopt-gnu (configure.ac): Likewise.
71497         * modules/uninorm/u8-normalize (configure.ac): Likewise.
71498         * modules/uninorm/u16-normalize (configure.ac): Likewise.
71499         * modules/uninorm/u32-normalize (configure.ac): Likewise.
71500         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
71502 2010-03-27  Bruno Haible  <bruno@clisp.org>
71504         New module description field 'Comment'.
71505         * gnulib-tool: New option --extract-comment.
71506         (func_usage): Document it.
71507         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
71508         (func_get_comment): New function.
71509         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
71511 2010-03-27  Bruno Haible  <bruno@clisp.org>
71513         Addendum to 2010-02-07 commit.
71514         * gnulib-tool (func_usage): Document --extract-applicability option.
71516 2010-03-27  Bruno Haible  <bruno@clisp.org>
71518         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
71519         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
71520         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
71521         rather than link errors.
71523 2010-03-27  Bruno Haible  <bruno@clisp.org>
71525         Avoid side effects from tests-related modules on the compilation of lib.
71526         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
71527         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
71528         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
71529         parameter. Emit into AM_CPPFLAGS a definition of the designated C
71530         macro.
71531         (func_import): Define a witness macro. Assign it a value that depends
71532         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
71533         tests-related modules.
71534         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
71535         Reported by Jim Meyering.
71537 2010-03-27  Bruno Haible  <bruno@clisp.org>
71539         Factorize common .m4 code.
71540         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
71541         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
71542         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
71543         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
71544         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
71545         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
71546         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
71547         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
71548         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
71549         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
71550         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
71551         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
71552         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
71553         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
71554         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
71555         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
71556         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
71557         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
71558         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
71559         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
71560         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
71561         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
71562         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
71563         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
71564         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
71565         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
71566         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
71567         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
71568         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
71569         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
71570         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
71571         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
71573 2010-03-27  Bruno Haible  <bruno@clisp.org>
71575         Fix a compilation error on Cygwin with g++ >= 4.3.
71576         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
71577         if it is undefined or if we alias it to chmod.
71578         (lstat): Don't warn about the use of this function if it is undefined
71579         or if we alias it to stat.
71580         Reported by Simon Josefsson.
71582 2010-03-27  Bruno Haible  <bruno@clisp.org>
71584         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
71585         * modules/getlogin (configure.ac): Update.
71587         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
71588         * modules/getlogin_r (configure.ac): Update.
71590         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
71591         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
71592         * modules/inet_ntop (configure.ac): Update.
71594         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
71595         * modules/inet_pton (configure.ac): Update.
71597         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
71598         * modules/mbslen (configure.ac): Update.
71600         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
71601         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
71602         * modules/forkpty (configure.ac): Update.
71603         * modules/openpty (configure.ac): Update.
71605 2010-03-26  Simon Josefsson  <simon@josefsson.org>
71607         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
71608         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
71610 2010-03-25  Eric Blake  <eblake@redhat.com>
71612         maint: use pragma consistently across replacement headers
71613         * lib/ctype.in.h (system_header): Hoist for consistent placement.
71614         * lib/dirent.in.h (system_header): Likewise.
71615         * lib/errno.in.h (system_header): Likewise.
71616         * lib/float.in.h (system_header): Likewise.
71617         * lib/getopt.in.h (system_header): Likewise.
71618         * lib/iconv.in.h (system_header): Likewise.
71619         * lib/inttypes.in.h (system_header): Likewise.
71620         * lib/langinfo.in.h (system_header): Likewise.
71621         * lib/locale.in.h (system_header): Likewise.
71622         * lib/math.in.h (system_header): Likewise.
71623         * lib/netdb.in.h (system_header): Likewise.
71624         * lib/netinet_in.in.h (system_header): Likewise.
71625         * lib/pty.in.h (system_header): Likewise.
71626         * lib/sched.in.h (system_header): Likewise.
71627         * lib/se-selinux.in.h (system_header): Likewise.
71628         * lib/search.in.h (system_header): Likewise.
71629         * lib/spawn.in.h (system_header): Likewise.
71630         * lib/stdarg.in.h (system_header): Likewise.
71631         * lib/stdint.in.h (system_header): Likewise.
71632         * lib/string.in.h (system_header): Likewise.
71633         * lib/strings.in.h (system_header): Likewise.
71634         * lib/sys_file.in.h (system_header): Likewise.
71635         * lib/sys_ioctl.in.h (system_header): Likewise.
71636         * lib/sys_socket.in.h (system_header): Likewise.
71637         * lib/sys_times.in.h (system_header): Likewise.
71638         * lib/sys_utsname.in.h (system_header): Likewise.
71639         * lib/sys_wait.in.h (system_header): Likewise.
71640         * lib/sysexits.in.h (system_header): Likewise.
71641         * lib/unistd.in.h (system_header): Likewise.
71642         * lib/wctype.in.h (system_header): Likewise.
71644         arpa/inet: fix mingw compilation warning
71645         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
71646         Reported by Matthew Bolte.
71648 2010-03-25  Bruno Haible  <bruno@clisp.org>
71650         Avoid collision between gnulib wrapper and libintl wrapper.
71651         * lib/printf.c (printf): Don't define if a printf wrapper is already
71652         defined in intl/printf.c.
71653         Reported by Michel Boaventura <michel@michelboaventura.com>.
71655 2010-03-25  Bruno Haible  <bruno@clisp.org>
71657         Use ANSI C.
71658         * lib/readutmp.h (getutent): Provide ANSI C prototype.
71660 2010-03-25  Bruno Haible  <bruno@clisp.org>
71662         Minor formatting changes.
71663         * lib/acosl.c: Insert space before function argument list.
71664         * lib/argz.c: Likewise.
71665         * lib/asinl.c: Likewise.
71666         * lib/expl.c: Likewise.
71667         * lib/gen-uni-tables.c: Likewise.
71668         * lib/gettext.h: Likewise.
71669         * lib/glthread/lock.h: Likewise.
71670         * lib/tanl.c: Likewise.
71671         * lib/uniname/uniname.c: Likewise.
71672         * tests/test-idpriv-drop.c: Likewise.
71673         * tests/test-idpriv-droptemp.c: Likewise.
71674         * tests/test-lock.c: Likewise.
71675         * tests/test-tls.c: Likewise.
71676         * lib/argp-help.c: Insert space before function-like macro argument
71677         list.
71678         * lib/memcmp.c: Likewise.
71679         * tests/test-base64.c: Likewise.
71680         * lib/localename.c: Insert space before sizeof's argument list.
71681         * lib/safe-alloc.h: Likewise.
71682         * lib/file-set.h: Insert space before macro argument list.
71683         * tests/test-argp.c: Likewise.
71684         * lib/argp-namefrob.h: Insert space before function parameter list.
71685         * lib/getaddrinfo.c: Likewise.
71686         * lib/netdb.in.h: Likewise.
71687         * lib/parse-duration.h: Likewise.
71688         * lib/parse-duration.c: Likewise.
71689         * lib/poll.c: Likewise.
71690         * lib/select.c: Likewise.
71691         * lib/trim.h: Likewise.
71692         * tests/test-usleep.c: Likewise.
71693         * lib/ldexpl.c: Insert space before function parameter list and before
71694         function argument list.
71695         * lib/logl.c: Likewise.
71696         * lib/sqrtl.c: Likewise.
71697         * lib/trim.c: Likewise.
71698         * lib/cosl.c: Use GNU style indentation. Insert space before function
71699         argument list.
71700         * lib/sinl.c: Likewise.
71701         * lib/tsearch.c: Insert space after 'for'.
71702         Reported by Jim Meyering.
71704 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
71706         * maint.mk (sc_Wundef_boolean): Check for the presence of the
71707         config header before grepping, as it's not present before
71708         autoreconf/configure are run.  Reported by Simon Josefsson.
71710 2010-03-23  Bruno Haible  <bruno@clisp.org>
71712         pt_chown: Make it work with automake < 1.11.
71713         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
71714         Reported by Simon Josefsson.
71716 2010-03-23  Bruno Haible  <bruno@clisp.org>
71718         pt_chown: Don't depend on GPLed modules.
71719         * lib/pt_chown.c: Don't include idpriv.h.
71720         (main): Don't drop privileges.
71721         * modules/pt_chown (Depends-on): Remove idpriv-drop.
71722         Reported by Simon Josefsson.
71724 2010-03-24  Simon Josefsson  <simon@josefsson.org>
71726         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
71727         suggestions from karl@freefriends.org (Karl Berry).
71729 2010-03-22  Eric Blake  <eblake@redhat.com>
71731         gethostname: further tweaks
71732         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
71733         are overriding gethostname.
71734         Suggested by Bruno Haible.
71736 2010-03-21  Bruno Haible  <bruno@clisp.org>
71738         Fix comments.
71739         * lib/forkpty.c (rpl_forkpty): Fix comment.
71740         * lib/openpty.c (rpl_openpty): Likewise.
71741         Reported by Eric Blake.
71743 2010-03-22  Eric Blake  <eblake@redhat.com>
71745         gethostname: fix build on mingw
71746         * lib/unistd.in.h (includes): Work around fact that mingw
71747         <winsock2.h> re-includes <unistd.h>, by avoiding any
71748         redeclarations if we are being included by <winsock2.h>.
71749         Reported by Matthias Bolte.
71751 2010-03-21  Bruno Haible  <bruno@clisp.org>
71753         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
71754         * lib/forkpty.c (forkpty): New replacement function, from glibc with
71755         modifications.
71756         * lib/pty.in.h (forkpty): Update declaration. Add comments.
71757         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
71758         provide the replacement.
71759         * modules/forkpty (Depends-on): Add openpty, login_tty.
71760         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
71761         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
71762         * doc/glibc-functions/forkpty.texi: More supported platforms.
71763         * config/srclist.txt: Add forkpty.c (commented).
71765 2010-03-21  Bruno Haible  <bruno@clisp.org>
71767         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
71768         (Makefile.am): Verify that PTY_LIB is defined.
71770         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
71772 2010-03-21  Bruno Haible  <bruno@clisp.org>
71774         Tests for module 'login_tty'.
71775         * modules/login_tty-tests: New file.
71776         * tests/test-login_tty.c: New file.
71778         New module 'login_tty'.
71779         * lib/login_tty.c: New file.
71780         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
71781         * modules/login_tty: New file.
71782         * doc/glibc-functions/login_tty.texi: Mention the new module.
71784 2010-03-21  Bruno Haible  <bruno@clisp.org>
71786         login_tty: Documentation.
71787         * doc/glibc-functions/login_tty.texi: New file.
71788         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
71790 2010-03-21  Bruno Haible  <bruno@clisp.org>
71792         pty: Consistent macro naming.
71793         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
71794         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
71795         * modules/pty (configure.ac): Update.
71797 2010-03-21  Bruno Haible  <bruno@clisp.org>
71799         Tests for openpty: Make stricter.
71800         * tests/test-openpty.c (main): Add test of canonical processing and
71801         erase.
71802         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
71804         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
71805         * lib/openpty.c (openpty): New replacement function.
71806         * lib/pty.in.h: Include <termios.h>.
71807         (openpty): Update declaration. Add comments.
71808         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
71809         is not declared, arrange to provide the replacement. Check for _getpty
71810         and posix_openpt.
71811         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
71812         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
71813         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
71814         * modules/pty-tests (test_pty_c___LDADD): New variable.
71815         * doc/glibc-functions/openpty.texi: More supported platforms.
71817 2010-03-21  Bruno Haible  <bruno@clisp.org>
71819         setenv: Tweaks.
71820         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
71821         the test program.
71822         * doc/posix-functions/setenv.texi: Update platforms list.
71824 2010-03-21  Bruno Haible  <bruno@clisp.org>
71826         New module 'unlockpt'.
71827         * lib/unlockpt.c: New file, from glibc with modifications.
71828         * m4/unlockpt.m4: New file.
71829         * modules/unlockpt: New file.
71830         * lib/stdlib.in.h (unlockpt): New declaration.
71831         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
71832         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
71833         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
71834         HAVE_UNLOCKPT.
71835         * doc/posix-functions/unlockpt.texi: Mention the new module.
71836         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
71837         * config/srclist.txt: Add unlockpt.c (commented).
71839 2010-03-21  Jim Meyering  <meyering@redhat.com>
71841         maint.mk: prohibit inclusion of "intprops.h" without use
71842         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
71844 2010-03-21  Bruno Haible  <bruno@clisp.org>
71846         New module 'grantpt'.
71847         * lib/grantpt.c: New file, from glibc with modifications.
71848         * m4/grantpt.m4: New file.
71849         * modules/grantpt: New file.
71850         * lib/stdlib.in.h (grantpt): New declaration.
71851         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
71852         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
71853         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
71854         HAVE_GRANTPT.
71855         * doc/posix-functions/grantpt.texi: Mention the new module.
71856         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
71857         * config/srclist.txt: Add grantpt.c (commented).
71859 2010-03-21  Bruno Haible  <bruno@clisp.org>
71861         New module 'pt_chown'.
71862         * lib/pt_chown.c: New file, from glibc with modifications.
71863         * lib/pty-private.h: New file, from glibc with modifications.
71864         * modules/pt_chown: New file.
71865         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
71867 2010-03-21  Bruno Haible  <bruno@clisp.org>
71869         Tests for module 'ptsname'.
71870         * modules/ptsname-tests: New file.
71871         * tests/test-ptsname.c: New file.
71873         New module 'ptsname'.
71874         * lib/ptsname.c: New file, from glibc with modifications.
71875         * m4/ptsname.m4: New file.
71876         * modules/ptsname: New file.
71877         * lib/stdlib.in.h (ptsname): New declaration.
71878         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
71879         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
71880         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
71881         HAVE_PTSNAME.
71882         * doc/posix-functions/ptsname.texi: Mention the new module.
71883         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
71884         * config/srclist.txt: Add ptsname.c (commented).
71886 2010-03-21  Bruno Haible  <bruno@clisp.org>
71888         Tests for module 'ttyname_r'.
71889         * modules/ttyname_r-tests: New file.
71890         * tests/test-ttyname_r.c: New file.
71892         New module 'ttyname_r'.
71893         * lib/ttyname_r.c: New file.
71894         * m4/ttyname_r.m4: New file.
71895         * modules/ttyname_r: New file.
71896         * lib/unistd.in.h (ttyname_r): New declaration.
71897         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
71898         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
71899         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
71900         HAVE_TTYNAME_R.
71901         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
71902         * doc/posix-functions/ttyname_r.texi: Mention the new module.
71904 2010-03-20  Bruno Haible  <bruno@clisp.org>
71906         signal: Undefine macro definitions in C++ mode.
71907         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
71908         sigfillset): Undefine macro definitions from the system header in C++
71909         mode.
71910         Reported by John W. Eaton <jwe@gnu.org>.
71912 2010-03-20  Bruno Haible  <bruno@clisp.org>
71914         Ensure no #include statements inside extern "C" { ... }.
71915         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
71916         contain #include statements.
71917         * lib/time.in.h: Likewise.
71919 2010-03-20  Bruno Haible  <bruno@clisp.org>
71921         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
71922         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
71923         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
71924         Reported by John W. Eaton <jwe@gnu.org>.
71926 2010-03-20  Bruno Haible  <bruno@clisp.org>
71928         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
71929         Reported by Jim Meyering.
71931 2010-03-20  Bruno Haible  <bruno@clisp.org>
71933         pipe: Set errno upon failure.
71934         * lib/pipe.h: Specify that when -1 is returned, errno is set.
71935         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
71936         errno value in error message.
71938 2010-03-20  Bruno Haible  <bruno@clisp.org>
71939             Jim Meyering  <meyering@redhat.com>
71941         lchown: Avoid "unused variable" warning.
71942         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
71944 2010-03-20  Bruno Haible  <bruno@clisp.org>
71946         Work around unlink() bug on MacOS X 10.5.6.
71947         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
71948         attempting to unlink a parent directory.
71949         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
71950         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
71951         activate for the replacement function.
71952         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
71954 2010-03-20  Bruno Haible  <bruno@clisp.org>
71956         Fix link errors on Solaris 8.
71957         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
71958         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
71960 2010-03-19  Jim Meyering  <meyering@redhat.com>
71962         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
71963         The _LIBC implementation of build_range_exp correctly honors the
71964         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
71965         However, the non-_LIBC implementation would ignore that syntax-bit
71966         flag and return REG_ERANGE unconditionally.
71967         This change makes it honor that flag.
71968         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
71969         Make two pointer parameters "const".
71970         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
71971         (parse_bracket_exp): Update caller.
71973         regex.m4: correct the reversed range endpoint ([b-a]) test
71974         * m4/regex.m4: When requiring that [b-a] evoke failure,
71975         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
71976         test pass once again for x86-based systems.
71978 2010-03-19  Bruno Haible  <bruno@clisp.org>
71980         scandir: Fix link error on Solaris 8.
71981         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
71982         macros.
71984 2010-03-19  Bruno Haible  <bruno@clisp.org>
71986         getusershell: Fix documentation.
71987         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
71988         module.
71989         * doc/glibc-functions/setusershell.texi: Likewise.
71991         getusershell: Provide declaration, missing on Solaris 9.
71992         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
71993         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
71994         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
71995         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
71996         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
71997         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
71998         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
71999         HAVE_GETUSERSHELL.
72000         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
72002 2010-03-19  Bruno Haible  <bruno@clisp.org>
72004         wctype: Provide iswblank function.
72005         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
72006         exists and is fine.
72007         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
72008         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
72009         * tests/test-wctype.c (main): Re-enable the iswblank tests.
72010         * doc/posix-functions/iswblank.texi: Update.
72012 2010-03-19  Bruno Haible  <bruno@clisp.org>
72014         Tests of module 'pty' in C++ mode.
72015         * modules/pty-tests: New file.
72016         * tests/test-pty-c++.cc: New file.
72017         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
72019 2010-03-19  Eric Blake  <eblake@redhat.com>
72021         logb: fix documentation
72022         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
72023         1.5 declaration bug.
72025         forkpty, openpty: prefer glibc's const-safe prototype
72026         * lib/forkpty.c (rpl_forkpty): New file.
72027         * lib/openpty.c (rpl_openpty): Likewise.
72028         * modules/forkpty (Files): Distribute it.
72029         * modules/openpty (Files): Likewise.
72030         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
72031         check...
72032         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
72033         replacement for non-const BSD signature.
72034         * modules/pty (Makefile.am): Substitute witnesses.
72035         * lib/pty.in.h (forkpty, openpty): Declare replacements.
72036         * tests/test-forkpty.c: Update signature check.
72037         * tests/test-openpty.c: Likewise.
72038         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
72039         * doc/glibc-functions/openpty.texi (openpty): Likewise.
72041         forkpty, openpty: split functions into new modules
72042         * modules/pty (Makefile.am): Substitute new witnesses.
72043         (Libraries): Move library detection...
72044         * modules/forkpty: ...into new module.
72045         * modules/openpty: Another new module.
72046         * modules/pty-tests: Rename and split...
72047         * modules/forkpty-tests: ...to this...
72048         * modules/openpty-tests: ...and this.
72049         * tests/test-pty.c: Rename and split...
72050         * tests/test-forkpty.c: ...to this...
72051         * tests/test-openpty.c: ...and this.
72052         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
72053         (gl_PTY): Split library searching...
72054         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
72055         (gl_FORKPTY, gl_OPENPTY): New macros.
72056         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
72057         * NEWS: Mention the split.
72058         * MODULES.html.sh (Misc): Document the modules.
72059         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
72060         * doc/glibc-functions/openpty.texi (openpty): Likewise.
72062         pty: improve replacement header
72063         * lib/pty.in.h: New file.
72064         * modules/pty (Files): Ship it.
72065         (Makefile.am): Always build replacement.
72066         * m4/pty.m4: Rename...
72067         * m4/pty_h.m4: ...to this.
72068         (gl_PTY): Modernize setting of witness macros; update check of
72069         forkpty to take proper advantage of cache.
72070         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
72072         getopt: avoid compiler warning
72073         * lib/getopt.c (attribute_hidden): Remove unused macro.
72075 2010-03-18  Bruno Haible  <bruno@clisp.org>
72077         Fix link errors on Solaris 8.
72078         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
72079         * modules/search-tests (test_search_c___LDADD): Likewise.
72080         * modules/signal-tests (test_signal_c___LDADD): Likewise.
72081         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
72082         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
72083         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
72084         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
72085         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
72086         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
72088 2010-03-18  Bruno Haible  <bruno@clisp.org>
72090         Fix bug introduced on 2010-03-14.
72091         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
72092         (gl_SPAWN_H): Require it.
72093         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
72094         Reported by Simon Josefsson.
72096 2010-03-18  Bruno Haible  <bruno@clisp.org>
72098         Fix typo introduced on 2009-12-31.
72099         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
72100         posix_spawn_file_actions_adddup2.
72102 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
72103         and Eric Blake  <eblake@redhat.com>
72105         test-vc-list-files-git: make more robust
72106         * tests/test-vc-list-files-git.sh: Unset problematic environment
72107         variables.  Chain commands together.
72109 2010-03-17  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
72111         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
72112         `AC_CHECK_DECL' invocation.
72114 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
72116         * lib/inttostr.c (inttostr): Make sure the invocation of verify
72117         appears before executable statements. Suggested by Petr Sumbera
72118         <Petr.Sumbera@Sun.COM>.
72120 2010-03-14  Bruno Haible  <bruno@clisp.org>
72122         * tests/test-flock.c (test_exclusive): Comment out a test that causes
72123         portability problems. Instead use a simpler test.
72124         (main): Check that invalid arguments are rejected only on Linux.
72126 2010-03-14  Bruno Haible  <bruno@clisp.org>
72128         Fix bug introduced on 2009-12-31.
72129         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
72130         gl_PREREQ_SYS_H_WINSOCK2 always.
72131         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
72132         SYS_SOCKET_H variable.
72133         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
72134         Update comments.
72135         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
72136         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
72137         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
72138         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
72139         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
72141 2010-03-14  Bruno Haible  <bruno@clisp.org>
72143         Fix values returned by sinl, cosl.
72144         * lib/trigl.h: Add specification comments.
72145         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
72146         that combines the values from the precomputed table with the values of
72147         the Chebyshev polynomials.
72149 2010-03-14  Bruno Haible  <bruno@clisp.org>
72151         Fix compilation error when modules 'posix_spawn[p]' are not used.
72152         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
72153         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
72155 2010-03-14  Bruno Haible  <bruno@clisp.org>
72157         Fix compilation error on mingw when module 'time_r' is not used.
72158         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
72159         is 1.
72160         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
72161         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
72162         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
72163         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
72165 2010-03-14  Bruno Haible  <bruno@clisp.org>
72167         Fix compilation error with Sun C.
72168         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
72169         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
72170         instead of GCC specific ULONG_LONG_MAX.
72171         * lib/xstrtoll.c: Likewise.
72172         * lib/xstrtoull.c: Likewise.
72174 2010-03-13  Bruno Haible  <bruno@clisp.org>
72176         Allow the user to disable C++ code and tests.
72177         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
72178         (gl_PROG_ANSI_CXX): Require it.
72180 2010-03-13  Bruno Haible  <bruno@clisp.org>
72182         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
72183         cases.
72185 2010-03-13  Bruno Haible  <bruno@clisp.org>
72187         Test that gnulib does not break the standard C++ headers.
72188         * tests/test-locale-c++2.cc: New file.
72189         * modules/locale-tests (Files): Add it.
72190         (Makefile.am): Compile it for test-locale-c++.
72191         * tests/test-math-c++2.cc: New file.
72192         * modules/math-tests (Files): Add it.
72193         (Makefile.am): Compile it for test-math-c++.
72194         * tests/test-signal-c++2.cc: New file.
72195         * modules/signal-tests (Files): Add it.
72196         (Makefile.am): Compile it for test-signal-c++.
72197         * tests/test-stdio-c++2.cc: New file.
72198         * modules/stdio-tests (Files): Add it.
72199         (Makefile.am): Compile it for test-stdio-c++.
72200         * tests/test-stdlib-c++2.cc: New file.
72201         * modules/stdlib-tests (Files): Add it.
72202         (Makefile.am): Compile it for test-stdlib-c++.
72203         * tests/test-string-c++2.cc: New file.
72204         * modules/string-tests (Files): Add it.
72205         (Makefile.am): Compile it for test-string-c++.
72206         * tests/test-time-c++2.cc: New file.
72207         * modules/time-tests (Files): Add it.
72208         (Makefile.am): Compile it for test-time-c++.
72209         Reported by John W. Eaton <jwe@gnu.org>.
72211 2010-03-13  Bruno Haible  <bruno@clisp.org>
72213         * gnulib-tool (func_usage): Clarify which options are available for
72214         --create-testdir and --create-megatestdir.
72216 2010-03-13  Bruno Haible  <bruno@clisp.org>
72218         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
72219         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
72220         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
72221         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
72222         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
72223         when appropriate.
72224         Reported by Jim Meyering.
72226 2010-03-12  Simon Josefsson  <simon@josefsson.org>
72228         * gnulib-tool (func_import): Explain origin of code.
72230 2010-03-12  Bruno Haible  <bruno@clisp.org>
72232         Fix problem with automake's definition of CXXLINK.
72233         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
72234         Reported by Simon Josefsson and Ludovic Courtès.
72236 2010-03-12  Bruno Haible  <bruno@clisp.org>
72238         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
72239         stable releases.
72241 2010-03-11  Bruno Haible  <bruno@clisp.org>
72243         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
72244         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
72245         whether the system provides one variant or multiple variants of the
72246         function.
72247         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
72248         C++ compilers.
72249         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
72250         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
72251         Reported by Jim Meyering.
72253 2010-03-09  Simon Josefsson  <simon@josefsson.org>
72255         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
72257 2010-03-08  Bruno Haible  <bruno@clisp.org>
72259         gnulib-tool: Add support for --libtool in --create-testdir.
72260         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
72261         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
72263 2010-03-08  Eric Blake  <eblake@redhat.com>
72265         gnulib-tool.texi: mention possibility of git submodule
72266         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
72267         submodules.
72268         * doc/.gitignore: Ignore another generated file.
72270 2010-03-08  Karl Berry  <karl@gnu.org>
72272         * doc/gnulib-tool.texi (VCS Issues): Mention third option
72273         of committing gnulib files while skipping others.
72275 2010-03-07  Bruno Haible  <bruno@clisp.org>
72277         Tests of module 'wctype' in C++ mode.
72278         * tests/test-wctype-c++.cc: New file.
72279         * modules/wctype-tests (Files): Add it and tests/signature.h.
72280         (Depends-on): Add ansi-c++-opt.
72281         (Makefile.am): Arrange to compile and run test-wctype-c++.
72283         Tests of module 'wchar' in C++ mode.
72284         * tests/test-wchar-c++.cc: New file.
72285         * modules/wchar-tests (Files): Add it and tests/signature.h.
72286         (Depends-on): Add ansi-c++-opt.
72287         (Makefile.am): Arrange to compile and run test-wchar-c++.
72288         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
72289         gl_MODULE_INDICATOR.
72291         Tests of module 'unistd' in C++ mode.
72292         * tests/test-unistd-c++.cc: New file.
72293         * modules/unistd-tests (Files): Add it and tests/signature.h.
72294         (Depends-on): Add ansi-c++-opt.
72295         (Makefile.am): Arrange to compile and run test-unistd-c++.
72296         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
72297         gl_MODULE_INDICATOR.
72299         Tests of module 'time' in C++ mode.
72300         * tests/test-time-c++.cc: New file.
72301         * modules/time-tests (Files): Add it and tests/signature.h.
72302         (Depends-on): Add ansi-c++-opt.
72303         (Makefile.am): Arrange to compile and run test-time-c++.
72304         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
72306         Tests of module 'sys_time' in C++ mode.
72307         * tests/test-sys_time-c++.cc: New file.
72308         * modules/sys_time-tests (Files): Add it and tests/signature.h.
72309         (Depends-on): Add ansi-c++-opt.
72310         (Makefile.am): Arrange to compile and run test-sys_time-c++.
72311         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
72312         gl_MODULE_INDICATOR.
72314         Tests of module 'sys_stat' in C++ mode.
72315         * tests/test-sys_stat-c++.cc: New file.
72316         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
72317         (Depends-on): Add ansi-c++-opt.
72318         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
72319         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
72320         gl_MODULE_INDICATOR.
72322         Tests of module 'sys_socket' in C++ mode.
72323         * tests/test-sys_socket-c++.cc: New file.
72324         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
72325         (Depends-on): Add ansi-c++-opt.
72326         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
72327         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
72328         gl_MODULE_INDICATOR.
72330         Tests of module 'sys_select' in C++ mode.
72331         * tests/test-sys_select-c++.cc: New file.
72332         * modules/sys_select-tests (Files): Add it and tests/signature.h.
72333         (Depends-on): Add ansi-c++-opt.
72334         (Makefile.am): Arrange to compile and run test-sys_select-c++.
72335         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
72336         gl_MODULE_INDICATOR.
72338         Tests of module 'sys_ioctl' in C++ mode.
72339         * tests/test-sys_ioctl-c++.cc: New file.
72340         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
72341         (Depends-on): Add ansi-c++-opt.
72342         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
72343         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
72344         gl_MODULE_INDICATOR.
72346         Tests of module 'string' in C++ mode.
72347         * tests/test-string-c++.cc: New file.
72348         * modules/string-tests (Files): Add it and tests/signature.h.
72349         (Depends-on): Add ansi-c++-opt.
72350         (Makefile.am): Arrange to compile and run test-string-c++.
72351         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
72352         gl_MODULE_INDICATOR.
72354         Tests of module 'stdlib' in C++ mode.
72355         * tests/test-stdlib-c++.cc: New file.
72356         * modules/stdlib-tests (Files): Add it and tests/signature.h.
72357         (Depends-on): Add ansi-c++-opt.
72358         (Makefile.am): Arrange to compile and run test-stdlib-c++.
72359         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
72360         gl_MODULE_INDICATOR.
72362         Tests of module 'stdio' in C++ mode.
72363         * tests/test-stdio-c++.cc: New file.
72364         * modules/stdio-tests (Files): Add it and tests/signature.h.
72365         (Depends-on): Add ansi-c++-opt.
72366         (Makefile.am): Arrange to compile and run test-stdio-c++.
72367         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
72368         gl_MODULE_INDICATOR.
72370         Tests of module 'spawn' in C++ mode.
72371         * tests/test-spawn-c++.cc: New file.
72372         * modules/spawn-tests (Files): Add it and tests/signature.h.
72373         (Depends-on): Add ansi-c++-opt.
72374         (Makefile.am): Arrange to compile and run test-spawn-c++.
72375         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
72376         gl_MODULE_INDICATOR.
72378         Tests of module 'signal' in C++ mode.
72379         * tests/test-signal-c++.cc: New file.
72380         * modules/signal-tests (Files): Add it and tests/signature.h.
72381         (Depends-on): Add ansi-c++-opt.
72382         (Makefile.am): Arrange to compile and run test-signal-c++.
72383         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
72384         gl_MODULE_INDICATOR.
72386         Tests of module 'search' in C++ mode.
72387         * tests/test-search-c++.cc: New file.
72388         * modules/search-tests (Files): Add it and tests/signature.h.
72389         (Depends-on): Add ansi-c++-opt.
72390         (Makefile.am): Arrange to compile and run test-search-c++.
72391         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
72392         gl_MODULE_INDICATOR.
72394         Tests of module 'math' in C++ mode.
72395         * tests/test-math-c++.cc: New file.
72396         * modules/math-tests (Files): Add it and tests/signature.h.
72397         (Depends-on): Add ansi-c++-opt.
72398         (Makefile.am): Arrange to compile and run test-math-c++.
72399         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
72401         Tests of module 'locale' in C++ mode.
72402         * tests/test-locale-c++.cc: New file.
72403         * modules/locale-tests (Files): Add it and tests/signature.h.
72404         (Depends-on): Add ansi-c++-opt.
72405         (Makefile.am): Arrange to compile and run test-locale-c++.
72406         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
72407         gl_MODULE_INDICATOR.
72409         Tests of module 'langinfo' in C++ mode.
72410         * tests/test-langinfo-c++.cc: New file.
72411         * modules/langinfo-tests (Files): Add it and tests/signature.h.
72412         (Depends-on): Add ansi-c++-opt.
72413         (Makefile.am): Arrange to compile and run test-langinfo-c++.
72414         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
72415         gl_MODULE_INDICATOR.
72417         Tests of module 'iconv-h' in C++ mode.
72418         * tests/test-iconv-h-c++.cc: New file.
72419         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
72420         (Depends-on): Add ansi-c++-opt.
72421         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
72423         Tests of module 'glob' in C++ mode.
72424         * tests/test-glob-c++.cc: New file.
72425         * modules/glob-tests (Files): Add it.
72426         (Depends-on): Add ansi-c++-opt.
72427         (Makefile.am): Arrange to compile and run test-glob-c++.
72429         Tests of module 'fcntl-h' in C++ mode.
72430         * tests/test-fcntl-h-c++.cc: New file.
72431         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
72432         (Depends-on): Add ansi-c++-opt.
72433         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
72434         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
72435         gl_MODULE_INDICATOR.
72437         Tests of module 'dirent' in C++ mode.
72438         * tests/test-dirent-c++.cc: New file.
72439         * modules/dirent-tests (Files): Add it and tests/signature.h.
72440         (Depends-on): Add ansi-c++-opt.
72441         (Makefile.am): Arrange to compile and run test-dirent-c++.
72442         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
72443         gl_MODULE_INDICATOR.
72445         New module 'ansi-c++-opt'.
72446         * modules/ansi-c++-opt: New file.
72447         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
72449         Document C++ namespace mode.
72450         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
72452         wctype: Avoid #define replacements in C++ mode.
72453         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
72454         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
72455         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
72456         In C++, define a namespaced alias symbol.
72457         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
72458         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
72459         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
72460         rule.
72462         wchar: Avoid #define replacements in C++ mode.
72463         * lib/wchar.in.h: Include c++defs.h.
72464         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
72465         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
72466         symbol.
72467         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
72468         * modules/wchar (Depends-on): Add c++defs.
72469         (Makefile.am): Update wchar.h rule.
72471         unistd: Avoid #define replacements in C++ mode.
72472         * lib/unistd.in.h: Include c++defs.h.
72473         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
72474         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
72475         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
72476         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
72477         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
72478         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
72479         symbol.
72480         (environ): Update.
72481         * modules/unistd (Depends-on): Add c++defs.
72482         (Makefile.am): Update unistd.h rule.
72484         time: Avoid #define replacements in C++ mode.
72485         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
72486         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
72487         define a namespaced alias symbol.
72488         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
72489         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
72490         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
72491         * modules/time (Depends-on): Add c++defs, warn-on-use.
72492         (Makefile.am): Update time.h rule.
72493         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
72494         * modules/nanosleep (configure.ac): Likewise.
72495         * modules/strptime (configure.ac): Likewise.
72496         * modules/timegm (configure.ac): Likewise.
72498         sys_time: Avoid #define replacements in C++ mode.
72499         * lib/sys_time.in.h: Include c++defs.h.
72500         (gettimeofday): In C++, define a namespaced alias symbol.
72501         * modules/sys_time (Depends-on): Add c++defs.
72502         (Makefile.am): Update sys/time.h rule.
72504         sys_stat: Avoid #define replacements in C++ mode.
72505         * lib/sys_stat.in.h: Include c++defs.h.
72506         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
72507         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
72508         namespaced alias symbol.
72509         In C++, define a namespaced alias symbol.
72510         * modules/sys_stat (Depends-on): Add c++defs.
72511         (Makefile.am): Update sys/stat.h rule.
72513         sys_socket: Avoid #define replacements in C++ mode.
72514         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
72515         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
72516         definitions also when the system has a <sys/socket.h>.
72517         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
72518         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
72519         In C++, define a namespaced alias symbol.
72520         * modules/sys_socket (Depends-on): Add c++defs.
72521         (Makefile.am): Update sys/socket.h rule.
72523         sys_select: Avoid #define replacements in C++ mode.
72524         * lib/sys_select.in.h: Include c++defs.h. Enable the function
72525         definitions also when the system has a <sys/select.h>.
72526         (select): In C++, define a namespaced alias symbol.
72527         * modules/sys_select (Depends-on): Add c++defs.
72528         (Makefile.am): Update sys/select.h rule.
72530         sys_ioctl: Avoid #define replacements in C++ mode.
72531         * lib/sys_ioctl.in.h: Include c++defs.h.
72532         (ioctl): In C++, define a namespaced alias symbol.
72533         * modules/sys_ioctl (Depends-on): Add c++defs.
72534         (Makefile.am): Update sys/ioctl.h rule.
72536         string: Avoid #define replacements in C++ mode.
72537         * lib/string.in.h: Include c++defs.h.
72538         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
72539         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
72540         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
72541         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
72542         strsignal, strverscmp): In C++, define a namespaced alias symbol.
72543         * modules/string (Depends-on): Add c++defs.
72544         (Makefile.am): Update string.h rule.
72546         stdlib: Avoid #define replacements in C++ mode.
72547         * lib/stdlib.in.h: Include c++defs.h.
72548         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
72549         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
72550         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
72551         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
72552         symbol.
72553         * modules/stdlib (Depends-on): Add c++defs.
72554         (Makefile.am): Update stdlib.h rule.
72556         stdio: Avoid #define replacements in C++ mode.
72557         * lib/stdio.in.h: Include c++defs.h.
72558         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
72559         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
72560         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
72561         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
72562         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
72563         namespaced alias symbol.
72564         * modules/stdio (Depends-on): Add c++defs.
72565         (Makefile.am): Update stdio.h rule.
72567         spawn: Avoid #define replacements in C++ mode.
72568         * lib/spawn.in.h: Include c++defs.h.
72569         (posix_spawn, posix_spawnp, posix_spawnattr_init,
72570         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
72571         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
72572         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
72573         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
72574         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
72575         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
72576         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
72577         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
72578         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
72579         In C++, define a namespaced alias symbol.
72580         * modules/spawn (Depends-on): Add c++defs.
72581         (Makefile.am): Update spawn.h rule.
72583         signal: Avoid #define replacements in C++ mode.
72584         * lib/signal.in.h: Include c++defs.h.
72585         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
72586         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
72587         namespaced alias symbol.
72588         * modules/signal (Depends-on): Add c++defs.
72589         (Makefile.am): Update signal.h rule.
72591         search: Avoid #define replacements in C++ mode.
72592         * lib/search.in.h: Include c++defs.h.
72593         (_gl_search_compar_fn, _gl_search_action_fn): New types.
72594         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
72595         symbol.
72596         * modules/search (Depends-on): Add c++defs.
72597         (Makefile.am): Update search.h rule.
72599         math: Avoid #define replacements in C++ mode.
72600         * lib/math.in.h: Include c++defs.h.
72601         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
72602         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
72603         trunc, truncl): In C++, define a namespaced alias symbol.
72604         * modules/math (Depends-on): Add c++defs.
72605         (Makefile.am): Update math.h rule.
72607         locale: Avoid #define replacements in C++ mode.
72608         * lib/locale.in.h: Include c++defs.h.
72609         (duplocale): In C++, define a namespaced alias symbol.
72610         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
72611         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
72612         * modules/locale (Depends-on): Add c++defs.
72613         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
72615         langinfo: Avoid #define replacements in C++ mode.
72616         * lib/langinfo.in.h: Include c++defs.h.
72617         (nl_langinfo): In C++, define a namespaced alias symbol.
72618         * modules/langinfo (Depends-on): Add c++defs.
72619         (Makefile.am): Update langinfo.h rule.
72621         iconv-h: Avoid #define replacements in C++ mode.
72622         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
72623         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
72624         symbol.
72625         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
72626         whenever iconv is present.
72627         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
72628         (Makefile.am): Update iconv.h rule.
72630         glob: Avoid #define replacements in C++ mode.
72631         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
72632         (_gl_glob_errfunc_fn): New type.
72633         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
72634         symbol.
72635         * modules/glob (Depends-on): Add c++defs, warn-on-use.
72636         (Makefile.am): Update glob.h rule.
72638         fcntl-h: Avoid #define replacements in C++ mode.
72639         * lib/fcntl.in.h: Include c++defs.h.
72640         (fcntl, open, openat): In C++, define a namespaced alias symbol.
72641         * modules/fcntl-h (Depends-on): Add c++defs.
72642         (Makefile.am): Update fcntl.h rule.
72644         dirent: Avoid #define replacements in C++ mode.
72645         * lib/dirent.in.h: Include c++defs.h.
72646         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
72647         namespaced alias symbol.
72648         (dirfd): Update declaration.
72649         * modules/dirent (Depends-on): Add c++defs.
72650         (Makefile.am): Update dirent.h rule.
72652         ctype: Make it usable in C++ code.
72653         * lib/ctype.in.h: Include c++defs.h.
72654         (isblank): Declare as extern "C".
72655         * modules/ctype (Depends-on): Add c++defs.
72656         (Makefile.am): Update ctype.h rule.
72658         New module 'c++defs'.
72659         * modules/c++defs: New file.
72660         * build-aux/c++defs.h: New file.
72661         Reported by John W. Eaton <jwe@gnu.org>.
72663 2010-03-07  Bruno Haible  <bruno@clisp.org>
72665         logb: Provide missing declaration for Cygwin.
72666         * lib/math.in.h (logb): New declaration.
72667         * m4/logb.m4: New file.
72668         * modules/logb (Files): Add m4/logb.m4.
72669         (Depends-on): Add math.
72670         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
72671         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
72672         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
72673         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
72674         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
72676 2010-03-07  Bruno Haible  <bruno@clisp.org>
72678         Fix test-cond link error.
72679         * tests/test-cond.c: Include <stdio.h>.
72681 2010-03-07  Bruno Haible  <bruno@clisp.org>
72683         Fix test-dirent-safer link error.
72684         * modules/dirent-safer-tests (Makefile.am): Define
72685         test_dirent_safer_LDADD.
72687 2010-03-07  Bruno Haible  <bruno@clisp.org>
72689         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
72690         among default module list.
72692 2010-03-07  Bruno Haible  <bruno@clisp.org>
72694         Fix link error on platforms with GNU libiconv.
72695         * modules/unistr/u8-strcoll-tests (Makefile): Define
72696         test_u8_strcoll_LDADD.
72697         * modules/unistr/u16-strcoll-tests (Makefile): Define
72698         test_u16_strcoll_LDADD.
72699         * modules/unistr/u32-strcoll-tests (Makefile): Define
72700         test_u32_strcoll_LDADD.
72702 2010-03-07  Bruno Haible  <bruno@clisp.org>
72704         Use POSIX declarations for socket functions.
72705         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
72706         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
72707         rpl_sendto): Change declaration to match POSIX.
72708         * lib/connect.c (rpl_connect): Likewise.
72709         * lib/accept.c (rpl_accept): Likewise.
72710         * lib/bind.c (rpl_bind): Likewise.
72711         * lib/getpeername.c (rpl_getpeername): Likewise.
72712         * lib/getsockname.c (rpl_getsockname): Likewise.
72713         * lib/recv.c (rpl_recv): Likewise.
72714         * lib/send.c (rpl_send): Likewise.
72715         * lib/recvfrom.c (rpl_recvfrom): Likewise.
72716         * lib/sendto.c (rpl_sendto): Likewise.
72718 2010-03-06  Bruno Haible  <bruno@clisp.org>
72720         Clarify access, euidaccess, faccessat.
72721         * doc/posix-functions/faccessat.texi: Mention security problem under
72722         "Other problems", not "Portability problems".
72723         * doc/posix-functions/access.texi: Likewise. Mention a related security
72724         problem.
72725         * doc/glibc-functions/euidaccess.texi: Mention security problems.
72726         * lib/euidaccess.c: Add comments about platforms.
72727         * lib/unistd.in.h (access, euidaccess): Add warnings.
72729 2010-03-07  Bruno Haible  <bruno@clisp.org>
72731         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
72732         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
72733         (POSIX_SPAWN_SETSCHEDULER): Likewise.
72734         (POSIX_SPAWN_USEVFORK): Define in a way that works when
72735         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
72736         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
72737         declare when POSIX_SPAWN_SETSCHEDULER is zero.
72738         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
72739         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
72740         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
72741         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
72742         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
72743         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
72744         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
72745         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
72746         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
72747         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
72748         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
72749         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
72750         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
72751         Likewise.
72752         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
72753         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
72754         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
72755         Likewise.
72756         * tests/test-spawn.c (main): Make it work when
72757         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
72759 2010-03-07  Bruno Haible  <bruno@clisp.org>
72761         Fix incorrect Makefile.am generation in German locale.
72762         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
72763         Execute sed command with character range in C locale.
72765 2010-03-06  Bruno Haible  <bruno@clisp.org>
72767         Tests for module 'iconv-h'.
72768         * modules/iconv-h-tests: New file.
72769         * tests/test-iconv-h.c: New file.
72771         New module 'iconv-h'.
72772         * modules/iconv-h: New file.
72773         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
72774         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
72775         (configure.ac): Remove gl_ICONV_H.
72776         (Makefile.am): Remove rule for iconv.h.
72778 2010-03-06  Bruno Haible  <bruno@clisp.org>
72780         More consistent naming of *.m4 files.
72781         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
72782         * modules/wctype (Files): Update.
72784         More consistent naming of *.m4 files.
72785         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
72786         * modules/wchar (Files): Update.
72788 2010-03-06  Jim Meyering  <meyering@redhat.com>
72790         euidaccess: relax license to LGPLv2+
72791         * modules/euidaccess (License): Relax to LGPLv2+.
72793 2010-03-06  Bruno Haible  <bruno@clisp.org>
72795         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
72796         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
72797         (Makefile.am): Augment lib_SOURCES instead.
72799 2010-03-04  Jim Meyering  <meyering@redhat.com>
72801         utime: remove obsolete module
72802         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
72803         unnecessary for years, and has been marked as obsolete for 10 months.
72804         * modules/utime: Remove file.
72805         * lib/utime.c: Remove file.
72806         * m4/utime.m4: Remove file.
72807         * m4/utimes-null.m4: Remove file.
72808         * doc/posix-functions/utime.texi (utime): Remove reference to
72809         the module.  Move the sole "fixed by gnulib" item into the
72810         "problems not fixed by Gnulib" list.
72811         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
72813 2010-03-05  Simon Josefsson  <simon@josefsson.org>
72815         * modules/exit (License): Relax license to LGPLv2+.
72816         (Status): Mark as obsolete.
72817         * NEWS: Mention deprecated 'exit' module.
72818         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
72819         of now obsolete 'exit'.
72821 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72823         fts-lgpl: remove unused module
72824         * modules/fts-lgpl: Remove.
72825         * MODULES.html.sh (func_all_modules): Adjust.
72826         * check-module (find_included_lib_files): Adjust.
72827         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
72829 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
72831         copy-acl: enhance Solaris ACL error handling
72832         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
72833         * lib/set-mode-acl.c (qset_acl): Likewise.
72835 2010-03-02  Bruno Haible  <bruno@clisp.org>
72837         spawn: Don't override the system defined values on FreeBSD 8.
72838         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
72839         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
72840         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
72841         if HAVE_POSIX_SPAWN is 1.
72842         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
72844 2010-03-01  Bruno Haible  <bruno@clisp.org>
72846         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
72847         regarding Automake.
72849 2010-02-25  Bruno Haible  <bruno@clisp.org>
72851         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
72852         * gnulib-tool: Define 'echo' as a function only before the ksh alias
72853         setting, not afterwards.
72854         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
72856 2010-02-24  Eric Blake  <eblake@redhat.com>
72858         bootstrap, git-version-gen: use timestamp
72859         * build-aux/git-version-gen (scriptversion): Force UTC.
72860         * build-aux/bootstrap (scriptversion): New variable.
72862         bootstrap: allow older git
72863         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
72864         older than 1.6.4.  Requested by the libvirt project.
72866 2010-02-23  Eric Blake  <eblake@redhat.com>
72868         warn-on-use: work with old autoconf
72869         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
72870         AS_VAR semantics of autoconf 2.60.
72871         Reported by Bruno Haible.
72873         bootstrap: improve some comments
72874         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
72875         clarification comments.
72877         gettimeofday: provide correct function
72878         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
72879         when replacement is declared, otherwise provide gettimeofday.
72880         Reported by Michael Goffioul.
72882 2010-02-23  Jim Meyering  <meyering@redhat.com>
72884         lib-ignore: relax license to "unlimited", not LGPLv2+
72885         * modules/lib-ignore (License): Relax to "unlimited".
72887 2010-02-23  Jim Meyering  <meyering@redhat.com>
72889         lib-ignore: relax license to LGPLv2+
72890         * modules/lib-ignore (License): Relax to LGPLv2+.
72892 2010-02-22  Eric Blake  <eblake@redhat.com>
72894         lseek: avoid bash 3.2 broken pipe bug
72895         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
72896         warning from bash 3.2.
72897         Reported by Ben Pfaff, with analysis from Bruno Haible.
72899         bootstrap: support non-FSF copyright holder
72900         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
72901         bootstrap.conf override of COPYRIGHT_HOLDER.
72902         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
72904         bootstrap: interoperate with gettext 0.14.1
72905         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
72907         bootstrap: allow for alternate submodule location
72908         * build-aux/bootstrap (gnulib_path): New variable; use instead of
72909         hardcoding submodule location.
72910         (gnulib_mk): Allow direct use of Makefile.am.
72912         bootstrap: use GNULIB_SRCDIR to reduce disk usage
72913         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
72914         rather than reconfiguring where the submodule points.
72916         gettimeofday: restore support for platforms that lack function
72917         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
72918         replacement if function is missing.
72919         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
72920         * modules/sys_time (Makefile.am): Substitute it.
72921         * lib/sys_time.in.h (gettimeofday): Check it.
72922         Reported by Michael Goffioul.
72924 2010-02-21  Bruno Haible  <bruno@clisp.org>
72926         * lib/stdio.in.h (obstack_printf): Fix typo.
72928 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
72930         vc-list-files: use bzr ls's -R option
72931         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
72932         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
72934 2010-02-21  Jim Meyering  <meyering@redhat.com>
72936         init.sh: fix EXEEXT shims to work also for names like test-prog
72937         * tests/init.sh: Re-exec a better shell, when needed.
72938         If the current shell lacks support for posix $(...), an init.sh-using
72939         test will now try to find a shell that supports that.  If EXEEXT is
72940         nonempty, we also require support for hyphen-in-alias-name and shell
72941         substitutions like ${var#glob}.  Failure to find such a shell results
72942         in a skipped test.
72944 2010-02-21  Bruno Haible  <bruno@clisp.org>
72946         Really work around "broken pipe" error message from bash 3.2.
72947         * gnulib-tool (func_reset_sigpipe): Remove function.
72948         (echo): In bash 3.2, define to a function that uses printf.
72949         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
72951 2010-02-20  Bruno Haible  <bruno@clisp.org>
72953         Restore support for automake 1.9.6 with autoconf 2.61.
72954         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
72955         Reported by James Youngman <jay@gnu.org>.
72957 2010-02-20  Bruno Haible  <bruno@clisp.org>
72959         Improve *printf warning condition.
72960         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
72961         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
72962         and the function is overridden due to SIGPIPE emulation.
72964 2010-02-20  Bruno Haible  <bruno@clisp.org>
72966         * lib/stdio.in.h: Tweak comments.
72968 2010-02-19  Bruno Haible  <bruno@clisp.org>
72970         Make it easier to find modules. New gnulib-tool option '--find'.
72971         * gnulib-tool: New option --find.
72972         (func_usage): Document it.
72973         (func_sanitize_modulelist): New function, extracted from
72974         func_all_modules.
72975         (func_all_modules): Invoke it.
72976         * doc/gnulib-tool.texi (Which modules?): New node.
72978 2010-02-18  Markus Duft  <mduft@gentoo.org>  (tiny change)
72980         * lib/sys_select.in.h: Provide select replacement even if
72981         sys/select.h exists on a system, for Interix.
72983 2010-02-18  Jim Meyering  <meyering@redhat.com>
72985         init.sh: don't use $(...) just yet
72986         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
72987         to accommodate e.g., Solaris' /bin/sh.
72989 2010-02-17  Bruno Haible  <bruno@clisp.org>
72991         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
72992         Reported by Ludovic Courtès <ludo@gnu.org>.
72994 2010-02-16  Simon Josefsson  <simon@josefsson.org>
72996         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
72997         linking with -lintl.
72999 2010-02-17  Simon Josefsson  <simon@josefsson.org>
73001         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
73002         if not provided by the system's netdb.h.  Reported by
73003         ludo@gnu.org (Ludovic Courtès).
73005 2010-02-15  Jim Meyering  <meyering@redhat.com>
73007         init.sh: improve portability and efficiency
73008         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
73009         "dummy" in a for loop.
73010         Use '!', not '^' to select the complement of a character set used
73011         in a "case" statement.
73012         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
73013         Suggestions from Eric Blake.
73015         init.sh: automatically accommodate programs with the .exe suffix
73016         Automatically arrange for an invocation of "prog" to execute the
73017         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
73018         may use the simpler "prog", yet still work when built on a system
73019         that requires specifying the added suffix.
73020         Do this by constructing a function named "prog" that invokes
73021         "prog.exe" for each .exe file in selected directories.
73022         * tests/init.sh (find_exe_basenames_): New function.
73023         (create_exe_shim_functions_): New function.
73024         (path_prepend_): Use it.
73026         maint.mk: mark syntax-check sc_*.m rules as .PHONY
73027         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
73028         "make -t syntax-check" doesn't create a ton of sc_*.m files.
73030 2010-02-14  Jim Meyering  <meyering@redhat.com>
73032         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
73033         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
73034         (sc_prohibit_hash_pjw_without_use): New rule.
73036         maint.mk: allow the default upload destination dir to be overridden
73037         * top/maint.mk (upload_dest_dir_): Define with a default that
73038         preserves the status quo.
73039         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
73040         Reported by Peter Simons.
73042         maint.mk: prohibit inclusion of "hash.h" without_use
73043         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
73045 2010-02-10  Jim Meyering  <meyering@redhat.com>
73047         maint.mk: prohibit inclusion of "ignore-value.h" without_use
73048         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
73050 2010-02-09  Eric Blake  <ebb9@byu.net>
73051         and Bruno Haible  <bruno@clisp.org>
73053         obstack-printf-posix: ensure declaration
73054         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
73055         extracted from gl_FUNC_OBSTACK_PRINTF.
73056         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
73057         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
73058         Likewise.
73059         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
73060         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
73061         0.
73063 2010-02-08  Bruno Haible  <bruno@clisp.org>
73065         gnulib-tool: Fix typo in 2010-02-07 commit.
73066         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
73067         Reported by Eric Blake.
73069 2010-02-07  Bruno Haible  <bruno@clisp.org>
73071         gnulib-tool: Fix up caching patches.
73072         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
73073         option --no-cache. Use associative arrays when supported by the shell.
73074         (sed_comments): New variable.
73075         (modcache): Renamed from do_cache.
73076         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
73077         abbreviate unnecessarily.
73078         (have_associative): New variable.
73079         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
73080         way also for ksh and zsh.
73081         (func_init_sed_convert_to_cache_statements): New function, extracted
73082         from func_cache_lookup_module. Add support for associative arrays.
73083         Don't set the c_MODULE_cached variable here. Ignore all lines before
73084         the first field header. Remove only the final newline, not all trailing
73085         newlines. Support empty fields correctly. Limit the use of 'eval' to
73086         assignments.
73087         (func_get_description, func_get_status, func_get_notice,
73088         func_get_applicability, func_get_filelist, func_get_dependencies,
73089         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
73090         func_get_automake_snippet, func_get_include_directive,
73091         func_get_link_directive, func_get_license, func_get_maintainer):
73092         Update documentation. List the unoptimized code first. Add support for
73093         associative arrays. Limit the use of 'eval' to assignments.
73094         (func_get_applicability): Undo stylistic pessimisations.
73095         (func_get_automake_snippet, func_get_include_directive): Reduce code
73096         duplication.
73097         (func_modules_transitive_closure, func_modules_add_dummy,
73098         func_modules_notice, func_modules_to_filelist, func_add_file,
73099         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
73100         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
73101         func_create_testdir, func_create_megatestdir): Update documentation.
73103 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73105         * gnulib-tool (func_cache_lookup_module): Store the module name
73106         belonging to the cache variable; error out if two different
73107         module names map to the same cache variable name.
73109 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73111         gnulib-tool: Make caching optional.
73112         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
73113         Update matching short versions of --no-changelog.
73114         (func_usage): Update.
73115         (sed_extract_cache_prog): Renamed from ...
73116         (sed_extract_prog): ... this; revert to old extraction script.
73117         (func_get_description, func_get_status)
73118         (func_get_notice, func_get_applicability, func_get_filelist)
73119         (func_get_dependencies, func_get_autoconf_early_snippet)
73120         (func_get_autoconf_snippet, func_get_automake_snippet)
73121         (func_get_include_directive, func_get_link_directive)
73122         (func_get_license, func_get_maintainer): If $do_cache is false,
73123         use old, non-caching extraction scripts.
73124         Suggestion by Bruno Haible.
73126 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73128         gnulib-tool: cache module metainformation.
73129         * gnulib-tool (sed_extract_prog): Match newline before each
73130         header, and rewrite header to a shell variable suffix.
73131         (func_cache_var, func_cache_lookup_module): New functions,
73132         to turn a module name into a cache variable prefix, and to
73133         look up and cache module metainformation.
73134         (func_get_description, func_get_status)
73135         (func_get_notice, func_get_applicability, func_get_filelist)
73136         (func_get_dependencies, func_get_autoconf_early_snippet)
73137         (func_get_autoconf_snippet, func_get_automake_snippet)
73138         (func_get_include_directive, func_get_link_directive)
73139         (func_get_license, func_get_maintainer): Use
73140         func_cache_lookup_module.
73142 2010-02-07  Bruno Haible  <bruno@clisp.org>
73144         fnctl: Fix missing dependency.
73145         * modules/fcntl (Depends-on): Add getdtablesize.
73146         Reported by John W. Eaton <jwe@gnu.org>.
73148 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
73150         Argp: fix recognition of short alias options.
73152         * lib/argp-parse.c (convert_options): Fix improper use of
73153         `|' between character values.
73154         * tests/test-argp.c (group1_option): New alias option
73155         --read (-r).
73156         (group1_parser): Special handling for 'r'.
73157         (test15): New test case.
73158         (test_fun): Add test15.
73159         * tests/test-argp-2.sh: Update expected --help and --usage
73160         outputs.
73162 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
73164         * tests/test-argp.c: Fix indentation.
73166 2010-02-04  Eric Blake  <ebb9@byu.net>
73168         gettimeofday: expose type of second argument
73169         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
73170         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
73171         * tests/test-gettimeofday.c: Use it to silence warning.
73172         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
73173         the issue.
73175 2010-02-03  Jim Meyering  <meyering@redhat.com>
73177         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
73178         * lib/regcomp.c (TYPE_SIGNED): Define.
73179         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
73181         regcomp.c: avoid a new -Wshadow warning
73182         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
73184 2010-02-01  Jim Meyering  <meyering@redhat.com>
73186         removing useless parentheses in cpp #define directives
73187         For motivation, see commit c0221df4, "define STREQ(a,b)
73188         consistently, removing useless parentheses"
73189         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
73190         * lib/mountlist.c (MNT_IGNORE): Likewise.
73191         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
73193 2010-02-01  Eric Blake  <ebb9@byu.net>
73195         sys_time: use link-warning
73196         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
73197         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
73198         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
73199         * modules/sys_time (Depends-on): Add warn-on-use.
73200         (Makefile.am): Always build replacement.
73201         (configure.ac): Update substitutions.
73202         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
73203         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
73204         bother with SYS_TIME_H.
73205         * modules/gettimeofday (configure.ac): Declare indicator.
73206         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
73207         in use.
73209         closein-tests: silence compiler warning
73210         * tests/test-closein.c (main): Ignore fread result.
73211         * modules/closein-tests (Depends-on): Add ignore-value.
73213         tests: silence warning about system return
73214         * tests/test-areadlink-with-size.c (main): Ignore system result.
73215         * tests/test-areadlink.c (main): Likewise.
73216         * tests/test-areadlinkat-with-size.c (main): Likewise.
73217         * tests/test-areadlinkat.c (main): Likewise.
73218         * tests/test-canonicalize-lgpl.c (main): Likewise.
73219         * tests/test-canonicalize.c (main): Likewise.
73220         * tests/test-chown.c (main): Likewise.
73221         * tests/test-fchownat.c (main): Likewise.
73222         * tests/test-fdutimensat.c (main): Likewise.
73223         * tests/test-fstatat.c (main): Likewise.
73224         * tests/test-futimens.c (main): Likewise.
73225         * tests/test-lchown.c (main): Likewise.
73226         * tests/test-link.c (main): Likewise.
73227         * tests/test-linkat.c (main): Likewise.
73228         * tests/test-lstat.c (main): Likewise.
73229         * tests/test-mkdir.c (main): Likewise.
73230         * tests/test-mkdirat.c (main): Likewise.
73231         * tests/test-mkfifo.c (main): Likewise.
73232         * tests/test-mkfifoat.c (main): Likewise.
73233         * tests/test-mknod.c (main): Likewise.
73234         * tests/test-readlink.c (main): Likewise.
73235         * tests/test-remove.c (main): Likewise.
73236         * tests/test-rename.c (main): Likewise.
73237         * tests/test-renameat.c (main): Likewise.
73238         * tests/test-rmdir.c (main): Likewise.
73239         * tests/test-symlink.c (main): Likewise.
73240         * tests/test-symlinkat.c (main): Likewise.
73241         * tests/test-unlink.c (main): Likewise.
73242         * tests/test-unlinkat.c (main): Likewise.
73243         * tests/test-utimens.c (main): Likewise.
73244         * tests/test-utimensat.c (main): Likewise.
73245         * modules/areadlink-tests (Depends-on): Add ignore-value.
73246         * modules/areadlink-with-size-tests (Depends-on): Likewise.
73247         * modules/areadlinkat-tests (Depends-on): Likewise.
73248         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
73249         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
73250         * modules/canonicalize-tests (Depends-on): Likewise.
73251         * modules/chown-tests (Depends-on): Likewise.
73252         * modules/fdutimensat-tests (Depends-on): Likewise.
73253         * modules/futimens-tests (Depends-on): Likewise.
73254         * modules/lchown-tests (Depends-on): Likewise.
73255         * modules/link-tests (Depends-on): Likewise.
73256         * modules/linkat-tests (Depends-on): Likewise.
73257         * modules/lstat-tests (Depends-on): Likewise.
73258         * modules/mkdir-tests (Depends-on): Likewise.
73259         * modules/mkfifo-tests (Depends-on): Likewise.
73260         * modules/mkfifoat-tests (Depends-on): Likewise.
73261         * modules/mknod-tests (Depends-on): Likewise.
73262         * modules/openat-tests (Depends-on): Likewise.
73263         * modules/readlink-tests (Depends-on): Likewise.
73264         * modules/remove-tests (Depends-on): Likewise.
73265         * modules/rename-tests (Depends-on): Likewise.
73266         * modules/renameat-tests (Depends-on): Likewise.
73267         * modules/rmdir-tests (Depends-on): Likewise.
73268         * modules/symlink-tests (Depends-on): Likewise.
73269         * modules/symlinkat-tests (Depends-on): Likewise.
73270         * modules/unlink-tests (Depends-on): Likewise.
73271         * modules/utimens-tests (Depends-on): Likewise.
73272         * modules/utimensat-tests (Depends-on): Likewise.
73274 2010-01-31  Bruno Haible  <bruno@clisp.org>
73276         Perform the same test for many <math.h> functions.
73277         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
73278         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
73279         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
73280         of gl_MATHFUNC.
73281         * modules/acos (configure.ac): Likewise.
73282         * modules/asin (configure.ac): Likewise.
73283         * modules/atan (configure.ac): Likewise.
73284         * modules/atan2 (configure.ac): Likewise.
73285         * modules/cbrt (configure.ac): Likewise.
73286         * modules/copysign (configure.ac): Likewise.
73287         * modules/cos (configure.ac): Likewise.
73288         * modules/cosh (configure.ac): Likewise.
73289         * modules/erf (configure.ac): Likewise.
73290         * modules/erfc (configure.ac): Likewise.
73291         * modules/exp (configure.ac): Likewise.
73292         * modules/fmod (configure.ac): Likewise.
73293         * modules/hypot (configure.ac): Likewise.
73294         * modules/j0 (configure.ac): Likewise.
73295         * modules/j1 (configure.ac): Likewise.
73296         * modules/jn (configure.ac): Likewise.
73297         * modules/lgamma (configure.ac): Likewise.
73298         * modules/log (configure.ac): Likewise.
73299         * modules/log10 (configure.ac): Likewise.
73300         * modules/log1p (configure.ac): Likewise.
73301         * modules/pow (configure.ac): Likewise.
73302         * modules/remainder (configure.ac): Likewise.
73303         * modules/sin (configure.ac): Likewise.
73304         * modules/sinh (configure.ac): Likewise.
73305         * modules/tan (configure.ac): Likewise.
73306         * modules/tanh (configure.ac): Likewise.
73307         * modules/y0 (configure.ac): Likewise.
73308         * modules/y1 (configure.ac): Likewise.
73309         * modules/yn (configure.ac): Likewise.
73310         Suggested by Paolo Bonzini.
73312 2010-01-31  Bruno Haible  <bruno@clisp.org>
73314         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
73316 2010-01-31  Bruno Haible  <bruno@clisp.org>
73318         Work around getdelim() bug on FreeBSD 8.0.
73319         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
73320         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
73321         not work.
73322         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
73323         is 1.
73324         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
73325         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
73326         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
73327         a non-zero size.
73328         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
73330 2010-01-31  Bruno Haible  <bruno@clisp.org>
73332         Work around getline() bug on FreeBSD 8.0.
73333         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
73334         and a non-zero size.
73335         * tests/test-getline.c (main): Likewise.
73336         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
73337         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
73339 2010-01-28  Eric Blake  <ebb9@byu.net>
73341         regex: fix build failure
73342         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
73343         platforms.
73345 2010-01-28  Jim Meyering  <meyering@redhat.com>
73347         regex: do not ignore memory allocation failure
73348         * lib/regex_internal.c (create_cd_newstate): Detect
73349         re_node_set_init_copy failure.   Extracted from glibc commit
73350         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
73352         regex: sync more white-space changes from libc
73353         * lib/regex_internal.c: White-space only changes.
73354         * lib/regexec.c: Likewise.
73356         regex: add many uses of __attribute_warn_unused_result__
73357         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
73358         * lib/regexec.c: Likewise.
73359         Extracted from a messy glibc commit.
73361         regcomp.c: spelling and merge-artifact from glibc
73362         * lib/regcomp.c: Merge remainder of glibc's
73363         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
73365         regcomp.c: sync white-space changes from glibc
73366         * lib/regcomp.c: Merge to accommodate white space
73367         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
73369         regcomp.c: do not ignore internal return values
73370         * lib/regcomp.c: Do not ignore internal return values.
73371         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
73372         but without its white-space changes and spelling fixes.
73374         regex_internal.h: define __attribute_warn_unused_result__
73375         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
73377         maint: add a syntax-check rule to check for vulnerable Makefile.in
73378         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
73380 2010-01-27  Jim Meyering  <meyering@redhat.com>
73382         ncftpput-ftp: clean up spaces
73383         * build-aux/ncftpput-ftp: Make Copyright line consistent.
73384         Remove trailing blanks.
73386 2010-01-27  Simon Josefsson  <simon@josefsson.org>
73388         * build-aux/git-version-gen: Fix copyright statement.
73389         * build-aux/gnupload: Likewise.
73390         * tests/test-arcfour.c: Likewise.
73391         * tests/test-arctwo.c: Likewise.
73392         * tests/test-count-one-bits.c: Likewise.
73393         * tests/test-crc.c: Likewise.
73394         * tests/test-des.c: Likewise.
73395         * tests/test-gc-arcfour.c: Likewise.
73396         * tests/test-gc-arctwo.c: Likewise.
73397         * tests/test-gc-des.c: Likewise.
73398         * tests/test-gc-hmac-md5.c: Likewise.
73399         * tests/test-gc-hmac-sha1.c: Likewise.
73400         * tests/test-gc-md2.c: Likewise.
73401         * tests/test-gc-md4.c: Likewise.
73402         * tests/test-gc-md5.c: Likewise.
73403         * tests/test-gc-pbkdf2-sha1.c: Likewise.
73404         * tests/test-gc-rijndael.c: Likewise.
73405         * tests/test-gc-sha1.c: Likewise.
73406         * tests/test-gc.c: Likewise.
73407         * tests/test-gethostname.c: Likewise.
73408         * tests/test-gettimeofday.c: Likewise.
73409         * tests/test-hash.c: Likewise.
73410         * tests/test-hmac-md5.c: Likewise.
73411         * tests/test-hmac-sha1.c: Likewise.
73412         * tests/test-md2.c: Likewise.
73413         * tests/test-md4.c: Likewise.
73414         * tests/test-md5.c: Likewise.
73415         * tests/test-memchr.c: Likewise.
73416         * tests/test-memchr2.c: Likewise.
73417         * tests/test-memcmp.c: Likewise.
73418         * tests/test-memmem.c: Likewise.
73419         * tests/test-memrchr.c: Likewise.
73420         * tests/test-rawmemchr.c: Likewise.
73421         * tests/test-read-file.c: Likewise.
73422         * tests/test-rijndael.c: Likewise.
73423         * tests/test-sockets.c: Likewise.
73424         * tests/test-strchrnul.c: Likewise.
73425         * tests/test-strstr.c: Likewise.
73426         * tests/test-strtod.c: Likewise.
73427         * build-aux/ncftpput-ftp: Likewise.
73429 2010-01-26  Eric Blake  <ebb9@byu.net>
73431         ignore-value: update recommended header name
73432         * modules/ignore-value (Include): Only use <> for headers that
73433         exist in glibc.
73435 2010-01-26  Jim Meyering  <meyering@redhat.com>
73437         test-userspec.c: avoid compiler warnings
73438         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
73439         and "initialization discards qualifiers..." warnings.
73440         Put the first "uid" in its own scope, and make char* members "const".
73442 2010-01-25  Bruno Haible  <bruno@clisp.org>
73444         gnulib-tool: Make warning diagnostics consistent.
73445         * gnulib-tool (func_warning): New function.
73446         Use it everywhere where gnulib-tool produces output to stderr and it is
73447         not a fatal error.
73449 2010-01-25  Bruno Haible  <bruno@clisp.org>
73451         Fix test dependencies.
73452         * modules/xstrtol-tests (Depends-on): Add inttypes.
73453         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
73455 2010-01-25  Pádraig Brady  <P@draigBrady.com>
73457         syntax-check: detect incorrect boolean macro values in config.h
73458         * modules/maintainer-makefile (configure.ac): Parameterize the location
73459         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
73460         The logic is from Eric Blake and the location indicated by Jim Meyering.
73461         Note the more natural CONFIG_HEADER name is prohibited by automake
73462         for backwards compatibility reasons.
73463         * top/maint.mk (sc_Wundef_boolean): New rule.
73465 2010-01-25  Jim Meyering  <meyering@redhat.com>
73467         bootstrap: detect MacOS 10.6's shasum, too
73468         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
73469         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
73471 2010-01-23  Jim Meyering  <meyering@redhat.com>
73473         xstrtoll: new module
73474         * modules/xstrtoll: New file.
73475         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
73476         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
73477         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
73478         ./configure fails if you use this module and lack "long long".
73479         * modules/xstrtoll-tests: New module.
73480         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
73481         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
73482         new init.sh-based test framework.
73484 2010-01-24  Bruno Haible  <bruno@clisp.org>
73486         Tests for module 'yn'.
73487         * modules/yn-tests: New file.
73488         * tests/test-yn.c: New file.
73490         Tests for module 'y1'.
73491         * modules/y1-tests: New file.
73492         * tests/test-y1.c: New file.
73494         Tests for module 'y0'.
73495         * modules/y0-tests: New file.
73496         * tests/test-y0.c: New file.
73498         Tests for module 'tanh'.
73499         * modules/tanh-tests: New file.
73500         * tests/test-tanh.c: New file.
73502         Tests for module 'tan'.
73503         * modules/tan-tests: New file.
73504         * tests/test-tan.c: New file.
73506         Tests for module 'sqrt'.
73507         * modules/sqrt-tests: New file.
73508         * tests/test-sqrt.c: New file.
73510         Tests for module 'sinh'.
73511         * modules/sinh-tests: New file.
73512         * tests/test-sinh.c: New file.
73514         Tests for module 'sin'.
73515         * modules/sin-tests: New file.
73516         * tests/test-sin.c: New file.
73518         Tests for module 'rint'.
73519         * modules/rint-tests: New file.
73520         * tests/test-rint.c: New file.
73522         Tests for module 'remainder'.
73523         * modules/remainder-tests: New file.
73524         * tests/test-remainder.c: New file.
73526         Tests for module 'pow'.
73527         * modules/pow-tests: New file.
73528         * tests/test-pow.c: New file.
73530         Tests for module 'nextafter'.
73531         * modules/nextafter-tests: New file.
73532         * tests/test-nextafter.c: New file.
73534         Tests for module 'modf'.
73535         * modules/modf-tests: New file.
73536         * tests/test-modf.c: New file.
73538         Tests for module 'logb'.
73539         * modules/logb-tests: New file.
73540         * tests/test-logb.c: New file.
73542         Tests for module 'log1p'.
73543         * modules/log1p-tests: New file.
73544         * tests/test-log1p.c: New file.
73546         Tests for module 'log10'.
73547         * modules/log10-tests: New file.
73548         * tests/test-log10.c: New file.
73550         Tests for module 'log'.
73551         * modules/log-tests: New file.
73552         * tests/test-log.c: New file.
73554         Tests for module 'lgamma'.
73555         * modules/lgamma-tests: New file.
73556         * tests/test-lgamma.c: New file.
73558         Tests for module 'ldexp'.
73559         * modules/ldexp-tests: New file.
73560         * tests/test-ldexp.c: New file.
73562         Tests for module 'jn'.
73563         * modules/jn-tests: New file.
73564         * tests/test-jn.c: New file.
73566         Tests for module 'j1'.
73567         * modules/j1-tests: New file.
73568         * tests/test-j1.c: New file.
73570         Tests for module 'j0'.
73571         * modules/j0-tests: New file.
73572         * tests/test-j0.c: New file.
73574         Tests for module 'hypot'.
73575         * modules/hypot-tests: New file.
73576         * tests/test-hypot.c: New file.
73578         Tests for module 'fmod'.
73579         * modules/fmod-tests: New file.
73580         * tests/test-fmod.c: New file.
73582         Tests for module 'fabs'.
73583         * modules/fabs-tests: New file.
73584         * tests/test-fabs.c: New file.
73586         Tests for module 'exp'.
73587         * modules/exp-tests: New file.
73588         * tests/test-exp.c: New file.
73590         Tests for module 'erfc'.
73591         * modules/erfc-tests: New file.
73592         * tests/test-erfc.c: New file.
73594         Tests for module 'erf'.
73595         * modules/erf-tests: New file.
73596         * tests/test-erf.c: New file.
73598         Tests for module 'cosh'.
73599         * modules/cosh-tests: New file.
73600         * tests/test-cosh.c: New file.
73602         Tests for module 'cos'.
73603         * modules/cos-tests: New file.
73604         * tests/test-cos.c: New file.
73606         Tests for module 'copysign'.
73607         * modules/copysign-tests: New file.
73608         * tests/test-copysign.c: New file.
73610         Tests for module 'cbrt'.
73611         * modules/cbrt-tests: New file.
73612         * tests/test-cbrt.c: New file.
73614         Tests for module 'atan2'.
73615         * modules/atan2-tests: New file.
73616         * tests/test-atan2.c: New file.
73618         Tests for module 'atan'.
73619         * modules/atan-tests: New file.
73620         * tests/test-atan.c: New file.
73622         Tests for module 'asin'.
73623         * modules/asin-tests: New file.
73624         * tests/test-asin.c: New file.
73626         Tests for module 'acos'.
73627         * modules/acos-tests: New file.
73628         * tests/test-acos.c: New file.
73630 2010-01-24  Bruno Haible  <bruno@clisp.org>
73632         Fix tests for common <math.h> functions.
73633         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
73634         code snippet that references the function pointer, rather than merely
73635         calling the function. Substitute the FUNC_LIBM variable.
73636         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
73637         * modules/acos (configure.ac): Likewise.
73638         * modules/asin (configure.ac): Likewise.
73639         * modules/atan (configure.ac): Likewise.
73640         * modules/atan2 (configure.ac): Likewise.
73641         * modules/cbrt (configure.ac): Likewise.
73642         * modules/copysign (configure.ac): Likewise.
73643         * modules/cos (configure.ac): Likewise.
73644         * modules/cosh (configure.ac): Likewise.
73645         * modules/erf (configure.ac): Likewise.
73646         * modules/erfc (configure.ac): Likewise.
73647         * modules/exp (configure.ac): Likewise.
73648         * modules/fabs (configure.ac): Likewise.
73649         * modules/fmod (configure.ac): Likewise.
73650         * modules/hypot (configure.ac): Likewise.
73651         * modules/j0 (configure.ac): Likewise.
73652         * modules/j1 (configure.ac): Likewise.
73653         * modules/jn (configure.ac): Likewise.
73654         * modules/ldexp (configure.ac): Likewise.
73655         * modules/lgamma (configure.ac): Likewise.
73656         * modules/log (configure.ac): Likewise.
73657         * modules/log10 (configure.ac): Likewise.
73658         * modules/log1p (configure.ac): Likewise.
73659         * modules/logb (configure.ac): Likewise.
73660         * modules/modf (configure.ac): Likewise.
73661         * modules/nextafter (configure.ac): Likewise.
73662         * modules/pow (configure.ac): Likewise.
73663         * modules/remainder (configure.ac): Likewise.
73664         * modules/rint (configure.ac): Likewise.
73665         * modules/sin (configure.ac): Likewise.
73666         * modules/sinh (configure.ac): Likewise.
73667         * modules/tan (configure.ac): Likewise.
73668         * modules/tanh (configure.ac): Likewise.
73669         * modules/y0 (configure.ac): Likewise.
73670         * modules/y1 (configure.ac): Likewise.
73671         * modules/yn (configure.ac): Likewise.
73673 2010-01-24  Bruno Haible  <bruno@clisp.org>
73675         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
73676         * tests/test-acosl.c (x): New variable.
73677         (main): Store argument in x and fetch it from x.
73678         * tests/test-asinl.c (x): New variable.
73679         (main): Store argument in x and fetch it from x.
73680         * tests/test-atanl.c (x): New variable.
73681         (main): Store argument in x and fetch it from x.
73682         * tests/test-cosl.c (x): New variable.
73683         (main): Store argument in x and fetch it from x.
73684         * tests/test-expl.c (x): New variable.
73685         (main): Store argument in x and fetch it from x.
73686         * tests/test-logl.c (x): New variable.
73687         (main): Store argument in x and fetch it from x.
73688         * tests/test-sinl.c (x): New variable.
73689         (main): Store argument in x and fetch it from x.
73690         * tests/test-sqrtl.c (x): New variable.
73691         (main): Store argument in x and fetch it from x.
73692         * tests/test-tanl.c (x): New variable.
73693         (main): Store argument in x and fetch it from x.
73695 2010-01-24  Bruno Haible  <bruno@clisp.org>
73697         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
73698         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
73699         assignments to the initial TESTS_ENVIRONMENT.
73700         * doc/gnulib.texi (Unit test modules): Document it.
73701         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
73702         TESTS_ENVIRONMENT.
73703         * modules/btowc-tests (Makefile.am): Likewise.
73704         * modules/c-stack-tests (Makefile.am): Likewise.
73705         * modules/c-strcase-tests (Makefile.am): Likewise.
73706         * modules/copy-file-tests (Makefile.am): Likewise.
73707         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
73708         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
73709         * modules/mbrtowc-tests (Makefile.am): Likewise.
73710         * modules/mbscasecmp-tests (Makefile.am): Likewise.
73711         * modules/mbscasestr-tests (Makefile.am): Likewise.
73712         * modules/mbschr-tests (Makefile.am): Likewise.
73713         * modules/mbscspn-tests (Makefile.am): Likewise.
73714         * modules/mbsinit-tests (Makefile.am): Likewise.
73715         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
73716         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
73717         * modules/mbspbrk-tests (Makefile.am): Likewise.
73718         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
73719         * modules/mbsrchr-tests (Makefile.am): Likewise.
73720         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
73721         * modules/mbsspn-tests (Makefile.am): Likewise.
73722         * modules/mbsstr-tests (Makefile.am): Likewise.
73723         * modules/nl_langinfo-tests (Makefile.am): Likewise.
73724         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
73725         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
73726         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
73727         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
73728         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
73729         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
73730         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
73731         * modules/wcrtomb-tests (Makefile.am): Likewise.
73732         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
73733         * modules/wcsrtombs-tests (Makefile.am): Likewise.
73734         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
73735         assignments from TESTS_ENVIRONMENT.
73736         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
73737         augmentation.
73738         * modules/argp-version-etc-tests (Makefile.am): Likewise.
73739         * modules/atexit-tests (Makefile.am): Likewise.
73740         * modules/binary-io-tests (Makefile.am): Likewise.
73741         * modules/closein-tests (Makefile.am): Likewise.
73742         * modules/dprintf-posix-tests (Makefile.am): Likewise.
73743         * modules/exclude-tests (Makefile.am): Likewise.
73744         * modules/fflush-tests (Makefile.am): Likewise.
73745         * modules/fpending-tests (Makefile.am): Likewise.
73746         * modules/fprintf-posix-tests (Makefile.am): Likewise.
73747         * modules/freadahead-tests (Makefile.am): Likewise.
73748         * modules/freadptr-tests (Makefile.am): Likewise.
73749         * modules/freadseek-tests (Makefile.am): Likewise.
73750         * modules/fseek-tests (Makefile.am): Likewise.
73751         * modules/fseeko-tests (Makefile.am): Likewise.
73752         * modules/ftell-tests (Makefile.am): Likewise.
73753         * modules/ftello-tests (Makefile.am): Likewise.
73754         * modules/idpriv-drop-tests (Makefile.am): Likewise.
73755         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
73756         * modules/lseek-tests (Makefile.am): Likewise.
73757         * modules/parse-duration-tests (Makefile.am): Likewise.
73758         * modules/perror-tests (Makefile.am): Likewise.
73759         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
73760         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
73761         * modules/pipe-tests (Makefile.am): Likewise.
73762         * modules/pread-tests (Makefile.am): Likewise.
73763         * modules/printf-posix-tests (Makefile.am): Likewise.
73764         * modules/select-tests (Makefile.am): Likewise.
73765         * modules/sigpipe-tests (Makefile.am): Likewise.
73766         * modules/tsearch-tests (Makefile.am): Likewise.
73767         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
73768         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
73769         * modules/uniname/uniname-tests (Makefile.am): Likewise.
73770         * modules/uniwidth/width-tests (Makefile.am): Likewise.
73771         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
73772         * modules/version-etc-tests (Makefile.am): Likewise.
73773         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
73774         * modules/vprintf-posix-tests (Makefile.am): Likewise.
73775         * modules/xalloc-die-tests (Makefile.am): Likewise.
73776         * modules/xprintf-posix-tests (Makefile.am): Likewise.
73777         * modules/xstrtoimax-tests (Makefile.am): Likewise.
73778         * modules/xstrtol-tests (Makefile.am): Likewise.
73779         * modules/xstrtoumax-tests (Makefile.am): Likewise.
73780         * modules/yesno-tests (Makefile.am): Likewise.
73781         Suggested by Jim Meyering.
73783 2010-01-24  Bruno Haible  <bruno@clisp.org>
73785         More documentation.
73786         * doc/gnulib.texi (Writing modules): New chapter.
73787         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
73788         the new chapter.
73790 2010-01-24  Jim Meyering  <meyering@redhat.com>
73792         maint.mk: do not prepend "./" after filtering
73793         * top/maint.mk (_prepend_srcdir_prefix): New variable
73794         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
73795         "./" when $(srcdir) is ".".
73797         define STREQ(a,b) consistently, removing useless parentheses
73798         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
73799         since the only risk is that "a" or "b" contains an unparenthesized
73800         comma, but if either did that, STREQ would have 3 or more arguments.
73801         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
73802         * lib/fts.c (STREQ): Remove unnecessary parentheses.
73803         * lib/hash-triple.c (STREQ): Likewise.
73804         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
73805         * lib/getugroups.c (STREQ): Likewise.
73807 2010-01-23  Jim Meyering  <meyering@redhat.com>
73809         maint.mk: fix syntax-check in a non-srcdir build directory
73810         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
73811         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
73813 2010-01-22  Jim Meyering  <meyering@redhat.com>
73815         userspec: add unit tests
73816         * tests/test-userspec.c: New file.
73817         * modules/userspec-tests: Likewise.
73819 2010-01-21  Jim Meyering  <meyering@redhat.com>
73821         maint.mk: handle source file names containing "." robustly
73822         * top/maint.mk (_dot_escaped_srcdir): Define.
73823         (VC_LIST): Use it in LHS of sed substitution.
73825 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
73827         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
73828         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
73829         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
73830         from a non-srcdir build.
73832 2010-01-20  Eric Blake  <ebb9@byu.net>
73834         warn-on-use: use instead of link-warning
73835         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
73836         * modules/unistd (Depends-on, Makefile.am): Likewise.
73837         * modules/arpa_inet (Depends-on): Replace link-warning with
73838         warn-on-use.
73839         (Makefile.am): Update rules accordingly.
73840         * modules/ctype (Depends-on, Makefile.am): Likewise.
73841         * modules/dirent (Depends-on, Makefile.am): Likewise.
73842         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
73843         * modules/inttypes (Depends-on, Makefile.am): Likewise.
73844         * modules/langinfo (Depends-on, Makefile.am): Likewise.
73845         * modules/locale (Depends-on, Makefile.am): Likewise.
73846         * modules/math (Depends-on, Makefile.am): Likewise.
73847         * modules/search (Depends-on, Makefile.am): Likewise.
73848         * modules/signal (Depends-on, Makefile.am): Likewise.
73849         * modules/spawn (Depends-on, Makefile.am): Likewise.
73850         * modules/stdlib (Depends-on, Makefile.am): Likewise.
73851         * modules/string (Depends-on, Makefile.am): Likewise.
73852         * modules/strings (Depends-on, Makefile.am): Likewise.
73853         * modules/sys_file (Depends-on, Makefile.am): Likewise.
73854         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
73855         * modules/sys_select (Depends-on, Makefile.am): Likewise.
73856         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
73857         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
73858         * modules/sys_times (Depends-on, Makefile.am): Likewise.
73859         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
73860         * modules/wchar (Depends-on, Makefile.am): Likewise.
73861         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
73862         should be poisoned.
73863         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
73864         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
73865         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
73866         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
73867         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
73868         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
73869         * m4/math_h.m4 (gl_MATH_H): Likewise.
73870         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
73871         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
73872         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
73873         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
73874         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
73875         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
73876         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
73877         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
73878         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
73879         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
73880         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
73881         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
73882         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
73883         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
73884         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
73885         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
73886         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
73887         GL_LINK_WARNING.
73888         * lib/ctype.in.h: Likewise.
73889         * lib/dirent.in.h: Likewise.
73890         * lib/fcntl.in.h: Likewise.
73891         * lib/inttypes.in.h: Likewise.
73892         * lib/langinfo.in.h: Likewise.
73893         * lib/locale.in.h: Likewise.
73894         * lib/math.in.h: Likewise.
73895         * lib/search.in.h: Likewise.
73896         * lib/signal.in.h: Likewise.
73897         * lib/spawn.in.h: Likewise.
73898         * lib/stdio.in.h: Likewise.
73899         * lib/stdlib.in.h: Likewise.
73900         * lib/string.in.h: Likewise.
73901         * lib/strings.in.h: Likewise.
73902         * lib/sys_file.in.h: Likewise.
73903         * lib/sys_ioctl.in.h: Likewise.
73904         * lib/sys_select.in.h: Likewise.
73905         * lib/sys_socket.in.h: Likewise.
73906         * lib/sys_stat.in.h: Likewise.
73907         * lib/sys_times.in.h: Likewise.
73908         * lib/sys_utsname.in.h: Likewise.
73909         * lib/unistd.in.h: Likewise.
73910         * lib/wchar.in.h: Likewise.
73912 2010-01-20  Bruno Haible  <bruno@clisp.org>
73914         Avoid duplicate -lm.
73915         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
73916         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
73917         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
73918         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
73919         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
73920         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
73921         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
73922         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
73923         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
73924         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
73925         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
73926         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
73927         Reported by Paolo Bonzini.
73929 2010-01-19  Bruno Haible  <bruno@clisp.org>
73931         langinfo, nl_langinfo: Relicense under LGPLv2+.
73932         * modules/langinfo (License): Change to LGPLv2+.
73933         * modules/nl_langinfo (License): Likewise.
73934         Patch by David Lutterkort <lutter@redhat.com>.
73936 2010-01-19  Bruno Haible  <bruno@clisp.org>
73938         Avoid compilation error with cc on OSF/1 5.1.
73939         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
73940         statement, not before.
73941         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
73943 2010-01-18  Bruno Haible  <bruno@clisp.org>
73945         Avoid a link error due to the __printf__ symbol.
73946         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
73947         and 2.6.x.
73948         (__format__, __printf__): Remove definitions.
73949         * lib/argp-fmtstream.h: Likewise.
73950         * lib/argp.h: Likewise.
73951         * lib/error.h: Likewise.
73952         * lib/vasnprintf.h: Likewise.
73953         * lib/xprintf.h: Likewise.
73954         * lib/xvasprintf.h: Likewise.
73955         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
73957 2010-01-18  Bruno Haible  <bruno@clisp.org>
73959         Tests for module 'tanl'.
73960         * modules/tanl-tests: New file.
73961         * tests/test-tanl.c: New file.
73963         Tests for module 'sqrtl'.
73964         * modules/sqrtl-tests: New file.
73965         * tests/test-sqrtl.c: New file.
73967         Tests for module 'sinl'.
73968         * modules/sinl-tests: New file.
73969         * tests/test-sinl.c: New file.
73971         Tests for module 'logl'.
73972         * modules/logl-tests: New file.
73973         * tests/test-logl.c: New file.
73975         Tests for module 'expl'.
73976         * modules/expl-tests: New file.
73977         * tests/test-expl.c: New file.
73979         Tests for module 'cosl'.
73980         * modules/cosl-tests: New file.
73981         * tests/test-cosl.c: New file.
73983         Tests for module 'atanl'.
73984         * modules/atanl-tests: New file.
73985         * tests/test-atanl.c: New file.
73987         Tests for module 'asinl'.
73988         * modules/asinl-tests: New file.
73989         * tests/test-asinl.c: New file.
73991         Tests for module 'acosl'.
73992         * modules/acosl-tests: New file.
73993         * tests/test-acosl.c: New file.
73995         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
73996         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
73997         tanl): Use the standard gnulib idiom.
73998         * lib/cosl.c: Don't include trigl.c and sincosl.c.
73999         * lib/sinl.c: Likewise.
74000         * lib/tanl.c: Don't include trigl.c.
74001         (kernel_tanl): Make static.
74002         * lib/sincosl.c: Include trigl.h first.
74003         * lib/trigl.c: Likewise.
74004         * m4/acosl.m4: New file.
74005         * m4/asinl.m4: New file.
74006         * m4/atanl.m4: New file.
74007         * m4/cosl.m4: New file.
74008         * m4/expl.m4: New file.
74009         * m4/logl.m4: New file.
74010         * m4/sinl.m4: New file.
74011         * m4/sqrtl.m4: New file.
74012         * m4/tanl.m4: New file.
74013         * m4/mathl.m4: Remove file.
74014         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
74015         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
74016         Don't initialize GNULIB_MATHL.
74017         * modules/acosl: New file.
74018         * modules/asinl: New file.
74019         * modules/atanl: New file.
74020         * modules/cosl: New file.
74021         * modules/expl: New file.
74022         * modules/logl: New file.
74023         * modules/sinl: New file.
74024         * modules/sqrtl: New file.
74025         * modules/tanl: New file.
74026         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
74027         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
74028         substitute GNULIB_MATHL.
74029         * modules/mathl: Rewritten.
74030         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
74031         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
74032         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
74033         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
74034         * doc/posix-functions/expl.texi: Mention the 'expl' module.
74035         * doc/posix-functions/logl.texi: Mention the 'logl' module.
74036         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
74037         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
74038         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
74040 2010-01-18  Bruno Haible  <bruno@clisp.org>
74042         sqrt: Make gl_FUNC_SQRT requirable.
74043         * m4/sqrt.m4: New file.
74044         * modules/sqrt (Files): Add it.
74045         (configure.ac): Invoke gl_FUNC_SQRT.
74047 2010-01-18  Bruno Haible  <bruno@clisp.org>
74049         New modules for common <math.h> functions.
74050         * m4/mathfunc.m4: New file.
74051         * modules/acos: New file.
74052         * modules/asin: New file.
74053         * modules/atan: New file.
74054         * modules/atan2: New file.
74055         * modules/cbrt: New file.
74056         * modules/copysign: New file.
74057         * modules/cos: New file.
74058         * modules/cosh: New file.
74059         * modules/erf: New file.
74060         * modules/erfc: New file.
74061         * modules/exp: New file.
74062         * modules/fabs: New file.
74063         * modules/fmod: New file.
74064         * modules/hypot: New file.
74065         * modules/j0: New file.
74066         * modules/j1: New file.
74067         * modules/jn: New file.
74068         * modules/ldexp: New file.
74069         * modules/lgamma: New file.
74070         * modules/log: New file.
74071         * modules/log10: New file.
74072         * modules/log1p: New file.
74073         * modules/logb: New file.
74074         * modules/modf: New file.
74075         * modules/nextafter: New file.
74076         * modules/pow: New file.
74077         * modules/remainder: New file.
74078         * modules/rint: New file.
74079         * modules/sin: New file.
74080         * modules/sinh: New file.
74081         * modules/sqrt: New file.
74082         * modules/tan: New file.
74083         * modules/tanh: New file.
74084         * modules/y0: New file.
74085         * modules/y1: New file.
74086         * modules/yn: New file.
74087         * doc/posix-functions/acos.texi: Mention the 'acos' module.
74088         * doc/posix-functions/asin.texi: Mention the 'asin' module.
74089         * doc/posix-functions/atan.texi: Mention the 'atan' module.
74090         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
74091         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
74092         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
74093         * doc/posix-functions/cos.texi: Mention the 'cos' module.
74094         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
74095         * doc/posix-functions/erf.texi: Mention the 'erf' module.
74096         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
74097         * doc/posix-functions/exp.texi: Mention the 'exp' module.
74098         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
74099         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
74100         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
74101         * doc/posix-functions/j0.texi: Mention the 'j0' module.
74102         * doc/posix-functions/j1.texi: Mention the 'j1' module.
74103         * doc/posix-functions/jn.texi: Mention the 'jn' module.
74104         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
74105         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
74106         * doc/posix-functions/log.texi: Mention the 'log' module.
74107         * doc/posix-functions/log10.texi: Mention the 'log10' module.
74108         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
74109         * doc/posix-functions/logb.texi: Mention the 'logb' module.
74110         * doc/posix-functions/modf.texi: Mention the 'modf' module.
74111         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
74112         * doc/posix-functions/pow.texi: Mention the 'pow' module.
74113         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
74114         * doc/posix-functions/rint.texi: Mention the 'rint' module.
74115         * doc/posix-functions/sin.texi: Mention the 'sin' module.
74116         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
74117         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
74118         * doc/posix-functions/tan.texi: Mention the 'tan' module.
74119         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
74120         * doc/posix-functions/y0.texi: Mention the 'y0' module.
74121         * doc/posix-functions/y1.texi: Mention the 'y1' module.
74122         * doc/posix-functions/yn.texi: Mention the 'yn' module.
74124 2010-01-18  Jim Meyering  <meyering@redhat.com>
74126         ignore-value: relax license to LGPLv2+
74127         * modules/ignore-value (License): Relax to LGPLv2+.
74129         getdate: don't leak when TZ contains two or more '"'s
74130         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
74131         double quote in TZ after the first one.
74133         readtokens: do not leak internal token_lengths buffer
74134         * lib/readtokens.c (readtokens): Free the local, lengths,
74135         when the supplied "token_lengths" parameter is NULL.
74137 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74139         Fix a couple of missing LIBTHREAD link failures on AIX.
74140         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
74141         $(LIBTHREAD).
74142         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
74144         Link test-poll against INET_PTON_LIB.
74145         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
74146         for inet_pton on Solaris 10.
74148 2010-01-17  Bruno Haible  <bruno@clisp.org>
74150         unistdio/*-sprintf: Fix typo in module description.
74151         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
74152         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
74153         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
74154         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
74155         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
74156         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
74157         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
74158         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
74160 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74162         gnulib-tool: fix filelist for AIX, HP-UX ksh.
74163         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
74164         variables in shell case patterns, for AIX and HP-UX ksh.
74166         Split large sed scripts, for HP-UX sed.
74167         * modules/stdio: Split sed scripts around 50 sed commands,
74168         to avoid HP-UX limit of 99 commands, in the near future.
74169         * modules/string: Likewise.
74170         * modules/unistd: Likewise.
74172         gnulib-tool: avoid writing in the current directory.
74173         * gnulib-tool (func_emit_lib_Makefile_am)
74174         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
74175         not in the current directory, so concurrent gnulib-tool
74176         instances do not interfere.
74178 2010-01-16  Jim Meyering  <meyering@redhat.com>
74180         doc: update users.txt
74181         * users.txt: Add grep.
74182         (diffutils, gzip): Update URLs.
74184 2010-01-12  Bruno Haible  <bruno@clisp.org>
74186         posix_spawn: Avoid test failure on Cygwin.
74187         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
74188         characters.
74189         Reported by Simon Josefsson.
74191 2010-01-12  Bruno Haible  <bruno@clisp.org>
74193         * tests/test-cond.c (main): When skipping the test, show the reason.
74195 2010-01-12  Simon Josefsson  <simon@josefsson.org>
74197         * lib/striconv.c (str_cd_iconv): Avoid if before free.
74199 2010-01-12  Simon Josefsson  <simon@josefsson.org>
74201         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
74202         VC_LIST_ALWAYS_EXCLUDE_REGEX.
74204 2010-01-12  Eric Blake  <ebb9@byu.net>
74206         build: guarantee AS_VAR_IF
74207         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
74208         (gl_AS_VAR_IF): Move...
74209         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
74210         Reported by Simon Josefsson.
74212 2010-01-12  Simon Josefsson  <simon@josefsson.org>
74214         * lib/stdio.in.h: Fix typo.
74216 2010-01-12  Simon Josefsson  <simon@josefsson.org>
74218         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
74219         libgpg-error.
74221 2010-01-12  Simon Josefsson  <simon@josefsson.org>
74223         * tests/test-xalloc-die.sh: Use $EXEEXT.
74225 2010-01-12  Simon Josefsson  <simon@josefsson.org>
74226             Bruno Haible  <bruno@clisp.org>
74228         getlogin, getlogin_r: Avoid test failure.
74229         * tests/test-getlogin.c: Include <stdio.h>.
74230         (main): Skip the test when the function fails because stdin is not a
74231         tty.
74232         * tests/test-getlogin_r.c: Include <stdio.h>.
74233         (main): Skip the test when the function fails because stdin is not a
74234         tty.
74236 2010-01-11  Eric Blake  <ebb9@byu.net>
74238         tests: avoid more large file warnings
74239         * tests/test-fflush.c: Avoid warning about ftell use.
74240         * tests/test-fseek.c: Avoid warning about fseek use.
74242 2010-01-10  Bruno Haible  <bruno@clisp.org>
74244         nproc: Work better on Linux when /proc and /sys are not mounted.
74245         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
74246         as lower bound when, on glibc/Linux systems,
74247         sysconf (_SC_NPROCESSORS_CONF) returns 1.
74248         Suggested by Pádraig Brady <P@draigbrady.com>.
74249         Reported by Dmitry V. Levin <ldv@altlinux.org>.
74251         nproc: Refactor.
74252         * lib/nproc.c (num_processors_via_affinity_mask): New function,
74253         extracted from num_processors.
74254         (num_processors): Call it.
74256 2010-01-11  Jim Meyering  <meyering@redhat.com>
74258         utimecmp: avoid new warning from upcoming gcc-4.5.0
74259         * lib/utimecmp.c (BILLION): Define using #define rather than an
74260         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
74262 2010-01-11  Eric Blake  <ebb9@byu.net>
74264         math: add portability warnings for classification macros
74265         * modules/math (Depends-on): Add warn-on-use.
74266         (Makefile.am): Provide new substitutions.
74267         * m4/math_h.m4 (gl_MATH_H): Require inline.
74268         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
74269         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
74270         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
74271         implement warnings.
74273         unistd: warn on use of environ without module
74274         * modules/unistd (Depends-on): Add warn-on-use.
74275         (Makefile.am): Provide new substitutions.
74276         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
74277         * lib/unistd.in.h (environ): Wrap with a warning helper function.
74279         stdio: warn on suspicious uses
74280         * modules/stdio (Depends-on): Add warn-on-use.
74281         (Makefile.am): Provide new substitutions.
74282         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
74283         fseeko.
74284         * lib/stdio.in.h (gets): Always warn on use.
74285         (fseek, ftell): Adjust when warnings are issued, and honor
74286         _GL_NO_LARGE_FILES as a way to silence the warning.
74287         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
74288         any warning about large file offsets.
74289         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
74290         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
74291         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
74292         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
74293         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
74294         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
74295         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
74296         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
74298         warn-on-use: new module
74299         * modules/warn-on-use: New file.
74300         * build-aux/warn-on-use.h: Likewise.
74301         * m4/warn-on-use.m4: Likewise.
74302         * MODULES.html.sh (Support for building): Mention it.
74304 2010-01-10  Bruno Haible  <bruno@clisp.org>
74306         Tests for module 'unistr/u32-strdup'.
74307         * modules/unistr/u32-strdup-tests: New file.
74308         * tests/unistr/test-u32-strdup.c: New file.
74310         Tests for module 'unistr/u16-strdup'.
74311         * modules/unistr/u16-strdup-tests: New file.
74312         * tests/unistr/test-u16-strdup.c: New file.
74314         Tests for module 'unistr/u8-strdup'.
74315         * modules/unistr/u8-strdup-tests: New file.
74316         * tests/unistr/test-u8-strdup.c: New file.
74317         * tests/unistr/test-strdup.h: New file.
74319         Tests for module 'unistr/u32-strncmp'.
74320         * modules/unistr/u32-strncmp-tests: New file.
74321         * tests/unistr/test-u32-strncmp.c: New file.
74323         Tests for module 'unistr/u16-strncmp'.
74324         * modules/unistr/u16-strncmp-tests: New file.
74325         * tests/unistr/test-u16-strncmp.c: New file.
74327         Tests for module 'unistr/u8-strncmp'.
74328         * modules/unistr/u8-strncmp-tests: New file.
74329         * tests/unistr/test-u8-strncmp.c: New file.
74330         * tests/unistr/test-strncmp.h: New file.
74332         Tests for module 'unistr/u32-strcoll'.
74333         * modules/unistr/u32-strcoll-tests: New file.
74334         * tests/unistr/test-u32-strcoll.c: New file.
74336         Tests for module 'unistr/u16-strcoll'.
74337         * modules/unistr/u16-strcoll-tests: New file.
74338         * tests/unistr/test-u16-strcoll.c: New file.
74340         Tests for module 'unistr/u8-strcoll'.
74341         * modules/unistr/u8-strcoll-tests: New file.
74342         * tests/unistr/test-u8-strcoll.c: New file.
74344         Tests for module 'unistr/u32-strcmp'.
74345         * modules/unistr/u32-strcmp-tests: New file.
74346         * tests/unistr/test-u32-strcmp.c: New file.
74347         * tests/unistr/test-u32-strcmp.h: New file.
74349         Tests for module 'unistr/u16-strcmp'.
74350         * modules/unistr/u16-strcmp-tests: New file.
74351         * tests/unistr/test-u16-strcmp.c: New file.
74352         * tests/unistr/test-u16-strcmp.h: New file.
74354         Tests for module 'unistr/u8-strcmp'.
74355         * modules/unistr/u8-strcmp-tests: New file.
74356         * tests/unistr/test-u8-strcmp.c: New file.
74357         * tests/unistr/test-u8-strcmp.h: New file.
74358         * tests/unistr/test-strcmp.h: New file.
74360         Tests for module 'unistr/u32-strncat'.
74361         * modules/unistr/u32-strncat-tests: New file.
74362         * tests/unistr/test-u32-strncat.c: New file.
74364         Tests for module 'unistr/u16-strncat'.
74365         * modules/unistr/u16-strncat-tests: New file.
74366         * tests/unistr/test-u16-strncat.c: New file.
74368         Tests for module 'unistr/u8-strncat'.
74369         * modules/unistr/u8-strncat-tests: New file.
74370         * tests/unistr/test-u8-strncat.c: New file.
74371         * tests/unistr/test-strncat.h: New file.
74373         Tests for module 'unistr/u32-strcat'.
74374         * modules/unistr/u32-strcat-tests: New file.
74375         * tests/unistr/test-u32-strcat.c: New file.
74377         Tests for module 'unistr/u16-strcat'.
74378         * modules/unistr/u16-strcat-tests: New file.
74379         * tests/unistr/test-u16-strcat.c: New file.
74381         Tests for module 'unistr/u8-strcat'.
74382         * modules/unistr/u8-strcat-tests: New file.
74383         * tests/unistr/test-u8-strcat.c: New file.
74384         * tests/unistr/test-strcat.h: New file.
74386         Tests for module 'unistr/u32-stpncpy'.
74387         * modules/unistr/u32-stpncpy-tests: New file.
74388         * tests/unistr/test-u32-stpncpy.c: New file.
74390         Tests for module 'unistr/u16-stpncpy'.
74391         * modules/unistr/u16-stpncpy-tests: New file.
74392         * tests/unistr/test-u16-stpncpy.c: New file.
74394         Tests for module 'unistr/u8-stpncpy'.
74395         * modules/unistr/u8-stpncpy-tests: New file.
74396         * tests/unistr/test-u8-stpncpy.c: New file.
74397         * tests/unistr/test-stpncpy.h: New file.
74399         Tests for module 'unistr/u32-strncpy'.
74400         * modules/unistr/u32-strncpy-tests: New file.
74401         * tests/unistr/test-u32-strncpy.c: New file.
74403         Tests for module 'unistr/u16-strncpy'.
74404         * modules/unistr/u16-strncpy-tests: New file.
74405         * tests/unistr/test-u16-strncpy.c: New file.
74407         Tests for module 'unistr/u8-strncpy'.
74408         * modules/unistr/u8-strncpy-tests: New file.
74409         * tests/unistr/test-u8-strncpy.c: New file.
74410         * tests/unistr/test-strncpy.h: New file.
74412         Tests for module 'unistr/u32-stpcpy'.
74413         * modules/unistr/u32-stpcpy-tests: New file.
74414         * tests/unistr/test-u32-stpcpy.c: New file.
74416         Tests for module 'unistr/u16-stpcpy'.
74417         * modules/unistr/u16-stpcpy-tests: New file.
74418         * tests/unistr/test-u16-stpcpy.c: New file.
74420         Tests for module 'unistr/u8-stpcpy'.
74421         * modules/unistr/u8-stpcpy-tests: New file.
74422         * tests/unistr/test-u8-stpcpy.c: New file.
74423         * tests/unistr/test-stpcpy.h: New file.
74425         Tests for module 'unistr/u32-strcpy'.
74426         * modules/unistr/u32-strcpy-tests: New file.
74427         * tests/unistr/test-u32-strcpy.c: New file.
74429         Tests for module 'unistr/u16-strcpy'.
74430         * modules/unistr/u16-strcpy-tests: New file.
74431         * tests/unistr/test-u16-strcpy.c: New file.
74433         Tests for module 'unistr/u8-strcpy'.
74434         * modules/unistr/u8-strcpy-tests: New file.
74435         * tests/unistr/test-u8-strcpy.c: New file.
74436         * tests/unistr/test-strcpy.h: New file.
74438         Tests for module 'unistr/u32-strnlen'.
74439         * modules/unistr/u32-strnlen-tests: New file.
74440         * tests/unistr/test-u32-strnlen.c: New file.
74442         Tests for module 'unistr/u16-strnlen'.
74443         * modules/unistr/u16-strnlen-tests: New file.
74444         * tests/unistr/test-u16-strnlen.c: New file.
74446         Tests for module 'unistr/u8-strnlen'.
74447         * modules/unistr/u8-strnlen-tests: New file.
74448         * tests/unistr/test-u8-strnlen.c: New file.
74449         * tests/unistr/test-strnlen.h: New file.
74451         Tests for module 'unistr/u32-strlen'.
74452         * modules/unistr/u32-strlen-tests: New file.
74453         * tests/unistr/test-u32-strlen.c: New file.
74455         Tests for module 'unistr/u16-strlen'.
74456         * modules/unistr/u16-strlen-tests: New file.
74457         * tests/unistr/test-u16-strlen.c: New file.
74459         Tests for module 'unistr/u8-strlen'.
74460         * modules/unistr/u8-strlen-tests: New file.
74461         * tests/unistr/test-u8-strlen.c: New file.
74463         Tests for module 'unistr/u32-prev'.
74464         * modules/unistr/u32-prev-tests: New file.
74465         * tests/unistr/test-u32-prev.c: New file.
74467         Tests for module 'unistr/u16-prev'.
74468         * modules/unistr/u16-prev-tests: New file.
74469         * tests/unistr/test-u16-prev.c: New file.
74471         Tests for module 'unistr/u8-prev'.
74472         * modules/unistr/u8-prev-tests: New file.
74473         * tests/unistr/test-u8-prev.c: New file.
74475         Tests for module 'unistr/u32-next'.
74476         * modules/unistr/u32-next-tests: New file.
74477         * tests/unistr/test-u32-next.c: New file.
74479         Tests for module 'unistr/u16-next'.
74480         * modules/unistr/u16-next-tests: New file.
74481         * tests/unistr/test-u16-next.c: New file.
74483         Tests for module 'unistr/u8-next'.
74484         * modules/unistr/u8-next-tests: New file.
74485         * tests/unistr/test-u8-next.c: New file.
74487         Tests for module 'unistr/u32-strmbtouc'.
74488         * modules/unistr/u32-strmbtouc-tests: New file.
74489         * tests/unistr/test-u32-strmbtouc.c: New file.
74491         Tests for module 'unistr/u16-strmbtouc'.
74492         * modules/unistr/u16-strmbtouc-tests: New file.
74493         * tests/unistr/test-u16-strmbtouc.c: New file.
74495         Tests for module 'unistr/u8-strmbtouc'.
74496         * modules/unistr/u8-strmbtouc-tests: New file.
74497         * tests/unistr/test-u8-strmbtouc.c: New file.
74499         Tests for module 'unistr/u32-strmblen'.
74500         * modules/unistr/u32-strmblen-tests: New file.
74501         * tests/unistr/test-u32-strmblen.c: New file.
74503         Tests for module 'unistr/u16-strmblen'.
74504         * modules/unistr/u16-strmblen-tests: New file.
74505         * tests/unistr/test-u16-strmblen.c: New file.
74507         Tests for module 'unistr/u8-strmblen'.
74508         * modules/unistr/u8-strmblen-tests: New file.
74509         * tests/unistr/test-u8-strmblen.c: New file.
74511         Tests for module 'unistr/u32-cpy-alloc'.
74512         * modules/unistr/u32-cpy-alloc-tests: New file.
74513         * tests/unistr/test-u32-cpy-alloc.c: New file.
74515         Tests for module 'unistr/u16-cpy-alloc'.
74516         * modules/unistr/u16-cpy-alloc-tests: New file.
74517         * tests/unistr/test-u16-cpy-alloc.c: New file.
74519         Tests for module 'unistr/u8-cpy-alloc'.
74520         * modules/unistr/u8-cpy-alloc-tests: New file.
74521         * tests/unistr/test-u8-cpy-alloc.c: New file.
74522         * tests/unistr/test-cpy-alloc.h: New file.
74524         Tests for module 'unistr/u32-mbsnlen'.
74525         * modules/unistr/u32-mbsnlen-tests: New file.
74526         * tests/unistr/test-u32-mbsnlen.c: New file.
74528         Tests for module 'unistr/u16-mbsnlen'.
74529         * modules/unistr/u16-mbsnlen-tests: New file.
74530         * tests/unistr/test-u16-mbsnlen.c: New file.
74532         Tests for module 'unistr/u8-mbsnlen'.
74533         * modules/unistr/u8-mbsnlen-tests: New file.
74534         * tests/unistr/test-u8-mbsnlen.c: New file.
74536         Tests for module 'unistr/u32-chr'.
74537         * modules/unistr/u32-chr-tests: New file.
74538         * tests/unistr/test-u32-chr.c: New file.
74540         Tests for module 'unistr/u16-chr'.
74541         * modules/unistr/u16-chr-tests: New file.
74542         * tests/unistr/test-u16-chr.c: New file.
74544         Tests for module 'unistr/u8-chr'.
74545         * modules/unistr/u8-chr-tests: New file.
74546         * tests/unistr/test-u8-chr.c: New file.
74547         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
74549         Tests for module 'unistr/u32-cmp2'.
74550         * modules/unistr/u32-cmp2-tests: New file.
74551         * tests/unistr/test-u32-cmp2.c: New file.
74553         Tests for module 'unistr/u16-cmp2'.
74554         * modules/unistr/u16-cmp2-tests: New file.
74555         * tests/unistr/test-u16-cmp2.c: New file.
74557         Tests for module 'unistr/u8-cmp2'.
74558         * modules/unistr/u8-cmp2-tests: New file.
74559         * tests/unistr/test-u8-cmp2.c: New file.
74560         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
74562         Tests for module 'unistr/u32-cmp'.
74563         * modules/unistr/u32-cmp-tests: New file.
74564         * tests/unistr/test-u32-cmp.c: New file.
74566         Tests for module 'unistr/u16-cmp'.
74567         * modules/unistr/u16-cmp-tests: New file.
74568         * tests/unistr/test-u16-cmp.c: New file.
74570         Tests for module 'unistr/u8-cmp'.
74571         * modules/unistr/u8-cmp-tests: New file.
74572         * tests/unistr/test-u8-cmp.c: New file.
74573         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
74575         Tests for module 'unistr/u32-set'.
74576         * modules/unistr/u32-set-tests: New file.
74577         * tests/unistr/test-u32-set.c: New file.
74579         Tests for module 'unistr/u16-set'.
74580         * modules/unistr/u16-set-tests: New file.
74581         * tests/unistr/test-u16-set.c: New file.
74583         Tests for module 'unistr/u8-set'.
74584         * modules/unistr/u8-set-tests: New file.
74585         * tests/unistr/test-u8-set.c: New file.
74586         * tests/unistr/test-set.h: New file.
74588         Tests for module 'unistr/u32-move'.
74589         * modules/unistr/u32-move-tests: New file.
74590         * tests/unistr/test-u32-move.c: New file.
74592         Tests for module 'unistr/u16-move'.
74593         * modules/unistr/u16-move-tests: New file.
74594         * tests/unistr/test-u16-move.c: New file.
74596         Tests for module 'unistr/u8-move'.
74597         * modules/unistr/u8-move-tests: New file.
74598         * tests/unistr/test-u8-move.c: New file.
74599         * tests/unistr/test-move.h: New file.
74601         Tests for module 'unistr/u32-cpy'.
74602         * modules/unistr/u32-cpy-tests: New file.
74603         * tests/unistr/test-u32-cpy.c: New file.
74605         Tests for module 'unistr/u16-cpy'.
74606         * modules/unistr/u16-cpy-tests: New file.
74607         * tests/unistr/test-u16-cpy.c: New file.
74609         Tests for module 'unistr/u8-cpy'.
74610         * modules/unistr/u8-cpy-tests: New file.
74611         * tests/unistr/test-u8-cpy.c: New file.
74612         * tests/unistr/test-cpy.h: New file.
74614 2010-01-09  Bruno Haible  <bruno@clisp.org>
74616         Tests for module 'unistr/u32-uctomb'.
74617         * modules/unistr/u32-uctomb-tests: New file.
74618         * tests/unistr/test-u32-uctomb.c: New file.
74620         Tests for module 'unistr/u16-uctomb'.
74621         * modules/unistr/u16-uctomb-tests: New file.
74622         * tests/unistr/test-u16-uctomb.c: New file.
74624         Tests for module 'unistr/u8-uctomb'.
74625         * modules/unistr/u8-uctomb-tests: New file.
74626         * tests/unistr/test-u8-uctomb.c: New file.
74628         Tests for module 'unistr/u32-mbtoucr'.
74629         * modules/unistr/u32-mbtoucr-tests: New file.
74630         * tests/unistr/test-u32-mbtoucr.c: New file.
74632         Tests for module 'unistr/u16-mbtoucr'.
74633         * modules/unistr/u16-mbtoucr-tests: New file.
74634         * tests/unistr/test-u16-mbtoucr.c: New file.
74636         Tests for module 'unistr/u8-mbtoucr'.
74637         * modules/unistr/u8-mbtoucr-tests: New file.
74638         * tests/unistr/test-u8-mbtoucr.c: New file.
74640         Tests for module 'unistr/u32-mbtouc'.
74641         * modules/unistr/u32-mbtouc-tests: New file.
74642         * tests/unistr/test-u32-mbtouc.c: New file.
74644         Tests for module 'unistr/u16-mbtouc'.
74645         * modules/unistr/u16-mbtouc-tests: New file.
74646         * tests/unistr/test-u16-mbtouc.c: New file.
74648         Tests for module 'unistr/u8-mbtouc'.
74649         * modules/unistr/u8-mbtouc-tests: New file.
74650         * tests/unistr/test-u8-mbtouc.c: New file.
74652         Tests for module 'unistr/u32-mbtouc-unsafe'.
74653         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
74654         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
74655         * tests/unistr/test-u32-mbtouc.h: New file.
74657         Tests for module 'unistr/u16-mbtouc-unsafe'.
74658         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
74659         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
74660         * tests/unistr/test-u16-mbtouc.h: New file.
74662         Tests for module 'unistr/u8-mbtouc-unsafe'.
74663         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
74664         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
74665         * tests/unistr/test-u8-mbtouc.h: New file.
74667         Tests for module 'unistr/u32-mblen'.
74668         * modules/unistr/u32-mblen-tests: New file.
74669         * tests/unistr/test-u32-mblen.c: New file.
74671         Tests for module 'unistr/u16-mblen'.
74672         * modules/unistr/u16-mblen-tests: New file.
74673         * tests/unistr/test-u16-mblen.c: New file.
74675         Tests for module 'unistr/u8-mblen'.
74676         * modules/unistr/u8-mblen-tests: New file.
74677         * tests/unistr/test-u8-mblen.c: New file.
74679         Tests for module 'unistr/u32-to-u16'.
74680         * modules/unistr/u32-to-u16-tests: New file.
74681         * tests/unistr/test-u32-to-u16.c: New file.
74683         Tests for module 'unistr/u32-to-u8'.
74684         * modules/unistr/u32-to-u8-tests: New file.
74685         * tests/unistr/test-u32-to-u8.c: New file.
74687         Tests for module 'unistr/u16-to-u32'.
74688         * modules/unistr/u16-to-u32-tests: New file.
74689         * tests/unistr/test-u16-to-u32.c: New file.
74691         Tests for module 'unistr/u16-to-u8'.
74692         * modules/unistr/u16-to-u8-tests: New file.
74693         * tests/unistr/test-u16-to-u8.c: New file.
74695         Tests for module 'unistr/u8-to-u32'.
74696         * modules/unistr/u8-to-u32-tests: New file.
74697         * tests/unistr/test-u8-to-u32.c: New file.
74699         Tests for module 'unistr/u8-to-u16'.
74700         * modules/unistr/u8-to-u16-tests: New file.
74701         * tests/unistr/test-u8-to-u16.c: New file.
74703         Tests for module 'unistr/u32-check'.
74704         * modules/unistr/u32-check-tests: New file.
74705         * tests/unistr/test-u32-check.c: New file.
74707         Tests for module 'unistr/u16-check'.
74708         * modules/unistr/u16-check-tests: New file.
74709         * tests/unistr/test-u16-check.c: New file.
74711         Tests for module 'unistr/u8-check'.
74712         * modules/unistr/u8-check-tests: New file.
74713         * tests/unistr/test-u8-check.c: New file.
74715         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
74716         (category_equals): New function.
74717         (main): Add more tests.
74718         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
74720         * tests/unictype/test-bidi_byname.c (main): Add more tests.
74722 2010-01-10  Bruno Haible  <bruno@clisp.org>
74724         unistr/u*-strcoll: Try harder to distinguish different strings.
74725         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
74726         compare s1 and s2 to see if they are different.
74728 2010-01-10  Bruno Haible  <bruno@clisp.org>
74730         unistr/u*-stpncpy: Fix the return value.
74731         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
74732         description of the return value consistent with stpncpy in glibc.
74733         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
74734         written non-NUL unit.
74736 2010-01-10  Bruno Haible  <bruno@clisp.org>
74738         unistr/u*-next: Add missing dependencies.
74739         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
74740         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
74741         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
74743 2010-01-10  Bruno Haible  <bruno@clisp.org>
74745         unistr/u8-mbsnlen: Fix return value for incomplete character.
74746         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
74747         u8_mblen.
74748         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
74749         Remove unistr/u8-mblen.
74750         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
74751         u16_mblen.
74752         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
74753         Remove unistr/u16-mblen.
74755 2010-01-10  Bruno Haible  <bruno@clisp.org>
74757         wchar: Fix compilation error when <wchar.h> is used from coreutils.
74758         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
74759         Reported by Brian Gough <bjg@gnu.org> and
74760         Chris Clayton <chris2553@googlemail.com> via
74761         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
74763 2010-01-09  Bruno Haible  <bruno@clisp.org>
74765         unistr/u16-to-u32: Reject invalid input.
74766         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
74767         u16_mbtouc.
74768         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
74769         Remove unistr/u16-mbtouc.
74771         unistr/u16-to-u8: Reject invalid input.
74772         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
74773         u16_mbtouc.
74774         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
74775         Remove unistr/u16-mbtouc.
74777         unistr/u8-to-u32: Reject invalid input.
74778         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
74779         u8_mbtouc.
74780         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
74781         Remove unistr/u8-mbtouc.
74783         unistr/u8-to-u16: Reject invalid input.
74784         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
74785         u8_mbtouc.
74786         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
74787         Remove unistr/u8-mbtouc.
74789 2010-01-09  Bruno Haible  <bruno@clisp.org>
74791         Tests for module 'getlogin'.
74792         * modules/getlogin-tests: New file.
74793         * tests/test-getlogin.c: New file.
74795         New module 'getlogin'.
74796         * lib/unistd.in.h (getlogin): New declaration.
74797         * lib/getlogin.c: New file.
74798         * m4/getlogin.m4: New file.
74799         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
74800         HAVE_GETLOGIN.
74801         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
74802         HAVE_GETLOGIN.
74803         * modules/getlogin: New file.
74804         * doc/posix-functions/getlogin.texi: Mention the new module.
74805         Reported by John W. Eaton <jwe@gnu.org>.
74807 2010-01-09  Bruno Haible  <bruno@clisp.org>
74809         getlogin_r: Support for native Windows.
74810         * lib/getlogin_r.c: Include <windows.h>
74811         (getlogin_r): Implement for native Windows.
74812         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
74813         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
74814         via John W. Eaton <jwe@gnu.org>.
74816 2010-01-09  Bruno Haible  <bruno@clisp.org>
74818         getlogin_r: Small fixes.
74819         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
74820         succeeds.
74821         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
74822         before testing whether getlogin_r is declared. No need to set
74823         HAVE_DECL_GETLOGIN_R to 1.
74824         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
74826 2010-01-09  Bruno Haible  <bruno@clisp.org>
74828         * lib/unistd.in.h (getlogin_r): Add comment.
74830 2010-01-09  Bruno Haible  <bruno@clisp.org>
74832         Tests for module 'getlogin_r'.
74833         * modules/getlogin_r-tests: New file.
74834         * tests/test-getlogin_r.c: New file.
74836 2010-01-09  Jim Meyering  <meyering@redhat.com>
74838         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
74839         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
74840         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
74842 2010-01-08  Simon Josefsson  <simon@josefsson.org>
74844         * lib/dup2.c (rpl_dup2): Improve comment.
74846 2010-01-08  Eric Blake  <ebb9@byu.net>
74848         maint.mk: allow packages to add makefile @@ exceptions
74849         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
74850         (sc_makefile_check): Rename...
74851         (sc_makefile_at_at_check): ...to this, and use hook.
74853         dup2: work around mingw bug
74854         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
74855         Reported by Simon Josefsson.
74857 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
74859         glob: Fix C++ compilation.
74860         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
74861         C++.
74863 2010-01-07  Bruno Haible  <bruno@clisp.org>
74865         Fix indentation of wctype.in.h, broken since 2007-01-06.
74866         * lib/wctype.in.h: Fix indentation of preprocessor directives.
74868 2010-01-07  Bruno Haible  <bruno@clisp.org>
74870         mbslen: Avoid collision with system function.
74871         * lib/string.in.h [MirBSD]: Include <wchar.h>.
74872         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
74873         * m4/mbslen.m4: New file.
74874         * modules/mbslen (Files): Add it.
74875         (configure.ac): Invoke gl_MBSLEN.
74876         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
74877         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
74878         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
74879         via Ian Beckwith <ianb@erislabs.net>.
74881 2010-01-07  Bruno Haible  <bruno@clisp.org>
74883         dirent: Document the last fix.
74884         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
74886 2010-01-07  Bruno Haible  <bruno@clisp.org>
74888         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
74889         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
74890         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
74891         va_list are defined.
74892         * doc/posix-headers/stdio.texi: Document the bug of missing types.
74893         Reported by Eric Blake.
74895 2010-01-07  Bruno Haible  <bruno@clisp.org>
74897         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
74898         * modules/xlist (Depends-on): Add 'list',
74899         * modules/xoset (Depends-on): Add 'oset'.
74900         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
74902 2010-01-07  Bruno Haible  <bruno@clisp.org>
74904         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
74905         * doc/posix-functions/strncasecmp.texi: Likewise.
74907 2010-01-07  Bruno Haible  <bruno@clisp.org>
74909         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
74911 2010-01-07  John W. Eaton  <jwe@octave.org>
74913         wctype: allow C++ use
74914         * lib/wctype.in.h: Add extern "C" block for C++.
74916 2010-01-06  Eric Blake  <ebb9@byu.net>
74918         maint.mk: detect incorrect GFDL usage
74919         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
74921 2010-01-06  Jim Meyering  <meyering@redhat.com>
74922         and Eric Blake  <ebb9@byu.net>
74924         maint.mk: ignore multi-line copyright in NEWS
74925         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
74927 2010-01-06  Eric Blake  <ebb9@byu.net>
74929         select: add missing dependency
74930         * modules/select-tests (Depends-on): Move sockets dependency...
74931         * modules/select (Depends-on): ...here.
74932         Reported by Ian Beckwith.
74934         doc: regenerate INSTALL
74935         * doc/INSTALL: Reflect recent autoconf update.
74936         * doc/INSTALL.ISO: Likewise.
74937         * doc/INSTALL.UTF-8: Likewise.
74939         pread: fix compilation on glibc
74940         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
74941         Reported by Ralf Wildenhues.
74943         dirent: fix test failure
74944         * lib/dirent.in.h (includes): Guarantee ino_t.
74945         Reported by Ralf Wildenhues.
74947 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
74949         linkat, renameat: avoid bad free
74950         * lib/at-func2.c (at_func2): Fix typo.
74951         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
74953 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74955         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
74956         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
74957         to avoid failure of symlink test later.
74959 2010-01-06  Eric Blake  <ebb9@byu.net>
74961         stdio, unistd: guarantee ssize_t
74962         * lib/unistd.in.h (includes): Ensure that types required by POSIX
74963         2008 are exposed when needed.
74964         * lib/stdio.in.h (includes): Likewise.
74965         Reported by Ralf Wildenhues.
74967 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
74969         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
74970         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
74971         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
74973 2010-01-06  Jim Meyering  <meyering@redhat.com>
74975         readtokens: this module *does* require xalloc.h
74976         It uses only functions that were omitted by the old syntax-check rule.
74977         * lib/readtokens.c: Include "xalloc.h" once again.
74978         * modules/readtokens (Depends-on): Add xalloc.
74979         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
74981 2010-01-05  Eric Blake  <ebb9@byu.net>
74983         maint: support 'make announcement' from a VPATH build
74984         * top/maint.mk (announcement): Look for correct NEWS file.
74986 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
74988         utimens (fdutimens): ignore a negative FD, per contract
74989         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
74990         when we have a valid file descriptor.  Otherwise, using a brand
74991         new glibc (with just-patched futimens that now fails with EBADF)
74992         would cause this function to fail with ENOSYS.
74993         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
74994         See also http://bugzilla.redhat.com/552320.
74996 2010-01-05  Eric Blake  <ebb9@byu.net>
74998         strcase: document what it provides
74999         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
75000         gnulib module.
75001         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
75002         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
75004 2010-01-05  Jim Meyering  <meyering@redhat.com>
75006         maint: remove useless inclusions of "xalloc.h"
75007         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
75008         * lib/readtokens.c: Likewise.
75009         * lib/same.c: Likewise.
75010         * modules/getloadavg (Depends-on): Remove xalloc.
75011         * modules/readtokens: Likewise.
75012         * modules/same: Likewise.
75014         maint.mk: include 4 more function names in alloca.h-checking regexp
75015         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
75016         regexp.  Before, we would give a false-positive (saying alloca.h
75017         is included unnecessarily) when the only uses involved omitted symbols.
75019         xalloc.h: use consistent formatting
75020         * lib/xalloc.h: Move declarations to start in the first column.
75022 2010-01-05  Eric Blake  <ebb9@byu.net>
75024         mkdir: avoid xalloc
75025         * lib/mkdir.c (includes): Drop unused header.
75026         Reported by John W. Eaton.
75028 2010-01-04  Jim Meyering  <meyering@redhat.com>
75030         nl_langinfo: avoid configure-time syntax error
75031         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
75032         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
75033         the empty string.  Don't let that provoke a shell syntax error.
75035         regcomp, regexec, fnmatch: avoid array bounds read error
75036         * lib/regcomp.c (build_equiv_class): From glibc:
75037         Use only the low 24 bits of a findidx return value as an index
75038         into the weights array.  Patch by Ulrich Drepper:
75039         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
75040         * lib/regexec.c (check_node_accept_bytes): Likewise.
75041         * lib/fnmatch_loop.c (FCT): Likewise.
75043         regcomp: skip collseq lookup when there are no rules
75044         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
75045         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
75047         regcomp: recognize ill-formed { } expressions
75048         * lib/regcomp.c (parse_dup_op): From glibc:
75049         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
75051         regcomp: fix typo in comment
75052         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
75053         s/satisfy/satisfies/.
75055         regcomp: sync from glibc: remove dead store
75056         * lib/regcomp.c (duplicate_node_closure): Remove useless
75057         search_duplicated_node call and dead store.
75059         regcomp: sync from glibc; always use nl_langinfo
75060         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
75061         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
75062         * modules/regex (Depends-on): Add nl_langinfo.
75064 2010-01-04  Eric Blake  <ebb9@byu.net>
75066         fdopendir: fix configure test
75067         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
75069 2010-01-01  Bruno Haible  <bruno@clisp.org>
75071         wchar: Remove unused configure check.
75072         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
75074 2010-01-01  Eric Blake  <ebb9@byu.net>
75076         headers: make check of system header explicit
75077         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
75078         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
75079         ourselves.
75080         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
75081         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
75082         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
75083         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
75084         internals.
75085         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
75086         missing.
75087         Suggested by Bruno Haible.
75089 2010-01-01  Jim Meyering  <meyering@redhat.com>
75091         ChangeLog: tweak to eliminate unnecessary copyright line
75092         * ChangeLog: Remove a copyright line that was mistakenly updated
75093         by today's update-copyright run.  Reported by Eric Blake.
75095         test-update-copyright: don't let envvar setting cause test failure
75096         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
75098 2010-01-01  Bruno Haible  <bruno@clisp.org>
75100         localename: Avoid gcc warning.
75101         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
75102         function if it is not used.
75104 2010-01-01  Jim Meyering  <meyering@redhat.com>
75106         update nearly all FSF copyright year lists to include 2010
75107         Use the same procedure as for 2009, outlined in
75108         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
75110         version-etc: set COPYRIGHT_YEAR to 2010
75111         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
75113 2009-12-31  Eric Blake  <ebb9@byu.net>
75115         doc: correct availability of cygwin 1.5.x getopt
75116         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
75117         variables.
75118         * doc/posix-functions/opterr.texi (opterr): Likewise.
75119         * doc/posix-functions/optind.texi (optind): Likewise.
75120         * doc/posix-functions/optopt.texi (optopt): Likewise.
75121         * doc/posix-functions/tzname.texi (tzname): Likewise.
75123         openat: update maintainer
75124         * modules/openat (Maintainer): Add myself.
75126         utimens: avoid shadowing warning
75127         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
75128         buffers into one, to avoid shadowing, as well as avoiding a
75129         redundant stat.
75130         Reported by Jim Meyering.
75132         test-dup2: avoid compiler warning
75133         * tests/test-dup2.c (is_inheritable): Only define if used.
75135 2010-01-01  Bruno Haible  <bruno@clisp.org>
75137         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
75138         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
75139         defined, use wctomb instead of wcrtomb.
75141 2010-01-01  Bruno Haible  <bruno@clisp.org>
75143         iconv: Reject native Solaris iconv.
75144         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
75145         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
75147 2009-12-31  Bruno Haible  <bruno@clisp.org>
75149         * tests/test-signal.c (main): Remove test of 'SIG'.
75151 2009-12-31  Bruno Haible  <bruno@clisp.org>
75153         spawn: Fix incomplete fix.
75154         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
75155         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
75156         warnings for GNULIB_POSIXCHECK again.
75157         Reported by Eric Blake.
75159 2009-12-31  Bruno Haible  <bruno@clisp.org>
75161         Avoid namespace pollution on glibc systems.
75162         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
75163         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
75164         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
75165         glibc systems.
75167 2009-12-31  Bruno Haible  <bruno@clisp.org>
75169         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
75170         (gl_REPLACE_WCHAR_H): Turn into a no-op.
75171         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
75172         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
75173         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
75174         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
75175         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
75177 2009-12-31  Bruno Haible  <bruno@clisp.org>
75179         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
75180         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
75181         afterwards.
75183 2009-12-31  Bruno Haible  <bruno@clisp.org>
75185         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
75186         SYS_UTSNAME_H.
75188 2009-12-31  Bruno Haible  <bruno@clisp.org>
75190         spawn: Fix misapplied patch.
75191         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
75192         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
75193         warnings for GNULIB_POSIXCHECK.
75195 2009-12-31  Bruno Haible  <bruno@clisp.org>
75197         times: Update after sys_times changed.
75198         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
75199         * modules/times (Files): Add it.
75200         (configure.ac): Invoke gl_FUNC_TIMES.
75202 2009-12-31  Bruno Haible  <bruno@clisp.org>
75204         Use AC_C_INLINE where necessary.
75205         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
75206         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
75207         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
75208         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
75209         * m4/mbfile.m4 (gl_MBFILE): Likewise.
75210         * m4/mbiter.m4 (gl_MBITER): Likewise.
75211         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
75212         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
75213         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
75214         * modules/u64 (configure.ac): Likewise.
75216 2009-12-31  Bruno Haible  <bruno@clisp.org>
75218         Use AC_C_INLINE instead of module 'inline' where possible.
75219         * modules/inline (Description): Clarify purpose.
75220         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
75221         * modules/count-one-bits (Depends-on): Remove inline.
75222         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
75223         * modules/openat (Depends-on): Remove inline.
75224         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
75225         instead of depending on module 'inline'.
75226         * modules/filevercmp (Depends-on, configure.ac): Likewise.
75227         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
75228         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
75229         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
75230         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
75231         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
75232         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
75233         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
75234         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
75235         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
75236         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
75237         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
75238         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
75239         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
75240         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
75241         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
75242         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
75243         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
75244         Likewise.
75245         * modules/unictype/property-ascii-hex-digit (Depends-on,
75246         configure.ac): Likewise.
75247         * modules/unictype/property-bidi-arabic-digit (Depends-on,
75248         configure.ac): Likewise.
75249         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
75250         configure.ac): Likewise.
75251         * modules/unictype/property-bidi-block-separator (Depends-on,
75252         configure.ac): Likewise.
75253         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
75254         configure.ac): Likewise.
75255         * modules/unictype/property-bidi-common-separator (Depends-on,
75256         configure.ac): Likewise.
75257         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
75258         Likewise.
75259         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
75260         configure.ac): Likewise.
75261         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
75262         configure.ac): Likewise.
75263         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
75264         configure.ac): Likewise.
75265         * modules/unictype/property-bidi-european-digit (Depends-on,
75266         configure.ac): Likewise.
75267         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
75268         configure.ac): Likewise.
75269         * modules/unictype/property-bidi-left-to-right (Depends-on,
75270         configure.ac): Likewise.
75271         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
75272         configure.ac): Likewise.
75273         * modules/unictype/property-bidi-other-neutral (Depends-on,
75274         configure.ac): Likewise.
75275         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
75276         Likewise.
75277         * modules/unictype/property-bidi-segment-separator (Depends-on,
75278         configure.ac): Likewise.
75279         * modules/unictype/property-bidi-whitespace (Depends-on,
75280         configure.ac): Likewise.
75281         * modules/unictype/property-combining (Depends-on, configure.ac):
75282         Likewise.
75283         * modules/unictype/property-composite (Depends-on, configure.ac):
75284         Likewise.
75285         * modules/unictype/property-currency-symbol (Depends-on,
75286         configure.ac): Likewise.
75287         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
75288         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
75289         Likewise.
75290         * modules/unictype/property-default-ignorable-code-point (Depends-on,
75291         configure.ac): Likewise.
75292         * modules/unictype/property-deprecated (Depends-on, configure.ac):
75293         Likewise.
75294         * modules/unictype/property-diacritic (Depends-on, configure.ac):
75295         Likewise.
75296         * modules/unictype/property-extender (Depends-on, configure.ac):
75297         Likewise.
75298         * modules/unictype/property-format-control (Depends-on, configure.ac):
75299         Likewise.
75300         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
75301         Likewise.
75302         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
75303         Likewise.
75304         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
75305         Likewise.
75306         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
75307         Likewise.
75308         * modules/unictype/property-hyphen (Depends-on, configure.ac):
75309         Likewise.
75310         * modules/unictype/property-id-continue (Depends-on, configure.ac):
75311         Likewise.
75312         * modules/unictype/property-id-start (Depends-on, configure.ac):
75313         Likewise.
75314         * modules/unictype/property-ideographic (Depends-on, configure.ac):
75315         Likewise.
75316         * modules/unictype/property-ids-binary-operator (Depends-on,
75317         configure.ac): Likewise.
75318         * modules/unictype/property-ids-trinary-operator (Depends-on,
75319         configure.ac): Likewise.
75320         * modules/unictype/property-ignorable-control (Depends-on,
75321         configure.ac): Likewise.
75322         * modules/unictype/property-iso-control (Depends-on, configure.ac):
75323         Likewise.
75324         * modules/unictype/property-join-control (Depends-on, configure.ac):
75325         Likewise.
75326         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
75327         Likewise.
75328         * modules/unictype/property-line-separator (Depends-on, configure.ac):
75329         Likewise.
75330         * modules/unictype/property-logical-order-exception (Depends-on,
75331         configure.ac): Likewise.
75332         * modules/unictype/property-lowercase (Depends-on, configure.ac):
75333         Likewise.
75334         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
75335         * modules/unictype/property-non-break (Depends-on, configure.ac):
75336         Likewise.
75337         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
75338         Likewise.
75339         * modules/unictype/property-numeric (Depends-on, configure.ac):
75340         Likewise.
75341         * modules/unictype/property-other-alphabetic (Depends-on,
75342         configure.ac): Likewise.
75343         * modules/unictype/property-other-default-ignorable-code-point
75344         (Depends-on, configure.ac): Likewise.
75345         * modules/unictype/property-other-grapheme-extend (Depends-on,
75346         configure.ac): Likewise.
75347         * modules/unictype/property-other-id-continue (Depends-on,
75348         configure.ac): Likewise.
75349         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
75350         Likewise.
75351         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
75352         Likewise.
75353         * modules/unictype/property-other-math (Depends-on, configure.ac):
75354         Likewise.
75355         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
75356         Likewise.
75357         * modules/unictype/property-paired-punctuation (Depends-on,
75358         configure.ac): Likewise.
75359         * modules/unictype/property-paragraph-separator (Depends-on,
75360         configure.ac): Likewise.
75361         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
75362         Likewise.
75363         * modules/unictype/property-pattern-white-space (Depends-on,
75364         configure.ac): Likewise.
75365         * modules/unictype/property-private-use (Depends-on, configure.ac):
75366         Likewise.
75367         * modules/unictype/property-punctuation (Depends-on, configure.ac):
75368         Likewise.
75369         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
75370         Likewise.
75371         * modules/unictype/property-radical (Depends-on, configure.ac):
75372         Likewise.
75373         * modules/unictype/property-sentence-terminal (Depends-on,
75374         configure.ac): Likewise.
75375         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
75376         Likewise.
75377         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
75378         * modules/unictype/property-terminal-punctuation (Depends-on,
75379         configure.ac): Likewise.
75380         * modules/unictype/property-titlecase (Depends-on, configure.ac):
75381         Likewise.
75382         * modules/unictype/property-unassigned-code-value (Depends-on,
75383         configure.ac): Likewise.
75384         * modules/unictype/property-unified-ideograph (Depends-on,
75385         configure.ac): Likewise.
75386         * modules/unictype/property-uppercase (Depends-on, configure.ac):
75387         Likewise.
75388         * modules/unictype/property-variation-selector (Depends-on,
75389         configure.ac): Likewise.
75390         * modules/unictype/property-white-space (Depends-on, configure.ac):
75391         Likewise.
75392         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
75393         Likewise.
75394         * modules/unictype/property-xid-start (Depends-on, configure.ac):
75395         Likewise.
75396         * modules/unictype/property-zero-width (Depends-on, configure.ac):
75397         Likewise.
75398         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
75399         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
75400         Likewise.
75402 2009-12-31  Bruno Haible  <bruno@clisp.org>
75404         Remove unnecessary AC_C_INLINE invocation.
75405         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
75406         since 2009-08-21.
75408 2009-12-31  Jim Meyering  <meyering@redhat.com>
75410         maint.mk: don't require explicit gpg_key_ID in cfg.mk
75411         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
75412         With this change, we can all remove the gpg_key_ID = ... definition
75413         from our respective cfg.mk files.
75415         maint.mk: create announcement template in ~/, not in /tmp
75416         * top/maint.mk (emit_upload_commands): Adjust.
75417         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
75418         Remove temporary file, .ci-msg.
75420 2009-12-31  Eric Blake  <ebb9@byu.net>
75422         link-warning: always build headers with link warnings
75423         * modules/arpa_inet (Makefile.am): Always build replacement
75424         header.
75425         * modules/ctype (Makefile.am): Likewise.
75426         * modules/dirent (Makefile.am): Likewise.
75427         * modules/inttypes (Makefile.am): Likewise.
75428         * modules/langinfo (Makefile.am): Likewise.
75429         * modules/locale (Makefile.am): Likewise.
75430         * modules/spawn (Makefile.am): Likewise.
75431         * modules/sys_file (Makefile.am): Likewise.
75432         * modules/sys_ioctl (Makefile.am): Likewise.
75433         * modules/sys_select (Makefile.am): Likewise.
75434         * modules/sys_socket (Makefile.am): Likewise.
75435         * modules/sys_times (Makefile.am): Likewise.
75436         * modules/sys_utsname (Makefile.am): Likewise.
75437         * modules/sys_wait (Makefile.am): Likewise.
75438         * modules/wchar (Makefile.am): Likewise.
75439         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
75440         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
75441         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
75442         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
75443         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
75444         Likewise.
75445         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
75446         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
75447         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
75448         Likewise.
75449         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
75450         Likewise.
75451         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
75452         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
75453         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
75454         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
75455         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
75456         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
75457         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
75458         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
75459         (gl_WCHAR_H_DEFAULTS): Likewise.
75461 2009-12-31  Eric Blake  <ebb9@byu.net>
75463         signal, spawn: use link warnings
75464         * lib/signal.in.h (sigset_t): Make unconditional.
75465         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
75466         (sigpending, sigprocmask, sigaction): Add link warnings.
75467         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
75468         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
75469         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
75470         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
75471         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
75472         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
75473         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
75474         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
75475         (posix_spawn_file_actions_destroy)
75476         (posix_spawn_file_actions_addopen)
75477         (posix_spawn_file_actions_addclose)
75478         (posix_spawn_file_actions_adddup2): Likewise.
75479         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
75480         * tests/test-signal.c (main): Enhance test.
75482         spawn: improve wrapper support
75483         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
75484         (gl_SPAWN_H_DEFAULTS): New defaults.
75485         * modules/spawn (Makefile.am): Substitute them.
75486         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
75487         Only declare if missing or broken.
75489         sys_times, sys_utsname: use include_next
75490         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
75491         header.
75492         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
75493         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
75494         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
75495         * modules/sys_times (Depends-on): Add include_next.
75496         (Makefile.am): Substitute additional values.
75497         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
75498         * lib/sys_times.in.h (includes): Include native header, if
75499         available.
75500         * lib/sys_utsname.in.h (includes): Likewise.
75501         * tests/test-sys_times.c (main): Enhance test.
75503         fdutimensat: revert prior patch
75504         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
75505         utimens.h.
75506         Reported by Bruno Haible.
75508 2009-12-30  Eric Blake  <ebb9@byu.net>
75510         sys_wait: drop link-warning dependency
75511         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
75512         link-warning efforts.
75513         * lib/sys_wait.in.h: Likewise.
75515         fdutimensat: remove bogus dependency
75516         * modules/fdutimensat (Depends-on): Drop inline.
75518         unistd: fix typo
75519         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
75521 2009-12-30  Bruno Haible  <bruno@clisp.org>
75523         Fix compilation error with Solaris cc.
75524         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
75525         * lib/unicase/u16-is-invariant.c: Likewise.
75526         * lib/unicase/u32-is-invariant.c: Likewise.
75527         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
75529 2009-12-30  Bruno Haible  <bruno@clisp.org>
75531         Fix test crash.
75532         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
75533         locales.
75534         Reported by Simon Josefsson <simon@josefsson.org>.
75536 2009-12-30  Bruno Haible  <bruno@clisp.org>
75538         Fix compilation error on most platforms.
75539         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
75540         Reported by Simon Josefsson <simon@josefsson.org>
75541         and Nelson H. F. Beebe <beebe@math.utah.edu>.
75543 2009-12-30  Eric Blake  <ebb9@byu.net>
75545         futimens, utimensat: work around ntfs-3g bug
75546         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
75547         a ctime bug is present, and expand workaround to cover ntfs-3g.
75548         * lib/utimens.c (fdutimens, lutimens): Likewise.
75549         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
75550         (validate_timespec): Adjust return value.
75551         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
75552         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
75553         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
75555 2009-12-29  Eric Blake  <ebb9@byu.net>
75557         link-warning: make usage consistent
75558         * modules/ctype (Depends-on): Add link-warning.
75559         (Makefile.am): Update rules accordingly.
75560         * modules/langinfo (Depends-on, Makefile.am): Likewise.
75561         * modules/locale (Depends-on, Makefile.am): Likewise.
75562         * modules/sys_file (Makefile.am): Likewise.
75563         * modules/getopt-posix (Makefile.am): Delete unused link warning
75564         efforts.
75565         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
75566         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
75567         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
75568         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
75570         stdio: remove unused variables
75571         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
75572         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
75573         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
75575         tests: test more substitute headers
75576         * modules/ctype-tests: New file.
75577         * modules/dirent-tests: Likewise.
75578         * modules/spawn-tests: Likewise.
75579         * modules/sys_file-tests: Likewise.
75580         * modules/sys_ioctl-tests: Likewise.
75581         * modules/sys_wait-tests: Likewise.
75582         * tests/test-ctype.c: Likewise.
75583         * tests/test-dirent.c: Likewise.
75584         * tests/test-spawn.c: Likewise.
75585         * tests/test-sys_file.c: Likewise.
75586         * tests/test-sys_ioctl.c: Likewise.
75587         * tests/test-sys_wait.c: Likewise.
75588         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
75589         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
75590         whether or not flock is in use.
75592         tests: remove License section from module
75593         * modules/arpa_inet-tests: Remove unneeded section.
75594         * modules/byteswap-tests: Likewise.
75595         * modules/ceilf-tests: Likewise.
75596         * modules/ceill-tests: Likewise.
75597         * modules/crypto/des-tests: Likewise.
75598         * modules/crypto/gc-arcfour-tests: Likewise.
75599         * modules/crypto/gc-arctwo-tests: Likewise.
75600         * modules/crypto/gc-des-tests: Likewise.
75601         * modules/crypto/gc-hmac-md5-tests: Likewise.
75602         * modules/crypto/gc-hmac-sha1-tests: Likewise.
75603         * modules/crypto/gc-md2-tests: Likewise.
75604         * modules/crypto/gc-md4-tests: Likewise.
75605         * modules/crypto/gc-md5-tests: Likewise.
75606         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
75607         * modules/crypto/gc-rijndael-tests: Likewise.
75608         * modules/crypto/gc-sha1-tests: Likewise.
75609         * modules/crypto/gc-tests: Likewise.
75610         * modules/crypto/md2-tests: Likewise.
75611         * modules/crypto/md4-tests: Likewise.
75612         * modules/fcntl-h-tests: Likewise.
75613         * modules/floorf-tests: Likewise.
75614         * modules/floorl-tests: Likewise.
75615         * modules/frexp-nolibm-tests: Likewise.
75616         * modules/frexp-tests: Likewise.
75617         * modules/frexpl-nolibm-tests: Likewise.
75618         * modules/frexpl-tests: Likewise.
75619         * modules/getaddrinfo-tests: Likewise.
75620         * modules/inttypes-tests: Likewise.
75621         * modules/isfinite-tests: Likewise.
75622         * modules/isinf-tests: Likewise.
75623         * modules/ldexpl-tests: Likewise.
75624         * modules/locale-tests: Likewise.
75625         * modules/math-tests: Likewise.
75626         * modules/netdb-tests: Likewise.
75627         * modules/netinet_in-tests: Likewise.
75628         * modules/printf-frexp-tests: Likewise.
75629         * modules/printf-frexpl-tests: Likewise.
75630         * modules/priv-set-tests: Likewise.
75631         * modules/random_r-tests: Likewise.
75632         * modules/round-tests: Likewise.
75633         * modules/roundf-tests: Likewise.
75634         * modules/roundl-tests: Likewise.
75635         * modules/search-tests: Likewise.
75636         * modules/select-tests: Likewise.
75637         * modules/signal-tests: Likewise.
75638         * modules/stdbool-tests: Likewise.
75639         * modules/stddef-tests: Likewise.
75640         * modules/stdint-tests: Likewise.
75641         * modules/stdio-tests: Likewise.
75642         * modules/stdlib-tests: Likewise.
75643         * modules/string-tests: Likewise.
75644         * modules/strings-tests: Likewise.
75645         * modules/sys_select-tests: Likewise.
75646         * modules/sys_socket-tests: Likewise.
75647         * modules/sys_stat-tests: Likewise.
75648         * modules/sys_time-tests: Likewise.
75649         * modules/sys_utsname-tests: Likewise.
75650         * modules/sysexits-tests: Likewise.
75651         * modules/time-tests: Likewise.
75652         * modules/trunc-tests: Likewise.
75653         * modules/truncf-tests: Likewise.
75654         * modules/truncl-tests: Likewise.
75655         * modules/tsearch-tests: Likewise.
75656         * modules/unistd-tests: Likewise.
75657         * modules/wchar-tests: Likewise.
75658         * modules/wctype-tests: Likewise.
75660         tests: fix license on several tests
75661         * tests/test-des.c: Update to GPLv3+.
75662         * tests/test-flock.c: Likewise.
75663         * tests/test-fsync.c: Likewise.
75664         * tests/test-futimens.h: Likewise.
75665         * tests/test-gc-arcfour.c: Likewise.
75666         * tests/test-gc-arctwo.c: Likewise.
75667         * tests/test-gc-des.c: Likewise.
75668         * tests/test-gc-hmac-md5.c: Likewise.
75669         * tests/test-gc-hmac-sha1.c: Likewise.
75670         * tests/test-gc-md2.c: Likewise.
75671         * tests/test-gc-md4.c: Likewise.
75672         * tests/test-gc-md5.c: Likewise.
75673         * tests/test-gc-pbkdf2-sha1.c: Likewise.
75674         * tests/test-gc-rijndael.c: Likewise.
75675         * tests/test-gc-sha1.c: Likewise.
75676         * tests/test-gc.c: Likewise.
75677         * tests/test-getcwd.c: Likewise.
75678         * tests/test-link.c: Likewise.
75679         * tests/test-link.h: Likewise.
75680         * tests/test-lutimens.h: Likewise.
75681         * tests/test-md2.c: Likewise.
75682         * tests/test-md4.c: Likewise.
75683         * tests/test-mkdir.h: Likewise.
75684         * tests/test-rename.c: Likewise.
75685         * tests/test-rename.h: Likewise.
75686         * tests/test-safe-alloc.c: Likewise.
75687         * tests/test-utimens-common.h: Likewise.
75688         * tests/test-utimens.h: Likewise.
75690         maint: sync license texts
75691         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
75692         * doc/gpl-3.0.texi: Revert copyright year update.
75693         * doc/lgpl-3.0.texi: Likewise.
75695 2009-12-29  Jim Meyering  <meyering@redhat.com>
75697         update nearly all FSF copyright year lists to include 2009
75698         The files named by the following are exempted:
75699             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
75700               test -f "$dst" && { echo "$dst"; continue; }
75701               test -d "$dst" || continue
75702               echo "$dst"/$(basename "$src")
75703             done > exempt
75704             git ls-files tests/unictype >> exempt
75705         In the remaining files, convert to all-interval notation if
75706         - there is already at least one year interval like 2000-2003
75707         - the file is maintained by me
75708         - the file is in lib/uni*/, where that style already prevails
75709         Otherwise, use update-copyright's default.
75711 2009-12-29  Simon Josefsson  <simon@josefsson.org>
75712         and Eric Blake  <ebb9@byu.net>
75714         tests: don't require debug system() to pass
75715         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
75716         * tests/test-rmdir.h (test_rmdir_func): Likewise.
75717         * tests/test-unlink.h (test_unlink_func): Likewise.
75718         * tests/test-fstatat.c (main): ...into callers.
75719         * tests/test-lstat.c (main): Likewise.
75720         * tests/test-rmdir.c (main): Likewise.
75721         * tests/test-unlink.c (main): Likewise.
75722         * tests/test-unlinkat.c (main): Likewise.
75723         * tests/test-areadlink-with-size.c (main): Don't require a
75724         debug-only system call to pass, aiding cross-testing to mingw.
75725         * tests/test-areadlink.c (main): Likewise.
75726         * tests/test-areadlinkat-with-size.c (main): Likewise.
75727         * tests/test-areadlinkat.c (main): Likewise.
75728         * tests/test-canonicalize-lgpl.c (main): Likewise.
75729         * tests/test-canonicalize.c (main): Likewise.
75730         * tests/test-chown.c (main): Likewise.
75731         * tests/test-fchownat.c (main): Likewise.
75732         * tests/test-lchown.c (main): Likewise.
75733         * tests/test-fdutimensat.c (main): Likewise.
75734         * tests/test-futimens.c (main): Likewise.
75735         * tests/test-link.c (main): Likewise.
75736         * tests/test-linkat.c (main): Likewise.
75737         * tests/test-mkdir.c (main): Likewise.
75738         * tests/test-mkdirat.c (main): Likewise.
75739         * tests/test-mkfifo.c (main): Likewise.
75740         * tests/test-mkfifoat.c (main): Likewise.
75741         * tests/test-mknod.c (main): Likewise.
75742         * tests/test-readlink.c (main): Likewise.
75743         * tests/test-remove.c (main): Likewise.
75744         * tests/test-rename.c (main): Likewise.
75745         * tests/test-renameat.c (main): Likewise.
75746         * tests/test-symlink.c (main): Likewise.
75747         * tests/test-symlinkat.c (main): Likewise.
75748         * tests/test-utimens.c (main): Likewise.
75749         * tests/test-utimensat.c (main): Likewise.
75751 2009-12-29  Simon Josefsson  <simon@josefsson.org>
75753         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
75754         on $(UNUSED_PARAMETER_H) to avoid build failure.
75756 2009-12-28  Jim Meyering  <meyering@redhat.com>
75758         update-copyright: you may specify a max. line length other than 72
75759         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
75761         maint: use consistent FSF copyright line syntax
75762         * lib/posixtm.c: Add missing comma in FSF copyright line.
75763         * lib/posixtm.h: Likewise.
75764         * lib/getugroups.c: Add missing ", Inc.".
75766         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
75767         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
75768         FSF copyright line.  Remove trailing blanks.
75770 2009-12-28  Eric Blake  <ebb9@byu.net>
75772         test-dup2: reduce dependencies
75773         * modules/cloexec (Configure.ac): Set witness.
75774         * modules/dup2-tests (Depends-on): Drop cloexec.
75775         * tests/test-dup2.c (main): Skip portion of test if cloexec module
75776         not present.
75777         Suggested by Bruno Haible.
75779 2009-12-26  Bruno Haible  <bruno@clisp.org>
75781         Remove an unneeded dependency.
75782         * modules/fseterr (Depends-on): Remove dup2.
75784 2009-12-26  Eric Blake  <ebb9@byu.net>
75786         tests: use macros.h in more places
75787         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
75788         (ASSERT_STREAM): Provide default of stderr.
75789         * tests/test-dirent-safer.c: Include macros.h, using alternate
75790         stream for assertions.
75791         * tests/test-dup-safer.c: Likewise.
75792         * tests/test-freopen-safer.c: Likewise.
75793         * tests/test-getopt.c: Likewise.
75794         * tests/test-openat-safer.c: Likewise.
75795         * tests/test-pipe.c: Likewise.
75796         * tests/test-popen-safer.c: Likewise.
75797         * modules/dirent-safer-tests (Files): Include macros.h.
75798         * modules/unistd-safer-tests (Files): Likewise.
75799         * modules/freopen-safer-tests (Files): Likewise.
75800         * modules/getopt-posix-tests (Files): Likewise.
75801         * modules/openat-safer-tests (Files): Likewise.
75802         * modules/pipe-tests (Files): Likewise.
75804 2009-12-26  Bruno Haible  <bruno@clisp.org>
75806         javacomp-script: Portability fix.
75807         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
75808         that it also works on Solaris.
75810 2009-12-26  Bruno Haible  <bruno@clisp.org>
75812         localename: Fix storage allocation of gl_locale_name_thread's result.
75813         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
75814         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
75815         all platforms that have 'uselocale'.
75816         (gl_locale_name_thread_unsafe): New function, extracted from
75817         gl_locale_name_thread.
75818         (gl_locale_name_thread): Call struniq on all platforms that have
75819         'uselocale'.
75820         * tests/test-localename.c (test_locale_name_thread): Check that the
75821         resulting strings are permanently allocated.
75822         * modules/localename-tests (Depends-on): Add strdup.
75824 2009-12-26  Bruno Haible  <bruno@clisp.org>
75826         * tests/test-localename.c (categories): Fill in the strings.
75828 2009-12-26  Jim Meyering  <meyering@redhat.com>
75830         isdir: complete the removal of m4/isdir.m4
75831         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
75833         isdir: clean up, since at least grep still uses it
75834         * lib/isdir.c: Include "isdir.h".
75835         (S_ISDIR): Remove now-unneeded definition.
75836         * modules/isdir (Files): Add lib/isdir.h.
75837         * lib/isdir.h: New file, with declaration.
75838         * m4/isdir.m4: Remove file -- unneeded.
75840 2009-12-25  Bruno Haible  <bruno@clisp.org>
75842         selinux-h: Make generated .h files standalone.
75843         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
75844         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
75845         * lib/se-selinux.in.h: Likewise.
75846         * modules/selinux-h (Depends-on): Add unused-parameter.
75847         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
75848         selinux/selinux.h and selinux/context.h.
75849         Suggested by Eric Blake.
75851 2009-12-25  Bruno Haible  <bruno@clisp.org>
75853         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
75854         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
75855         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
75856         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
75857         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
75859 2009-12-24  Bruno Haible  <bruno@clisp.org>
75861         openat: Fix warning.
75862         * lib/openat-proc.c: Include <unistd.h>.
75864 2009-12-24  Bruno Haible  <bruno@clisp.org>
75866         New module 'unused-parameter'.
75867         * build-aux/unused-parameter.h: New file, extracted from earlier
75868         gnulib-common.m4.
75869         * modules/unused-parameter: New file.
75870         * lib/unistr.h: Include unused-parameter.h.
75871         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
75872         _GL_UNUSED.
75873         * modules/unistr/base (Depends-on): Add unused-parameter.
75875 2009-12-24  Bruno Haible  <bruno@clisp.org>
75877         Add missing dependencies to 'extensions' module.
75878         * m4/extensions.m4: Add comment.
75879         * modules/accept4 (Depends-on): Add extensions.
75880         * modules/dup3 (Depends-on): Likewise.
75881         * modules/fcntl (Depends-on): Likewise.
75882         * modules/futimens (Depends-on): Likewise.
75883         * modules/mknod (Depends-on): Likewise.
75884         * modules/pipe2 (Depends-on): Likewise.
75885         * modules/stat-time (Depends-on): Likewise.
75886         * modules/strcasestr-simple (Depends-on): Likewise.
75887         * modules/strsignal (Depends-on): Likewise.
75888         * modules/utimensat (Depends-on): Likewise.
75889         * modules/localcharset (Depends-on): Likewise. Needed because of
75890         gl_FCNTL_O_FLAGS.
75891         * modules/wcrtomb (Depends-on): Likewise. Needed because of
75892         AC_TYPE_MBSTATE_T.
75893         * modules/wcsnrtombs (Depends-on): Likewise.
75894         * modules/wcsrtombs (Depends-on): Likewise.
75896 2009-12-24  Bruno Haible  <bruno@clisp.org>
75898         binary-io: Avoid gcc warning due to SET_BINARY.
75899         * lib/binary-io.h (SET_BINARY): Cast the result to void.
75900         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
75902 2009-12-24  Bruno Haible  <bruno@clisp.org>
75904         Avoid future namespace pollution on glibc systems.
75905         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
75906         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
75907         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
75908         glibc systems.
75910 2009-12-24  Bruno Haible  <bruno@clisp.org>
75912         Refactor common macros used in tests.
75913         * tests/macros.h: New file.
75914         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
75915         and/or <stdlib.h>, if appropriate.
75916         (ASSERT, SIZEOF): Remove macros.
75917         * tests/test-areadlink-with-size.c: Likewise.
75918         * tests/test-areadlinkat.c: Likewise.
75919         * tests/test-areadlinkat-with-size.c: Likewise.
75920         * tests/test-argmatch.c: Likewise.
75921         * tests/test-argv-iter.c: Likewise.
75922         * tests/test-array-mergesort.c: Likewise.
75923         * tests/test-array_list.c: Likewise.
75924         * tests/test-array_oset.c: Likewise.
75925         * tests/test-avltree_list.c: Likewise.
75926         * tests/test-avltree_oset.c: Likewise.
75927         * tests/test-avltreehash_list.c: Likewise.
75928         * tests/test-base64.c: Likewise.
75929         * tests/test-binary-io.c: Likewise.
75930         * tests/test-bitrotate.c: Likewise.
75931         * tests/test-btowc.c: Likewise.
75932         * tests/test-byteswap.c: Likewise.
75933         * tests/test-c-ctype.c: Likewise.
75934         * tests/test-c-stack.c: Likewise.
75935         * tests/test-c-strcasecmp.c: Likewise.
75936         * tests/test-c-strcasestr.c: Likewise.
75937         * tests/test-c-strncasecmp.c: Likewise.
75938         * tests/test-c-strstr.c: Likewise.
75939         * tests/test-canonicalize-lgpl.c: Likewise.
75940         * tests/test-canonicalize.c: Likewise.
75941         * tests/test-carray_list.c: Likewise.
75942         * tests/test-ceilf1.c: Likewise.
75943         * tests/test-ceilf2.c: Likewise.
75944         * tests/test-ceill.c: Likewise.
75945         * tests/test-chown.c: Likewise.
75946         * tests/test-cloexec.c: Likewise.
75947         * tests/test-copy-acl.c: Likewise.
75948         * tests/test-copy-file.c: Likewise.
75949         * tests/test-count-one-bits.c: Likewise.
75950         * tests/test-dprintf-posix.c: Likewise.
75951         * tests/test-dup2.c: Likewise.
75952         * tests/test-dup3.c: Likewise.
75953         * tests/test-duplocale.c: Likewise.
75954         * tests/test-fbufmode.c: Likewise.
75955         * tests/test-fchdir.c: Likewise.
75956         * tests/test-fchownat.c: Likewise.
75957         * tests/test-fcntl-safer.c: Likewise.
75958         * tests/test-fcntl.c: Likewise.
75959         * tests/test-fdopendir.c: Likewise.
75960         * tests/test-fdutimensat.c: Likewise.
75961         * tests/test-fflush2.c: Likewise.
75962         * tests/test-file-has-acl.c: Likewise.
75963         * tests/test-filevercmp.c: Likewise.
75964         * tests/test-flock.c: Likewise.
75965         * tests/test-floorf1.c: Likewise.
75966         * tests/test-floorf2.c: Likewise.
75967         * tests/test-floorl.c: Likewise.
75968         * tests/test-fnmatch.c: Likewise.
75969         * tests/test-fopen.h: Likewise.
75970         * tests/test-fpending.c: Likewise.
75971         * tests/test-fprintf-posix.c: Likewise.
75972         * tests/test-fpurge.c: Likewise.
75973         * tests/test-freadable.c: Likewise.
75974         * tests/test-freadahead.c: Likewise.
75975         * tests/test-freading.c: Likewise.
75976         * tests/test-freadptr.c: Likewise.
75977         * tests/test-freadptr2.c: Likewise.
75978         * tests/test-freadseek.c: Likewise.
75979         * tests/test-freopen.c: Likewise.
75980         * tests/test-frexp.c: Likewise.
75981         * tests/test-frexpl.c: Likewise.
75982         * tests/test-fseek.c: Likewise.
75983         * tests/test-fseeko.c: Likewise.
75984         * tests/test-fstatat.c: Likewise.
75985         * tests/test-fstrcmp.c: Likewise.
75986         * tests/test-fsync.c: Likewise.
75987         * tests/test-ftell.c: Likewise.
75988         * tests/test-ftello.c: Likewise.
75989         * tests/test-func.c: Likewise.
75990         * tests/test-futimens.c: Likewise.
75991         * tests/test-fwritable.c: Likewise.
75992         * tests/test-fwriting.c: Likewise.
75993         * tests/test-getcwd.c: Likewise.
75994         * tests/test-getdate.c: Likewise.
75995         * tests/test-getdelim.c: Likewise.
75996         * tests/test-getdtablesize.c: Likewise.
75997         * tests/test-getgroups.c: Likewise.
75998         * tests/test-getline.c: Likewise.
75999         * tests/test-getndelim2.c: Likewise.
76000         * tests/test-glob.c: Likewise.
76001         * tests/test-hash.c: Likewise.
76002         * tests/test-i-ring.c: Likewise.
76003         * tests/test-iconv-utf.c: Likewise.
76004         * tests/test-iconv.c: Likewise.
76005         * tests/test-idpriv-drop.c: Likewise.
76006         * tests/test-idpriv-droptemp.c: Likewise.
76007         * tests/test-inet_ntop.c: Likewise.
76008         * tests/test-inet_pton.c: Likewise.
76009         * tests/test-isblank.c: Likewise.
76010         * tests/test-isfinite.c: Likewise.
76011         * tests/test-isinf.c: Likewise.
76012         * tests/test-isnan.c: Likewise.
76013         * tests/test-isnand.h: Likewise.
76014         * tests/test-isnanf.h: Likewise.
76015         * tests/test-isnanl.h: Likewise.
76016         * tests/test-lchown.c: Likewise.
76017         * tests/test-ldexpl.c: Likewise.
76018         * tests/test-link.c: Likewise.
76019         * tests/test-linkat.c: Likewise.
76020         * tests/test-linked_list.c: Likewise.
76021         * tests/test-linkedhash_list.c: Likewise.
76022         * tests/test-localename.c: Likewise.
76023         * tests/test-lseek.c: Likewise.
76024         * tests/test-lstat.c: Likewise.
76025         * tests/test-mbmemcasecmp.c: Likewise.
76026         * tests/test-mbmemcasecoll.c: Likewise.
76027         * tests/test-mbrtowc.c: Likewise.
76028         * tests/test-mbscasecmp.c: Likewise.
76029         * tests/test-mbscasestr1.c: Likewise.
76030         * tests/test-mbscasestr2.c: Likewise.
76031         * tests/test-mbscasestr3.c: Likewise.
76032         * tests/test-mbscasestr4.c: Likewise.
76033         * tests/test-mbschr.c: Likewise.
76034         * tests/test-mbscspn.c: Likewise.
76035         * tests/test-mbsinit.c: Likewise.
76036         * tests/test-mbsncasecmp.c: Likewise.
76037         * tests/test-mbsnrtowcs.c: Likewise.
76038         * tests/test-mbspbrk.c: Likewise.
76039         * tests/test-mbspcasecmp.c: Likewise.
76040         * tests/test-mbsrchr.c: Likewise.
76041         * tests/test-mbsrtowcs.c: Likewise.
76042         * tests/test-mbsspn.c: Likewise.
76043         * tests/test-mbsstr1.c: Likewise.
76044         * tests/test-mbsstr2.c: Likewise.
76045         * tests/test-mbsstr3.c: Likewise.
76046         * tests/test-memchr.c: Likewise.
76047         * tests/test-memchr2.c: Likewise.
76048         * tests/test-memcmp.c: Likewise.
76049         * tests/test-memmem.c: Likewise.
76050         * tests/test-memrchr.c: Likewise.
76051         * tests/test-mkdir.c: Likewise.
76052         * tests/test-mkdirat.c: Likewise.
76053         * tests/test-mkfifo.c: Likewise.
76054         * tests/test-mkfifoat.c: Likewise.
76055         * tests/test-mknod.c: Likewise.
76056         * tests/test-nanosleep.c: Likewise.
76057         * tests/test-nl_langinfo.c: Likewise.
76058         * tests/test-obstack-printf.c: Likewise.
76059         * tests/test-open.c: Likewise.
76060         * tests/test-openat.c: Likewise.
76061         * tests/test-pipe-filter-gi1.c: Likewise.
76062         * tests/test-pipe-filter-gi2-main.c: Likewise.
76063         * tests/test-pipe-filter-ii1.c: Likewise.
76064         * tests/test-pipe-filter-ii2-main.c: Likewise.
76065         * tests/test-pipe2.c: Likewise.
76066         * tests/test-popen.h: Likewise.
76067         * tests/test-posixtm.c: Likewise.
76068         * tests/test-pread.c: Likewise.
76069         * tests/test-printf-frexp.c: Likewise.
76070         * tests/test-printf-frexpl.c: Likewise.
76071         * tests/test-printf-posix.c: Likewise.
76072         * tests/test-priv-set.c: Likewise.
76073         * tests/test-quotearg.c: Likewise.
76074         * tests/test-random_r.c: Likewise.
76075         * tests/test-rawmemchr.c: Likewise.
76076         * tests/test-rbtree_list.c: Likewise.
76077         * tests/test-rbtree_oset.c: Likewise.
76078         * tests/test-rbtreehash_list.c: Likewise.
76079         * tests/test-readlink.c: Likewise.
76080         * tests/test-remove.c: Likewise.
76081         * tests/test-rename.c: Likewise.
76082         * tests/test-renameat.c: Likewise.
76083         * tests/test-rmdir.c: Likewise.
76084         * tests/test-round1.c: Likewise.
76085         * tests/test-roundf1.c: Likewise.
76086         * tests/test-roundl.c: Likewise.
76087         * tests/test-safe-alloc.c: Likewise.
76088         * tests/test-sameacls.c: Likewise.
76089         * tests/test-set-mode-acl.c: Likewise.
76090         * tests/test-setenv.c: Likewise.
76091         * tests/test-sigaction.c: Likewise.
76092         * tests/test-signbit.c: Likewise.
76093         * tests/test-sleep.c: Likewise.
76094         * tests/test-snprintf-posix.c: Likewise.
76095         * tests/test-snprintf.c: Likewise.
76096         * tests/test-sprintf-posix.c: Likewise.
76097         * tests/test-stat-time.c: Likewise.
76098         * tests/test-stat.c: Likewise.
76099         * tests/test-strcasestr.c: Likewise.
76100         * tests/test-strchrnul.c: Likewise.
76101         * tests/test-strerror.c: Likewise.
76102         * tests/test-striconv.c: Likewise.
76103         * tests/test-striconveh.c: Likewise.
76104         * tests/test-striconveha.c: Likewise.
76105         * tests/test-strsignal.c: Likewise.
76106         * tests/test-strstr.c: Likewise.
76107         * tests/test-strtod.c: Likewise.
76108         * tests/test-strverscmp.c: Likewise.
76109         * tests/test-symlink.c: Likewise.
76110         * tests/test-symlinkat.c: Likewise.
76111         * tests/test-trunc1.c: Likewise.
76112         * tests/test-trunc2.c: Likewise.
76113         * tests/test-truncf1.c: Likewise.
76114         * tests/test-truncf2.c: Likewise.
76115         * tests/test-truncl.c: Likewise.
76116         * tests/test-uname.c: Likewise.
76117         * tests/test-unlink.c: Likewise.
76118         * tests/test-unlinkat.c: Likewise.
76119         * tests/test-unsetenv.c: Likewise.
76120         * tests/test-usleep.c: Likewise.
76121         * tests/test-utimens.c: Likewise.
76122         * tests/test-utimensat.c: Likewise.
76123         * tests/test-vasnprintf-posix.c: Likewise.
76124         * tests/test-vasnprintf-posix2.c: Likewise.
76125         * tests/test-vasnprintf.c: Likewise.
76126         * tests/test-vasprintf-posix.c: Likewise.
76127         * tests/test-vasprintf.c: Likewise.
76128         * tests/test-vdprintf-posix.c: Likewise.
76129         * tests/test-vfprintf-posix.c: Likewise.
76130         * tests/test-vprintf-posix.c: Likewise.
76131         * tests/test-vsnprintf-posix.c: Likewise.
76132         * tests/test-vsnprintf.c: Likewise.
76133         * tests/test-vsprintf-posix.c: Likewise.
76134         * tests/test-wcrtomb.c: Likewise.
76135         * tests/test-wcsnrtombs.c: Likewise.
76136         * tests/test-wcsrtombs.c: Likewise.
76137         * tests/test-wctype.c: Likewise.
76138         * tests/test-wcwidth.c: Likewise.
76139         * tests/test-xfprintf-posix.c: Likewise.
76140         * tests/test-xmemdup0.c: Likewise.
76141         * tests/test-xprintf-posix.c: Likewise.
76142         * tests/test-xvasprintf.c: Likewise.
76143         * tests/unicase/test-locale-language.c: Likewise.
76144         * tests/unicase/test-mapping-part1.h: Likewise.
76145         * tests/unicase/test-predicate-part1.h: Likewise.
76146         * tests/unicase/test-u8-casecmp.c: Likewise.
76147         * tests/unicase/test-u8-casecoll.c: Likewise.
76148         * tests/unicase/test-u8-casefold.c: Likewise.
76149         * tests/unicase/test-u8-is-cased.c: Likewise.
76150         * tests/unicase/test-u8-is-casefolded.c: Likewise.
76151         * tests/unicase/test-u8-is-lowercase.c: Likewise.
76152         * tests/unicase/test-u8-is-titlecase.c: Likewise.
76153         * tests/unicase/test-u8-is-uppercase.c: Likewise.
76154         * tests/unicase/test-u8-tolower.c: Likewise.
76155         * tests/unicase/test-u8-totitle.c: Likewise.
76156         * tests/unicase/test-u8-toupper.c: Likewise.
76157         * tests/unicase/test-u16-casecmp.c: Likewise.
76158         * tests/unicase/test-u16-casecoll.c: Likewise.
76159         * tests/unicase/test-u16-casefold.c: Likewise.
76160         * tests/unicase/test-u16-is-cased.c: Likewise.
76161         * tests/unicase/test-u16-is-casefolded.c: Likewise.
76162         * tests/unicase/test-u16-is-lowercase.c: Likewise.
76163         * tests/unicase/test-u16-is-titlecase.c: Likewise.
76164         * tests/unicase/test-u16-is-uppercase.c: Likewise.
76165         * tests/unicase/test-u16-tolower.c: Likewise.
76166         * tests/unicase/test-u16-totitle.c: Likewise.
76167         * tests/unicase/test-u16-toupper.c: Likewise.
76168         * tests/unicase/test-u32-casecmp.c: Likewise.
76169         * tests/unicase/test-u32-casecoll.c: Likewise.
76170         * tests/unicase/test-u32-casefold.c: Likewise.
76171         * tests/unicase/test-u32-is-cased.c: Likewise.
76172         * tests/unicase/test-u32-is-casefolded.c: Likewise.
76173         * tests/unicase/test-u32-is-lowercase.c: Likewise.
76174         * tests/unicase/test-u32-is-titlecase.c: Likewise.
76175         * tests/unicase/test-u32-is-uppercase.c: Likewise.
76176         * tests/unicase/test-u32-tolower.c: Likewise.
76177         * tests/unicase/test-u32-totitle.c: Likewise.
76178         * tests/unicase/test-u32-toupper.c: Likewise.
76179         * tests/unicase/test-ulc-casecmp.c: Likewise.
76180         * tests/unicase/test-ulc-casecoll.c: Likewise.
76181         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
76182         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
76183         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
76184         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
76185         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
76186         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
76187         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
76188         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
76189         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
76190         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
76191         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
76192         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
76193         * tests/unictype/test-bidi_byname.c: Likewise.
76194         * tests/unictype/test-bidi_name.c: Likewise.
76195         * tests/unictype/test-bidi_of.c: Likewise.
76196         * tests/unictype/test-bidi_test.c: Likewise.
76197         * tests/unictype/test-block_list.c: Likewise.
76198         * tests/unictype/test-block_of.c: Likewise.
76199         * tests/unictype/test-block_test.c: Likewise.
76200         * tests/unictype/test-categ_and.c: Likewise.
76201         * tests/unictype/test-categ_and_not.c: Likewise.
76202         * tests/unictype/test-categ_byname.c: Likewise.
76203         * tests/unictype/test-categ_name.c: Likewise.
76204         * tests/unictype/test-categ_none.c: Likewise.
76205         * tests/unictype/test-categ_of.c: Likewise.
76206         * tests/unictype/test-categ_or.c: Likewise.
76207         * tests/unictype/test-categ_test_withtable.c: Likewise.
76208         * tests/unictype/test-combining.c: Likewise.
76209         * tests/unictype/test-decdigit.c: Likewise.
76210         * tests/unictype/test-digit.c: Likewise.
76211         * tests/unictype/test-mirror.c: Likewise.
76212         * tests/unictype/test-numeric.c: Likewise.
76213         * tests/unictype/test-pr_byname.c: Likewise.
76214         * tests/unictype/test-pr_test.c: Likewise.
76215         * tests/unictype/test-predicate-part1.h: Likewise.
76216         * tests/unictype/test-scripts.c: Likewise.
76217         * tests/unictype/test-sy_c_ident.c: Likewise.
76218         * tests/unictype/test-sy_java_ident.c: Likewise.
76219         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
76220         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
76221         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
76222         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
76223         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
76224         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
76225         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
76226         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
76227         * tests/uninorm/test-canonical-decomposition.c: Likewise.
76228         * tests/uninorm/test-compat-decomposition.c: Likewise.
76229         * tests/uninorm/test-composition.c: Likewise.
76230         * tests/uninorm/test-decomposing-form.c: Likewise.
76231         * tests/uninorm/test-decomposition.c: Likewise.
76232         * tests/uninorm/test-u8-nfc.c: Likewise.
76233         * tests/uninorm/test-u8-nfd.c: Likewise.
76234         * tests/uninorm/test-u8-nfkc.c: Likewise.
76235         * tests/uninorm/test-u8-nfkd.c: Likewise.
76236         * tests/uninorm/test-u8-normcmp.c: Likewise.
76237         * tests/uninorm/test-u8-normcoll.c: Likewise.
76238         * tests/uninorm/test-u16-nfc.c: Likewise.
76239         * tests/uninorm/test-u16-nfd.c: Likewise.
76240         * tests/uninorm/test-u16-nfkc.c: Likewise.
76241         * tests/uninorm/test-u16-nfkd.c: Likewise.
76242         * tests/uninorm/test-u16-normcmp.c: Likewise.
76243         * tests/uninorm/test-u16-normcoll.c: Likewise.
76244         * tests/uninorm/test-u32-nfc.c: Likewise.
76245         * tests/uninorm/test-u32-nfd.c: Likewise.
76246         * tests/uninorm/test-u32-nfkc.c: Likewise.
76247         * tests/uninorm/test-u32-nfkd.c: Likewise.
76248         * tests/uninorm/test-u32-normalize-big.c: Likewise.
76249         * tests/uninorm/test-u32-normcmp.c: Likewise.
76250         * tests/uninorm/test-u32-normcoll.c: Likewise.
76251         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
76252         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
76253         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
76254         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
76255         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
76256         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
76257         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
76258         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
76259         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
76260         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
76261         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
76262         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
76263         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
76264         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
76265         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
76266         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
76267         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
76268         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
76269         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
76270         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
76271         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
76272         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
76273         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
76274         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
76275         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
76276         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
76277         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
76278         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
76279         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
76280         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
76281         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
76282         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
76283         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
76284         * tests/uniwidth/test-u8-strwidth.c: Likewise.
76285         * tests/uniwidth/test-u8-width.c: Likewise.
76286         * tests/uniwidth/test-u16-strwidth.c: Likewise.
76287         * tests/uniwidth/test-u16-width.c: Likewise.
76288         * tests/uniwidth/test-u32-strwidth.c: Likewise.
76289         * tests/uniwidth/test-u32-width.c: Likewise.
76290         * tests/uniwidth/test-uc_width.c: Likewise.
76291         * tests/uniwidth/test-uc_width2.c: Likewise.
76292         * modules/acl-tests (Files): Add tests/macros.h.
76293         * modules/areadlink-tests (Files): Likewise.
76294         * modules/areadlink-with-size-tests (Files): Likewise.
76295         * modules/areadlinkat-tests (Files): Likewise.
76296         * modules/areadlinkat-with-size-tests (Files): Likewise.
76297         * modules/argmatch-tests (Files): Likewise.
76298         * modules/argv-iter-tests (Files): Likewise.
76299         * modules/array-list-tests (Files): Likewise.
76300         * modules/array-mergesort-tests (Files): Likewise.
76301         * modules/array-oset-tests (Files): Likewise.
76302         * modules/avltree-list-tests (Files): Likewise.
76303         * modules/avltree-oset-tests (Files): Likewise.
76304         * modules/avltreehash-list-tests (Files): Likewise.
76305         * modules/base64-tests (Files): Likewise.
76306         * modules/binary-io-tests (Files): Likewise.
76307         * modules/bitrotate-tests (Files): Likewise.
76308         * modules/btowc-tests (Files): Likewise.
76309         * modules/byteswap-tests (Files): Likewise.
76310         * modules/c-ctype-tests (Files): Likewise.
76311         * modules/c-stack-tests (Files): Likewise.
76312         * modules/c-strcase-tests (Files): Likewise.
76313         * modules/c-strcasestr-tests (Files): Likewise.
76314         * modules/c-strstr-tests (Files): Likewise.
76315         * modules/canonicalize-lgpl-tests (Files): Likewise.
76316         * modules/canonicalize-tests (Files): Likewise.
76317         * modules/carray-list-tests (Files): Likewise.
76318         * modules/ceilf-tests (Files): Likewise.
76319         * modules/ceill-tests (Files): Likewise.
76320         * modules/chown-tests (Files): Likewise.
76321         * modules/cloexec-tests (Files): Likewise.
76322         * modules/copy-file-tests (Files): Likewise.
76323         * modules/count-one-bits-tests (Files): Likewise.
76324         * modules/dprintf-posix-tests (Files): Likewise.
76325         * modules/dup2-tests (Files): Likewise.
76326         * modules/dup3-tests (Files): Likewise.
76327         * modules/duplocale-tests (Files): Likewise.
76328         * modules/fbufmode-tests (Files): Likewise.
76329         * modules/fchdir-tests (Files): Likewise.
76330         * modules/fcntl-safer-tests (Files): Likewise.
76331         * modules/fcntl-tests (Files): Likewise.
76332         * modules/fdopendir-tests (Files): Likewise.
76333         * modules/fdutimensat-tests (Files): Likewise.
76334         * modules/fflush-tests (Files): Likewise.
76335         * modules/filevercmp-tests (Files): Likewise.
76336         * modules/flock-tests (Files): Likewise.
76337         * modules/floorf-tests (Files): Likewise.
76338         * modules/floorl-tests (Files): Likewise.
76339         * modules/fnmatch-tests (Files): Likewise.
76340         * modules/fopen-safer-tests (Files): Likewise.
76341         * modules/fopen-tests (Files): Likewise.
76342         * modules/fpending-tests (Files): Likewise.
76343         * modules/fprintf-posix-tests (Files): Likewise.
76344         * modules/fpurge-tests (Files): Likewise.
76345         * modules/freadable-tests (Files): Likewise.
76346         * modules/freadahead-tests (Files): Likewise.
76347         * modules/freading-tests (Files): Likewise.
76348         * modules/freadptr-tests (Files): Likewise.
76349         * modules/freadseek-tests (Files): Likewise.
76350         * modules/freopen-tests (Files): Likewise.
76351         * modules/frexp-nolibm-tests (Files): Likewise.
76352         * modules/frexp-tests (Files): Likewise.
76353         * modules/frexpl-nolibm-tests (Files): Likewise.
76354         * modules/frexpl-tests (Files): Likewise.
76355         * modules/fseek-tests (Files): Likewise.
76356         * modules/fseeko-tests (Files): Likewise.
76357         * modules/fstrcmp-tests (Files): Likewise.
76358         * modules/fsync-tests (Files): Likewise.
76359         * modules/ftell-tests (Files): Likewise.
76360         * modules/ftello-tests (Files): Likewise.
76361         * modules/func-tests (Files): Likewise.
76362         * modules/futimens-tests (Files): Likewise.
76363         * modules/fwritable-tests (Files): Likewise.
76364         * modules/fwriting-tests (Files): Likewise.
76365         * modules/getcwd-tests (Files): Likewise.
76366         * modules/getdate-tests (Files): Likewise.
76367         * modules/getdelim-tests (Files): Likewise.
76368         * modules/getdtablesize-tests (Files): Likewise.
76369         * modules/getgroups-tests (Files): Likewise.
76370         * modules/getline-tests (Files): Likewise.
76371         * modules/getndelim2-tests (Files): Likewise.
76372         * modules/glob-tests (Files): Likewise.
76373         * modules/hash-tests (Files): Likewise.
76374         * modules/i-ring-tests (Files): Likewise.
76375         * modules/iconv-tests (Files): Likewise.
76376         * modules/iconv_open-utf-tests (Files): Likewise.
76377         * modules/idpriv-drop-tests (Files): Likewise.
76378         * modules/idpriv-droptemp-tests (Files): Likewise.
76379         * modules/inet_ntop-tests (Files): Likewise.
76380         * modules/inet_pton-tests (Files): Likewise.
76381         * modules/isblank-tests (Files): Likewise.
76382         * modules/isfinite-tests (Files): Likewise.
76383         * modules/isinf-tests (Files): Likewise.
76384         * modules/isnan-tests (Files): Likewise.
76385         * modules/isnand-nolibm-tests (Files): Likewise.
76386         * modules/isnand-tests (Files): Likewise.
76387         * modules/isnanf-nolibm-tests (Files): Likewise.
76388         * modules/isnanf-tests (Files): Likewise.
76389         * modules/isnanl-nolibm-tests (Files): Likewise.
76390         * modules/isnanl-tests (Files): Likewise.
76391         * modules/lchown-tests (Files): Likewise.
76392         * modules/ldexpl-tests (Files): Likewise.
76393         * modules/link-tests (Files): Likewise.
76394         * modules/linkat-tests (Files): Likewise.
76395         * modules/linked-list-tests (Files): Likewise.
76396         * modules/linkedhash-list-tests (Files): Likewise.
76397         * modules/localename-tests (Files): Likewise.
76398         * modules/lseek-tests (Files): Likewise.
76399         * modules/lstat-tests (Files): Likewise.
76400         * modules/mbmemcasecmp-tests (Files): Likewise.
76401         * modules/mbmemcasecoll-tests (Files): Likewise.
76402         * modules/mbrtowc-tests (Files): Likewise.
76403         * modules/mbscasecmp-tests (Files): Likewise.
76404         * modules/mbscasestr-tests (Files): Likewise.
76405         * modules/mbschr-tests (Files): Likewise.
76406         * modules/mbscspn-tests (Files): Likewise.
76407         * modules/mbsinit-tests (Files): Likewise.
76408         * modules/mbsncasecmp-tests (Files): Likewise.
76409         * modules/mbsnrtowcs-tests (Files): Likewise.
76410         * modules/mbspbrk-tests (Files): Likewise.
76411         * modules/mbspcasecmp-tests (Files): Likewise.
76412         * modules/mbsrchr-tests (Files): Likewise.
76413         * modules/mbsrtowcs-tests (Files): Likewise.
76414         * modules/mbsspn-tests (Files): Likewise.
76415         * modules/mbsstr-tests (Files): Likewise.
76416         * modules/memchr-tests (Files): Likewise.
76417         * modules/memchr2-tests (Files): Likewise.
76418         * modules/memcmp-tests (Files): Likewise.
76419         * modules/memmem-tests (Files): Likewise.
76420         * modules/memrchr-tests (Files): Likewise.
76421         * modules/mkdir-tests (Files): Likewise.
76422         * modules/mkfifo-tests (Files): Likewise.
76423         * modules/mkfifoat-tests (Files): Likewise.
76424         * modules/mknod-tests (Files): Likewise.
76425         * modules/nanosleep-tests (Files): Likewise.
76426         * modules/nl_langinfo-tests (Files): Likewise.
76427         * modules/obstack-printf-tests (Files): Likewise.
76428         * modules/open-tests (Files): Likewise.
76429         * modules/openat-tests (Files): Likewise.
76430         * modules/pipe-filter-gi-tests (Files): Likewise.
76431         * modules/pipe-filter-ii-tests (Files): Likewise.
76432         * modules/pipe2-tests (Files): Likewise.
76433         * modules/popen-safer-tests (Files): Likewise.
76434         * modules/popen-tests (Files): Likewise.
76435         * modules/posixtm-tests (Files): Likewise.
76436         * modules/pread-tests (Files): Likewise.
76437         * modules/printf-frexp-tests (Files): Likewise.
76438         * modules/printf-frexpl-tests (Files): Likewise.
76439         * modules/printf-posix-tests (Files): Likewise.
76440         * modules/priv-set-tests (Files): Likewise.
76441         * modules/quotearg-tests (Files): Likewise.
76442         * modules/random_r-tests (Files): Likewise.
76443         * modules/rawmemchr-tests (Files): Likewise.
76444         * modules/rbtree-list-tests (Files): Likewise.
76445         * modules/rbtree-oset-tests (Files): Likewise.
76446         * modules/rbtreehash-list-tests (Files): Likewise.
76447         * modules/readlink-tests (Files): Likewise.
76448         * modules/remove-tests (Files): Likewise.
76449         * modules/rename-tests (Files): Likewise.
76450         * modules/renameat-tests (Files): Likewise.
76451         * modules/rmdir-tests (Files): Likewise.
76452         * modules/round-tests (Files): Likewise.
76453         * modules/roundf-tests (Files): Likewise.
76454         * modules/roundl-tests (Files): Likewise.
76455         * modules/safe-alloc-tests (Files): Likewise.
76456         * modules/setenv-tests (Files): Likewise.
76457         * modules/sigaction-tests (Files): Likewise.
76458         * modules/signbit-tests (Files): Likewise.
76459         * modules/sleep-tests (Files): Likewise.
76460         * modules/snprintf-posix-tests (Files): Likewise.
76461         * modules/snprintf-tests (Files): Likewise.
76462         * modules/sprintf-posix-tests (Files): Likewise.
76463         * modules/stat-tests (Files): Likewise.
76464         * modules/stat-time-tests (Files): Likewise.
76465         * modules/strcasestr-tests (Files): Likewise.
76466         * modules/strchrnul-tests (Files): Likewise.
76467         * modules/strerror-tests (Files): Likewise.
76468         * modules/striconv-tests (Files): Likewise.
76469         * modules/striconveh-tests (Files): Likewise.
76470         * modules/striconveha-tests (Files): Likewise.
76471         * modules/strsignal-tests (Files): Likewise.
76472         * modules/strstr-tests (Files): Likewise.
76473         * modules/strtod-tests (Files): Likewise.
76474         * modules/strverscmp-tests (Files): Likewise.
76475         * modules/symlink-tests (Files): Likewise.
76476         * modules/symlinkat-tests (Files): Likewise.
76477         * modules/trunc-tests (Files): Likewise.
76478         * modules/truncf-tests (Files): Likewise.
76479         * modules/truncl-tests (Files): Likewise.
76480         * modules/uname-tests (Files): Likewise.
76481         * modules/unicase/cased-tests (Files): Likewise.
76482         * modules/unicase/ignorable-tests (Files): Likewise.
76483         * modules/unicase/locale-language-tests (Files): Likewise.
76484         * modules/unicase/tolower-tests (Files): Likewise.
76485         * modules/unicase/totitle-tests (Files): Likewise.
76486         * modules/unicase/toupper-tests (Files): Likewise.
76487         * modules/unicase/u8-casecmp-tests (Files): Likewise.
76488         * modules/unicase/u8-casecoll-tests (Files): Likewise.
76489         * modules/unicase/u8-casefold-tests (Files): Likewise.
76490         * modules/unicase/u8-is-cased-tests (Files): Likewise.
76491         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
76492         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
76493         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
76494         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
76495         * modules/unicase/u8-tolower-tests (Files): Likewise.
76496         * modules/unicase/u8-totitle-tests (Files): Likewise.
76497         * modules/unicase/u8-toupper-tests (Files): Likewise.
76498         * modules/unicase/u16-casecmp-tests (Files): Likewise.
76499         * modules/unicase/u16-casecoll-tests (Files): Likewise.
76500         * modules/unicase/u16-casefold-tests (Files): Likewise.
76501         * modules/unicase/u16-is-cased-tests (Files): Likewise.
76502         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
76503         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
76504         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
76505         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
76506         * modules/unicase/u16-tolower-tests (Files): Likewise.
76507         * modules/unicase/u16-totitle-tests (Files): Likewise.
76508         * modules/unicase/u16-toupper-tests (Files): Likewise.
76509         * modules/unicase/u32-casecmp-tests (Files): Likewise.
76510         * modules/unicase/u32-casecoll-tests (Files): Likewise.
76511         * modules/unicase/u32-casefold-tests (Files): Likewise.
76512         * modules/unicase/u32-is-cased-tests (Files): Likewise.
76513         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
76514         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
76515         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
76516         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
76517         * modules/unicase/u32-tolower-tests (Files): Likewise.
76518         * modules/unicase/u32-totitle-tests (Files): Likewise.
76519         * modules/unicase/u32-toupper-tests (Files): Likewise.
76520         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
76521         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
76522         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
76523         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
76524         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
76525         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
76526         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
76527         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
76528         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
76529         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
76530         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
76531         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
76532         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
76533         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
76534         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
76535         * modules/unictype/bidicategory-name-tests (Files): Likewise.
76536         * modules/unictype/bidicategory-of-tests (Files): Likewise.
76537         * modules/unictype/bidicategory-test-tests (Files): Likewise.
76538         * modules/unictype/block-list-tests (Files): Likewise.
76539         * modules/unictype/block-of-tests (Files): Likewise.
76540         * modules/unictype/block-test-tests (Files): Likewise.
76541         * modules/unictype/category-C-tests (Files): Likewise.
76542         * modules/unictype/category-Cc-tests (Files): Likewise.
76543         * modules/unictype/category-Cf-tests (Files): Likewise.
76544         * modules/unictype/category-Cn-tests (Files): Likewise.
76545         * modules/unictype/category-Co-tests (Files): Likewise.
76546         * modules/unictype/category-Cs-tests (Files): Likewise.
76547         * modules/unictype/category-L-tests (Files): Likewise.
76548         * modules/unictype/category-Ll-tests (Files): Likewise.
76549         * modules/unictype/category-Lm-tests (Files): Likewise.
76550         * modules/unictype/category-Lo-tests (Files): Likewise.
76551         * modules/unictype/category-Lt-tests (Files): Likewise.
76552         * modules/unictype/category-Lu-tests (Files): Likewise.
76553         * modules/unictype/category-M-tests (Files): Likewise.
76554         * modules/unictype/category-Mc-tests (Files): Likewise.
76555         * modules/unictype/category-Me-tests (Files): Likewise.
76556         * modules/unictype/category-Mn-tests (Files): Likewise.
76557         * modules/unictype/category-N-tests (Files): Likewise.
76558         * modules/unictype/category-Nd-tests (Files): Likewise.
76559         * modules/unictype/category-Nl-tests (Files): Likewise.
76560         * modules/unictype/category-No-tests (Files): Likewise.
76561         * modules/unictype/category-P-tests (Files): Likewise.
76562         * modules/unictype/category-Pc-tests (Files): Likewise.
76563         * modules/unictype/category-Pd-tests (Files): Likewise.
76564         * modules/unictype/category-Pe-tests (Files): Likewise.
76565         * modules/unictype/category-Pf-tests (Files): Likewise.
76566         * modules/unictype/category-Pi-tests (Files): Likewise.
76567         * modules/unictype/category-Po-tests (Files): Likewise.
76568         * modules/unictype/category-Ps-tests (Files): Likewise.
76569         * modules/unictype/category-S-tests (Files): Likewise.
76570         * modules/unictype/category-Sc-tests (Files): Likewise.
76571         * modules/unictype/category-Sk-tests (Files): Likewise.
76572         * modules/unictype/category-Sm-tests (Files): Likewise.
76573         * modules/unictype/category-So-tests (Files): Likewise.
76574         * modules/unictype/category-Z-tests (Files): Likewise.
76575         * modules/unictype/category-Zl-tests (Files): Likewise.
76576         * modules/unictype/category-Zp-tests (Files): Likewise.
76577         * modules/unictype/category-Zs-tests (Files): Likewise.
76578         * modules/unictype/category-and-not-tests (Files): Likewise.
76579         * modules/unictype/category-and-tests (Files): Likewise.
76580         * modules/unictype/category-byname-tests (Files): Likewise.
76581         * modules/unictype/category-name-tests (Files): Likewise.
76582         * modules/unictype/category-none-tests (Files): Likewise.
76583         * modules/unictype/category-of-tests (Files): Likewise.
76584         * modules/unictype/category-or-tests (Files): Likewise.
76585         * modules/unictype/category-test-withtable-tests (Files): Likewise.
76586         * modules/unictype/combining-class-tests (Files): Likewise.
76587         * modules/unictype/ctype-alnum-tests (Files): Likewise.
76588         * modules/unictype/ctype-alpha-tests (Files): Likewise.
76589         * modules/unictype/ctype-blank-tests (Files): Likewise.
76590         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
76591         * modules/unictype/ctype-digit-tests (Files): Likewise.
76592         * modules/unictype/ctype-graph-tests (Files): Likewise.
76593         * modules/unictype/ctype-lower-tests (Files): Likewise.
76594         * modules/unictype/ctype-print-tests (Files): Likewise.
76595         * modules/unictype/ctype-punct-tests (Files): Likewise.
76596         * modules/unictype/ctype-space-tests (Files): Likewise.
76597         * modules/unictype/ctype-upper-tests (Files): Likewise.
76598         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
76599         * modules/unictype/decimal-digit-tests (Files): Likewise.
76600         * modules/unictype/digit-tests (Files): Likewise.
76601         * modules/unictype/mirror-tests (Files): Likewise.
76602         * modules/unictype/numeric-tests (Files): Likewise.
76603         * modules/unictype/property-alphabetic-tests (Files): Likewise.
76604         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
76605         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
76606         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
76607         Likewise.
76608         * modules/unictype/property-bidi-block-separator-tests (Files):
76609         Likewise.
76610         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
76611         Likewise.
76612         * modules/unictype/property-bidi-common-separator-tests (Files):
76613         Likewise.
76614         * modules/unictype/property-bidi-control-tests (Files): Likewise.
76615         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
76616         Likewise.
76617         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
76618         Likewise.
76619         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
76620         Likewise.
76621         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
76622         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
76623         Likewise.
76624         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
76625         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
76626         Likewise.
76627         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
76628         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
76629         * modules/unictype/property-bidi-segment-separator-tests (Files):
76630         Likewise.
76631         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
76632         * modules/unictype/property-byname-tests (Files): Likewise.
76633         * modules/unictype/property-combining-tests (Files): Likewise.
76634         * modules/unictype/property-composite-tests (Files): Likewise.
76635         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
76636         * modules/unictype/property-dash-tests (Files): Likewise.
76637         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
76638         * modules/unictype/property-default-ignorable-code-point-tests (Files):
76639         Likewise.
76640         * modules/unictype/property-deprecated-tests (Files): Likewise.
76641         * modules/unictype/property-diacritic-tests (Files): Likewise.
76642         * modules/unictype/property-extender-tests (Files): Likewise.
76643         * modules/unictype/property-format-control-tests (Files): Likewise.
76644         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
76645         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
76646         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
76647         * modules/unictype/property-hex-digit-tests (Files): Likewise.
76648         * modules/unictype/property-hyphen-tests (Files): Likewise.
76649         * modules/unictype/property-id-continue-tests (Files): Likewise.
76650         * modules/unictype/property-id-start-tests (Files): Likewise.
76651         * modules/unictype/property-ideographic-tests (Files): Likewise.
76652         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
76653         * modules/unictype/property-ids-trinary-operator-tests (Files):
76654         Likewise.
76655         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
76656         * modules/unictype/property-iso-control-tests (Files): Likewise.
76657         * modules/unictype/property-join-control-tests (Files): Likewise.
76658         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
76659         * modules/unictype/property-line-separator-tests (Files): Likewise.
76660         * modules/unictype/property-logical-order-exception-tests (Files):
76661         Likewise.
76662         * modules/unictype/property-lowercase-tests (Files): Likewise.
76663         * modules/unictype/property-math-tests (Files): Likewise.
76664         * modules/unictype/property-non-break-tests (Files): Likewise.
76665         * modules/unictype/property-not-a-character-tests (Files): Likewise.
76666         * modules/unictype/property-numeric-tests (Files): Likewise.
76667         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
76668         * modules/unictype/property-other-default-ignorable-code-point-tests
76669         (Files): Likewise.
76670         * modules/unictype/property-other-grapheme-extend-tests (Files):
76671         Likewise.
76672         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
76673         * modules/unictype/property-other-id-start-tests (Files): Likewise.
76674         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
76675         * modules/unictype/property-other-math-tests (Files): Likewise.
76676         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
76677         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
76678         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
76679         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
76680         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
76681         * modules/unictype/property-private-use-tests (Files): Likewise.
76682         * modules/unictype/property-punctuation-tests (Files): Likewise.
76683         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
76684         * modules/unictype/property-radical-tests (Files): Likewise.
76685         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
76686         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
76687         * modules/unictype/property-space-tests (Files): Likewise.
76688         * modules/unictype/property-terminal-punctuation-tests (Files):
76689         Likewise.
76690         * modules/unictype/property-test-tests (Files): Likewise.
76691         * modules/unictype/property-titlecase-tests (Files): Likewise.
76692         * modules/unictype/property-unassigned-code-value-tests (Files):
76693         Likewise.
76694         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
76695         * modules/unictype/property-uppercase-tests (Files): Likewise.
76696         * modules/unictype/property-variation-selector-tests (Files): Likewise.
76697         * modules/unictype/property-white-space-tests (Files): Likewise.
76698         * modules/unictype/property-xid-continue-tests (Files): Likewise.
76699         * modules/unictype/property-xid-start-tests (Files): Likewise.
76700         * modules/unictype/property-zero-width-tests (Files): Likewise.
76701         * modules/unictype/scripts-tests (Files): Likewise.
76702         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
76703         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
76704         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
76705         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
76706         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
76707         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
76708         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
76709         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
76710         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
76711         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
76712         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
76713         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
76714         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
76715         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
76716         * modules/uninorm/composition-tests (Files): Likewise.
76717         * modules/uninorm/decomposing-form-tests (Files): Likewise.
76718         * modules/uninorm/decomposition-tests (Files): Likewise.
76719         * modules/uninorm/filter-tests (Files): Likewise.
76720         * modules/uninorm/nfc-tests (Files): Likewise.
76721         * modules/uninorm/nfd-tests (Files): Likewise.
76722         * modules/uninorm/nfkc-tests (Files): Likewise.
76723         * modules/uninorm/nfkd-tests (Files): Likewise.
76724         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
76725         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
76726         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
76727         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
76728         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
76729         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
76730         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
76731         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
76732         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
76733         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
76734         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
76735         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
76736         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
76737         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
76738         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
76739         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
76740         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
76741         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
76742         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
76743         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
76744         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
76745         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
76746         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
76747         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
76748         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
76749         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
76750         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
76751         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
76752         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
76753         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
76754         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
76755         * modules/uniwidth/u8-width-tests (Files): Likewise.
76756         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
76757         * modules/uniwidth/u16-width-tests (Files): Likewise.
76758         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
76759         * modules/uniwidth/u32-width-tests (Files): Likewise.
76760         * modules/uniwidth/width-tests (Files): Likewise.
76761         * modules/unlink-tests (Files): Likewise.
76762         * modules/unsetenv-tests (Files): Likewise.
76763         * modules/usleep-tests (Files): Likewise.
76764         * modules/utimens-tests (Files): Likewise.
76765         * modules/utimensat-tests (Files): Likewise.
76766         * modules/vasnprintf-posix-tests (Files): Likewise.
76767         * modules/vasnprintf-tests (Files): Likewise.
76768         * modules/vasprintf-posix-tests (Files): Likewise.
76769         * modules/vasprintf-tests (Files): Likewise.
76770         * modules/vdprintf-posix-tests (Files): Likewise.
76771         * modules/vfprintf-posix-tests (Files): Likewise.
76772         * modules/vprintf-posix-tests (Files): Likewise.
76773         * modules/vsnprintf-posix-tests (Files): Likewise.
76774         * modules/vsnprintf-tests (Files): Likewise.
76775         * modules/vsprintf-posix-tests (Files): Likewise.
76776         * modules/wcrtomb-tests (Files): Likewise.
76777         * modules/wcsnrtombs-tests (Files): Likewise.
76778         * modules/wcsrtombs-tests (Files): Likewise.
76779         * modules/wctype-tests (Files): Likewise.
76780         * modules/wcwidth-tests (Files): Likewise.
76781         * modules/xmemdup0-tests (Files): Likewise.
76782         * modules/xprintf-posix-tests (Files): Likewise.
76783         * modules/xvasprintf-tests (Files): Likewise.
76785 2009-12-24  Eric Blake  <ebb9@byu.net>
76787         test-nanosleep: fix typo
76788         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
76789         patch.
76790         Reported by Bruno Haible.
76792 2009-12-24  Bruno Haible  <bruno@clisp.org>
76794         Reduce namespace pollution on glibc systems.
76795         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
76796         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
76797         systems.
76798         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
76799         <getopt.h> on glibc systems.
76800         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
76801         systems.
76802         * lib/fcntl.c: Include <unistd.h> here instead.
76804 2009-12-24  Bruno Haible  <bruno@clisp.org>
76806         * lib/stdlib.in.h (includes): Fix typo in today's commit.
76808 2009-12-24  Eric Blake  <ebb9@byu.net>
76810         tests: add signature checks
76811         * tests/signature.h (SIGNATURE_CHECK): New file.
76812         * modules/atexit-tests (Files): Use it.
76813         * modules/btowc-tests (Files): Likewise.
76814         * modules/canonicalize-lgpl-tests (Files): Likewise.
76815         * modules/ceilf-tests (Files): Likewise.
76816         * modules/ceill-tests (Files): Likewise.
76817         * modules/chown-tests (Files): Likewise.
76818         * modules/dprintf-posix-tests (Files): Likewise.
76819         * modules/dup2-tests (Files): Likewise.
76820         * modules/dup3-tests (Files): Likewise.
76821         * modules/duplocale-tests (Files): Likewise.
76822         * modules/fchdir-tests (Files): Likewise.
76823         * modules/fcntl-tests (Files): Likewise.
76824         * modules/fdopendir-tests (Files): Likewise.
76825         * modules/fflush-tests (Files): Likewise.
76826         * modules/flock-tests (Files): Likewise.
76827         * modules/floorf-tests (Files): Likewise.
76828         * modules/floorl-tests (Files): Likewise.
76829         * modules/fnmatch-tests (Files): Likewise.
76830         * modules/fopen-tests (Files): Likewise.
76831         * modules/fprintf-posix-tests (Files): Likewise.
76832         * modules/freopen-tests (Files): Likewise.
76833         * modules/frexp-nolibm-tests (Files): Likewise.
76834         * modules/frexp-tests (Files): Likewise.
76835         * modules/frexpl-nolibm-tests (Files): Likewise.
76836         * modules/frexpl-tests (Files): Likewise.
76837         * modules/fseek-tests (Files): Likewise.
76838         * modules/fseeko-tests (Files): Likewise.
76839         * modules/fsync-tests (Files): Likewise.
76840         * modules/ftell-tests (Files): Likewise.
76841         * modules/ftello-tests (Files): Likewise.
76842         * modules/futimens-tests (Files): Likewise.
76843         * modules/getaddrinfo-tests (Files): Likewise.
76844         * modules/getcwd-tests (Files): Likewise.
76845         * modules/getdelim-tests (Files): Likewise.
76846         * modules/getdtablesize-tests (Files): Likewise.
76847         * modules/getgroups-tests (Files): Likewise.
76848         * modules/gethostname-tests (Files): Likewise.
76849         * modules/getline-tests (Files): Likewise.
76850         * modules/getopt-posix-tests (Files): Likewise.
76851         * modules/gettimeofday-tests (Files): Likewise.
76852         * modules/glob-tests (Files): Likewise.
76853         * modules/iconv-tests (Files): Likewise.
76854         * modules/inet_ntop-tests (Files): Likewise.
76855         * modules/inet_pton-tests (Files): Likewise.
76856         * modules/isblank-tests (Files): Likewise.
76857         * modules/lchown-tests (Files): Likewise.
76858         * modules/ldexpl-tests (Files): Likewise.
76859         * modules/link-tests (Files): Likewise.
76860         * modules/linkat-tests (Files): Likewise.
76861         * modules/lseek-tests (Files): Likewise.
76862         * modules/lstat-tests (Files): Likewise.
76863         * modules/mbrtowc-tests (Files): Likewise.
76864         * modules/mbsinit-tests (Files): Likewise.
76865         * modules/mbsnrtowcs-tests (Files): Likewise.
76866         * modules/mbsrtowcs-tests (Files): Likewise.
76867         * modules/memchr-tests (Files): Likewise.
76868         * modules/memcmp-tests (Files): Likewise.
76869         * modules/memmem-tests (Files): Likewise.
76870         * modules/memrchr-tests (Files): Likewise.
76871         * modules/mkdir-tests (Files): Likewise.
76872         * modules/mkfifo-tests (Files): Likewise.
76873         * modules/mkfifoat-tests (Files): Likewise.
76874         * modules/mknod-tests (Files): Likewise.
76875         * modules/nanosleep-tests (Files): Likewise.
76876         * modules/nl_langinfo-tests (Files): Likewise.
76877         * modules/obstack-printf-tests (Files): Likewise.
76878         * modules/open-tests (Files): Likewise.
76879         * modules/openat-tests (Files): Likewise.
76880         * modules/perror-tests (Files): Likewise.
76881         * modules/pipe2-tests (Files): Likewise.
76882         * modules/poll-tests (Files): Likewise.
76883         * modules/popen-tests (Files): Likewise.
76884         * modules/posix_spawn-tests (Files): Likewise.
76885         * modules/posix_spawnp-tests (Files): Likewise.
76886         * modules/pread-tests (Files): Likewise.
76887         * modules/printf-posix-tests (Files): Likewise.
76888         * modules/pty-tests (Files): Likewise.
76889         * modules/random_r-tests (Files): Likewise.
76890         * modules/rawmemchr-tests (Files): Likewise.
76891         * modules/readlink-tests (Files): Likewise.
76892         * modules/remove-tests (Files): Likewise.
76893         * modules/rename-tests (Files): Likewise.
76894         * modules/renameat-tests (Files): Likewise.
76895         * modules/rmdir-tests (Files): Likewise.
76896         * modules/round-tests (Files): Likewise.
76897         * modules/roundf-tests (Files): Likewise.
76898         * modules/roundl-tests (Files): Likewise.
76899         * modules/select-tests (Files): Likewise.
76900         * modules/setenv-tests (Files): Likewise.
76901         * modules/sigaction-tests (Files): Likewise.
76902         * modules/sleep-tests (Files): Likewise.
76903         * modules/snprintf-posix-tests (Files): Likewise.
76904         * modules/snprintf-tests (Files): Likewise.
76905         * modules/sprintf-posix-tests (Files): Likewise.
76906         * modules/stat-tests (Files): Likewise.
76907         * modules/strcasestr-tests (Files): Likewise.
76908         * modules/strchrnul-tests (Files): Likewise.
76909         * modules/strerror-tests (Files): Likewise.
76910         * modules/strsignal-tests (Files): Likewise.
76911         * modules/strstr-tests (Files): Likewise.
76912         * modules/strtod-tests (Files): Likewise.
76913         * modules/strverscmp-tests (Files): Likewise.
76914         * modules/symlink-tests (Files): Likewise.
76915         * modules/symlinkat-tests (Files): Likewise.
76916         * modules/times-tests (Files): Likewise.
76917         * modules/trunc-tests (Files): Likewise.
76918         * modules/truncf-tests (Files): Likewise.
76919         * modules/truncl-tests (Files): Likewise.
76920         * modules/tsearch-tests (Files): Likewise.
76921         * modules/uname-tests (Files): Likewise.
76922         * modules/unlink-tests (Files): Likewise.
76923         * modules/unsetenv-tests (Files): Likewise.
76924         * modules/usleep-tests (Files): Likewise.
76925         * modules/utimensat-tests (Files): Likewise.
76926         * modules/vasprintf-tests (Files): Likewise.
76927         * modules/vdprintf-posix-tests (Files): Likewise.
76928         * modules/vfprintf-posix-tests (Files): Likewise.
76929         * modules/vprintf-posix-tests (Files): Likewise.
76930         * modules/vsnprintf-posix-tests (Files): Likewise.
76931         * modules/vsnprintf-tests (Files): Likewise.
76932         * modules/vsprintf-posix-tests (Files): Likewise.
76933         * modules/wcrtomb-tests (Files): Likewise.
76934         * modules/wcsnrtombs-tests (Files): Likewise.
76935         * modules/wcsrtombs-tests (Files): Likewise.
76936         * modules/wcwidth-tests (Files): Likewise.
76937         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
76938         * tests/test-isinf.c (isinf): Likewise.
76939         * tests/test-isnan.c (isnan): Likewise.
76940         * tests/test-signbit.c (signbit): Likewise.
76941         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
76942         declaration, either as macro or with correct signature.
76943         (select): Ensure function under test is declared with correct
76944         signature in correct header.
76945         * tests/test-atexit.c (atexit): Likewise.
76946         * tests/test-btowc.c (btowc): Likewise.
76947         * tests/test-canonicalize-lgpl.c (realpath)
76948         (canonicalize_file_name): Likewise.
76949         * tests/test-ceilf1.c (ceilf): Likewise.
76950         * tests/test-ceill.c (ceill): Likewise.
76951         * tests/test-chown.c (chown): Likewise.
76952         * tests/test-dprintf-posix.c (dprintf): Likewise.
76953         * tests/test-dup2.c (dup2): Likewise.
76954         * tests/test-dup3.c (dup3): Likewise.
76955         * tests/test-duplocale.c (duplocale): Likewise.
76956         * tests/test-fchdir.c (fchdir): Likewise.
76957         * tests/test-fchownat.c (fchownat): Likewise.
76958         * tests/test-fcntl.c (fcntl): Likewise.
76959         * tests/test-fdopendir.c (fdopendir): Likewise.
76960         * tests/test-fflush.c (fflush): Likewise.
76961         * tests/test-flock.c (flock): Likewise.
76962         * tests/test-floorf1.c (floorf): Likewise.
76963         * tests/test-floorl.c (floorl): Likewise.
76964         * tests/test-fnmatch.c (fnmatch): Likewise.
76965         * tests/test-fopen.c (fopen): Likewise.
76966         * tests/test-fprintf-posix.c (fprintf): Likewise.
76967         * tests/test-freopen.c (freopen): Likewise.
76968         * tests/test-frexp.c (frexp): Likewise.
76969         * tests/test-frexpl.c (frexpl): Likewise.
76970         * tests/test-fseek.c (fseek): Likewise.
76971         * tests/test-fseeko.c (fseeko): Likewise.
76972         * tests/test-fstatat.c (fstatat): Likewise.
76973         * tests/test-fsync.c (fsync): Likewise.
76974         * tests/test-ftell.c (ftell): Likewise.
76975         * tests/test-ftello.c (ftello): Likewise.
76976         * tests/test-futimens.c (futimens): Likewise.
76977         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
76978         (gai_strerror): Likewise.
76979         * tests/test-getcwd.c (getcwd): Likewise.
76980         * tests/test-getdelim.c (getdelim): Likewise.
76981         * tests/test-getdtablesize.c (getdtablesize): Likewise.
76982         * tests/test-getgroups.c (getgroups): Likewise.
76983         * tests/test-gethostname.c (gethostname): Likewise.
76984         * tests/test-getline.c (getline): Likewise.
76985         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
76986         Likewise.
76987         * tests/test-gettimeofday.c (gettimeofday): Likewise.
76988         * tests/test-glob.c (glob, globfree): Likewise.
76989         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
76990         * tests/test-inet_ntop.c (inet_ntop): Likewise.
76991         * tests/test-inet_pton.c (inet_pton): Likewise.
76992         * tests/test-isblank.c (isblank): Likewise.
76993         * tests/test-lchown.c (lchown): Likewise.
76994         * tests/test-ldexpl.c (ldexpl): Likewise.
76995         * tests/test-link.c (link): Likewise.
76996         * tests/test-linkat.c (linkat): Likewise.
76997         * tests/test-lseek.c (lseek): Likewise.
76998         * tests/test-lstat.c (lstat): Likewise.
76999         * tests/test-mbrtowc.c (mbrtowc): Likewise.
77000         * tests/test-mbsinit.c (mbsinit): Likewise.
77001         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
77002         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
77003         * tests/test-memchr.c (memchr): Likewise.
77004         * tests/test-memcmp.c (memcmp): Likewise.
77005         * tests/test-memmem.c (memmem): Likewise.
77006         * tests/test-memrchr.c (memrchr): Likewise.
77007         * tests/test-mkdir.c (mkdir): Likewise.
77008         * tests/test-mkdirat.c (mkdirat): Likewise.
77009         * tests/test-mkfifo.c (mkfifo): Likewise.
77010         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
77011         * tests/test-mknod.c (mknod): Likewise.
77012         * tests/test-nanosleep.c (nanosleep): Likewise.
77013         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
77014         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
77015         Likewise.
77016         * tests/test-open.c (open): Likewise.
77017         * tests/test-openat.c (openat): Likewise.
77018         * tests/test-perror.c (perror): Likewise.
77019         * tests/test-pipe2.c (pipe2): Likewise.
77020         * tests/test-poll.c (poll): Likewise.
77021         * tests/test-popen.c (popen, pclose): Likewise.
77022         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
77023         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
77024         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
77025         (posix_spawn_file_actions_destroy)
77026         (posix_spawn_file_actions_addclose)
77027         (posix_spawn_file_actions_addopen)
77028         (posix_spawn_file_actions_adddup2): Likewise.
77029         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
77030         * tests/test-pread.c (pread): Likewise.
77031         * tests/test-printf-posix.c (printf): Likewise.
77032         * tests/test-pty.c (openpty, forkpty): Likewise.
77033         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
77034         (random_r): Likewise.
77035         * tests/test-rawmemchr.c (rawmemchr): Likewise.
77036         * tests/test-readlink.c (readlink): Likewise.
77037         * tests/test-remove.c (remove): Likewise.
77038         * tests/test-rename.c (rename): Likewise.
77039         * tests/test-renameat.c (renameat): Likewise.
77040         * tests/test-rmdir.c (rmdir): Likewise.
77041         * tests/test-round1.c (round): Likewise.
77042         * tests/test-roundf1.c (roundf): Likewise.
77043         * tests/test-roundl.c (roundl): Likewise.
77044         * tests/test-setenv.c (setenv): Likewise.
77045         * tests/test-sigaction.c (sigaction): Likewise.
77046         * tests/test-sleep.c (sleep): Likewise.
77047         * tests/test-snprintf.c (snprintf): Likewise.
77048         * tests/test-sprintf-posix.c (sprintf): Likewise.
77049         * tests/test-stat.c (stat): Likewise.
77050         * tests/test-stpncpy.c (stpncpy): Likewise.
77051         * tests/test-strcasestr.c (strcasestr): Likewise.
77052         * tests/test-strchrnul.c (strchrnul): Likewise.
77053         * tests/test-strerror.c (strerror): Likewise.
77054         * tests/test-strsignal.c (strsignal): Likewise.
77055         * tests/test-strstr.c (strstr): Likewise.
77056         * tests/test-strtod.c (strtod): Likewise.
77057         * tests/test-strverscmp.c (strverscmp): Likewise.
77058         * tests/test-symlink.c (symlink): Likewise.
77059         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
77060         * tests/test-times.c (times): Likewise.
77061         * tests/test-trunc1.c (trunc): Likewise.
77062         * tests/test-truncf1.c (truncf): Likewise.
77063         * tests/test-truncl.c (truncl): Likewise.
77064         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
77065         Likewise.
77066         * tests/test-uname.c (uname): Likewise.
77067         * tests/test-unlink.c (unlink): Likewise.
77068         * tests/test-unlinkat.c (unlinkat): Likewise.
77069         * tests/test-unsetenv.c (unsetenv): Likewise.
77070         * tests/test-usleep.c (usleep): Likewise.
77071         * tests/test-utimensat.c (utimensat): Likewise.
77072         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
77073         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
77074         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
77075         * tests/test-vprintf-posix.c (vprintf): Likewise.
77076         * tests/test-vsnprintf.c (vsnprintf): Likewise.
77077         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
77078         * tests/test-wcrtomb.c (wcrtomb): Likewise.
77079         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
77080         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
77081         * tests/test-wcwidth.c (wcwidth): Likewise.
77083         build: pull in conditional headers during GNULIB_POSIXCHECK
77084         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
77085         definitions from any conditionally-included headers.
77086         * lib/stdlib.in.h (includes): Likewise.
77087         * lib/unistd.in.h (includes): Likewise.
77089 2009-12-24  Bruno Haible  <bruno@clisp.org>
77091         * tests/test-argv-iter.c: Include header file being tested immediately
77092         after config.h.
77093         * tests/test-base64.c: Likewise.
77094         * tests/test-flock.c: Likewise.
77095         * tests/test-fsync.c: Likewise.
77096         * tests/test-getdate.c: Likewise.
77097         * tests/test-getndelim2.c: Likewise.
77098         * tests/test-isfinite.c: Likewise.
77099         * tests/test-isinf.c: Likewise.
77100         * tests/test-strerror.c: Likewise.
77101         * tests/test-strsignal.c: Likewise.
77103 2009-12-23  Eric Blake  <ebb9@byu.net>
77105         unistd: work around cygwin bug
77106         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
77107         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
77108         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
77110 2009-12-23  Bruno Haible  <bruno@clisp.org>
77112         localename: More tests.
77113         * tests/test-localename.c (SIZEOF): New macro.
77114         (categories): New variable.
77115         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
77116         test_locale_name_default): Add test w.r.t. thread locale.
77117         (test_locale_name_thread): New function.
77118         (main): Invoke it.
77120         localename: Make aware of thread locale.
77121         * lib/localename.h (gl_locale_name_thread): New declaration.
77122         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
77123         behaviour with respect to thread locale.
77124         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
77125         <langinfo.h>, glthread/lock.h.
77126         (SIZE_BITS): New macro.
77127         (string_hash): New function.
77128         (struct hash_node): New type.
77129         (HASH_TABLE_SIZE): New macro.
77130         (struniq_hash_table, struniq_lock): New variables.
77131         (struniq): New function.
77132         (gl_locale_name_thread): New function.
77133         (gl_locale_name): Invoke it.
77134         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
77135         * modules/localename (Depends-on): Add lock.
77136         Reported by Mike Gran <spk121@yahoo.com>.
77138 2009-12-23  Eric Blake  <ebb9@byu.net>
77140         va-args: new module
77141         * modules/va-args: New file.
77142         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
77143         * MODULES.html.sh (Core language properties): Mention it.
77145         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
77146         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
77147         named alias for __attribute__((__unused__)).
77148         * lib/chown.c: Update client.
77149         * lib/fchmodat.c: Likewise.
77150         * lib/fts.c: Likewise.
77151         * lib/getdate.y: Likewise.
77152         * lib/getgroups.c: Likewise.
77153         * lib/getopt.c: Likewise.
77154         * lib/getugroups.c: Likewise.
77155         * lib/mkdir.c: Likewise.
77156         * lib/mkfifo.c: Likewise.
77157         * lib/mkfifoat.c: Likewise.
77158         * lib/mknod.c: Likewise.
77159         * lib/mknodat.c: Likewise.
77160         * lib/readlink.c: Likewise.
77161         * lib/se-context.in.h: Likewise.
77162         * lib/se-selinux.in.h: Likewise.
77163         * lib/sockets.c: Likewise.
77164         * lib/symlink.c: Likewise.
77165         * lib/symlinkat.c: Likewise.
77166         * lib/unicodeio.c: Likewise.
77167         * lib/unistr.h: Likewise.
77168         * tests/test-areadlink.c: Likewise.
77169         * tests/test-areadlinkat.c: Likewise.
77170         * tests/test-filenamecat.c: Likewise.
77171         * tests/test-fseeko.c: Likewise.
77172         * tests/test-ftello.c: Likewise.
77173         * tests/test-getdate.c: Likewise.
77174         * tests/test-getgroups.c: Likewise.
77175         * tests/test-gethostname.c: Likewise.
77176         * tests/test-quotearg.c: Likewise.
77177         * tests/test-version-etc.c: Likewise.
77178         * tests/test-xalloc-die.c: Likewise.
77179         * tests/test-xfprintf-posix.c: Likewise.
77180         * tests/test-xprintf-posix.c: Likewise.
77181         * tests/test-xvasprintf.c: Likewise.
77183         tests: avoid compiler warnings
77184         * tests/test-fcntl.c (main): Delete unused parameters.
77185         * tests/test-freopen-safer.c (main): Likewise.
77186         * tests/test-xalloc-die.c (main): Mark unused parameters.
77187         * tests/test-fseeko.c (main): Likewise.
77188         * tests/test-ftello.c (main): Likewise.
77189         * tests/test-nanosleep.c (main): Avoid declaration warning.
77190         * tests/test-sleep.c (main): Likewise.
77191         * tests/test-unsetenv.c (main): Silence warning about string
77192         literal.
77193         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
77195 2009-12-23  Bruno Haible  <bruno@clisp.org>
77197         * tests/test-localename.c (test_locale_name): New function, extracted
77198         from main. Also test mixed situations.
77199         (test_locale_name_posix, test_locale_name_environ,
77200         test_locale_name_default): New functions.
77201         (main): Invoke them all.
77202         * modules/localename-tests (configure.ac): Test for newlocale.
77204 2009-12-23  Bruno Haible  <bruno@clisp.org>
77206         unistd: Ensure getcwd gets declared before being overridden.
77207         * lib/unistd.in.h: Conditionally include <io.h>.
77209 2009-12-22  Bruno Haible  <bruno@clisp.org>
77211         wchar: Diagnose broken combination of glibc and gcc versions and flags.
77212         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
77213         (gl_WCHAR_H): Invoke it.
77214         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
77215         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
77216         Reported by Karl Berry <karl@freefriends.org>.
77218 2009-12-22  Eric Blake  <ebb9@byu.net>
77220         math, unistd: avoid redundant includes
77221         * lib/math.in.h (isnan): No need to re-include <math.h>.
77222         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
77224         getsubopt: work around cygwin bug
77225         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
77226         avoid conflicting with system getsubopt.
77227         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
77228         bug.
77230         getopt: synchronize from glibc
77231         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
77232         parameter order.  Adjust all callers.
77233         (_getopt_internal_r, main): Adjust quoting in error messages.
77234         Drop considerations for outdated POSIX 1003.2 error message.
77235         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
77236         callers.
77237         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
77239         test-getopt: test stderr behavior
77240         * modules/getopt-posix-tests (Depends-on): Add dup2.
77241         * tests/test-getopt.c (ASSERT): Avoid stderr.
77242         (main): Move stderr to a temporary file.
77243         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
77244         Instead, add parameter to inform caller if output occurred.
77245         (test_getopt): Adjust all existing tests to expect silence, and
77246         add new tests of leading ":".
77247         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
77248         glibc shortcomings with leading "-:" or "+:" in optstring.
77249         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
77250         Likewise.
77251         * doc/posix-functions/getopt.texi (getopt): Likewise.
77253         test-getopt: enhance test
77254         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
77255         supports optind=0.
77256         * tests/test-getopt.c (OPTIND_MIN): Move...
77257         * tests/test-getopt.h (OPTIND_MIN): ...here.
77258         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
77259         Require that optind=0 works, since modern BSD supports it in
77260         addition to optreset, and since coreutils expects it.
77261         (test_getopt_long_only): New test.
77262         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
77263         glibc shortcomings with 'W;', and enforcement of optind=0.
77264         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
77265         Likewise.
77267 2009-12-21  Bruno Haible  <bruno@clisp.org>
77269         localename: Improvements for MacOS X and Cygwin.
77270         * lib/localename.h (gl_locale_name_environ): New declaration.
77271         * lib/localename.c (gl_locale_name_environ): New function, extracted from
77272         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
77273         (gl_locale_name_posix): Invoke it.
77274         (gl_locale_name_default): Add comments. Use Windows native API also on
77275         Cygwin.
77277 2009-12-21  Bruno Haible  <bruno@clisp.org>
77279         Update list of Win32 locale ids.
77280         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
77281         (LANG_SAMI): Renamed from LANG_SAAMI.
77282         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
77283         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
77284         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
77285         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
77286         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
77287         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
77288         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
77289         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
77290         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
77291         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
77292         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
77293         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
77294         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
77295         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
77296         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
77297         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
77298         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
77299         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
77300         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
77301         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
77302         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
77303         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
77304         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
77305         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
77306         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
77307         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
77308         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
77309         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
77310         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
77311         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
77312         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
77313         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
77314         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
77315         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
77316         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
77317         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
77318         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
77319         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
77320         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
77321         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
77322         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
77323         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
77324         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
77325         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
77326         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
77327         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
77328         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
77329         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
77330         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
77331         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
77332         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
77333         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
77334         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
77335         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
77336         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
77337         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
77338         Add more languages and countries for Sami, Sorbian. Add more countries
77339         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
77340         for Pashto. Change country for Syriac, Tswana.
77342 2009-12-21  Eric Blake  <ebb9@byu.net>
77344         test-utimens: avoid spurious failure
77345         * tests/test-chown.h (nap): Factor...
77346         * tests/nap.h: ...into new file.
77347         * tests/test-lchown.h (nap): Avoid duplication.
77348         * tests/test-utimens-common.h (nap): Use shared implementation,
77349         necessary on file systems with 1-second resolution.
77350         * modules/chown-tests (Files): Include new file.
77351         * modules/fdutimensat-tests (Files): Likewise.
77352         * modules/futimens-tests (Files): Likewise.
77353         * modules/lchown-tests (Files): Likewise.
77354         * modules/openat-tests (Files): Likewise.
77355         * modules/utimens-tests (Files): Likewise.
77356         * modules/utimensat-tests (Files): Likewise.
77358 2009-12-19  Eric Blake  <ebb9@byu.net>
77360         futimens, utimensat: work around Linux bug
77361         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
77362         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
77363         * lib/utimensat.c (rpl_utimensat): Work around it.
77364         * lib/futimens.c (rpl_futimens): Adjust comment.
77366         utimens: work around Linux ctime bug
77367         * lib/utimens.c (detect_ctime_bug): New helper function.
77368         (update_timespec): Differentiate between workaround needed for
77369         this bug vs. what is needed for systems that lack utimensat.
77370         (fdutimens, lutimens): Work around bug.
77372         utimens: check for ctime update
77373         * tests/test-utimens-common.h (check_ctime): Define.
77374         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
77375         * tests/test-futimens.h (test_futimens): Likewise.
77376         * tests/test-lutimens.h (test_lutimens): Likewise.
77377         * doc/posix-functions/futimens.texi (futimens): Document the bug.
77378         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
77380 2009-12-19  Bruno Haible  <bruno@clisp.org>
77382         dprintf-posix: Check against memory leak fixed on 2009-12-15.
77383         * tests/test-dprintf-posix2.sh: New file.
77384         * tests/test-dprintf-posix2.c: New file.
77385         * modules/dprintf-posix-tests (Files): Add them.
77386         (configure.ac): Check for getrlimit and setrlimit.
77387         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
77389 2009-12-19  Bruno Haible  <bruno@clisp.org>
77391         fprintf-posix: Check against memory leak fixed on 2009-12-15.
77392         * tests/test-fprintf-posix3.sh: New file.
77393         * tests/test-fprintf-posix3.c: New file.
77394         * modules/fprintf-posix-tests (Files): Add them.
77395         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
77397 2009-12-19  Eric Blake  <ebb9@byu.net>
77399         dirfd: fix prototype
77400         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
77401         * lib/dirfd.c (dirfd): Likewise.
77403         canonicalize: reduce memory usage
77404         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
77405         allocation to size.
77406         Reported by Solar Designer <solar@openwall.com>.
77408 2009-12-19  Bruno Haible  <bruno@clisp.org>
77410         New module attribute 'Applicability'.
77411         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
77412         * gnulib-tool: New option --extract-applicability.
77413         (func_usage): Document it.
77414         (sed_extract_prog): Recognize it.
77415         (func_get_applicability): New function.
77416         (func_import): Generalize handling of 'link-warning' module.
77417         * modules/link-warning (Applicability): New section.
77418         * modules/arg-nonnull (Applicability): New section.
77419         Repoted by Simon Josefsson <simon@josefsson.org>.
77421 2009-12-19  Bruno Haible  <bruno@clisp.org>
77423         fflush: tweak
77424         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
77425         * lib/fseeko.c (rpl_fseeko): Likewise.
77427 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
77429         * lib/gl_list.h: Fix typo in comment.
77431 2009-12-16  Eric Blake  <ebb9@byu.net>
77433         fcntl: use to simplify other modules
77434         * modules/cloexec (Depends-on): Add fcntl.
77435         * modules/fchdir (Depends-on): Likewise.
77436         * modules/fd-safer-flag (Depends-on): Likewise.
77437         * modules/unistd-safer (Depends-on): Likewise.
77438         * modules/dup3 (configure.ac): Set module indicator.
77439         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
77440         missing.
77441         * lib/fchdir.c (_gl_register_dup): Fix comment.
77442         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
77443         * lib/dup-safer.c (dup_safer): Likewise.
77444         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
77445         * lib/dup3.c (dup3): Likewise.
77446         * tests/test-fchdir.c (main): Enhance test.
77447         Fixes a dup_cloexec bug reported by Ondřej Vašík.
77449         fcntl: port portions of fcntl to mingw
77450         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
77451         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
77452         replacement for mingw.
77453         * modules/fcntl (Description): Update.
77454         (Depends-on): Add dup2.
77455         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
77456         * modules/fcntl-h (Makefile.am): Substitute it.
77457         * lib/fcntl.in.h (fcntl): Update declaration.
77458         (F_DUPFD, F_GETFD): New macros, when needed.
77459         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
77460         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
77461         * tests/test-fcntl.c (check_flags, main): Enhance test for items
77462         we now guarantee.
77464         fcntl: work around cygwin bug in F_DUPFD
77465         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
77466         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
77467         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
77468         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
77469         * doc/posix-functions/fcntl.texi (fcntl): Document it.
77471         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
77472         * modules/fcntl (Files): List new files.
77473         (configure.ac): Run a test.
77474         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
77475         * lib/fcntl.c (rpl_fcntl): Likewise.
77476         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
77477         (gl_FCNTL_H): Always replace fcntl.h.
77478         * modules/fcntl-h (Makefile.am): Substitute witnesses.
77479         * lib/fcntl.in.h (fcntl): Declare replacement.
77480         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
77481         needed, plus a witness.
77482         * doc/posix-functions/fcntl.texi (fcntl): Document this.
77483         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
77484         * tests/test-fcntl.c: New file.
77485         * modules/fcntl-tests: Likewise.
77487         binary-io: avoid potential compilation warning
77488         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
77489         directives.
77491         fflush: avoid compilation error on NetBSD
77492         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
77493         between off_t and fpos_t, since the latter is sometimes a struct.
77494         * lib/fseeko.c (rpl_fseeko): Likewise.
77495         Reported by Alexander Nasonov <alnsn@yandex.ru>.
77497 2009-12-15  Eric Blake  <ebb9@byu.net>
77499         fcntl-h, stdio, sys_ioctl: fix declarations
77500         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
77501         function must not take arguments.
77502         * lib/sys_ioctl.in.h (ioctl): Likewise.
77503         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
77504         (open): Add a link warning.
77506 2009-12-15  Jim Meyering  <meyering@redhat.com>
77508         areadlink, areadlink-with-size: relax license to LGPLv2+
77509         * modules/areadlink (License): Relax to LGPLv2+.
77510         * modules/areadlink-with-size (License): Likewise.
77512 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
77513             Bruno Haible  <bruno@clisp.org>
77515         *printf: Fix memory leak.
77516         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
77517         * lib/vfprintf.c (vfprintf): Likewise.
77518         * lib/dprintf.c (dprintf): Likewise.
77519         * lib/vdprintf.c (vdprintf): Likewise.
77521 2009-12-14  Eric Blake  <ebb9@byu.net>
77523         accept4: adjust module dependencies
77524         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
77526         utimens: one more try at avoiding compiler warning
77527         * lib/utimens.c (lutimens): Lower scope of result.
77529 2009-12-13  Bruno Haible  <bruno@clisp.org>
77531         Move the malloc checking from module 'list' to new module 'xlist'.
77532         * modules/xlist: New file.
77533         * lib/gl_xlist.h: New file.
77534         * lib/gl_xlist.c: New file.
77535         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
77536         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
77537         gl_list_add_last, gl_list_add_before, gl_list_add_after,
77538         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
77539         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
77540         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
77541         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
77542         gl_sortedlist_nx_add): New declarations.
77543         (struct gl_list_implementation): Rename and change methods accordingly.
77544         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
77545         (gl_list_nx_create): Renamed from gl_list_create.
77546         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
77547         (gl_list_nx_set_at): Renamed from gl_list_set_at.
77548         (gl_list_nx_add_first): Renamed from gl_list_add_first.
77549         (gl_list_nx_add_last): Renamed from gl_list_add_last.
77550         (gl_list_nx_add_before): Renamed from gl_list_add_before.
77551         (gl_list_nx_add_after): Renamed from gl_list_add_after.
77552         (gl_list_nx_add_at): Renamed from gl_list_add_at.
77553         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
77554         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
77555         gl_list_create_empty.
77556         (gl_list_nx_create): Renamed from gl_list_create.
77557         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
77558         (gl_list_nx_set_at): Renamed from gl_list_set_at.
77559         (gl_list_nx_add_first): Renamed from gl_list_add_first.
77560         (gl_list_nx_add_last): Renamed from gl_list_add_last.
77561         (gl_list_nx_add_before): Renamed from gl_list_add_before.
77562         (gl_list_nx_add_after): Renamed from gl_list_add_after.
77563         (gl_list_nx_add_at): Renamed from gl_list_add_at.
77564         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
77565         * lib/gl_array_list.c: Don't include xalloc.h.
77566         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
77567         NULL upon out-of-memory.
77568         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
77569         out-of-memory.
77570         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
77571         Change return type to 'int'.
77572         (gl_array_nx_set_at): Renamed from gl_array_set_at.
77573         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
77574         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
77575         upon out-of-memory.
77576         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
77577         upon out-of-memory.
77578         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
77579         upon out-of-memory.
77580         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
77581         upon out-of-memory.
77582         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
77583         out-of-memory.
77584         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
77585         Update.
77586         (gl_array_list_implementation): Update.
77587         * lib/gl_carray_list.c: Don't include xalloc.h.
77588         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
77589         Return NULL upon out-of-memory.
77590         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
77591         out-of-memory.
77592         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
77593         Change return type to 'int'.
77594         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
77595         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
77596         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
77597         upon out-of-memory.
77598         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
77599         upon out-of-memory.
77600         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
77601         out-of-memory.
77602         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
77603         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
77604         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
77605         Update.
77606         (gl_carray_list_implementation): Update.
77607         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
77608         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
77609         gl_linked_create_empty. Return NULL upon out-of-memory.
77610         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
77611         out-of-memory.
77612         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
77613         Change return type to 'int'. Return -1 upon out-of-memory.
77614         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
77615         out-of-memory.
77616         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
77617         upon out-of-memory.
77618         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
77619         upon out-of-memory.
77620         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
77621         NULL upon out-of-memory.
77622         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
77623         upon out-of-memory.
77624         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
77625         out-of-memory.
77626         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
77627         Update.
77628         * lib/gl_linked_list.c: Don't include xalloc.h.
77629         (gl_linked_list_implementation): Update.
77630         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
77631         (add_to_bucket): Change return type to 'int'.
77632         (gl_linkedhash_list_implementation): Update.
77633         * lib/gl_anytree_list1.h (free_subtree): New function.
77634         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
77635         gl_tree_create_empty. Return NULL upon out-of-memory.
77636         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
77637         Change return type to 'int'. Return -1 upon out-of-memory.
77638         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
77639         out-of-memory.
77640         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
77641         (gl_tree_remove_node): New function, moved here from
77642         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
77643         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
77644         Update.
77645         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
77646         malloc, not xmalloc. Return NULL upon out-of-memory.
77647         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
77648         out-of-memory.
77649         (gl_tree_remove_node_from_tree): New function, extracted from
77650         gl_tree_remove_node.
77651         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
77652         upon out-of-memory.
77653         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
77654         out-of-memory.
77655         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
77656         upon out-of-memory.
77657         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
77658         upon out-of-memory.
77659         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
77660         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
77661         not xmalloc. Return NULL upon out-of-memory.
77662         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
77663         out-of-memory.
77664         (gl_tree_remove_node_from_tree): New function, extracted from
77665         gl_tree_remove_node.
77666         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
77667         upon out-of-memory.
77668         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
77669         out-of-memory.
77670         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
77671         upon out-of-memory.
77672         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
77673         upon out-of-memory.
77674         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
77675         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
77676         gl_anytree_list1.h before gl_anyavltree_list2.h.
77677         (gl_avltree_list_implementation): Update.
77678         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
77679         gl_anytree_list1.h before gl_anyavltree_list2.h.
77680         (gl_rbtree_list_implementation): Update.
77681         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
77682         Change return type to 'int'. Return -1 upon out-of-memory. Use
77683         __builtin_expect.
77684         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
77685         (gl_avltreehash_list_implementation): Update.
77686         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
77687         (gl_rbtreehash_list_implementation): Update.
77688         * modules/array-list (Depends-on): Remove xalloc.
77689         * modules/carray-list (Depends-on): Likewise.
77690         * modules/linked-list (Depends-on): Likewise.
77691         * modules/linkedhash-list (Depends-on): Likewise.
77692         * modules/avltree-list (Depends-on): Likewise.
77693         * modules/rbtree-list (Depends-on): Likewise.
77694         * modules/avltreehash-list (Depends-on): Likewise.
77695         * modules/rbtreehash-list (Depends-on): Likewise.
77697         * modules/xsublist: New file.
77698         * lib/gl_xsublist.h: New file.
77699         * lib/gl_xsublist.c: New file.
77700         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
77701         (gl_sublist_nx_create): New declaration.
77702         * lib/gl_sublist.c: Don't include xalloc.h.
77703         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
77704         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
77705         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
77706         Change return type to 'int'. Return -1 upon out-of-memory.
77707         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
77708         upon out-of-memory.
77709         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
77710         NULL upon out-of-memory.
77711         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
77712         upon out-of-memory.
77713         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
77714         NULL upon out-of-memory.
77715         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
77716         NULL upon out-of-memory.
77717         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
77718         upon out-of-memory.
77719         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
77720         (gl_sublist_list_implementation): Update.
77721         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
77722         upon out-of-memory.
77723         * modules/sublist (Depends-on): Remove xalloc.
77725         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
77726         * tests/test-carray_list.c: Likewise.
77727         * tests/test-linked_list.c: Likewise.
77728         * tests/test-linkedhash_list.c: Likewise.
77729         * tests/test-avltree_list.c: Likewise.
77730         * tests/test-rbtree_list.c: Likewise.
77731         * tests/test-avltreehash_list.c: Likewise.
77732         * tests/test-rbtreehash_list.c: Likewise.
77733         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
77734         * modules/carray-list-tests (Makefile.am): Likewise.
77735         * modules/linked-list-tests (Makefile.am): Likewise.
77736         * modules/linkedhash-list-tests (Makefile.am): Likewise.
77737         * modules/avltree-list-tests (Makefile.am): Likewise.
77738         * modules/rbtree-list-tests (Makefile.am): Likewise.
77739         * modules/avltreehash-list-tests (Makefile.am): Likewise.
77740         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
77742         * NEWS: Mention the changes.
77744         * lib/clean-temp.c: Include gl_xlist.h.
77745         * modules/clean-temp (Depends-on): Add xlist.
77747         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
77748         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
77750         * tests/test-array_oset.c: Include gl_xlist.h.
77751         * modules/array-oset-tests (Depends-on): Add xlist.
77753         Reported by José E. Marchesi <jemarch@gnu.org>.
77755 2009-12-13  Bruno Haible  <bruno@clisp.org>
77757         Move the malloc checking from module 'oset' to new module 'xoset'.
77758         * modules/xoset: New file.
77759         * lib/gl_xoset.h: New file.
77760         * lib/gl_xoset.c: New file.
77761         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
77762         declarations.
77763         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
77764         (struct gl_oset_implementation): Rename and change methods accordingly.
77765         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
77766         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
77767         'int'. Mark as __warn_unused_result__.
77768         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
77769         gl_oset_create_empty.
77770         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
77771         'int'.
77772         * lib/gl_array_oset.c: Don't include xalloc.h.
77773         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
77774         malloc, not xmalloc.
77775         (grow): Change return type to 'int'. Don't call xalloc_die.
77776         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
77777         to 'int'.
77778         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
77779         'int'.
77780         (gl_array_oset_implementation): Update.
77781         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
77782         gl_tree_create_empty.
77783         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
77784         'int'.
77785         * lib/gl_avltree_oset.c: Don't include xalloc.h.
77786         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
77787         xmalloc.
77788         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
77789         not xmalloc.
77790         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
77791         xmalloc.
77792         (gl_avltree_oset_implementation): Update.
77793         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
77794         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
77795         xmalloc.
77796         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
77797         not xmalloc.
77798         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
77799         xmalloc.
77800         (gl_rbtree_oset_implementation): Update.
77801         * modules/array-oset (Depends-on): Remove xalloc.
77802         * modules/avltree-oset (Depends-on): Likewise.
77803         * modules/rbtree-oset (Depends-on): Likewise.
77804         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
77805         * tests/test-avltree_oset.c: Likewise.
77806         * tests/test-rbtree_oset.c: Likewise.
77807         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
77808         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
77809         * modules/rbtree-oset-tests (Makefile.am): Likewise.
77810         * NEWS: Mention the change.
77812 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
77814         maint.mk: allow a project to override release-prep commands
77815         * top/maint.mk (alpha, beta, stable): Move release-preparatory
77816         commands into a new rule.
77817         (release-prep): New rule.
77818         (release-prep-hook): New overridable variable.
77820 2009-12-13  Bruno Haible  <bruno@clisp.org>
77822         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
77824 2009-12-13  Jim Meyering  <meyering@redhat.com>
77826         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
77827         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
77829 2009-12-12  Bruno Haible  <bruno@clisp.org>
77831         duplocale: Tweak.
77832         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
77834 2009-12-12  Karl Berry  <karl@gnu.org>
77836         * config/srclist.txt (strtoll.c): tab changes, no more sync.
77838 2009-12-12  Bruno Haible  <bruno@clisp.org>
77840         * m4/po.m4: Undo incorrect untabification.
77842 2009-12-12  Bruno Haible  <bruno@clisp.org>
77844         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
77845         * modules/c-strtod (Depends-on): Add locale.
77846         * modules/c-strtold (Depends-on): Likewise.
77848 2009-12-12  Bruno Haible  <bruno@clisp.org>
77850         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
77852 2009-12-11  Eric Blake  <ebb9@byu.net>
77854         setenv: relax requirement in light of POSIX ruling
77855         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
77856         not NULL.
77857         * tests/test-setenv.c (main): Relax test.
77858         * tests/test-unsetenv.c (main): Likewise.
77859         * doc/posix-functions/setenv.texi (setenv): Document this.
77860         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
77862 2009-12-11  Bruno Haible  <bruno@clisp.org>
77864         New module 'fd-safer-flag'.
77865         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
77866         * lib/dup-safer.c (dup_safer_flag): Remove function.
77867         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
77868         * lib/fd-safer.c (fd_safer_flag): Remove function.
77869         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
77870         * modules/cloexec (configure.ac): Drop indicator macro.
77871         * modules/fd-safer-flag: New file.
77872         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
77873         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
77874         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
77876 2009-12-11  Bruno Haible  <bruno@clisp.org>
77878         Tests for module 'nl_langinfo'.
77879         * modules/nl_langinfo-tests: New file.
77880         * tests/test-nl_langinfo.sh: New file.
77881         * tests/test-nl_langinfo.c: New file.
77883         New module 'nl_langinfo'.
77884         * lib/nl_langinfo.c: New file.
77885         * m4/nl_langinfo.m4: New file.
77886         * modules/nl_langinfo: New file.
77887         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
77889 2009-12-11  Bruno Haible  <bruno@clisp.org>
77891         Tests for module 'langinfo'.
77892         * modules/langinfo-tests: New file.
77893         * tests/test-langinfo.c: New file.
77895         New module 'langinfo'.
77896         * lib/langinfo.in.h: New file.
77897         * m4/langinfo_h.m4: New file.
77898         * modules/langinfo: New file.
77899         * doc/posix-headers/langinfo.texi: Mention the new module.
77901 2009-12-11  Bruno Haible  <bruno@clisp.org>
77903         * lib/config.charset: Untabify.
77905 2009-12-11  Bruno Haible  <bruno@clisp.org>
77907         * modules/unistd-safer (configure.ac): Drop indicator macro.
77909 2009-12-11  Bruno Haible  <bruno@clisp.org>
77911         Move pipe2-safer code to its own file.
77912         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
77913         * lib/pipe-safer.c (pipe2_safer): Remove function.
77914         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
77915         (Makefile.am): Add it to lib_SOURCES.
77917 2009-12-10  Bruno Haible  <bruno@clisp.org>
77919         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
77921 2009-12-10  Bruno Haible  <bruno@clisp.org>
77923         Declare which arguments expect non-NULL values, for GCC and clang.
77924         * build-aux/arg-nonnull.h: New file.
77925         * modules/arg-nonnull: New file.
77926         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
77927         (inet_ntop, inet_pton): Use it.
77928         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
77929         (closedir, dirfd, opendir, scandir, alphasort): Use it.
77930         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
77931         (open, openat): Use it.
77932         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
77933         (fnmatch): Use it.
77934         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
77935         (getopt, getopt_long, getopt_long_only): Use it.
77936         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
77937         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
77938         Use it.
77939         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
77940         (iconv_open): Use it.
77941         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
77942         (strtoimax, strtoumax): Use it.
77943         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
77944         (duplocale): Use it.
77945         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
77946         (frexp, frexpl): Use it.
77947         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
77948         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
77949         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
77950         (tsearch, tfind, tdelete, twalk): Use it.
77951         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
77952         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
77953         sigpending): Use it.
77954         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
77955         (posix_spawn, posix_spawnp, posix_spawnattr_init,
77956         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
77957         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
77958         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
77959         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
77960         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
77961         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
77962         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
77963         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
77964         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
77965         Use it.
77966         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
77967         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
77968         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
77969         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
77970         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
77971         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
77972         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
77973         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
77974         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
77975         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
77976         strtoull, unsetenv): Use it.
77977         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
77978         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
77979         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
77980         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
77981         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
77982         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
77983         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
77984         (strcasecmp, strncasecmp): Use it.
77985         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
77986         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
77987         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
77988         rpl_setsockopt): Use it.
77989         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
77990         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
77991         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
77992         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
77993         (gettimeofday): Use it.
77994         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
77995         (times): Use it.
77996         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
77997         (uname): Use it.
77998         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
77999         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
78000         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
78001         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
78002         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
78003         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
78004         unlinkat, write): Use it.
78005         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
78006         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
78007         * lib/argv-iter.h: Include arg-nonnull.h.
78008         (_ATTRIBUTE_NONNULL_): Remove macro.
78009         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
78010         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
78011         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
78012         optimization.
78013         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
78014         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
78015         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
78016         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
78017         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
78018         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
78019         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
78020         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
78021         * modules/arpa_inet (Depends-on): Add arg-nonnull.
78022         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
78023         * modules/dirent (Depends-on): Add arg-nonnull.
78024         (Makefile.am): Insert arg-nonnull.h into dirent.h.
78025         * modules/fcntl-h (Depends-on): Add arg-nonnull.
78026         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
78027         * modules/fnmatch (Depends-on): Add arg-nonnull.
78028         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
78029         * modules/getopt-posix (Depends-on): Add arg-nonnull.
78030         (Makefile.am): Insert arg-nonnull.h into getopt.h.
78031         * modules/glob (Depends-on): Add arg-nonnull.
78032         (Makefile.am): Insert arg-nonnull.h into glob.h.
78033         * modules/iconv_open (Depends-on): Add arg-nonnull.
78034         (Makefile.am): Insert arg-nonnull.h into iconv.h.
78035         * modules/inttypes (Depends-on): Add arg-nonnull.
78036         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
78037         * modules/locale (Depends-on): Add arg-nonnull.
78038         (Makefile.am): Insert arg-nonnull.h into locale.h.
78039         * modules/math (Depends-on): Add arg-nonnull.
78040         (Makefile.am): Insert arg-nonnull.h into math.h.
78041         * modules/netdb (Depends-on): Add arg-nonnull.
78042         (Makefile.am): Insert arg-nonnull.h into netdb.h.
78043         * modules/search (Depends-on): Add arg-nonnull.
78044         (Makefile.am): Insert arg-nonnull.h into search.h.
78045         * modules/signal (Depends-on): Add arg-nonnull.
78046         (Makefile.am): Insert arg-nonnull.h into signal.h.
78047         * modules/spawn (Depends-on): Add arg-nonnull.
78048         (Makefile.am): Insert arg-nonnull.h into spawn.h.
78049         * modules/stdio (Depends-on): Add arg-nonnull.
78050         (Makefile.am): Insert arg-nonnull.h into stdio.h.
78051         * modules/stdlib (Depends-on): Add arg-nonnull.
78052         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
78053         * modules/string (Depends-on): Add arg-nonnull.
78054         (Makefile.am): Insert arg-nonnull.h into string.h.
78055         * modules/strings (Depends-on): Add arg-nonnull.
78056         (Makefile.am): Insert arg-nonnull.h into strings.h.
78057         * modules/sys_socket (Depends-on): Add arg-nonnull.
78058         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
78059         * modules/sys_stat (Depends-on): Add arg-nonnull.
78060         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
78061         * modules/sys_time (Depends-on): Add arg-nonnull.
78062         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
78063         * modules/sys_times (Depends-on): Add arg-nonnull.
78064         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
78065         * modules/sys_utsname (Depends-on): Add arg-nonnull.
78066         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
78067         * modules/time (Depends-on): Add arg-nonnull.
78068         (Makefile.am): Insert arg-nonnull.h into time.h.
78069         * modules/unistd (Depends-on): Add arg-nonnull.
78070         (Makefile.am): Insert arg-nonnull.h into unistd.h.
78071         * modules/wchar (Depends-on): Add arg-nonnull.
78072         (Makefile.am): Insert arg-nonnull.h into wchar.h.
78073         * modules/argv-iter (Depends-on): Add arg-nonnull.
78074         * tests/test-canonicalize.c (null_ptr): New function.
78075         (main): Use it.
78076         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
78077         (main): Use it.
78078         * tests/test-memmem.c (null_ptr): New function.
78079         (main): Use it.
78080         Reported by Jim Meyering.
78082 2009-12-10  Bruno Haible  <bruno@clisp.org>
78084         Use spaces for indentation, not tabs.
78085         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
78086         * m4/*.m4: Untabify.
78087         * build-aux/*.h: Untabify.
78088         * tests/**/*.[hc]: Untabify.
78089         * README: New section "Indent with spaces, not TABs", based on
78090         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
78091         * NEWS: Mention the change.
78093 2009-12-10  Bruno Haible  <bruno@clisp.org>
78095         pty test: Fix link error.
78096         * modules/pty-tests (Makefile.am): Add the default LDADD value to
78097         test_pty_LDADD.
78099 2009-12-07  Simon Josefsson  <simon@josefsson.org>
78101         * modules/pty: New file.
78102         * modules/pty-tests: New file.
78103         * m4/pty.m4: New file.
78104         * tests/test-pty.c: New file.
78105         * doc/glibc-headers/pty.texi: Modified.
78106         * doc/glibc-functions/forkpty.texi: Modified.
78107         * doc/glibc-functions/openpty.texi: Modified.
78109 2009-12-10  Bruno Haible  <bruno@clisp.org>
78111         Avoid syntax error in C++ mode.
78112         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
78114 2009-12-10  Bruno Haible  <bruno@clisp.org>
78116         Use sed with option -e.
78117         * gnulib-tool (func_version, func_emit_copyright_notice,
78118         func_emit_initmacro_end, func_import, func_create_testdir): Pass
78119         option -e to sed.
78120         * modules/link-warning (Makefile.am): Likewise.
78122 2009-12-10  Jim Meyering  <meyering@redhat.com>
78124         mgetgroups: do not write bytes beyond end of malloc'd buffer
78125         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
78126         username, we call getgroups with a one-element-shorter buffer,
78127         but still told it the length was original, max_n_groups.
78129 2009-12-09  Eric Blake  <ebb9@byu.net>
78131         cloexec: relax license
78132         * modules/cloexec (Maintainer): Add myself.
78133         (License): Use LGPL, not GPL.
78135         link-warning: optimize generation
78136         * modules/link-warning (Makefile.am): Reduce process usage.
78138 2009-12-09  Bruno Haible  <bruno@clisp.org>
78140         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
78141         workaround was added on 2009-11-17.
78143 2009-12-09  Jim Meyering  <meyering@redhat.com>
78144             Bruno Haible  <bruno@clisp.org>
78146         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
78147         * modules/link-warning (Makefile.am): Make the comment-removing sed
78148         command more robust in the face of bootstrap-prepended comment lines.
78150 2009-12-09  Bruno Haible  <bruno@clisp.org>
78152         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
78153         most one group.
78155 2009-12-09  Simon Josefsson  <simon@josefsson.org>
78156             Bruno Haible  <bruno@clisp.org>
78158         * build-aux/link-warning.h: Add copyright notice.
78159         * modules/link-warning (Makefile.am): Generate link-warning.h from
78160         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
78161         * NEWS: Mention change in link-warning module.
78162         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
78163         * modules/dirent (Makefile.am): Add dependency to dirent.h.
78164         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
78165         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
78166         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
78167         * modules/math (Makefile.am): Add dependency to math.h.
78168         * modules/search (Makefile.am): Add dependency to search.h.
78169         * modules/signal (Makefile.am): Add dependency to signal.h.
78170         * modules/spawn (Makefile.am): Add dependency to spawn.h.
78171         * modules/stdio (Makefile.am): Add dependency to stdio.h.
78172         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
78173         * modules/string (Makefile.am): Add dependency to string.h.
78174         * modules/strings (Makefile.am): Add dependency to strings.h.
78175         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
78176         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
78177         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
78178         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
78179         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
78180         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
78181         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
78182         * modules/unistd (Makefile.am): Add dependency to unistd.h.
78183         * modules/wchar (Makefile.am): Add dependency to wchar.h.
78185 2009-12-09  Bruno Haible  <bruno@clisp.org>
78187         fchdir: Optimize away rpl_fstat when possible.
78188         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
78189         REPLACE_OPEN_DIRECTORY.
78190         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
78192 2009-12-09  Bruno Haible  <bruno@clisp.org>
78194         * lib/fchdir.c: Update comment.
78196 2009-12-09  Bruno Haible  <bruno@clisp.org>
78198         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
78200 2009-12-08  Eric Blake  <ebb9@byu.net>
78202         fchdir: avoid memory leak on re-registration.
78203         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
78205 2009-12-08  Jim Meyering  <meyering@redhat.com>
78207         init.sh: avoid Solaris 10 /bin/sh portability problem
78208         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
78209         sourced script:
78210           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
78211           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
78212           bar
78213         tests/init.sh relied on that, accepting a --set-path=DIR argument,
78214         and two tests used that idiom.
78215         * tests/init.sh: Update suggested usage comments.
78216         (path_prepend_): New function, to be used in place
78217         of the --src-path=DIR option.
78218         (setup_): Move PATH-prepending code into path_prepend_.
78219         * tests/test-pread.sh: Adapt to new usage.
78220         * tests/test-xalloc-die.sh: Likewise.
78222 2009-12-08  Simon Josefsson  <simon@josefsson.org>
78224         * doc/gnulib.texi (Glibc pty.h): Add.
78225         * doc/glibc-functions/forkpty.texi: Add.
78226         * doc/glibc-functions/openpty.texi: Add.
78227         Suggested by Bruno Haible.
78229 2009-12-08  Eric Blake  <ebb9@byu.net>
78231         fchdir: fix logic bugs
78232         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
78233         * tests/test-fchdir.c (main): Enhance test.
78234         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
78235         is in use.
78237         dup2: fix logic bugs
78238         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
78239         REPLACE_DUP2 to decide when rpl_dup2 is needed.
78240         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
78241         exists.
78242         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
78244 2009-12-07  Eric Blake  <ebb9@byu.net>
78246         unlink: fix m4 detection
78247         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
78249         unistd-safer: add unit test
78250         * modules/unistd-safer-tests: New file.
78251         * tests/test-dup-safer.c: Likewise.
78252         * tests/test-cloexec.c (setmode): Avoid compiler warning.
78253         * tests/test-dup2.c (setmode): Likewise.
78254         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
78256         cloexec: preserve text vs. binary across dup_cloexec
78257         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
78258         mode.
78259         * modules/dup2-tests (Depends-on): Add binary-io.
78260         * modules/cloexec-tests (Depends-on): Likewise.
78261         * tests/test-dup2.c (setmode, is_mode): New helpers.
78262         (main): Add tests that translation mode is preserved.
78263         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
78264         Reported by Bruno Haible.
78266         mgetgroups: reduce duplicate listings
78267         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
78268         resulting array.
78269         * tests/test-chown.h (test_chown): Simplify client.
78270         * tests/test-lchown.h (test_lchown): Likewise.
78272 2009-12-06  Bruno Haible  <bruno@clisp.org>
78274         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
78275         value.
78277 2009-12-06  Bruno Haible  <bruno@clisp.org>
78279         * lib/progname.c: Include stdio.h, stdlib.h.
78280         (set_program_name): Reject a NULL argument.
78282 2009-12-05  Eric Blake  <ebb9@byu.net>
78284         pipe2-safer: new module
78285         * modules/pipe2-safer: New file.
78286         * lib/unistd-safer.h (pipe2_safer): New prototype.
78287         * lib/unistd--.h (pipe2): New wrapper.
78288         * lib/pipe-safer.c (pipe2_safer): New function.
78289         * modules/pipe (Depends-on): Add pipe2-safer.
78290         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
78292         stdlib-safer: preserve cloexec flag for mkostemp[s]
78293         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
78294         fd_safer_flag.
78296         unistd-safer: allow preservation of cloexec status via flag
78297         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
78298         prototypes.
78299         * lib/dup-safer.c (dup_safer_flag): New function.
78300         * lib/fd-safer.c (fd_safer_flag): Likewise.
78301         * modules/cloexec (configure.ac): Set witness.
78303         test-dup2: enhance test
78304         * modules/dup2-tests (Depends-on): Add cloexec.
78305         * tests/test-dup2.c (main): Enhance test.
78307         cloexec: add dup_cloexec
78308         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
78309         header and comments.
78310         * lib/cloexec.c (set_cloexec_flag): Add comments.
78311         (dup_cloexec): New function, with mingw implementation borrowed
78312         from...
78313         * lib/w32spawn.h (dup_noinherit): ...here.
78314         * modules/execute (Depends-on): Add cloexec.
78315         * modules/pipe (Depends-on): Likewise.
78316         * modules/cloexec (Depends-on): Add dup2.
78317         * modules/cloexec-tests (Files): New file.
78318         * tests/test-cloexec.c: Likewise.
78320         test-xalloc-die: fix test for mingw
78321         * modules/xalloc-die-tests (Files): Add tests/init.sh.
78322         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
78323         directory and .exe suffix off argv[0] output.
78325         test-fseeko: fix test for mingw
78326         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
78327         than undefining fseek, so test will pass on mingw.
78329 2009-12-05  Bruno Haible  <bruno@clisp.org>
78331         * lib/progname.h (set_program_name): Clarify specification.
78332         * lib/progname.c (set_program_name): Likewise.
78333         Reported by Jim Meyering.
78335 2009-12-05  Jim Meyering  <meyering@redhat.com>
78337         maint.mk: backslash-escape parens in default regexp
78338         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
78339         backslash-escape the literal parentheses.
78341         maint.mk: news-date-check: use grep -E
78342         * top/maint.mk (today): Define a Make variable, not a...
78343         (news-date-check): ...shell variable.
78344         (news-date-regexp): Use the Make variable.
78345         Use grep's -E option.  Change the failing diagnostic to mention
78346         the variable, $(news-date-regexp).
78348 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
78350         maintainer-makefile: allow customization of NEWS entry format
78351         * top/maint.mk (news-date-regexp): New overridable variable.
78352         (news-date-check): Use it.
78354 2009-12-04  Eric Blake  <ebb9@byu.net>
78356         mgetgroups: add xgetgroups, and avoid ENOSYS failures
78357         * lib/mgetgroups.h (xgetgroups): New prototype.
78358         * lib/mgetgroups.c (xgetgroups): New wrapper.
78359         (mgetgroups): Handle ENOSYS.
78360         * modules/mgetgroups (Depends-on): Add realloc.
78361         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
78363         mgetgroups: avoid argument promotion issues with -1
78364         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
78365         for invalid gid_t.
78366         * tests/test-chown.h (getegid, test_chown): Likewise.
78367         * tests/test-lchown.h (getegid, test_lchown): Likewise.
78369 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
78371         exclude: Fix header file problems.
78372         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
78374 2009-12-01  Jim Meyering  <meyering@redhat.com>
78376         fts: fts_open: do not let an empty string cause immediate failure
78377         This is required in support of GNU rm, for which the command
78378         "rm A '' B" must process and remove both A and B, in spite of
78379         the empty string argument.
78380         * lib/fts.c (fts_open): Do not let the presence of an empty string
78381         cause fts_open to fail immediately.  Most fts-using tools must be
78382         able to process all arguments, in order, and can be expected to
78383         diagnose such arguments themselves.
78385 2009-11-30  Eric Blake  <ebb9@byu.net>
78387         utimens: fix compilation error
78388         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
78389         Declare variable at right scope.
78391 2009-11-29  Jim Meyering  <meyering@redhat.com>
78393         bootstrap: handle perl-5.11's changed --version output
78394         * build-aux/bootstrap (get_version): Handle perl separately,
78395         since perl-5.11's --version output is different.
78397 2009-11-28  Jim Meyering  <meyering@redhat.com>
78399         userspec: depend on the inttostr module, too
78400         * modules/userspec (Depends-on): Add inttostr.
78402         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
78403         * lib/userspec.c (parse_with_separator): Do not accept a user ID
78404         number of MAXUID when it evaluates to (uid_t) -1.
78405         Likewise for group ID.  Reported by Matt McCutchen in
78406         <http://savannah.gnu.org/bugs/?28113>
78408         userspec: reformat to use spaces, not TABs
78409         * lib/userspec.c: Expand TABs to spaces.
78410         Add Emacs' "indent-tabs-mode: nil" hint.
78412 2009-11-27  Eric Blake  <ebb9@byu.net>
78414         getopt-gnu: flush out another BSD bug
78415         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
78416         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
78417         flush out BSD bug.
78418         * tests/test-getopt.h (test_getopt): End lists with NULL.
78419         * tests/test-getopt_long.h (test_getopt_long): Likewise.
78420         (test_getopt_long_posix): Enhance test.
78421         * modules/getopt-posix-tests (Depends-on): Add stdbool.
78422         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
78423         getopt-gnu.
78424         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
78425         Likewise.
78427 2009-11-27  Simon Josefsson  <simon@josefsson.org>
78429         * modules/idpriv-droptemp-tests (Notice): Fix text.
78431 2009-11-27  Jim Meyering  <meyering@redhat.com>
78433         test-xalloc-die: avoid spurious failure due to libtool argv difference
78434         In a libtool-enabled project, this test would fail due to a difference
78435         in the emitted program name, e.g.,
78436         -test-xalloc-die: memory exhausted
78437         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
78438         Use program to avoid that.
78439         * modules/xalloc-die-tests (Depends-on): Add progname.
78440         * tests/test-xalloc-die.c: Include progname.h".
78441         (program_name): Remove decl.
78442         (main): Call set_program_name.
78443         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
78445 2009-11-26  Richard Jones  <rjones@redhat.com>
78447         w32sock: leave win32 error in place.
78448         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
78450 2009-11-26  Eric Blake  <ebb9@byu.net>
78452         init.sh: suggest to use skip_ and fail_ functions in comments
78453         * tests/init.sh: Add a sentence.
78455 2009-11-25  Bruno Haible  <bruno@clisp.org>
78457         init.sh: add documentation in comments
78458         * tests/init.sh: Add some developer and user documentation.
78460 2009-11-26  Jim Meyering  <meyering@redhat.com>
78462         init.sh: accommodate even those who specify bogus srcdir manually
78463         * tests/init.sh: Normally, srcdir is guaranteed by automake and
78464         configure-time tests to be sanitized, so that there is no need to
78465         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
78466         (with no double quotes) suffices.  However, since tests may be
78467         invoked manually, and since you may explicitly set srcdir to the
78468         name of a directory containing spaces, do quote its uses here.
78469         * tests/test-pread.sh: Likewise.
78470         Suggested by Bruno Haible.
78472         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
78473         * tests/test-pread.sh: Write no data into the pipe, because
78474         test-pread actually reads none.  This avoids a diagnostic,
78475         "bash: echo: write error: Broken pipe", that arises in the unusual
78476         event something is ignoring SIGPIPE, and might be interpreted
78477         as some sort of failure.  Reported by Bruno Haible.
78479 2009-11-25  Jim Meyering  <meyering@redhat.com>
78481         test-pread: cover failure with ESPIPE and EINVAL
78482         * tests/test-pread.c (main): Test for failure, too.
78483         * tests/test-pread.sh: Invoke with stdin on a pipe.
78484         Suggested by Eric Blake.
78486         pread: improvement and fix
78487         * modules/pread (Depends-on): Depend on lseek, for portability to
78488         e.g., mingw.  Suggested by Eric Blake.
78489         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
78491         unistd.in.h: correct declaration of pread
78492         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
78493         Reported by Richard W.M. Jones.
78495         test-pread.sh: distribute the test script
78496         * modules/pread-tests (Files): Include test-pread.sh.
78498         test-pread.sh: clean up
78499         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
78500         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
78501         That is unnecessary, since it's always ".".
78502         Suggestion from Eric Blake.
78504         test-pread.sh: make executable
78505         * tests/test-pread.sh: Set executable bit.
78506         Reported by Eric Blake.
78508         correct typo in test-pread.sh
78509         * tests/test-pread.sh: Add #! line.
78511         test pread
78512         * tests/test-pread.c: New file.
78513         * tests/test-pread.sh: Likewise.
78514         * modules/pread-tests: Likewise.
78516         pread: new module
78517         * modules/pread: New file.
78518         * lib/unistd.in.h (pread): Define/declare.
78519         * lib/pread.c (pread): New file.
78520         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
78521         * modules/unistd (Makefile.am): Substitute witnesses.
78522         * doc/posix-functions/pread.texi (pread): Update.
78523         * MODULES.html.sh: Add pread.
78525 2009-11-25  Jim Meyering  <meyering@redhat.com>
78527         tests/init.sh: new file to be used via most *.sh tests
78528         * tests/init.sh: New file.
78530 2009-11-25  Eric Blake  <ebb9@byu.net>
78532         utimens: work around older Linux failure with symlinks
78533         * lib/utimens.c (lutimensat_works_really): New variable.
78534         (fdutimens, lutimens): Use it to manage kernels that support
78535         nanosecond times on files, but not on symlinks.
78536         Reported by Ondřej Vašík.
78538         utimes: fix configure grammar
78539         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
78541 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
78543         regex: Fix fastmap for multibyte character ranges.
78544         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
78545         characters when a multibyte character range is included.
78547 2009-11-22  Andy Wingo  <wingo@pobox.com>
78549         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
78550         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
78552 2009-11-24  Bruno Haible  <bruno@clisp.org>
78554         doc: Most *_l functions exist in MacOS X 10.5.
78555         * doc/posix-functions/duplocale.texi: Update platforms list.
78556         * doc/posix-functions/freelocale.texi: Likewise.
78557         * doc/posix-functions/newlocale.texi: Likewise.
78558         * doc/posix-functions/uselocale.texi: Likewise.
78559         * doc/posix-functions/isalnum_l.texi: Likewise.
78560         * doc/posix-functions/isalpha_l.texi: Likewise.
78561         * doc/posix-functions/isblank_l.texi: Likewise.
78562         * doc/posix-functions/iscntrl_l.texi: Likewise.
78563         * doc/posix-functions/isdigit_l.texi: Likewise.
78564         * doc/posix-functions/isgraph_l.texi: Likewise.
78565         * doc/posix-functions/islower_l.texi: Likewise.
78566         * doc/posix-functions/isprint_l.texi: Likewise.
78567         * doc/posix-functions/ispunct_l.texi: Likewise.
78568         * doc/posix-functions/isspace_l.texi: Likewise.
78569         * doc/posix-functions/isupper_l.texi: Likewise.
78570         * doc/posix-functions/iswalnum_l.texi: Likewise.
78571         * doc/posix-functions/iswalpha_l.texi: Likewise.
78572         * doc/posix-functions/iswblank_l.texi: Likewise.
78573         * doc/posix-functions/iswcntrl_l.texi: Likewise.
78574         * doc/posix-functions/iswctype_l.texi: Likewise.
78575         * doc/posix-functions/iswdigit_l.texi: Likewise.
78576         * doc/posix-functions/iswgraph_l.texi: Likewise.
78577         * doc/posix-functions/iswlower_l.texi: Likewise.
78578         * doc/posix-functions/iswprint_l.texi: Likewise.
78579         * doc/posix-functions/iswpunct_l.texi: Likewise.
78580         * doc/posix-functions/iswspace_l.texi: Likewise.
78581         * doc/posix-functions/iswupper_l.texi: Likewise.
78582         * doc/posix-functions/iswxdigit_l.texi: Likewise.
78583         * doc/posix-functions/isxdigit_l.texi: Likewise.
78584         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
78585         * doc/posix-functions/strcasecmp_l.texi: Likewise.
78586         * doc/posix-functions/strcoll_l.texi: Likewise.
78587         * doc/posix-functions/strfmon_l.texi: Likewise.
78588         * doc/posix-functions/strftime_l.texi: Likewise.
78589         * doc/posix-functions/strncasecmp_l.texi: Likewise.
78590         * doc/posix-functions/strxfrm_l.texi: Likewise.
78591         * doc/posix-functions/tolower_l.texi: Likewise.
78592         * doc/posix-functions/toupper_l.texi: Likewise.
78593         * doc/posix-functions/towctrans_l.texi: Likewise.
78594         * doc/posix-functions/towlower_l.texi: Likewise.
78595         * doc/posix-functions/towupper_l.texi: Likewise.
78596         * doc/posix-functions/wcscoll_l.texi: Likewise.
78597         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
78598         * doc/posix-functions/wctrans_l.texi: Likewise.
78599         * doc/posix-functions/wctype_l.texi: Likewise.
78600         * doc/glibc-functions/strptime_l.texi: Likewise.
78601         * doc/glibc-functions/strtod_l.texi: Likewise.
78602         * doc/glibc-functions/strtof_l.texi: Likewise.
78603         * doc/glibc-functions/strtol_l.texi: Likewise.
78604         * doc/glibc-functions/strtold_l.texi: Likewise.
78605         * doc/glibc-functions/strtoll_l.texi: Likewise.
78606         * doc/glibc-functions/strtoul_l.texi: Likewise.
78607         * doc/glibc-functions/strtoull_l.texi: Likewise.
78608         * doc/glibc-functions/wcsftime_l.texi: Likewise.
78609         * doc/glibc-functions/wcstod_l.texi: Likewise.
78610         * doc/glibc-functions/wcstof_l.texi: Likewise.
78611         * doc/glibc-functions/wcstol_l.texi: Likewise.
78612         * doc/glibc-functions/wcstold_l.texi: Likewise.
78613         * doc/glibc-functions/wcstoll_l.texi: Likewise.
78614         * doc/glibc-functions/wcstoul_l.texi: Likewise.
78615         * doc/glibc-functions/wcstoull_l.texi: Likewise.
78617 2009-11-24  Bruno Haible  <bruno@clisp.org>
78619         duplocale: Fix logic bug.
78620         * lib/duplocale.c: Don't include <langinfo.h>.
78621         (_NL_LOCALE_NAME): Remove macro.
78622         (rpl_duplocale): Use setlocale instead of nl_langinfo.
78623         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
78625 2009-11-23  Jim Meyering  <meyering@redhat.com>
78627         test-update-copyright: don't hard-code /usr/bin/perl
78628         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
78629         perl to print the current year.  Gilles Espinasse reported that
78630         the replaced use of perl was hard-coded as /usr/bin/perl.
78632 2009-11-23  Bruno Haible  <bruno@clisp.org>
78634         duplocale: Add support for glibc 2.3.x.
78635         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
78637 2009-11-22  Bruno Haible  <bruno@clisp.org>
78639         vasnprintf: Tiny optimization.
78640         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
78641         MacOS X.
78643 2009-11-22  Bruno Haible  <bruno@clisp.org>
78645         Tests for module 'duplocale'.
78646         * modules/duplocale-tests: New file.
78647         * tests/test-duplocale.c: New file.
78649         New module 'duplocale'.
78650         * m4/duplocale.m4: New file.
78651         * lib/locale.in.h (duplocale): New declaration.
78652         * lib/duplocale.c: New file.
78653         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
78654         gl_LOCALE_H_DEFAULTS): New macros.
78655         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
78656         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
78657         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
78658         REPLACE_DUPLOCALE.
78659         * modules/duplocale: New file.
78660         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
78662 2009-11-22  Bruno Haible  <bruno@clisp.org>
78664         * modules/locale-tests (configure.ac): Test for newlocale function.
78665         * tests/test-locale.c: When the system has extended locale functions,
78666         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
78668         locale: Make locale_t available when possible.
78669         * lib/locale.in.h: Include <xlocale.h> when it exists.
78670         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
78671         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
78672         * modules/locale (Depends-on): Add extensions.
78673         (Makefile.am): Also substitute HAVE_XLOCALE_H.
78674         * doc/posix-headers/locale.texi: Document the problem with locale_t.
78676 2009-11-22  Bruno Haible  <bruno@clisp.org>
78678         Add comments.
78679         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
78680         invocation.
78681         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
78682         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
78683         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
78685 2009-11-22  Bruno Haible  <bruno@clisp.org>
78687         error: account for the possibility of freopen (stdout).
78688         * lib/error.c: Include <unistd.h>.
78689         (flush_stdout): New function, extracted from error and error_at_line.
78690         Determine stdout's fd dynamically.
78691         (error, error_at_line): Invoke flush_stdout.
78692         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
78693         * modules/error (Depends-on): Add unistd.
78695 2009-11-22  Bruno Haible  <bruno@clisp.org>
78697         diffseq: Add comment.
78698         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
78700 2009-11-22  Jim Meyering  <meyering@redhat.com>
78702         c-stack: avoid defining an unused static function
78703         * lib/c-stack.c (find_stack_direction): Do not define this function
78704         when it will not be used.
78706         diffseq: avoid spurious gcc warnings
78707         * lib/diffseq.h (IF_LINT2): Define.
78708         (compareseq): Use it to initialize two members of "part".
78709         This avoids two used-uninitialized warnings.
78711 2009-11-21  Jim Meyering  <meyering@redhat.com>
78713         c-stack: avoid "ignoring return value of `write'" warning
78714         * lib/c-stack.c: Include "ignore-value.h".
78715         (die): Explicitly ignore each write return value.
78716         * modules/c-stack (Depends-on): Add ignore-value.
78718 2009-11-21  Bruno Haible  <bruno@clisp.org>
78720         diffseq: reduce scope of variable 'best'.
78721         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
78722         variable, earlier used for two different purposes.
78724 2009-11-21  Jim Meyering  <meyering@redhat.com>
78726         diffseq: remove useless assignment to "best"
78727         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
78728         assignment.  At that point "best" is already guaranteed to be zero.
78730 2009-11-20  Eric Blake  <ebb9@byu.net>
78732         build: mention ftp redirector in release announcements
78733         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
78734         values that used to come from cfg.mk; mention FTP redirect URL.
78735         * build-aux/announce-gen: Mention the mirror list.
78736         Suggested by Karl Berry.
78738         nanosleep: improve port to mingw
78739         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
78740         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
78741         LIB_NANOSLEEP, but only when needed.
78742         * modules/select (Link): Document LIBSOCKET.
78743         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
78744         enough.
78746         nanosleep: work around cygwin bug
78747         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
78748         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
78749         bug.
78750         (getnow): Delete, not needed.
78751         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
78752         LIB_CLOCK_GETTIME.
78753         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
78754         clock-time, gettime.
78755         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
78756         bug.
78757         * modules/nanosleep-tests: New test.
78758         * tests/test-nanosleep.c: New file.
78760         sleep: work around cygwin bug
78761         * lib/sleep.c (rpl_sleep): Work around the bug.
78762         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
78763         (gl_PREREQ_SLEEP): Delete unused macro.
78764         * modules/sleep (Depends-on): Add verify.
78765         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
78766         * modules/unistd (Makefile.am): Substitute witness.
78767         * lib/unistd.in.h (sleep): Update prototype.
78768         * doc/posix-functions/sleep.texi (sleep): Document the bug.
78769         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
78770         * modules/sleep-tests (Depends-on): Check for alarm.
78772 2009-11-20  Jim Meyering  <meyering@redhat.com>
78774         maint.mk: improve sc_prohibit_magic_number_exit
78775         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
78776         so it does not match uses like System.exit(1).
78777         Add comments showing how to correct all offenders.
78779 2009-11-19  Eric Blake  <ebb9@byu.net>
78781         xalloc-die-tests: add missing library
78782         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
78784         test-xvasprintf: silence compiler warnings
78785         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
78786         empty string from gcc.
78788 2009-11-19  Jim Meyering  <meyering@redhat.com>
78790         xfreopen: new module, from coreutils
78791         * modules/xfreopen: New module.
78792         * lib/xfreopen.c: New file.
78793         * lib/xfreopen.h: New file.
78794         * MODULES.html.sh (File stream based Input/Output"): Add it.
78796 2009-11-19  Eric Blake  <ebb9@byu.net>
78798         manywarnings: depend on warnings
78799         * modules/manywarnings (Depends-on): Add warnings.
78801         build: avoid compiler warnings
78802         * lib/select.c (rpl_select): Delete unused variable.
78803         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
78805 2009-11-18  Eric Blake  <ebb9@byu.net>
78807         tests: avoid false negative with --with-packager
78808         * tests/test-version-etc.sh: Discard packager information.
78809         * tests/test-argp-version-etc-1.sh: Likewise.
78810         Reported by Mike Frysinger.
78812         utimens: fix regression on Solaris
78813         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
78814         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
78815         can only change fd timestamps via futimesat.  Instead, use an
78816         additional witness macro to avoid BSD bug.
78817         Reported by Jim Meyering.
78819 2009-11-17  Eric Blake  <ebb9@byu.net>
78821         usleep: use it to simplify tests
78822         * modules/stat-time-tests (Depends-on): Add usleep.
78823         (configure.ac): Drop usleep check.
78824         * modules/chown-tests (Depends-on, configure.ac): Likewise.
78825         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
78826         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
78827         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
78828         * modules/openat-tests (Depends-on, configure.ac): Likewise.
78829         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
78830         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
78831         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
78832         Likewise.
78833         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
78834         * tests/test-lchown.h (nap): Likewise.
78835         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
78836         * tests/test-stat-time.c (nap): Likewise.
78837         * tests/test-utimens-common.h (nap): Update comments.
78839         usleep: new module
78840         * modules/usleep: New file.
78841         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
78842         * lib/usleep.c (usleep): Likewise.
78843         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
78844         * modules/unistd (Makefile.am): Substitute witnesses.
78845         * lib/unistd.in.h (usleep): Add declaration.
78846         * doc/pastposix-functions/usleep.texi (usleep): Document this.
78847         * MODULES.html.sh (Date and time): Likewise.
78848         * modules/usleep-tests (Depends-on): New test.
78849         * tests/test-usleep.c: New file.
78851         chown: work around OpenBSD bug
78852         * lib/chown.c (rpl_chown): Work around the bug.
78853         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
78854         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
78855         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
78856         * modules/chown (Depends-on): Add stdbool.
78857         * modules/lchown (Depends-on): Likewise.
78858         * doc/posix-functions/chown.texi (chown): Document the bug.
78859         * doc/posix-functions/lchown.texi (lchown): Likewise.
78860         * tests/test-lchown.h (test_chown): Relax test.
78862         mkstemp: avoid conflict with C++ keyword template
78863         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
78864         * lib/mkostemp.c (mkostemp): Likewise.
78865         * lib/mkostemps.c (mkostemps): Likewise.
78866         * lib/mkstemp.c (mkstemp): Likewise.
78867         * lib/mkstemps.c (mkstemps): Likewise.
78869         xalloc-die-tests: optimize
78870         * tests/test-xalloc-die.sh: Reduce number of processes.
78872 2009-11-17  Simon Josefsson  <simon@josefsson.org>
78874         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
78875         patch from ludo@gnu.org (Ludovic Courtès).
78877 2009-11-17  Jim Meyering  <meyering@redhat.com>
78879         version-etc: use proper license string
78880         * modules/version-etc (License): Use LGPL, not LGPLv3+.
78881         * modules/version-etc-fsf: Likewise.
78883 2009-11-17  Simon Josefsson  <simon@josefsson.org>
78885         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
78886         printed to stdout.  Deal with EOL differences.
78888 2009-11-17  Eric Blake  <ebb9@byu.net>
78890         unsetenv: work around Solaris bug
78891         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
78892         * lib/unsetenv.c (rpl_unsetenv): Work around it.
78893         Reported by Jim Meyering.
78895         vasnprintf: avoid compiler warnings
78896         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
78897         variables.
78898         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
78900 2009-11-17  Simon Josefsson  <simon@josefsson.org>
78902         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
78903         settings since xalloc-die is no longer the self test,
78904         xalloc-die.sh is.
78906 2009-11-17  Jim Meyering  <meyering@redhat.com>
78908         test-xalloc-die.sh: make the code agree with the commit log
78909         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
78910         at the end, just in case you happen to have a test-xalloc-die
78911         program in some other PATH directory.
78913         test-xalloc-die.sh: fix a portability bug
78914         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
78915         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
78916         Otherwise, argv[0] (as often seen in diagnostics) would be too
78917         system-dependent, sometimes with, and sometimes without the leading "./".
78919         version-etc-fsf: relax license to LGPLv3+
78920         * modules/version-etc-fsf (License): Relax license.
78922 2009-11-16  Eric Blake  <ebb9@byu.net>
78924         xalloc-die-tests: avoid printing null pointer
78925         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
78926         shell script.
78927         * tests/test-xalloc-die.c (program_name): Declare.
78928         * tests/test-xalloc-die.sh (tmpfiles): New file.
78930         setenv, unsetenv: work around various bugs
78931         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
78932         (setenv) [HAVE_SETENV]: Work around bugs.
78933         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
78934         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
78935         for bugs.
78936         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
78937         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
78938         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
78939         * modules/stdlib (Makefile.am): Update substitutions.
78940         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
78941         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
78942         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
78943         * modules/setenv-tests: New test.
78944         * modules/unsetenv-tests: Likewise.
78945         * tests/test-setenv.c: New file.
78946         * tests/test-unsetenv.c: Likewise.
78948 2009-11-16  Jim Meyering  <meyering@redhat.com>
78950         version-etc: relax license to LGPLv3+
78951         * modules/version-etc (License): Relax license.
78953         better AC_REQUIRE expanded-before-required-warning avoidance
78954         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
78955         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
78956         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
78957         which is no longer needed.
78959 2009-11-16  Eric Blake  <ebb9@byu.net>
78961         test-freading: clean up temporary file
78962         * tests/test-freading.c (main): Remove file on success, and use
78963         ASSERT more liberally.
78964         Reported by Jim Meyering.
78966 2009-11-16  Jim Meyering  <meyering@redhat.com>
78968         avoid new AC_REQUIRE expanded-before-required warnings
78969         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
78970         merely using it.
78971         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
78972         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
78974 2009-11-15  Simon Josefsson  <simon@josefsson.org>
78976         * tests/test-xalloc-die.c: New file.
78977         * modules/xalloc-die-tests: New file.
78978         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
78979         XFAIL_TESTS so it can be appended by modules.
78981 2009-11-15  Simon Josefsson  <simon@josefsson.org>
78983         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
78984         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
78986 2009-11-14  Eric Blake  <ebb9@byu.net>
78988         fnmatch: avoid compiler warning
78989         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
78990         to silence compiler warning about mismatch signedness in ?:.
78991         Reported by Robert Millan.
78993         intprops: add double-inclusion guard
78994         * lib/intprops.h: Allow idempotent includes.
78995         Suggested by Bruce Korb.
78997         openat: detect Solaris fchownat bug
78998         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
78999         penalizing glibc chownat when only lchownat is broken.
79000         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
79001         trailing slash bugs.
79002         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
79003         * modules/openat-tests (Files): Include more files.
79004         (Depends-on): Add mgetgroups, sleep, stat-time.
79005         (configure.ac): Add additional checks.
79006         (Makefile.am): Build new test.
79007         * tests/test-fchownat.c: New file.
79009         lchown: detect Solaris and FreeBSD bug
79010         * lib/lchown.c (rpl_lchown): Work around bug.
79011         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
79012         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
79013         * modules/unistd (Makefile.am): Populate it.
79014         * lib/unistd.in.h (lchown): Update declaration.
79015         * doc/posix-functions/lchown.texi (lchown): Document the bug.
79016         * modules/lchown-tests: New file.
79017         * tests/test-lchown.h (test_lchown): Likewise.
79018         * tests/test-lchown.c (main): Likewise.
79020         chown: detect Solaris and FreeBSD bug
79021         * lib/chown.c (rpl_chown): Work around bug.
79022         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
79023         (gl_PREREQ_CHOWN): Delete.
79024         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
79025         * modules/unistd (Makefile.am): Populate it.
79026         * lib/unistd.in.h (chown): Update declaration.
79027         * lib/lchown.c (chown): Update client.
79028         * modules/lchown (Depends-on): Add lstat.
79029         * doc/posix-functions/chown.texi (chown): Document the bug.
79030         * doc/posix-functions/getgroups.texi (getgroups): Document
79031         getgroups pitfall.
79032         * modules/chown-tests: New file.
79033         * tests/test-chown.h (test_chown): Likewise.
79034         * tests/test-chown.c (main): Likewise.
79036 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
79038         gnulib-tool: correctly detect absence of m4 directories
79039         * gnulib-tool: Avoid extra newline on data passed to wc -l.
79041 2009-11-14  Jim Meyering  <meyering@redhat.com>
79043         maint.mk: Prohibit inclusion of "xalloc.h" without use.
79044         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
79046 2009-11-14  John W. Eaton  <jwe@gnu.org>
79048         strftime.h: wrap function declaration in extern "C" block
79049         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
79051 2009-11-13  Eric Blake  <ebb9@byu.net>
79053         getgroups: avoid compiler warning
79054         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
79056         getgroups: work around FreeBSD bug
79057         * lib/getgroups.c (rpl_getgroups): Work around the bug.
79058         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
79059         * doc/posix-functions/getgroups.texi (getgroups): Document it.
79060         * tests/test-getgroups.c (main): Fix buffer overrun.
79062         getgroups: avoid compilation failure
79063         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
79064         * modules/getgroups (Depends-on): Add stdint.
79066 2009-11-13  Jim Meyering  <meyering@redhat.com>
79068         test-getgroups: avoid compilation failure
79069         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
79071 2009-11-13  Eric Blake  <ebb9@byu.net>
79073         mgetgroups: new module, taken from coreutils
79074         * modules/mgetgroups: New file.
79075         * lib/mgetgroups.h: Likewise.
79076         * lib/mgetgroups.c (mgetgroups): Likewise.
79077         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
79078         * MODULES.html.sh (Users and groups): Mention it.
79080         getgroups: don't expose GETGROUPS_T to user
79081         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
79082         an element at a time if GETGROUPS_T is wrong size.
79083         * lib/getugroups.h (getugroups): Change signature.
79084         * lib/unistd.in.h (getgroups): Likewise.
79085         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
79086         signature needs fixing.
79087         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
79088         AC_TYPE_GETGROUPS.
79089         * modules/group-member (Depends-on): Add getgroups.
79090         * lib/group-member.c (group_info, get_group_info): Use gid_t.
79091         (group_member): Rely on getgroups replacement.
79092         * lib/getugroups.c (getugroups): Use gid_t.
79093         * tests/test-getgroups.c (main): Likewise.
79094         * NEWS: Mention the signature change.
79095         * doc/posix-functions/getgroups.texi (getgroups): Mention the
79096         problem with signature.
79097         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
79098         GETGROUPS_T is still useful for setgroups.
79100         getgroups, getugroups: provide stubs for mingw
79101         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
79102         * lib/getugroups.c (getugroups): Likewise.
79103         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
79104         function.  Modernize replacement scheme.
79105         (gl_PREREQ_GETGROUPS): Delete.
79106         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
79107         * modules/getgroups (configure.ac): Declare witness.
79108         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
79109         * modules/unistd (Depends-on): Substitute witness.
79110         * lib/unistd.in.h (getgroups): Declare replacement.
79112         getgroups: avoid calling exit
79113         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
79114         drop xalloc.
79115         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
79116         dependencies.
79117         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
79118         exiting, in the rare case of malloc failure.
79120         getgroups: fix logic error
79121         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
79122         has more than 20 groups.
79123         * modules/getgroups-tests: New test.
79124         * tests/test-getgroups.c: New file.
79126 2009-11-13  Simon Josefsson  <simon@josefsson.org>
79128         * tests/test-base64.c: Improve.
79130 2009-11-13  Simon Josefsson  <simon@josefsson.org>
79132         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
79133         Blake <ebb9@byu.net>.
79135 2009-11-13  Simon Josefsson  <simon@josefsson.org>
79137         * tests/test-xvasprintf.c: Add %s%s related checks.
79139 2009-11-12  Eric Blake  <ebb9@byu.net>
79141         version-etc: match standards.texi style
79142         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
79143         and use <> only for URLs.
79145 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
79147         fts: do not fail on a submount during traversal
79148         * lib/fts.c (fts_build): Read the stat info again after opening
79149         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
79150         Original report at http://bugzilla.redhat.com/501848.
79152 2009-11-12  Jim Meyering  <meyering@redhat.com>
79154         bootstrap: sync from coreutils
79155         * build-aux/bootstrap (bootstrap_epilogue): New function.
79156         Use git_modules_config in one more place.  This make bootstrap's
79157         --gnulib-srcdir option more useful for testing.
79159         bootstrap: generalize autoheader check
79160         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
79161         AC_CONFIG_HEADERS.
79163 2009-11-11  Eric Blake  <ebb9@byu.net>
79165         mkfifoat: use new modules for Solaris and BSD bugs
79166         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
79167         * lib/mkfifoat.c (mknodat): Split...
79168         * lib/mknodat.c (mknodat): ...into new file.
79169         * modules/mkfifoat (Files): Ship new file.
79170         (Depends-on): Add mkfifo, mknod.
79171         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
79172         (Depends-on): Add symlink.
79173         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
79174         redundant with test_mkfifo.h.
79175         (do_mkfifoat, do_mknodat): New helpers.
79177         mknod: new module
79178         * modules/mknod: New file.
79179         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
79180         * lib/mknod.c (mknod): Likewise.
79181         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
79182         defaults.
79183         * modules/sys_stat (Makefile.am): Substitute them.
79184         * lib/sys_stat.in.h (mknod): Declare replacement.
79185         * MODULES.html.sh (Support for systems lacking POSIX:2008):
79186         Document it.
79187         * doc/posix-functions/mknod.texi (mknod): Likewise.
79188         * modules/mknod-tests: New test.
79189         * tests/test-mknod.c: Likewise.
79191         mkfifo: new module
79192         * modules/mkfifo: New file.
79193         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
79194         * lib/mkfifo.c (mkfifo): Likewise.
79195         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
79196         defaults.
79197         * modules/sys_stat (Makefile.am): Substitute them.
79198         * lib/sys_stat.in.h (mkfifo): Declare replacement.
79199         * MODULES.html.sh (Support for systems lacking POSIX:2008):
79200         Document it.
79201         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
79202         * modules/mkfifo-tests: New test.
79203         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
79204         from test-mkfifoat.c.
79205         * tests/test-mkfifo.c: New file.
79207         readlink: detect FreeBSD bug
79208         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
79209         slash on symlink.
79210         * doc/posix-functions/readlink.texi (readlink): Document the bug.
79211         * tests/test-readlink.h (test_readlink): Enhance test.
79213         symlink: detect FreeBSD bug
79214         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
79215         slash on symlink.
79216         * doc/posix-functions/symlink.texi (symlink): Document the bug.
79217         * tests/test-symlink.h (test_symlink): Enhance test.
79219 2009-11-10  Eric Blake  <ebb9@byu.net>
79221         link: detect FreeBSD bug
79222         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
79223         symlink.
79224         * doc/posix-functions/link.texi (link): Document the bug.
79225         * tests/test-link.h (test_link): Enhance test.
79226         * tests/test-linkat.c (main): Update caller.
79228         unlink, remove: detect FreeBSD bug
79229         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
79230         slash on symlink.
79231         * doc/posix-functions/unlink.texi (unlink): Document the bug.
79232         * doc/posix-functions/remove.texi (remove): Likewise.
79233         * tests/test-unlink.h (test_unlink): Enhance test.
79234         * tests/test-remove.c (main): Likewise.
79236 2009-11-09  Eric Blake  <ebb9@byu.net>
79238         rename: detect FreeBSD bug
79239         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
79240         slash on symlink.
79241         * modules/renameat-tests (Depends-on): Add filenamecat.
79242         * tests/test-rename.h (test_rename): Allow one more errno.
79243         * tests/test-renameat.c (main): Likewise.
79244         * doc/posix-functions/rename.texi (rename): Document the bug.
79246         open: detect FreeBSD bug
79247         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
79248         symlink.
79249         * doc/posix-functions/open.texi (open): Document the bug.
79250         * doc/posix-functions/utimes.texi (utimes): Likewise.
79251         * tests/test-open.h (test_open): Add parameters, and test symlink
79252         handling.
79253         * tests/test-open.c (main): Adjust caller.
79254         * tests/test-fcntl-safer.c (main): Likewise.
79255         * modules/open-tests (Depends-on): Add stdbool, symlink.
79256         * modules/fcntl-safer-tests (Depends-on): Likewise.
79257         * tests/test-openat.c (main): Add test-open tests.
79259         stat: detect FreeBSD bug
79260         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
79261         symlink.
79262         * doc/posix-functions/stat.texi (stat): Document the bug.
79263         * tests/test-stat.h (test_stat_func): Add argument.
79264         * tests/test-stat.c (main): Adjust caller.
79265         * tests/test-fstatat.c (main): Likewise.
79266         * modules/stat-tests (Depends-on): Add stdbool, symlink.
79267         Reported by Jim Meyering.
79269 2009-11-09  James Youngman  <jay@gnu.org>
79271         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
79272         * lib/strftime.c: Correct placement of #include "ignore-value.h".
79274 2009-11-08  Jim Meyering  <meyering@redhat.com>
79276         utimens: remove invalid futimesat call
79277         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
79278         It used the file descriptor of the target file as the DIR_FD
79279         parameter and NULL as the file name.  That caused failure with
79280         errno == EFAULT on FreeBSD-8.0-rc2
79282 2009-11-07  Eric Blake  <ebb9@byu.net>
79284         fflush, freadseek: use fseeko, not fseek
79285         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
79286         (clear_ungetc_buffer): Avoid potential problems on large files.
79287         * lib/freadseek.c (freadseek): Likewise.
79288         * modules/freadseek (Depends-on): Add fseeko.
79289         * modules/fseek (configure.ac): Set a witness.
79290         * tests/test-fflush.c (main): Use fseeko.
79291         * tests/test-fpurge.c (fseek): Disable link warning.
79292         * tests/test-freadable.c (fseek): Likewise.
79293         * tests/test-freading.c (fseek): Likewise.
79294         * tests/test-fseeko.c (fseek): Likewise.
79295         * tests/test-ftell.c (fseek): Likewise.
79296         * tests/test-ftello.c (fseek): Likewise.
79297         * tests/test-fwritable.c (fseek): Likewise.
79298         * tests/test-fwriting.c (fseek): Likewise.
79300 2009-11-06  Simon Josefsson  <simon@josefsson.org>
79302         * modules/memchr (Depends-on): Drop getpagesize dependency.
79304 2009-11-06  Simon Josefsson  <simon@josefsson.org>
79306         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
79307         Reported by Ludovic Courtès.
79308         * build-aux/pmccabe2html: Improve example usage.
79309         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
79311 2009-11-06  Jim Meyering  <meyering@redhat.com>
79313         do-release-commit-and-tag: New module.
79314         Automate the release-commit and tag process.
79315         * build-aux/do-release-commit-and-tag: New script, from coreutils.
79316         * modules/do-release-commit-and-tag: New file.
79317         * MODULES.html.sh (Support for maintaining and releasing): Add it.
79319 2009-11-06  Simon Josefsson  <simon@josefsson.org>
79321         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
79322         because test-select.c uses inet_pton.
79324 2009-11-06  Simon Josefsson  <simon@josefsson.org>
79326         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
79327         GETADDRINFO_LIB.  Bump serial number.
79328         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
79329         Suggested by Eric Blake <ebb9@byu.net>.
79331 2009-11-05  Eric Blake  <ebb9@byu.net>
79333         strtod: detect darwin bug
79334         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
79335         Reported by Leo Davis.
79337         freopen-safer: new module
79338         * modules/freopen-safer: New module.
79339         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
79340         * lib/freopen-safer.c (freopen_safer): New file.
79341         * lib/stdio-safer.h (freopen_safer): New declaration.
79342         * lib/stdio--.h (freopen): New override.
79343         * MODULES.html.sh (File stream based Input/Output): Mention it.
79344         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
79345         freopen-safer module.
79346         * doc/posix-functions/stderr.texi (stderr): Likewise.
79347         * doc/posix-functions/stdin.texi (stdin): Likewise.
79348         * doc/posix-functions/stdout.texi (stdout): Likewise.
79349         * modules/freopen-safer-tests: New test.
79350         * tests/test-reopen-safer.c: New file.
79352 2009-11-05  Jim Meyering  <meyering@redhat.com>
79354         maint.mk: Prohibit inclusion of "close-stream.h" without use.
79355         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
79357 2009-11-05  Simon Josefsson  <simon@josefsson.org>
79359         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
79361 2009-11-05  Simon Josefsson  <simon@josefsson.org>
79363         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
79365 2009-11-05  Simon Josefsson  <simon@josefsson.org>
79367         Fix link error.
79368         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
79369         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
79371 2009-11-05  Simon Josefsson  <simon@josefsson.org>
79373         * tests/test-func.c: Also test value of __func__.
79375 2009-11-05  Simon Josefsson  <simon@josefsson.org>
79377         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
79378         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
79380 2009-11-05  Bruno Haible  <bruno@clisp.org>
79382         Fix link error.
79383         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
79384         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
79385         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
79387 2009-11-05  Bruno Haible  <bruno@clisp.org>
79389         Tests for module 'inet_pton'.
79390         * modules/inet_pton-tests: New file.
79391         * tests/test-inet_pton.c: New file.
79393 2009-11-05  Bruno Haible  <bruno@clisp.org>
79395         Tests for module 'inet_ntop'.
79396         * modules/inet_ntop-tests: New file.
79397         * tests/test-inet_ntop.c: New file.
79399 2009-11-04  Eric Blake  <ebb9@byu.net>
79401         stdlib-safer: wrap all mkstemp variants
79402         * modules/mkostemp (configure.ac): Set witness.
79403         * modules/mkostemps (configure.ac): Likewise.
79404         * modules/mkstemps (configure.ac): Likewise.
79405         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
79406         (mkstemps_safer): Wrap more functions.
79407         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
79408         wrapping.
79409         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
79410         (mkstemps_safer): Implement the wrappers.
79412         mkstemps, mkostemps: new modules
79413         * modules/mkostemps: New module.
79414         * modules/mkstemps: Likewise.
79415         * lib/mkostemps.c (mkostemps): New file.
79416         * lib/mkstemps.c (mkstemps): Likewise.
79417         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
79418         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
79419         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
79420         * modules/stdlib (Makefile.am): Substitute them.
79421         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
79422         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
79423         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
79424         * doc/gnulib.texi (Glibc stdlib.h): Include them.
79425         * MODULES.html.sh (File system functions): Mention them.
79427         tempname: resync from glibc
79428         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
79429         same values for __GT_FILE as glibc.  Abort even when assertions
79430         are disabled.
79431         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
79432         match its value otherwise.  Allow idempotent inclusion.
79433         * lib/mkdtemp.c (mkdtemp): Adjust caller.
79434         * lib/mkostemp.c (mkostemp): Likewise.
79435         * lib/mkstemp.c (mkstemp): Likewise.
79436         * lib/tmpfile.c (tmpfile): Likewise.
79437         * NEWS: Document this.
79439         utimens: fix use of futimens on older Linux
79440         * lib/utimens.c (fdutimens): Use updated, rather than original,
79441         timespec to avoid bug in older Linux kernel.
79442         Reported by Simon Josefsson.
79444 2009-11-04  Bruno Haible  <bruno@clisp.org>
79446         Make num_processors more flexible and consistent.
79447         * lib/nproc.h (enum nproc_query): New type.
79448         (num_processors): Add a 'query' argument.
79449         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
79450         (num_processors): Add a 'query' argument. Test the value of the
79451         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
79452         mingw, count the number of CPUs available for the current process.
79453         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
79454         Check for sched_getaffinity and sched_getaffinity_np.
79455         * modules/nproc (Depends-on): Add c-ctype, extensions.
79456         * NEWS: Mention the change.
79458 2009-11-03  Bruno Haible  <bruno@clisp.org>
79460         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
79462 2009-11-03  Jim Meyering  <meyering@redhat.com>
79464         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
79465         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
79466         if it is defined.
79468 2009-11-02  Eric Blake  <ebb9@byu.net>
79470         mktime, timegm: share common declaration
79471         * lib/mktime-internal.h: New file.
79472         * lib/mktime.c: Use it rather than open-coding a declaration.
79473         * lib/timegm.c: Likewise.
79474         * modules/mktime (Files): Ship it.
79475         * modules/timegm (Files): Likewise.
79476         Suggested by Bruno Haible.
79478         test-update-copyright: update test to match script changes
79479         * tests/test-update-copyright.sh: Avoid hard-coding perl
79480         location.  Don't update *.bak created by earlier runs.
79482 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
79483             Simon Josefsson  <simon@josefsson.org>
79484             Bruno Haible  <bruno@clisp.org>
79486         Fix link error on Solaris 8.
79487         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
79488         also in libnsl. Define also INET_PTON_LIB.
79489         * modules/inet_pton (Link): New section.
79491 2009-11-02  Simon Josefsson  <simon@josefsson.org>
79492             Bruno Haible  <bruno@clisp.org>
79494         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
79495         * modules/inet_ntop (Link): New section.
79496         Reported by Boyan Kasarov <bkasarov@gmail.com>.
79498 2009-11-02  Eric Blake  <ebb9@byu.net>
79500         maint: avoid compiler warnings in m4 macros
79501         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
79502         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
79504 2009-11-02  Simon Josefsson  <simon@josefsson.org>
79506         * m4/pmccabe2html.m4: Remove file.
79507         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
79508         function.  Change maintainer.
79509         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
79510         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
79511         Courtès).
79513 2009-10-31  Eric Blake  <ebb9@byu.net>
79515         fseeko: fix m4 regression
79516         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
79517         regression from 2009-10-27.
79518         Reported by Ralf Wildenhues.
79520 2009-10-31  Jim Meyering  <meyering@redhat.com>
79522         inttostr: aesthetics and improved (compile-time) safety
79523         Define inttype_is_signed rather than inttype_is_unsigned,
79524         since the sole use is via "#if inttype_is_signed".
79525         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
79526         inttype_is_unsigned.
79527         * lib/offtostr.c (inttype_is_signed): Likewise.
79528         * lib/uinttostr.c (inttype_is_signed): Likewise.
79529         * lib/umaxtostr.c (inttype_is_signed): Likewise.
79530         * lib/inttostr.c (inttostr): Use verify to cross-check the
79531         inttype_is_signed value and the signedness of the actual type.
79532         * modules/inttostr (Depends-on): Add verify.
79534 2009-10-30  Eric Blake  <ebb9@byu.net>
79536         build: avoid compiler warnings
79537         * lib/fchmodat.c (lchmod): Mark unused variables.
79538         * lib/getopt.c (_getopt_initialize): Likewise.
79539         * lib/mktime.c (__mktime_internal): Provide prototype.
79540         * lib/inttostr.c (inttostr): Avoid compiler warning even with
79541         older gcc that do not understand #pragma GCC diagnostic.
79542         * lib/uinttostr.c (inttype_is_unsigned): Define.
79543         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
79545 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
79547         stat: fix compilation on AIX
79548         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
79549         only see struct stat64.
79551 2009-10-30  Eric Blake  <ebb9@byu.net>
79553         exclude: make more robust
79554         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
79555         rather than masking a coding bug.
79556         Suggested by Bruno Haible.
79558 2009-10-30  Jim Meyering  <meyering@redhat.com>
79560         perl scripts: remove #!/usr/bin/perl in favor of more portable...
79561         Rather than putting #!/usr/bin/perl on the first line,
79562         start with a variant of what's recommended by "man perlrun" that
79563         invokes the first "perl" program from your shell's search path.
79564         * build-aux/gitlog-to-changelog: Replace #!... as above.
79565         Add a "Local Variables" perl mode setting.
79566         Prompted by a patch from Ludovic Courtès.
79567         Improved by Eric Blake.
79568         * build-aux/useless-if-before-free: Likewise.
79569         * build-aux/announce-gen: Likewise.
79570         * build-aux/update-copyright: Likewise.
79572 2009-10-29  Eric Blake  <ebb9@byu.net>
79574         filenamecat-lgpl: adjust clients
79575         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
79576         filenamecat.
79577         * modules/renameat (Depends-on): Likewise.
79579         filenamecat: split into filenamecat-lgpl
79580         * modules/filenamecat-lgpl: New module.
79581         * modules/filenamecat (Files): Move library-safe files into
79582         filenamecat-lgpl.
79583         (Depends-on): Add filenamecat-lgpl.
79584         (configure.ac): Declare witness.
79585         * lib/filenamecat.h (file_name_concat): Only declare when using
79586         GPL module.
79587         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
79588         Move...
79589         * lib/filenamecat-lgpl.c: ...into new file.
79590         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
79591         (gl_FILE_NAME_CONCAT): Use it.
79592         * MODULES.html.sh (File system functions): Mention new module.
79594         argp: avoid memory leak
79595         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
79596         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
79597         base_name, since the latter malloc()s and can call exit().
79598         Leak introduced 2006-07-03.
79600         dirname-lgpl: adjust clients that don't need full dirname
79601         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
79602         * modules/filenamecat (Depends-on): Likewise.
79603         * modules/linkat (Depends-on): Likewise.
79604         * modules/mkancesdirs (Depends-on): Likewise.
79605         * modules/mkdir (Depends-on): Likewise.
79606         * modules/openat (Depends-on): Likewise.
79607         * modules/savewd (Depends-on): Likewise.
79608         * modules/rename (Depends-on): Likewise.
79609         (License): Relax license.
79610         * modules/mkdir-tests (Depends-on): Drop progname.
79611         (Makefile.am): Delete unneeded LDADD.
79612         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
79614         dirname: split into dirname-lgpl
79615         * modules/dirname-lgpl: New module.
79616         * modules/dirname (Files): Move library-safe files into
79617         dirname-lgpl.
79618         (Depends-on): Add dirname-lgpl.
79619         (configure.ac): Declare witness.
79620         * modules/double-slash-root (License): Relax license.
79621         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
79622         module.
79623         * lib/dirname.c (dir_len, mdir_name): Move...
79624         * lib/dirname-lgpl.c: ...into new file.
79625         * lib/basename.c (last_component, base_len): Move...
79626         * lib/basename-lgpl.c: ...into new file.
79627         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
79628         (gl_DIRNAME): Use it.
79629         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
79630         Mention new module.
79631         * modules/dirname-tests (Depends-on): Add progname.
79632         * tests/test-dirname.c (program_name): Delete.
79634         mkdir: make safe for libraries
79635         * modules/mkdir (Depends-on): Drop xalloc.
79636         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
79637         exit.
79639         tests: avoid some compiler warnings
79640         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
79641         literals.
79642         * tests/test-memchr.c (main): Avoid type mismatch.
79643         * tests/test-arpa_inet.c (main): Avoid unused parameters.
79644         * tests/test-base64.c (main): Likewise.
79645         * tests/test-getdelim.c (main): Likewise.
79646         * tests/test-gethostname.c (main): Likewise.
79647         * tests/test-getline.c (main): Likewise.
79648         * tests/test-netinet_in.c (main): Likewise.
79649         * tests/test-select.c (open_server_socket, main): Likewise.
79650         * tests/test-select-stdin.c (main): Likewise.
79651         * tests/test-sockets.c (main): Likewise.
79652         * tests/test-strsignal.c (main): Likewise.
79653         * tests/test-sys_select.c (main): Likewise.
79654         * tests/test-sys_socket.c (main): Likewise.
79655         * tests/test-u64.c (main): Likewise.
79656         * tests/test-xfprintf-posix.c (main): Likewise.
79657         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
79659         sockets: avoid compiler warning
79660         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
79662         maint: detect usage(1) and other suspicious exits
79663         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
79665 2009-10-29  Jim Meyering  <meyering@redhat.com>
79667         timespec: long-to-int truncation could make timespec_cmp malfunction
79668         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
79669         a multiple of 2^32 nanoseconds as no difference.
79671 2009-10-28  Jim Meyering  <meyering@redhat.com>
79673         fprintftime: wrap macro code argument in "do {...} while(0)"
79674         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
79675         cpy macro must be a statement that can be followed by a semicolon.
79676         Now that the else clause contains a comment and is hence longer
79677         than one line, I require curly braces.  That in turn requires
79678         that we wrap this code block in the standard do...while(0).
79680         fprintftime: remove stray semicolon from previous change
79681         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
79683         fprintftime: avoid a warning about ignored fwrite return value
79684         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
79685         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
79686         that is unsafe.
79687         * modules/fprintftime (Depends-on): Add ignore-value.
79689         exclude: avoid an unwarranted warning
79690         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
79692 2009-10-27  Eric Blake  <ebb9@byu.net>
79694         fseek: avoid compilation failure when fflush is replaced
79695         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
79696         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
79697         module is in use.
79698         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
79699         module is not in use; since REPLACE_FSEEK worked otherwise.
79700         (GNULIB_FTELLO): Likewise for ftell.
79701         Reported by Ian Beckwith and others.
79703 2009-10-27  Bruno Haible  <bruno@clisp.org>
79705         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
79706         Reported by Jim Meyering.
79708 2009-10-27  Jim Meyering  <jim@meyering.net>
79709             Bruno Haible  <bruno@clisp.org>
79711         Avoid warning despite dropping the return value of fwrite.
79712         * lib/unicodeio.c: Include ignore-value.h.
79713         (fwrite_success_callback): Explicitly ignore fwrite's return value.
79714         * modules/unicodeio (Depends-on): Add ignore-value.
79716 2009-10-26  Eric Blake  <ebb9@byu.net>
79718         areadlinkat: fix fallback path
79719         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
79720         pointer and zero.
79722 2009-10-22  Pádraig Brady  <P@draigBrady.com>
79724         Use a better IO block size for modern systems
79725         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
79726         * lib/md2.c: Likewise.
79727         * lib/md4.c: Likewise.
79728         * lib/md5.c: Likewise.
79729         * lib/sha1.c: Likewise.
79730         * lib/sha256.c: Likewise.
79731         * lib/sha512.c: Likewise.
79733 2009-10-22  Eric Blake  <ebb9@byu.net>
79735         tests: avoid several compiler warnings
79736         * tests/test-getcwd.c (main): Avoid buffer underflow.
79737         * tests/test-getdate.c (main): String literals are not safe with
79738         putenv, so use setenv.  Declare unused argument.
79739         * modules/getdate-tests (Depends-on): Add setenv.
79740         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
79741         problems with string literals in char *.
79742         * tests/test-hash.c (main): Avoid shadowing declaration.
79743         (insert_new): Treat string literals as char const *.
79744         * tests/test-getopt.h (test_getopt): Likewise.
79745         (getopt_loop): Alter types to minimize casting elsewhere.
79746         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
79747         (test_getopt_long_posix): Likewise.
79748         (do_getopt_long): Add wrapper to minimize casting.
79749         * tests/test-atexit.c (clear_temp_file): Use void.
79750         * tests/test-areadlink-with-size.c (main): Declare unused
79751         arguments.
79752         * tests/test-areadlink.c (main): Likewise.
79753         * tests/test-areadlinkat-with-size.c (main): Likewise.
79754         * tests/test-areadlinkat.c (main): Likewise.
79755         * tests/test-canonicalize-lgpl.c (main): Likewise.
79756         * tests/test-canonicalize.c (main): Likewise.
79757         * tests/test-dirent-safer.c (main): Likewise.
79758         * tests/test-dirname.c (main): Likewise.
79759         * tests/test-dup2.c (main): Likewise.
79760         * tests/test-fchdir.c (main): Likewise.
79761         * tests/test-fcntl-h.c (main): Likewise.
79762         * tests/test-fcntl-safer.c (main): Likewise.
79763         * tests/test-fdopendir.c (main): Likewise.
79764         * tests/test-fdutimensat.c (main): Likewise.
79765         * tests/test-fflush.c (main): Likewise.
79766         * tests/test-filenamecat.c (main): Likewise.
79767         * tests/test-filevercmp.c (main): Likewise.
79768         * tests/test-fopen-safer.c (main): Likewise.
79769         * tests/test-fopen.c (main): Likewise.
79770         * tests/test-fpending.c (main): Likewise.
79771         * tests/test-fpurge.c (main): Likewise.
79772         * tests/test-freading.c (main): Likewise.
79773         * tests/test-fstatat.c (main): Likewise.
79774         * tests/test-fsync.c (main): Likewise.
79775         * tests/test-futimens.c (main): Likewise.
79776         * tests/test-getndelim2.c (main): Likewise.
79777         * tests/test-gettimeofday.c (main): Likewise.
79778         * tests/test-getopt.c (main): Likewise.
79779         * tests/test-i-ring.c (main): Likewise.
79780         * tests/test-inttypes.c (main): Likewise.
79781         * tests/test-link.c (main): Likewise.
79782         * tests/test-lstat.c (main): Likewise.
79783         * tests/test-math.c (main): Likewise.
79784         * tests/test-md5.c (main): Likewise.
79785         * tests/test-memchr2.c (main): Likewise.
79786         * tests/test-memrchr.c (main): Likewise.
79787         * tests/test-mkdir.c (main): Likewise.
79788         * tests/test-mkdirat.c (main): Likewise.
79789         * tests/test-mkfifoat.c (main): Likewise.
79790         * tests/test-open.c (main): Likewise.
79791         * tests/test-openat-safer.c (main): Likewise.
79792         * tests/test-openat.c (main): Likewise.
79793         * tests/test-quotearg.c (main): Likewise.
79794         * tests/test-rawmemchr.c (main): Likewise.
79795         * tests/test-readlink.c (main): Likewise.
79796         * tests/test-remove.c (main): Likewise.
79797         * tests/test-rename.c (main): Likewise.
79798         * tests/test-renameat.c (main): Likewise.
79799         * tests/test-rmdir.c (main): Likewise.
79800         * tests/test-sha1.c (main): Likewise.
79801         * tests/test-signal.c (main): Likewise.
79802         * tests/test-sigaction.c (main): Likewise.
79803         * tests/test-stat.c (main): Likewise.
79804         * tests/test-stat-time.c (main): Likewise.
79805         * tests/test-stddef.c (main): Likewise.
79806         * tests/test-stdint.c (main): Likewise.
79807         * tests/test-stdio.c (main): Likewise.
79808         * tests/test-stdlib.c (main): Likewise.
79809         * tests/test-strchrnul.c (main): Likewise.
79810         * tests/test-strerror.c (main): Likewise.
79811         * tests/test-string.c (main): Likewise.
79812         * tests/test-strtod.c (main): Likewise.
79813         * tests/test-strverscmp.c (main): Likewise.
79814         * tests/test-symlink.c (main): Likewise.
79815         * tests/test-symlinkat.c (main): Likewise.
79816         * tests/test-sys_stat.c (main): Likewise.
79817         * tests/test-sys_time.c (main): Likewise.
79818         * tests/test-time.c (main): Likewise.
79819         * tests/test-unistd.c (main): Likewise.
79820         * tests/test-unlink.c (main): Likewise.
79821         * tests/test-unlinkat.c (main): Likewise.
79822         * tests/test-utimens.c (main): Likewise.
79823         * tests/test-utimensat.c (main): Likewise.
79824         * tests/test-version-etc.c (main): Likewise.
79825         * tests/test-wchar.c (main): Likewise.
79826         * tests/test-wctype.c (main): Likewise.
79827         * tests/test-xprintf-posix.c (main): Likewise.
79828         * tests/test-posixtm.c (main): Likewise.
79829         (STREQ): Delete unused macro.
79830         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
79831         shadowed variables.
79832         * tests/test-memchr.c (main): Likewise.
79834 2009-10-21  Eric Blake  <ebb9@byu.net>
79836         areadlinkat: avoid failure on older glibc
79837         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
79838         rather than mis-comparing 0 against FUNC_RESULT of char*.
79840 2009-10-21  Bruno Haible  <bruno@clisp.org>
79842         * modules/stpncpy (License): Relicense under LGPLv2+.
79843         Reported by David Lutterkort <lutter@redhat.com>.
79845 2009-10-20  Eric Blake  <ebb9@byu.net>
79847         utimensat: work around Solaris 9 bug
79848         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
79849         has trailing slash bugs.
79850         * tests/test-lutimens.h (test_lutimens): Enhance test.
79851         * tests/test-utimens.h (test_utimens): Likewise.
79852         * doc/posix-functions/utime.texi (utime): Enhance documentation.
79853         * doc/posix-functions/utimes.texi (utimes): Likewise.
79854         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
79855         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
79856         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
79857         * doc/posix-functions/futimens.texi (futimens): Likewise.
79859         fdutimensat: new module
79860         * modules/fdutimensat: New file.
79861         * lib/fdutimensat.c (fdutimensat): Likewise.
79862         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
79863         * MODULES.html.sh (File system functions): Mention module.
79864         * modules/fdutimensat-tests: New test.
79865         * tests/test-fdutimensat.c: Likewise.
79867         doc: regenerate INSTALL
79868         * doc/INSTALL: Reflect recent autoconf update.
79869         * doc/INSTALL.ISO: Likewise.
79870         * doc/INSTALL.UTF-8: Likewise.
79872 2009-10-20  Pádraig Brady  <P@draigBrady.com>
79874         acl: warn if ACL support is not detected
79875         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
79877 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
79879         * lib/nproc.h: Add extern "C" block for C++.
79881 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
79882             Bruno Haible  <bruno@clisp.org>
79884         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
79885         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
79886         * doc/posix-functions/isalpha.texi: Likewise.
79887         * doc/posix-functions/isblank.texi: Likewise.
79888         * doc/posix-functions/iscntrl.texi: Likewise.
79889         * doc/posix-functions/isdigit.texi: Likewise.
79890         * doc/posix-functions/isgraph.texi: Likewise.
79891         * doc/posix-functions/islower.texi: Likewise.
79892         * doc/posix-functions/isprint.texi: Likewise.
79893         * doc/posix-functions/ispunct.texi: Likewise.
79894         * doc/posix-functions/isspace.texi: Likewise.
79895         * doc/posix-functions/isupper.texi: Likewise.
79896         * doc/posix-functions/isxdigit.texi: Likewise.
79898 2009-10-18  Bruno Haible  <bruno@clisp.org>
79900         Tests for module 'isblank'.
79901         * modules/isblank-tests: New file.
79902         * tests/test-isblank.c: New file.
79904         New module 'isblank'.
79905         * lib/isblank.c: New file.
79906         * m4/isblank.m4: New file.
79907         * modules/isblank: New file.
79908         * doc/posix-functions/isblank.texi: Mention the new module.
79910 2009-10-18  Bruno Haible  <bruno@clisp.org>
79912         New module 'ctype'.
79913         * lib/ctype.in.h: New file.
79914         * m4/ctype.m4: New file.
79915         * modules/ctype: New file.
79916         * doc/posix-headers/ctype.texi: Mention the new module.
79918 2009-10-18  Jim Meyering  <meyering@redhat.com>
79920         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
79921         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
79922         right after its initialization, rather than farther down.
79923         Keeping these in close proximity makes it easier to ensure
79924         that each such variable is initialized.  E.g.,
79926             LIB_CLOCK_GETTIME=
79927             AC_SUBST([LIB_CLOCK_GETTIME])
79929         This change also increments these serial numbers.
79930         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
79931         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
79932         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
79934 2009-10-18  Bruno Haible  <bruno@clisp.org>
79936         Don't let environment variables perturb build.
79937         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
79938         (gl_PREREQ_GETHRXTIME): ... not here.
79940 2009-10-18  Bruno Haible  <bruno@clisp.org>
79942         Avoid symlink attack in localcharset module.
79943         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
79944         (O_NOFOLLOW): Define fallback.
79945         (get_charset_aliases): Don't open the file if it is a symbolic link.
79946         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
79947         gl_FCNTL_H.
79948         (gl_FCNTL_H): Require it.
79949         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
79950         * modules/localcharset (Files): Add m4/fcntl_h.m4.
79951         Reported by Fergal Glynn <fglynn@veracode.com>.
79953 2009-10-18  Bruno Haible  <bruno@clisp.org>
79955         Implement nproc for mingw.
79956         * lib/nproc.c: Include <windows.h>
79957         (num_processors): On native Windows platforms, try GetSystemInfo.
79959 2009-10-18  Bruno Haible  <bruno@clisp.org>
79961         Implement nproc for IRIX.
79962         * lib/nproc.c: Include <sys/sysmp.h>.
79963         (num_processors): On IRIX systems, try sysmp.
79964         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
79966 2009-10-18  Bruno Haible  <bruno@clisp.org>
79968         Implement nproc for HP-UX.
79969         * lib/nproc.c: Include <sys/pstat.h>
79970         (num_processors): On HP-UX systems, try pstat_getdynamic.
79971         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
79972         pstat_getdynamic.
79974 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
79975             Bruno Haible  <bruno@clisp.org>
79977         Implement nproc for NetBSD, OpenBSD.
79978         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
79979         (ARRAY_SIZE): New macro.
79980         (num_processors): On BSD systems, try sysctl of HW_NCPU.
79981         * m4/nproc.m4: New file.
79982         * modules/nproc (Files): Add m4/nproc.m4.
79983         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
79984         (Makefile.am): Instead, augment lib_SOURCES.
79986 2009-10-18  Bruno Haible  <bruno@clisp.org>
79988         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
79989         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
79990         sys/param.h.
79992 2009-10-16  Eric Blake  <ebb9@byu.net>
79994         utimensat: new module
79995         * modules/utimensat: New file.
79996         * lib/utimensat.c (utimensat): Likewise.
79997         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
79998         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
79999         so we can work around Linux bugs.
80000         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
80001         * modules/sys_stat (Makefile.am): Substitute them.
80002         * lib/sys_stat.in.h (utimensat): Declare it.
80003         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
80004         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
80005         * modules/utimensat-tests: New test.
80006         * tests/test-utimensat.c: Likewise.
80008         utimens: let lutimens work on non-symlinks
80009         * lib/utimens.c (lutimens): Fall back to utimens rather than
80010         failing with ENOSYS, when file is not a symlink.
80011         (utimens): Reduce redirection.
80012         * tests/test-lutimens.h (test_lutimens): Update test to cover
80013         non-symlinks.
80014         * tests/test-utimens.h (test_utimens): Update test to cover
80015         symlinks.
80016         * tests/test-utimens.c (main): Update caller.
80018         utimens: cache whether utimensat syscall works
80019         * lib/utimens.c (utimensat_works_really): New cache variable.
80020         (fdutimens, lutimens): Use it to avoid failing syscall.
80022         test-stat-time, test-utimens: improve portability
80023         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
80024         ext4 on alpha, and for cygwin.
80025         * tests/test-utimens-common.h: New file.
80026         (nap): Factor delays into single function.
80027         * tests/test-lutimens.h (test_lutimens): Use new header.
80028         * tests/test-futimens.h (test_futimens): Likewise.
80029         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
80030         timestamps to occur from same machine, as was done previously for
80031         test_utimens.
80032         * modules/utimens-tests (Files): Ship new file.
80033         * modules/futimens-tests (Files): Likewise.
80034         Reported in part by Jim Meyering.
80036         sys_stat: sort replacement declarations
80037         * lib/sys_stat.in.h: Sort declarations.
80038         * lib/futimens.c (futimens): Fix typo.
80040 2009-10-15  Jim Meyering  <meyering@redhat.com>
80042         don't let environment settings perturb build
80043         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
80044         could cause a configure-time and/or build-time malfunction.
80045         Typically, a configure-time function-in-library test is performed
80046         via code like this:
80048           LIB_VAR=
80049           AC_SUBST([LIB_VAR])
80050           prefix_saved_LIBS=$LIBS
80051             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
80052                        [test "$ac_cv_search_FUNC" = "none required" ||
80053                         LIB_VAR=$ac_cv_search_FUNC])
80054           LIBS=$prefix_saved_LIBS
80056         However, in each of the files affected by this change, the LIB_VAR=
80057         initialization was omitted.  Thus, when set in the environment, its
80058         value would propagate into generated Makefiles when FUNC is not found
80059         in LIB_NAME.
80060         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
80061         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
80062         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
80064 2009-10-14  Eric Blake  <ebb9@byu.net>
80066         fchdir: avoid infinite recursion in mingw
80067         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
80068         recursing.
80070         test-stat-time: port to mingw
80071         * tests/test-stat-time.c (force_unlink): Return a value.
80072         (test_ctime) [W32]: Fix compilation error.
80073         (nap): Don't call usleep with too large an argument.  Use
80074         force_unlink.
80075         * doc/pastposix-functions/usleep.texi (usleep): Document the
80076         portability issue.
80078 2009-10-13  Jim Meyering  <meyering@redhat.com>
80080         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
80081         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
80082         * modules/pipe-filter-ii: Likewise.
80083         * modules/sys_socket-tests: Likewise.
80084         * modules/tsearch-tests: Likewise.
80085         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
80086         (check): Depend on it.
80088 2009-10-12  Eric Blake  <ebb9@byu.net>
80090         utimens-tests: port to NFS file systems
80091         * tests/test-utimens.h (test_utimens): Refactor utimecmp
80092         comparisons to avoid spurious failures from timestamp drift
80093         between NFS machines.
80095 2009-10-12  Eric Blake  <ebb9@byu.net>
80097         stat-time-tests: minor cleanups
80098         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
80099         * tests/test-stat-time.c (nap): Separate assignment from call.
80100         Suggested by Paolo Bonzini and Bruno Haible.
80102         sys_stat: guarantee struct timespec
80103         * lib/sys_stat.in.h (includes): Always include <time.h>
80104         * modules/sys_stat (Depends-on): Add time.
80105         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
80106         mode_t permission values.
80107         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
80108         get at subsecond timestamps.
80110 2009-10-10  Eric Blake  <ebb9@byu.net>
80112         futimens: new module
80113         * modules/futimens: New file.
80114         * lib/futimens.c (futimens): Likewise.
80115         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
80116         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
80117         we can work around Linux bugs.
80118         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
80119         * modules/sys_stat (Makefile.am): Substitute them.
80120         * lib/sys_stat.in.h (futimens): Declare it.
80121         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
80122         * doc/posix-functions/futimens.texi (futimens): Likewise.
80123         * modules/futimens-tests: New test.
80124         * tests/test-futimens.c: Likewise.
80126         utimens: introduce fdutimens
80127         * lib/utimens.h (fdutimens): New prototype.
80128         * lib/utimens.c (gl_futimens): Move guts...
80129         (fdutimens): ...to new interface.
80130         * tests/test-utimens.c (do_fdutimens): Use it.
80132         utimens: add UTIME_NOW and UTIME_OMIT support
80133         * lib/utimens.c (validate_timespec, update_timespec): New helper
80134         functions.
80135         (gl_futimens, lutimens): Use them.
80136         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
80137         stdbool, sys_stat.
80138         (Link): Mention resulting library dependency.
80139         * modules/utimecmp (Link): Likewise.
80140         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
80141         (Makefile.am): Pick up library dependency.
80142         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
80143         definition.
80144         * tests/test-sys_stat.c: Test the definitions.
80145         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
80146         * NEWS: Document library dependency.
80148         utimecmp: support symlink timestamps
80149         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
80150         hashing when possible.  Use pathconf when available.
80151         (SYSCALL_RESOLUTION): Recognize tighter resolution.
80152         * modules/utimecmp (Depends-on): Add lstat.
80154         utimens: add lutimens interface
80155         * lib/utimens.c (lutimens): New function.
80156         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
80157         * lib/utimens.h (lutimens): Declare new interface.
80158         * tests/test-utimens.c (main): Enhance test.
80159         * tests/test-lutimens.h (test_lutimens): New file.
80160         * modules/utimens-tests (Files): Distribute it.
80161         (Depends-on): Add symlink.
80162         (configure.ac): Check for usleep.
80164         utimens: validate futimens usage
80165         * lib/utimens.c (gl_futimens): Require valid fd up front, using
80166         fewer syscalls on failure later on.  Avoid compiler warning on
80167         mingw.
80168         * modules/utimens (Depends-on): Add dup2.
80170         utimens: add test
80171         * modules/utimens-tests: New test.
80172         * tests/test-utimens.h: New file.
80173         * tests/test-futimens.h: Likewise.
80174         * tests/test-utimens.c: Likewise.
80176         doc: mention timestamp portability issues
80177         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
80178         instead.
80179         * doc/posix-functions/utime.texi (utime): Likewise.
80180         * doc/posix-functions/utimes.texi (utimes): Likewise.
80181         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
80182         instead.
80183         * doc/posix-functions/futimens.texi (futimens): Mention utimens
80184         module.
80185         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
80186         Mention weakness with symlink timestamps.
80187         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
80188         to utimensat/futimens instead.
80189         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
80191         test-dup2: enhance test
80192         * tests/test-dup2.c (main): Also check AT_FDCWD.
80194         test-stat-time: avoid more spurious failures
80195         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
80196         xfs; and avoid race if the two timestamps cross quantization edge.
80198         relocatable: prefer 'file system' over 'filesystem'
80199         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
80200         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
80201         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
80202         * doc/relocatable.texi (Enabling Relocatability): Likewise.
80203         * lib/relocatable.c (compute_curr_prefix): Likewise.
80205 2009-10-10  Jim Meyering  <meyering@redhat.com>
80207         stat-time-tests: check for the usleep function
80208         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
80210 2009-10-10  Bruno Haible  <bruno@clisp.org>
80212         * modules/xnanosleep: Put the Link section after the Include section.
80214 2009-10-09  Eric Blake  <ebb9@byu.net>
80216         dup2: work around FreeBSD 6.1 bug
80217         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
80218         * doc/posix-functions/dup2.texi (dup2): Document it.
80219         Reported by Nelson H. F. Beebe and Jim Meyering.
80221         test-stat-time: port to buggy NFS clients
80222         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
80223         (test_ctime): Also skip test if mtime and ctime are skewed.
80225         maint: prefer 'file system' over 'filesystem'
80226         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
80227         * doc/posix-functions/lstat.texi (lstat): Likewise.
80228         * lib/file-has-acl.c (file_has_acl): Likewise.
80229         * lib/fwriteerror.c [TEST]: Likewise.
80230         * tests/test-areadlink.h (test_areadlink): Likewise.
80231         * tests/test-areadlinkat-with-size.c (main): Likewise.
80232         * tests/test-areadlinkat.c (main): Likewise.
80233         * tests/test-canonicalize-lgpl.c (main): Likewise.
80234         * tests/test-canonicalize.c (main): Likewise.
80235         * tests/test-fstatat.c (main): Likewise.
80236         * tests/test-linkat.c (main): Likewise.
80237         * tests/test-lstat.h (test_lstat_func): Likewise.
80238         * tests/test-mkdir.h (test_mkdir): Likewise.
80239         * tests/test-readlink.h (test_readlink): Likewise.
80240         * tests/test-remove.c (main): Likewise.
80241         * tests/test-rename.h (test_rename): Likewise.
80242         * tests/test-renameat.c (main): Likewise.
80243         * tests/test-rmdir.h (test_rmdir_func): Likewise.
80244         * tests/test-symlink.h (test_symlink): Likewise.
80245         * tests/test-symlinkat.c (main): Likewise.
80246         * tests/test-unlink.h (test_unlink_func): Likewise.
80247         * tests/test-unlinkat.c (main): Likewise.
80249         maint: make realtime library usage explicit
80250         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
80251         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
80252         * modules/settime (Link): Likewise.
80253         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
80255         test-stat-time: speed up execution
80256         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
80257         warning on mingw.
80258         (nap): New helper function.
80259         (prepare_test): Use it to reduce sleep time.
80260         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
80261         execution.
80262         * modules/stat-time-tests (configure.ac): Check for usleep.
80264 2009-10-09  Jim Meyering  <meyering@redhat.com>
80266         selinux-h: always use getfilecon wrappers
80267         * lib/getfilecon.c: New file.
80268         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
80269         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
80270         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
80271         (fgetfilecon): Provide a stub.
80272         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
80273         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
80274         file unconditionally.
80275         When <selinux/selinux.h> is found, arrange to use wrappers.
80276         * modules/selinux-h (Files): Add getfilecon.c.
80277         (Makefile.am): Substitute include-next-related bits
80278         into the now-always-generated selinux/selinux.h file.
80279         * doc/glibc-functions/lgetfilecon.texi: New file.
80280         * doc/glibc-functions/fgetfilecon.texi: New file.
80281         * doc/glibc-functions/getfilecon.texi: New file.
80282         * doc/glibc-functions/getfilecon-desc.texi: New file.
80283         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
80284         which to pull in the new files.
80285         * MODULES.html.sh (Misc): Add selinux-h.
80287 2009-10-08  Jim Meyering  <meyering@redhat.com>
80289         unistd: fix comment typo
80290         * lib/unistd.in.h (euidaccess): Fix a comment typo.
80292 2009-10-08  Eric Blake  <ebb9@byu.net>
80294         areadlink: use SIZE_MAX consistently
80295         * modules/areadlink (Depends-on): Add stdint.
80296         * modules/areadlink-with-size (Depends-on): Likewise.
80297         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
80298         gives NULL; drop sys/types, since unistd gives size_t; and add
80299         stdint for SIZE_MAX.
80300         (SIZE_MAX): Rely on headers.
80301         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
80302         and add stdint.
80303         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
80304         (SIZE_MAX): Likewise.
80305         (INITIAL_BUF_SIZE): Turn into enum.
80306         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
80308 2009-10-08  Jim Meyering  <meyering@redhat.com>
80310         areadlinkat: avoid compilation failure
80311         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
80312         Fix typo in comment.
80314 2009-10-07  Eric Blake  <ebb9@byu.net>
80316         areadlinkat-with-size: new module
80317         * modules/areadlinkat-with-size: New module.
80318         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
80319         * lib/areadlink.h (areadlinkat): Declare it.
80320         * MODULES.html.sh (File system functions): Mention it.
80321         * modules/areadlinkat-with-size-tests: New test.
80322         * tests/test-areadlinkat-with-size.c: New file.
80324         xreadlinkat: new module
80325         * modules/xreadlinkat: New module.
80326         * lib/xreadlinkat.c (xreadlinkat): New file.
80327         * lib/xreadlink.h (xreadlinkat): Declare it.
80328         * MODULES.html.sh (File system functions): Mention it.
80330         areadlinkat: new module
80331         * lib/at-func.c (FUNC_FAIL): New define.
80332         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
80333         * modules/areadlinkat: New module.
80334         * lib/linkat.c (areadlinkat): Move...
80335         * lib/areadlinkat.c (areadlinkat): ...to new file.
80336         * lib/areadlink.h (areadlinkat): Declare it.
80337         * modules/linkat (Depends-on): Add areadlinkat.
80338         * MODULES.html.sh (File system functions): Mention it.
80339         * modules/areadlinkat-tests: New test.
80340         * tests/test-areadlinkat.c: New file.
80342         areadlink, areadlink-with-size: add tests
80343         * modules/areadlink-tests: New test.
80344         * modules/areadlink-with-size-tests: Likewise.
80345         * tests/test-areadlink.h: New file.
80346         * tests/test-areadlink.c: Likewise.
80347         * tests/test-areadlink-with-size.c: Likewise.
80349         maint: minor cleanups
80350         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
80351         _UNUSED_PARAMETER_ instead.
80352         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
80353         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
80354         * modules/linkat-tests (Files): Distribute test-link.h.
80356         openat, utimens: whitespace cleanup
80357         * lib/openat.c: Prefer space throughout, rather than mix of 8
80358         spaces vs. tabs.
80359         * lib/at-func.c: Likewise.
80360         * lib/utimens.c: Likewise.
80362         openat: avoid using wrong fd
80363         * lib/openat.c (openat_permissive): Reject user's fd if saving the
80364         working directory chooses same fd.
80365         * lib/at-func.c (AT_FUNC_NAME): Likewise.
80367         mkdir, mkdirat: fix cygwin 1.5.x bug
80368         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
80369         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
80370         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
80371         bug.
80372         (gl_PREREQ_MKDIR): Delete unused macro.
80373         * modules/mkdir (Files): Track file rename.
80374         (configure.ac): Update macro name.
80375         * modules/openat (Depends-on): Add mkdir.
80376         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
80378         mkdir, mkdirat: add tests
80379         * modules/mkdir-tests: New test.
80380         * tests/test-mkdir.h: New file.
80381         * tests/test-mkdir.c: Likewise.
80382         * tests/test-mkdirat.c: Likewise.
80383         * modules/openat-tests (Files): Add new files.
80384         (Makefile.am): Run new test.
80386 2009-10-06  Eric Blake  <ebb9@byu.net>
80388         doc: tweak *at function documentation
80389         * doc/posix-functions/faccessat.texi (faccessat): Mention
80390         known issue with replacement.
80391         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
80392         * doc/posix-functions/linkat.texi (linkat): Likewise.
80393         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
80394         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
80395         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
80396         * doc/posix-functions/renameat.texi (renameat): Likewise.
80397         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
80399         openat: fix GNU/Hurd bug in unlinkat
80400         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
80401         broken.
80402         * doc/posix-functions/unlink.texi (unlink): Document this.
80403         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
80405         fdopendir: fix GNU/Hurd bug
80406         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
80407         allowing non-directory fds.
80408         * lib/fdopendir.c (rpl_fdopendir): Work around it.
80409         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
80410         * modules/dirent (Makefile.am): Substitute it.
80411         * lib/dirent.in.h (fdopendir): Declare replacement.
80412         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
80413         * tests/test-fdopendir.c (main): Test something other than
80414         /dev/null, since on Hurd that behaves like a directory.
80416         test-symlink: port to GNU/Hurd
80417         * tests/test-symlink.h (test_symlink): Relax expected errno.
80419         doc: tweak more cygwin information
80420         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
80421         now compatible with glibc.
80422         * doc/posix-functions/getopt.texi (getopt): Likewise.
80424         getopt-gnu: add another test
80425         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
80426         guarantee behavior relied on by m4.
80427         * tests/test-getopt.c (main): Use it.
80428         * modules/getopt-posix-tests (Depends-on): Add setenv.
80429         See http://lists.gnu.org/r/bug-m4/2006-09/msg00028.html.
80431         getopt: fix compilation on darwin
80432         * lib/getopt.in.h (includes): Leave breadcrumbs during system
80433         include.
80434         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
80435         Reported by Ludovic Courtès.
80437 2009-10-06  Bruno Haible  <bruno@clisp.org>
80439         * modules/size_max (Description): Discourage its use.
80440         Reported by Simon Josefsson.
80442 2009-10-06  Jim Meyering  <meyering@redhat.com>
80444         linkat: avoid compilation failure
80445         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
80447 2009-10-05  Eric Blake  <ebb9@byu.net>
80449         linkat: support Linux 2.6.17
80450         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
80451         linkat on Linux, but allow cache variable override.
80452         * lib/linkat.c (rpl_linkat): Define override.
80453         * modules/linkat (Depends-on): Add symlinkat.
80454         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
80455         * modules/unistd (Makefile.am): Substitute it.
80456         * lib/unistd.in.h (linkat): Declare replacement.
80457         Reported by Pádraig Brady.
80459         quotearg: port test to systems with C.UTF-8 locale
80460         * tests/test-quotearg.c (struct result_strings): Add another
80461         member, differentiating between C.ASCII and C.UTF-8 handling.
80462         (compare_strings): Add parameter.
80463         (main): Adjust all callers.
80465         getopt: avoid clash with FreeBSD _getopt_internal
80466         * lib/getopt.in.h (_getopt_internal): Override the name.
80467         * lib/getopt_int.h (includes): Pick up any overrides.
80468         Reported by Reuben Thomas.
80470         hash: allow C89 compilation
80471         * lib/hash.c (check_tuning): Move declaration before statement.
80472         Reported by Reuben Thomas.
80474 2009-10-05  Karl Berry  <karl@gnu.org>
80476         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
80478 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
80479             Bruno Haible  <bruno@clisp.org>
80481         * lib/uname.c (uname): Use a table-driven algorithm to compute
80482         Windows NT versions.
80484 2009-10-04  Bruno Haible  <bruno@clisp.org>
80486         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
80487         program_invocation_short_name.
80488         * modules/progname (configure.ac): Test for presence of
80489         program_invocation_short_name.
80490         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
80492 2009-10-04  Bruno Haible  <bruno@clisp.org>
80494         * lib/progname.c (set_program_name): Fix comment.
80495         Reported by Jim Meyering.
80497 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
80498             Bruno Haible  <bruno@clisp.org>
80500         * lib/uname.c: Include <string.h>.
80501         (uname): Do only one call to GetVersionEx in the common case.
80503 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
80504             Bruno Haible  <bruno@clisp.org>
80506         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
80507         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
80508         (uname): Add support for Windows CE and various non-x86 CPU types.
80510 2009-10-03  Bruno Haible  <bruno@clisp.org>
80512         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
80513         invocation to tests/configure.ac.
80514         Reported by Ian Beckwith <ianb@erislabs.net>.
80516 2009-10-02  Eric Blake  <ebb9@byu.net>
80518         fchdir: avoid compiler warning
80519         * lib/fchdir.c (canonicalize_file_name)
80520         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
80522         test-open: support mingw errno values
80523         * tests/test-open.h (test_open): Relax test.
80524         * tests/test-fopen.h (test_fopen): Likewise.
80525         * tests/test-openat-safer.c (main): Likewise.
80527         open: fix opening directory on mingw
80528         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
80530         test-open: on GNU/Hurd, /dev/null is a directory
80531         * tests/test-fopen.h (main): Rename...
80532         (test_fopen): ...to this.  Use a guaranteed non-directory when
80533         confirming open behavior on trailing slash.
80534         * tests/test-openat-safer.c (main): Likewise.
80535         * tests/test-open.h (main): Likewise....
80536         (test_open): ...to this.
80537         * tests/test-fopen.c (main): Adjust caller.
80538         * tests/test-fopen-safer.c (main): Likewise.
80539         * tests/test-open.c (main): Likewise.
80540         * tests/test-fcntl-safer.c (main): Likewise.
80541         Reported by Samuel Thibault.
80543         rename, fchdir: don't ignore chdir failure
80544         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
80545         * lib/rename.c (rpl_rename) [W32]: Likewise.
80546         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
80547         an empty destination directory if source cannot be renamed,
80548         although there is still possibility for failure.
80549         * doc/posix-functions/rename.texi (rename): Document the race.
80550         Reported by Jim Meyering.
80552         maint: cleanup whitespace in recent commits
80553         * lib/rename.c (rpl_rename): Remove tabs.
80554         * tests/test-link.h (test_link): Likewise.
80555         * lib/fchdir.c (get_name): Likewise.
80556         Reported by Jim Meyering.
80558 2009-10-02  Ben Pfaff  <blp@gnu.org>
80560         relocatable-prog-wrapper: Add missing dependency on
80561         double-slash-root.
80562         * modules/relocatable-prog-wrapper: Add dependency.
80563         Reported by Ian Beckwith <ianb@erislabs.net>.
80565 2009-10-02  Eric Blake  <ebb9@byu.net>
80567         renameat: fix Solaris bugs
80568         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
80569         needed fixing.
80570         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
80571         * modules/stdio (Makefile.am): Substitute it.
80572         * lib/stdio.in.h (renameat): Declare replacement.
80573         * lib/renameat.c (rpl_renameat): Implement fix.
80575         renameat: new module
80576         * modules/renameat: New file.
80577         * lib/renameat.c (renameat): Likewise.
80578         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
80579         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
80580         * modules/stdio (Makefile.am): Substitute them.
80581         * lib/stdio.in.h (renameat): Declare it.
80582         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
80583         * doc/posix-functions/renameat.texi (renameat): Likewise.
80584         * modules/renameat-tests: New test.
80585         * tests/test-renameat.c: Likewise.
80587         rename: fix mingw bugs
80588         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
80589         directory overwrite bugs.
80591         rename: fix another cygwin 1.5 bug
80592         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
80593         checks.
80594         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
80595         unnecessary cygwin workarounds.  Also work around bug with moving
80596         full directory onto an empty one.
80597         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
80599         rename-dest-slash: merge into rename module
80600         * modules/rename-dest-slash (Status): Mark obsolete.
80601         (Depends-on): Add rename.
80602         (Files): Let rename do it all.
80603         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
80604         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
80605         * m4/rename-dest-slash.m4: ...so this file can be deleted.
80606         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
80607         * lib/rename.c (rpl_rename): Update comments.
80609         rename: fix cygwin 1.5.x bugs
80610         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
80611         * lib/rename.c (rpl_rename): Work around them.
80612         * modules/rename (Depends-on): Add same-inode.
80614         rename: fix Solaris 10 bug
80615         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
80616         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
80617         was the only bug.
80619         rename: fix Solaris 9 bug
80620         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
80621         on non-directory.  Avoid calling exit.
80622         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
80623         strdup.
80624         * modules/rename-tests (Depends-on): Drop lstat.
80625         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
80626         (gl_PREREQ_RENAME): Delete unused macro.
80628         rename-dest-slash: fix NetBSD bug
80629         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
80630         links.
80631         * modules/rename-dest-slash (Depends-on): Add same-inode.
80633         rename-tests: new test, exposes several platform bugs
80634         * modules/rename-tests: New file.
80635         * tests/test-rename.h: Likewise.
80636         * tests/test-rename.c: Likewise.
80637         * doc/posix-functions/rename.texi (rename): Improve documentation,
80638         including bugs that will eventually be fixed in gnulib.
80640 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
80642         * lib/uname.c: Include <stdlib.h>
80643         (uname): Assume version info is available.
80645 2009-10-02  Jim Meyering  <meyering@redhat.com>
80647         gnu-web-doc-update: correct --help output
80648         * build-aux/gnu-web-doc-update: Make --help output relevant.
80650         gnu-web-doc-update: add standard options
80651         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
80653         gnu-web-doc-update: New module.
80654         Use this script to automatically update the on-line web documentation
80655         for your GNU project at http://www.gnu.org/software/$pkg/manual/
80656         * modules/gnu-web-doc-update: New file, from coreutils.
80657         * build-aux/gnu-web-doc-update: New script.
80659 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
80661         link: LoadLibrary is not needed.
80662         * lib/link.c: Use GetModuleHandle.
80664 2009-10-01  Eric Blake  <ebb9@byu.net>
80666         getopt: bump serial number
80667         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
80668         change.
80670         tests: tighten link, rmdir, and remove tests
80671         * tests/test-link.h (includes): No need to use <config.h> here.
80672         Clean up if directory hard link was created, otherwise test for
80673         trailing '.'.
80674         * tests/test-linkat.c (main): Simplify.
80675         * tests/test-remove.c (main): Enhance test for trailing '.'.
80676         * tests/test-rmdir.h (test_rmdir_func): Likewise.
80678 2009-10-01  Jim Meyering  <meyering@redhat.com>
80680         maint.mk: requiring "make major" was annoying, for a "minor" release.
80681         What is intended is "stable", to contrast with alpha and beta,
80682         so require "make stable", not "make major".
80683         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
80684         (get_tool_versions): Likewise.
80685         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
80687 2009-09-30  Ben Pfaff  <blp@gnu.org>
80689         Fix broken build of replacement for Windows tmpfile().
80690         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
80691         flags argument added along with the 'mkostemp' module.
80693 2009-09-28  Bruno Haible  <bruno@clisp.org>
80695         Avoid identifier clash with POSIX function 'remove' defined as a macro.
80696         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
80697         to 'remove_elt'.
80698         (gl_list_remove): Update.
80699         * lib/gl_list.c (gl_list_remove): Update.
80700         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
80701         to 'remove_elt'.
80702         (gl_oset_remove): Update.
80703         * lib/gl_list.c (gl_oset_remove): Update.
80704         Reported by Eric Blake.
80706 2009-09-28  Eric Blake  <ebb9@byu.net>
80708         doc: mention yet more cygwin 1.7 status
80709         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
80710         cygwin.
80711         * doc/glibc-functions/execvpe.texi (execvpe): New file.
80712         * doc/gnulib.texi (Glibc unistd.h): Mention it.
80714         argp: fix test failure
80715         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
80716         that are not upper-case.  Pass correct range to tolower.
80718 2009-09-27  Jim Meyering  <meyering@redhat.com>
80720         test-yesno: work around sparc-dash here-document infelicity
80721         Without this change, the literal \177 byte in a here document
80722         would make dash 0.5.5.1-3 access uninitialized memory.
80723         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
80724         Instead, use a marker, "@", and filter through tr to create the desired
80725         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
80727 2009-09-27  Bruno Haible  <bruno@clisp.org>
80729         Disable untested support for new flavours of ACLs on AIX.
80730         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
80731         progress.
80732         * lib/set-mode-acl.c (qset_acl): Likewise.
80734 2008-12-07  Bruno Haible  <bruno@clisp.org>
80736         Add support for new flavours of ACLs on AIX. (Untested.)
80737         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
80738         (file_has_acl): Add support for newer AIX.
80739         * lib/set-mode-acl.c (qset_acl): Likewise.
80740         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
80741         Rainer Tammer <tammer@tammer.net>.
80743 2009-09-26  Eric Blake  <ebb9@byu.net>
80745         argp: fix compilation of getopt
80746         * lib/getopt.in.h (includes): Use different guard than glibc.
80747         Reported by Sergey Poznyakoff.
80749         doc: mention more cygwin 1.7 status
80750         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
80751         bug.
80752         * doc/posix-functions/execl.texi (execl): Likewise.
80753         * doc/posix-functions/execle.texi (execle): Likewise.
80754         * doc/posix-functions/execlp.texi (execlp): Likewise.
80755         * doc/posix-functions/execv.texi (execv): Likewise.
80756         * doc/posix-functions/execve.texi (execve): Likewise.
80757         * doc/posix-functions/execvp.texi (execvp): Likewise.
80758         * doc/glibc-functions/canonicalize_file_name.texi
80759         (canonicalize_file_name): Cygwin 1.7 now provides this.
80760         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
80761         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
80762         on AT_SYMLINK_NOFOLLOW.
80764 2009-09-24  Eric Blake  <ebb9@byu.net>
80766         test-linkat: make test more robust
80767         * tests/test-linkat.c (main): Avoid collision with EEXIST.
80769         getopt: fix inclusion guards for cygwin
80770         * modules/getopt-posix (Depends-on): Add include-next.
80771         (Makefile.am): Substitute more items in replacement header.
80772         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
80773         <getopt.h>.
80774         * lib/getopt.in.h (includes): Use split inclusion guard, and
80775         prefer <getopt.h> over include <unistd.h> when one is present.
80776         (option): Also override name of 'struct option'.
80778         same-inode: revert prior change; it is not yet ready
80779         * NEWS: Undo mention of this change.
80780         * lib/same-inode.h (same-inode.h): Undo tri-state change.
80781         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
80782         * lib/cycle-check.c (cycle_check): Likewise.
80783         * lib/same.c (same_name): Likewise.
80784         * lib/at-func2.c (at_func2): Likewise.
80786 2009-09-23  Eric Blake  <ebb9@byu.net>
80788         linkat: new module
80789         * modules/linkat: New file.
80790         * lib/at-func2.c (at_func2): Likewise.
80791         * lib/linkat.c (linkat): Likewise.
80792         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
80793         * lib/openat-priv.h (at_func2): Add declaration.
80794         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
80795         * modules/unistd (Makefile.am): Substitute them.
80796         * lib/unistd.in.h (linkat): Declare it.
80797         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
80798         * doc/posix-functions/linkat.texi (linkat): Likewise.
80799         * doc/posix-functions/link.texi (link): Tweak wording.
80800         * tests/test-link.c (main): Move guts...
80801         * tests/test-link.h (test_link): ...into new file.
80802         * modules/linkat-tests: New test.
80803         * tests/test-linkat.c: Likewise.
80804         * modules/link-tests (Files): Ship new file.
80805         (Depends-on): Add stdbool.
80807         dirname: add library-safe mdir_name
80808         * lib/dirname.h (mdir_name): New prototype.
80809         * lib/dirname.c (dir_name): Move guts...
80810         (mdir_name): ...to new function that avoids xalloc_die.
80812         fchdir: another mingw fix
80813         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
80814         * lib/fchdir.c (get_name): New helper method; skips canonicalize
80815         on mingw (where it has not yet been ported), and make it optional
80816         elsewhere.
80817         (_gl_register_fd): Use it.
80819         same-inode: make SAME_INODE tri-state, to port to mingw
80820         * NEWS: Mention this change.
80821         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
80822         st_ino always being 0.
80823         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
80824         * lib/cycle-check.c (cycle_check): Likewise.
80825         * lib/same.c (same_name): Likewise.
80827         lstat: avoid mingw compilation error
80828         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
80829         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
80830         lstat ourselves.
80831         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
80832         was adequate.
80833         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
80834         the checks for lstat.
80835         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
80837         link: fix test failure on Solaris 9
80838         * lib/link.c (rpl_link): Don't assume link will catch bogus
80839         trailing slash on source.
80841         test-symlinkat: enhance test
80842         * tests/test-readlink.c (main): Move guts...
80843         * tests/test-readlink.h (test_readlink): ...into new file.
80844         * tests/test-symlink.c (main): Move guts...
80845         * tests/test-symlink.h (test_symlink): ...into new file.
80846         * tests/test-symlinkat.c (main): Use new files for further
80847         coverage.
80848         (do_symlink, do_readlink): New helper functions.
80849         * modules/symlink-tests (Files): Ship new file.
80850         (Depends-on): Add stdbool.
80851         * modules/readlink-tests (Files): Ship new file.
80852         (Depends-on): Add stdbool.
80853         * modules/symlinkat-tests (Files): Use new files.
80855 2009-09-23  Eric Blake  <ebb9@byu.net>
80857         readlink: document portability issue with symlink length
80858         * doc/posix-functions/lstat.texi (lstat): Mention that some file
80859         systems have bogus st_size on symlinks, and mention the
80860         areadlink-with-size module.
80861         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
80862         * doc/posix-functions/readlink.texi (readlink): Mention the
80863         areadlink module, and ERANGE failure.
80864         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
80865         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
80867         readlink: fix Solaris 9 bug with trailing slash
80868         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
80869         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
80870         * doc/posix-functions/readlink.texi (readlink): Document this.
80871         * modules/readlink-tests: New test.
80872         * tests/test-readlink.c: Likewise.
80874         readlink: fix cygwin 1.5.x bug with return type
80875         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
80876         * lib/unistd.in.h (readlink): Use ssize_t.
80877         * lib/readlink.c (readlink): Likewise.
80878         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
80879         * modules/unistd (Makefile.am): Substitute it.
80880         * lib/unistd.in.h (readlink): Declare replacement.
80881         * doc/posix-functions/readlink.texi (readlink): Document this.
80883         symlink: use throughout gnulib
80884         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
80885         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
80886         symlink is not used.
80887         * modules/symlinkat (Depends-on): Add symlink.
80888         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
80889         * modules/canonicalize-tests (Depends-on): Likewise.
80890         * modules/lstat-tests (Depends-on): Likewise.
80891         * modules/openat-tests (Depends-on): Likewise.
80892         * modules/remove-tests (Depends-on): Likewise.
80893         * modules/rmdir-tests (Depends-on): Likewise.
80894         * modules/unlink-tests (Depends-on): Likewise.
80895         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
80896         * tests/test-canonicalize.c (symlink): Likewise.
80897         * tests/test-fstatat.c (symlink): Likewise.
80898         * tests/test-lstat.c (symlink): Likewise.
80899         * tests/test-remove.c (symlink): Likewise.
80900         * tests/test-rmdir.c (symlink): Likewise.
80901         * tests/test-unlink.c (symlink): Likewise.
80902         * tests/test-unlinkat.c (symlink): Likewise.
80904         symlink: new module, for Solaris 9 bug
80905         * modules/symlink: New file.
80906         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
80907         * lib/symlink.c: Likewise.
80908         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
80909         * modules/unistd (Makefile.am): Substitute them.
80910         * lib/unistd.in.h (symlink): Declare replacement.
80911         * MODULES.html.sh (File system functions): Mention it.
80912         * doc/posix-functions/symlink.texi (symlink): Likewise.
80913         * modules/symlink-tests: New test.
80914         * tests/test-symlink.c: Likewise.
80916 2009-09-23  Bruno Haible  <bruno@clisp.org>
80918         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
80919         when needed.
80920         Test case: gnulib-tool --import --with-tests atexit inttypes.
80921         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
80923 2009-09-23  Bruno Haible  <bruno@clisp.org>
80925         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
80926         subcommand, not in a subshell.
80928 2009-09-22  Eric Blake  <ebb9@byu.net>
80930         unistd: sort replacement declarations
80931         * lib/unistd.in.h: Sort declarations.
80933         open, openat: minor optimization
80934         * lib/open.c (open): If open succeeded, len is non-zero.
80935         * lib/openat.c (rpl_openat): Likewise.
80937         link-follow: ensure correct result
80938         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
80939         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
80940         distinguish between possible failures.
80942 2009-09-21  Eric Blake  <ebb9@byu.net>
80944         fts: avoid compiler warning
80945         * lib/fts.c (dirent_inode_sort_may_be_useful)
80946         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
80948 2009-09-19  Bruno Haible  <bruno@clisp.org>
80950         * lib/progreloc.c (canonicalize_file_name): New declaration.
80952 2009-09-19  Eric Blake  <ebb9@byu.net>
80954         link: fix quoting
80955         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
80957         openat: fix openat bugs on Solaris 9
80958         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
80959         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
80960         * modules/openat (Depends-on): Add open.
80961         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
80962         * modules/fcntl-h (Makefile.am): Substitute it.
80963         * lib/fcntl.in.h (openat): Declare replacement.
80964         * doc/posix-functions/openat.texi (openat): Document this.
80966         openat: move fstatat and unlinkat into correct files
80967         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
80968         compiled.
80969         * lib/openat.c (fstatat, unlinkat): Move...
80970         * lib/fstatat.c (fstatat): ...into correct files.
80971         * lib/unlinkat.c (unlinkat): Likewise.
80973         openat: fix unlinkat bugs on Solaris 9
80974         * lib/unlinkat.c (unlinkat): New file.
80975         * modules/openat (Depends-on): Add unlink.
80976         (Files): Distribute it.
80977         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
80978         trailing slash behavior is broken.
80979         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
80980         * modules/unistd (Makefile.am): Substitute it.
80981         * lib/unistd.in.h (unlinkat): Declare replacement.
80982         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
80984         openat: fix fstatat bugs on Solaris 9
80985         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
80986         stat.
80987         * doc/posix-functions/fstatat.texi (fstatat): Document this.
80989         test-unlinkat: enhance test, to expose Solaris 9 bug
80990         * tests/test-unlink.c (main): Factor guts...
80991         * tests/test-unlink.h (test_rmdir_func): ...into new file.
80992         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
80993         * tests/test-rmdir.c (main): Adjust caller.
80994         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
80995         (unlinker): New helper function.
80996         (rmdirat): Enhance check.
80997         * modules/rmdir-tests (Depends-on): Add stdbool.
80998         * modules/unlink-tests (Depends-on): Likewise.
80999         (Files): Add test-unlink.h.
81000         * modules/openat-tests (Files): Likewise.
81001         (Depends-on): Add unlinkdir.
81003         test-fstatat: new test, to expose Solaris 9 bugs
81004         * tests/test-stat.c (main): Factor guts...
81005         * tests/test-stat.h (test_stat_func): ...into new file.
81006         * tests/test-lstat.c (main): Factor guts...
81007         * tests/test-lstat.h (test_lstat_func): ...into new file.
81008         * tests/test-fstatat.c: New file.
81009         * modules/stat-tests (Files): Add test-stat.h.
81010         * modules/lstat-tests (Files): Add test-lstat.h.
81011         (Depends-on): Add stdbool.
81012         * modules/openat-tests (Depends-on): Add pathmax.
81013         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
81014         (Makefile.am): Run new test.
81016         remove: new module, for mingw and Solaris 9 bugs
81017         * modules/remove: New file.
81018         * lib/remove.c: Likewise.
81019         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
81020         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
81021         * modules/stdio (Makefile.am): Use them.
81022         * lib/stdio.in.h (remove): Declare replacement.
81023         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
81024         * doc/posix-functions/remove.texi (remove): Likewise.
81025         * modules/remove-tests: New test.
81026         * tests/test-remove.c: Likewise.
81028         unlink: new module, for Solaris 9 bug
81029         * modules/unlink: New file.
81030         * lib/unlink.c: Likewise.
81031         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
81032         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
81033         * modules/unistd (Makefile.am): Use them.
81034         * lib/unistd.in.h (stat): Declare replacement.
81035         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
81036         * doc/posix-functions/unlink.texi (unlink): Likewise.
81037         * modules/unlink-tests: New test.
81038         * tests/test-unlink.c: Likewise.
81040         lstat: fix Solaris 9 bug
81041         * lib/lstat.c (lstat): Also check for trailing slash on
81042         non-symlink, non-directories.  Use stat module to simplify logic.
81043         * doc/posix-functions/lstat.texi (lstat): Document it.
81044         * modules/lstat-tests (Depends-on): Add errno, same-inode.
81045         (configure.ac): Check for symlink.
81046         * tests/test-lstat.c (main): Add more tests.
81048         stat: add as dependency to other modules
81049         * modules/chown (Depends-on): Add stat.
81050         * modules/euidaccess (Depends-on): Likewise.
81051         * modules/fchdir (Depends-on): Likewise.
81052         * modules/isdir (Depends-on): Likewise.
81053         * modules/link (Depends-on): Likewise.
81054         * modules/lstat (Depends-on): Likewise.
81055         * modules/mkdir-p (Depends-on): Likewise.
81056         * modules/modechange (Depends-on): Likewise.
81057         * modules/open (Depends-on): Likewise.
81058         * modules/readlink (Depends-on): Likewise.
81059         * modules/same (Depends-on): Likewise.
81061         stat: fix Solaris 9 bug
81062         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
81063         slash.
81064         * lib/stat.c (rpl_stat): Work around it.
81065         * doc/posix-functions/stat.texi (stat): Update documentation.
81067         stat: new module, for mingw bug
81068         * modules/stat: New file.
81069         * lib/stat.c: Likewise.
81070         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
81071         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
81072         * modules/sys_stat (Makefile.am): Use them.
81073         * lib/sys_stat.in.h (stat): Declare replacement.
81074         * lib/openat.c (fstatat): Deal with lstat and stat being function
81075         macros.
81076         * modules/openat (Depends-on): Add inline.
81077         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
81078         * doc/posix-functions/stat.texi (stat): Likewise.
81079         * modules/stat-tests: New test.
81080         * tests/test-stat.c: Likewise.
81082 2009-09-19  Jim Meyering  <meyering@redhat.com>
81084         syntax-check: detect unnecessary inclusion of canonicalize.h
81085         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
81087 2009-09-19  Eric Blake  <ebb9@byu.net>
81089         canonicalize-lgpl: adjust clients to use correct header
81090         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
81091         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
81092         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
81093         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
81094         * lib/progreloc.c (includes): Likewise.
81096 2009-09-19  Jim Meyering  <meyering@redhat.com>
81098         test-posixtm.c: correct a comment
81099         * tests/test-posixtm.c: Correct first-line comment.
81100         Spotted by Eric Blake.
81102 2009-09-16  Jim Meyering  <meyering@redhat.com>
81104         posixtm-tests: make T const-correct; add a test case
81105         * tests/test-posixtm.c (T): Declare const.
81106         Add a test for -(2^31+1).
81107         Remove useless can-succeed-only-in-2002 test.
81109         posixtm-tests: adjust the sole failing test
81110         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
81111         expected output matches what mktime now produces.  Cross-checked via
81112         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
81114         posixtm: move #ifdef'd tests into a new module
81115         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
81116         * tests/test-posixtm.c: ... this new file.
81117         * modules/posixtm-tests: New module.
81119 2009-09-19  Eric Blake  <ebb9@byu.net>
81121         openat: simplify use of at-func.c
81122         * lib/at-func.c (includes): Include prerequisites here, to
81123         simplify requirements on client files.
81124         * lib/openat-priv.h: Add double-inclusion guard.
81125         * lib/faccessat.c (includes): Simplify.
81126         * lib/fchmodat.c (includes): Likewise.
81127         * lib/fchownat.c (includes): Likewise.
81128         * lib/mkdirat.c (includes): Likewise.
81129         * lib/mkfifoat.c (includes): Likewise.
81130         * lib/symlinkat.c (includes): Likewise.
81132         openat: allow return of fd 0
81133         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
81134         * modules/save-cwd (Depends-on): Replace fcntl-safer with
81135         unistd-safer.
81136         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
81137         <fcntl.h>; this module does not leak fds.
81138         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
81139         must be allowed to return 0, leaving openat_safer to add the
81140         safety.
81141         (openat_permissive): Avoid writing to just-opened fd 2 if
81142         restoring the current directory fails.
81143         * lib/openat-die.c (openat_restore_fail): Add comment.
81144         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
81145         (save_cwd): Guarantee safe fd, but without use of open_safer.
81146         * tests/test-openat.c: New test.
81147         * modules/openat-tests (Files, Makefile.am): Distribute and build
81148         new file.
81150         relocatable-prog-wrapper: fix build
81151         * modules/relocatable-prog-wrapper (Files): Update name of
81152         canonicalize m4 file, broken on 2009-09-17.
81153         Reported by emad hajjar <aleppos@hotmail.com>.
81155 2009-09-19  Bruno Haible  <bruno@clisp.org>
81157         * lib/safe-alloc.h: Use the standard header with GPL copyright.
81158         * lib/safe-alloc.c: Likewise.
81159         Reported by Ian Beckwith <ianb@erislabs.net>.
81161 2009-09-18  Bruno Haible  <bruno@clisp.org>
81163         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
81164         Reported by <erobles@sensacd.com.mx>.
81166 2009-09-17  Eric Blake  <ebb9@byu.net>
81168         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
81169         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
81170         slashes when checking if last component is missing.
81171         * tests/test-canonicalize.c (main): Test this.
81173         canonicalize, canonicalize-lgpl: honor // if distinct from /
81174         * modules/canonicalize (Files): Add double-slash-root.m4.
81175         * modules/canonicalize-lgpl (Files): Likewise.
81176         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
81177         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
81178         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
81179         fallback definition.
81180         (canonicalize_filename_mode): Use it to protect //.
81181         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
81182         (__realpath): Likewise.
81183         * tests/test-canonicalize.c (main): Test this.
81184         * tests/test-canonicalize-lgpl.c (main): Likewise.
81185         * modules/canonicalize-tests (Depends-on): Add same-inode.
81186         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
81188         canonicalize-lgpl: fix glibc bug with trailing slash
81189         * m4/canonicalize-lgpl.m4: Move contents...
81190         * m4/canonicalize.m4: ...here.
81191         (gl_CANONICALIZE_LGPL): Factor realpath check...
81192         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
81193         glibc 2.3.5 bug, fixed 2005-04-27.
81194         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
81195         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
81196         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
81197         * modules/canonicalize-lgpl (Files): Manage file rename.
81198         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
81199         * modules/stdlib (Makefile.am): Substitute witness.
81200         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
81201         is needed.
81202         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
81203         replacement is required.
81204         * lib/canonicalize.c (canonicalize_file_name): Likewise.
81205         * doc/glibc-functions/canonicalize_file_name.texi
81206         (canonicalize_file_name): Document this.
81207         * doc/posix-functions/realpath.texi (realpath): Likewise.
81209         canonicalize-lgpl: reject non-directory with trailing slash
81210         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
81211         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
81212         catches failures in glibc 2.3.5.
81213         * tests/test-canonicalize.c (main): Likewise.
81215         canonicalize-lgpl: use native realpath if it works
81216         * lib/canonicalize-lgpl.c (realpath): Guard with
81217         FUNC_REALPATH_WORKS.
81218         * lib/stdlib.in.h (realpath): Make declaration optional based on
81219         HAVE_REALPATH.
81220         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
81221         native realpath works.
81222         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
81223         * modules/stdlib (Makefile.am): Substitute witness.
81225         canonicalize, canonicalize-lgpl: use <stdlib.h>
81226         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
81227         (Include): Mention <stdlib.h>.
81228         (configure.ac): Mention functions we provide.
81229         * modules/canonicalize (configure.ac): Likewise.
81230         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
81231         realpath if canonicalize_file_name is missing.
81232         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
81233         * modules/stdlib (Makefile.am): Substitute witnesses.
81234         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
81235         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
81236         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
81237         * NEWS: Document this.
81238         * doc/glibc-functions/canonicalize_file_name.texi
81239         (canonicalize_file_name): Likewise.
81240         * doc/posix-functions/realpath.texi (realpath): Likewise.
81241         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
81243         test-canonicalize: consolidate into single C program
81244         * tests/test-canonicalize.sh: Delete; move setup into...
81245         * tests/test-canonicalize.c (main): ...the program, making it
81246         easier to run in debugger.  Add some tests.
81247         * modules/canonicalize-tests (Files): Remove unused file.
81248         (Depends-on): Add progname.
81249         (configure.ac, Makefile.am): Simplify.
81251         test-canonicalize-lgpl: consolidate into single C program
81252         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
81253         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
81254         easier to run in debugger.  Add some tests.
81255         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
81256         (configure.ac, Makefile.am): Simplify.
81258         canonicalize: avoid resolvepath
81259         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
81260         unnecessary checks.
81261         * lib/canonicalize.c (includes): Simplify.
81262         (canonicalize_file_name): Drop resolvepath implementation.
81263         * modules/canonicalize (Depends-on): Drop filenamecat.
81265         canonicalize: don't lose errno
81266         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
81267         over calls to free.
81269         canonicalize: simplify errno handling
81270         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
81271         assignment.
81273         canonicalize, canonicalize-lgpl: update module dependencies
81274         * modules/canonicalize (Depends-on): Add extensions, lstat,
81275         pathmax, stdlib.
81276         (Files): Drop pathmax.h.
81277         (configure.ac): Adjust macro name.
81278         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
81279         lstat, stdlib, sys_stat.
81280         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
81281         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
81282         extensions.
81283         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
81284         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
81285         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
81286         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
81287         declaration, if available.
81288         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
81289         we can rely on the readlink module.
81290         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
81291         (includes): Use <unistd.h> unconditionally.
81293 2009-09-17  Eric Blake  <ebb9@byu.net>
81295         maint: make Include sections of modules consistent
81296         * modules/alloca: Use only header name; no need to list #include.
81297         * modules/alloca-opt: Likewise.
81298         * modules/arpa_inet: Likewise.
81299         * modules/canon-host: Likewise.
81300         * modules/configmake: Likewise.
81301         * modules/dirent: Likewise.
81302         * modules/eealloc: Likewise.
81303         * modules/environ: Likewise.
81304         * modules/fchdir: Likewise.
81305         * modules/fcntl: Likewise.
81306         * modules/fcntl-h: Likewise.
81307         * modules/gethrxtime: Likewise.
81308         * modules/gettime: Likewise.
81309         * modules/ignore-value: Likewise.
81310         * modules/inet_ntop: Likewise.
81311         * modules/inet_pton: Likewise.
81312         * modules/inttypes: Likewise.
81313         * modules/isnand-nolibm: Likewise.
81314         * modules/isnanf-nolibm: Likewise.
81315         * modules/mbchar: Likewise.
81316         * modules/mbfile: Likewise.
81317         * modules/mbiter: Likewise.
81318         * modules/mbuiter: Likewise.
81319         * modules/netdb: Likewise.
81320         * modules/netinet_in: Likewise.
81321         * modules/nproc: Likewise.
81322         * modules/pagealign_alloc: Likewise.
81323         * modules/poll: Likewise.
81324         * modules/printf-frexp: Likewise.
81325         * modules/pthread: Likewise.
81326         * modules/putenv: Likewise.
81327         * modules/random_r: Likewise.
81328         * modules/relocatable-prog: Likewise.
81329         * modules/search: Likewise.
81330         * modules/select: Likewise.
81331         * modules/selinux-h: Likewise.
81332         * modules/settime: Likewise.
81333         * modules/signal: Likewise.
81334         * modules/size_max: Likewise.
81335         * modules/socklen: Likewise.
81336         * modules/ssize_t: Likewise.
81337         * modules/stdarg: Likewise.
81338         * modules/stdbool: Likewise.
81339         * modules/stddef: Likewise.
81340         * modules/stdint: Likewise.
81341         * modules/stdio: Likewise.
81342         * modules/stdlib: Likewise.
81343         * modules/string: Likewise.
81344         * modules/strings: Likewise.
81345         * modules/sys_file: Likewise.
81346         * modules/sys_ioctl: Likewise.
81347         * modules/sys_select: Likewise.
81348         * modules/sys_socket: Likewise.
81349         * modules/sys_stat: Likewise.
81350         * modules/sys_time: Likewise.
81351         * modules/sys_times: Likewise.
81352         * modules/sys_utsname: Likewise.
81353         * modules/sys_wait: Likewise.
81354         * modules/sysexits: Likewise.
81355         * modules/time: Likewise.
81356         * modules/times: Likewise.
81357         * modules/tmpfile: Likewise.
81358         * modules/trim: Likewise.
81359         * modules/unistd: Likewise.
81360         * modules/wchar: Likewise.
81361         * modules/wctype: Likewise.
81363 2009-09-17  Bruno Haible  <bruno@clisp.org>
81365         Make getdate.y compile on QNX and NetBSD 5 / i386.
81366         * m4/getdate.m4 (gl_GETDATE): Conditionally define
81367         TIME_T_FITS_IN_LONG_INT.
81368         * lib/getdate.y (long_time_t): New type.
81369         (relative_time): Change type of 'seconds' field to long_time_t.
81370         (get_date): Update types of local variables. Check against overflow
81371         during conversion from long_time_t to time_t.
81372         Reported by Matt Kraai <kraai@ftbfs.org>
81373         and Hasso Tepper <hasso@netbsd.org>.
81375 2009-09-17  Bruno Haible  <bruno@clisp.org>
81377         * modules/COPYING: Update copyright years.
81378         * modules/README: Likeiwse.
81379         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
81380         Reported by Ian Beckwith <ianb@erislabs.net>.
81382 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
81384         * users.txt: Update references for gnuit package.
81386 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
81388         * m4/getdelim.m4: Fix typo in copyright line.
81390 2009-09-17  Bruno Haible  <bruno@clisp.org>
81392         * lib/atoll.c: Use the standard header with GPL copyright.
81393         * lib/argz.in.h: Likewise.
81394         * lib/glob.c: Likewise.
81395         * lib/glob-libc.h: Likewise.
81396         * lib/random_r.c: Likewise.
81397         * lib/siglist.h: Likewise.
81398         * lib/strsignal.c: Likewise.
81399         Reported by Ian Beckwith <ianb@erislabs.net>.
81401 2009-09-17  Eric Blake  <ebb9@byu.net>
81403         rmdir: ensure correct dependency order
81404         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
81406 2009-09-17  Bruno Haible  <bruno@clisp.org>
81408         Disable assertion that fails on NetBSD 5 / i386.
81409         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
81410         Reported by Sam Steingold <sds@gnu.org>
81411         and Hasso Tepper <hasso@netbsd.org>.
81413 2009-09-16  Eric Blake  <ebb9@byu.net>
81415         unlinkdir: port to mingw
81416         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
81417         on which no one can unlink a directory.
81419         stdlib: sort witness names
81420         * modules/stdlib (Makefile.am): Sort replacements.
81421         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
81422         * lib/stdlib.in.h: Likewise.
81424         parse-duration-tests: avoid link failure
81425         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
81426         LIBINTL.
81427         Reported by Tom G. Christensen.
81429         openat-tests: ensure unlinkat behaves like rmdir
81430         * tests/test-rmdir.c (main): Factor guts...
81431         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
81432         * modules/rmdir-tests (Files): Ship new file.
81433         * modules/openat-tests: New test.
81434         * tests/test-unlinkat.c: Likewise.
81436         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
81437         * modules/rmdir-errno (Status, Notice): Now obsolete.
81439         rmdir: work around cygwin 1.5.x and mingw bugs
81440         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
81441         * lib/rmdir.c (rmdir): Work around it.
81442         * modules/rmdir (Status, Notice): No longer obsolete.
81443         (Files): Add dos.m4.
81444         (Depends-on): Add unistd.
81445         (configure.ac): Set witnesses.
81446         (License): Relax to LGPLv2+.
81447         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
81448         * modules/unistd (Makefile.am): Substitute witnesses.
81449         * lib/unistd.in.h (rmdir): Declare replacement.
81450         * doc/posix-functions/rmdir.texi (rmdir): Document this.
81451         * modules/rmdir-tests: New tests.
81452         * tests/test-rmdir.c: Likewise.
81454 2009-09-15  Eric Blake  <ebb9@byu.net>
81456         fchdir: improve use of replacement functions
81457         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
81458         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
81459         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
81460         REPLACE_CLOSEDIR.
81461         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
81462         * modules/sys_stat (Makefile.am): Substitute correct witness.
81463         * modules/dirent (Makefile.am): Likewise.
81464         * modules/unistd (Makefile.am): Likewise.
81465         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
81466         * lib/unistd.in.h (dup): Likewise.
81467         * lib/sys_stat.in.h (fstat): Likewise.
81469         maint: ignore gnulib-tool temp files
81470         * .gitignore: Ignore files created during gnulib-tool --test.
81472 2009-09-13  Jim Meyering  <meyering@redhat.com>
81474         posixtm: don't reject a time that specify "60" as the number of seconds
81475         * lib/posixtm.c (posixtime): The code to reject invalid dates
81476         would also reject a time specified with the .60 suffix.
81477         But POSIX allows that, in order to accommodate leap seconds.
81478         So don't reject it.
81479         (main): Adjust tests accordingly.
81480         * modules/posixtm (Depends-on): Add stpcpy.
81482 2009-09-11  Jim Meyering  <meyering@redhat.com>
81484         announce-gen: include [$release_type] in emitted Subject:
81485         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
81486         e.g., [stable] in the emitted Subject: line.
81488 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81490         Remove obsolete macros from several modules.
81491         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
81492         obsolete Autoconf macros with their modern counterparts.
81493         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
81494         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
81495         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
81496         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
81497         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
81498         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
81499         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
81500         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
81501         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
81502         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
81503         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
81504         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
81505         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
81506         * m4/sockets.m4 (gl_SOCKETS): Likewise.
81507         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
81508         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
81509         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
81510         * m4/time_r.m4 (gl_TIME_R): Likewise.
81511         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
81512         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
81513         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
81515         Fix copyright header in build-aux scripts.
81516         * build-aux/git-version-gen: Fix copyright header to match GPLv3
81517         recommendation.
81518         * build-aux/ncftpput-ftp: Likewise.
81519         * build-aux/update-copyright: Likewise.
81521 2009-09-09  Eric Blake  <ebb9@byu.net>
81523         test-link: allow Linux choice of errno
81524         * tests/test-link.c (main): Relax test for alternate error.
81526         strndup: fix improper m4 caching
81527         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
81528         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
81529         (gl_PREREQ_STRNDUP): Delete.
81530         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
81531         * modules/string (Makefile.am): Substitute it.
81532         * lib/string.in.h (strndup): Modernize prototype.
81534         getcwd: port to mingw
81535         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
81536         different from the POSIX assumptions made throughout the getcwd
81537         module; fortunately, the mingw getcwd does not need replacement.
81538         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
81539         * modules/getcwd-tests: New test.
81540         * tests/test-getcwd.c: Likewise.
81542         link: fix platform bugs
81543         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
81544         * lib/link.c (link): Work around them.  Fix related mingw bug.
81545         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
81546         * modules/unistd (Makefile.am): Substitute it.
81547         * lib/unistd.in.h (link): Declare replacement.
81548         * doc/posix-functions/link.texi (link): Document this.
81549         * modules/link (Depends-on): Add strdup-posix, sys_stat.
81551         test-link: consolidate into single C program, test more cases
81552         * tests/test-link.sh: Delete.
81553         * tests/test-link.c: Test more error conditions.  Exposes bugs on
81554         at least Cygwin and Solaris.
81555         * modules/link-tests (Files): Remove unused file.
81556         (Depends-on): Add errno, sys_stat.
81557         (Makefile.am): Simplify.
81559 2009-09-08  Bruno Haible  <bruno@clisp.org>
81561         Work around towlower, towupper bug on mingw.
81562         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
81563         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
81564         * doc/posix-functions/towlower.texi: Mention the mingw bug.
81565         * doc/posix-functions/towupper.texi: Likewise.
81566         Reported by Eric Blake.
81568 2009-09-08  Jim Meyering  <meyering@redhat.com>
81570         build: don't try to run autoheader if we don't use it
81571         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
81572         is not used in configure.ac.
81574 2009-09-08  Eric Blake  <ebb9@byu.net>
81576         euidaccess: fix compilation error
81577         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
81579         rawmemchr: relax license
81580         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
81581         okay.
81582         Reported by Jim Meyering.
81584         mkfifoat: new module
81585         * modules/mkfifoat: New file.
81586         * lib/mkfifoat.c: Likewise.
81587         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
81588         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
81589         * modules/sys_stat (Makefile.am): Use them.
81590         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
81591         * MODULES.html.sh (File system functions): Mention module.
81592         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
81593         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
81594         * modules/mkfifoat-tests: New test.
81595         * tests/test-mkfifoat.c: Likewise.
81597         strchrnul: relax license
81598         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
81599         okay.
81600         Reported by Jim Meyering.
81602 2009-09-08  Eric Blake  <ebb9@byu.net>
81604         fstatat: fix compilation on Solaris
81605         * lib/fstatat.c (includes): Add fcntl.h.
81606         Reported by Pádraig Brady.
81608 2009-09-07  Eric Blake  <ebb9@byu.net>
81610         rename: modernize replacement
81611         * modules/rename (Depends-on): Add stdio.
81612         (configure.ac): Declare witness.
81613         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
81614         stdio take care of replacement.
81615         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
81616         * modules/stdio (Makefile.am): Substitute them.
81617         * lib/stdio.in.h (rename): Declare replacement.
81618         * lib/rename.c (includes): Allow cross-compilation to non-windows
81619         machines.
81620         * doc/posix-functions/rename.texi (rename): Improve
81621         documentation.
81623         stdio: sort witness names
81624         * modules/stdio (Makefile.am): Sort replacements.
81625         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
81626         * lib/stdio.in.h: Likewise.
81628         getcwd: minor cleanups
81629         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
81630         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
81632         openat: provide more convenience names
81633         * modules/faccessat (configure.ac): Add C witness.
81634         * lib/unistd.in.h (readlinkat): Fix typo.
81635         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
81636         convenience wrappers.
81637         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
81638         wrappers in syntax checks.
81640 2009-09-06  Eric Blake  <ebb9@byu.net>
81642         doc: fix comments in recent patches
81643         * lib/faccessat.c: Mention correct function.
81644         * lib/fchmodat.c: Likewise.
81645         * lib/fchownat.c: Likewise.
81646         * lib/symlinkat.c: Likewise.
81647         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
81648         constants.
81650         faccessat, symlinkat: continue cleanup of previous patch
81651         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
81652         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
81653         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
81654         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
81655         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
81656         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
81657         set.
81659 2009-09-06  Bruno Haible  <bruno@clisp.org>
81661         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
81662         (fstatat): Declare if GNULIB_FSTATAT is set.
81663         (mkdirat): Declare if GNULIB_MKDIRAT is set.
81664         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
81665         (unlinkat): Declare if GNULIB_UNLINKAT is set.
81666         * modules/fcntl-h (Files): Remove m4/openat.m4.
81667         * modules/sys_stat (Files): Remove m4/openat.m4.
81668         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
81669         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
81670         * modules/unistd (Files): Remove m4/openat.m4.
81671         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
81672         GNULIB_OPENAT.
81673         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
81674         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
81675         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
81676         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
81677         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
81678         gl_OPENAT_DEFAULTS.
81679         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
81680         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
81681         Don't require gl_OPENAT_DEFAULTS.
81682         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
81683         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
81684         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
81685         (gl_OPENAT_DEFAULTS): Remove macro.
81687 2009-09-06  Bruno Haible  <bruno@clisp.org>
81689         * modules/openat (configure.ac): Remove unneeded witness.
81691 2009-09-06  Bruno Haible  <bruno@clisp.org>
81693         Set errno to ENOSYS when a function is entirely unsupported.
81694         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
81695         EOPNOTSUPP.
81696         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
81697         * modules/chown (Depends-on): Remove errno.
81699 2009-09-06  Bruno Haible  <bruno@clisp.org>
81701         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
81703 2009-09-06  Bruno Haible  <bruno@clisp.org>
81705         * lib/sys_stat.in.h: Fix preprocessor command indentation.
81707 2009-09-06  Ben Pfaff  <blp@gnu.org>
81708             Bruno Haible  <bruno@clisp.org>
81710         Work around a glibc bug in strtok_r.
81711         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
81712         Undefine if UNDEFINE_STRTOK_R is set.
81713         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
81714         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
81715         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
81716         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
81717         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
81718         UNDEFINE_STRTOK_R.
81719         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
81721 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
81723         exclude: minor fix
81724         * lib/exclude.c: Include wctype.h
81726 2009-09-06  Akim Demaille  <demaille@gostai.com>
81728         bootstrap: improve error message
81729         * build-aux/bootstrap (find_tool): Upon failure, report the list
81730         of candidates.
81731         Honor the initial value of the envvar.
81733 2009-09-05  Eric Blake  <ebb9@byu.net>
81735         symlinkat: new module
81736         * modules/symlinkat: New file.
81737         * lib/symlinkat.c: Likewise.
81738         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
81739         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
81740         * modules/unistd (Makefile.am): Use them.
81741         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
81742         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
81743         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
81744         * MODULES.html.sh (File system functions): Mention module.
81745         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
81746         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
81747         * modules/symlinkat-tests: New test.
81748         * tests/test-symlinkat.c: Likewise.
81750         test-openat-safer: add more checks
81751         * tests/test-openat-safer.c (main): Check more code paths.
81753 2009-09-05  Jim Meyering  <meyering@redhat.com>
81755         syntax-check: detect unnecessary inclusion of openat.h
81756         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
81758 2009-09-05  Bruno Haible  <bruno@clisp.org>
81760         Support towlower, towupper.
81761         * doc/posix-functions/towlower.texi: Mention module wctype.
81762         * doc/posix-functions/towupper.texi: Likewise.
81763         * lib/wctype.in.h (towlower, towupper): New functions.
81764         * tests/test-wctype.c: Include stdio.h, stdlib.h.
81765         (ASSERT): New macro.
81766         (e): New variable.
81767         (main): Test also towlower, towupper. Test WEOF argument.
81768         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
81770 2009-09-05  Bruno Haible  <bruno@clisp.org>
81772         Fix conversion behaviour when the input is invalid.
81773         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
81774         mark occurring in first pass of indirect conversion.
81775         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
81776         input.
81777         Found by clang's static analyzer.
81779 2009-09-05  Bruno Haible  <bruno@clisp.org>
81781         * tests/test-striconveh.c (main): Test indirect conversion on platforms
81782         where direct conversion is possible.
81784 2009-09-04  Eric Blake  <ebb9@byu.net>
81786         openat: fail with ENOENT on empty name
81787         * lib/openat-proc.c (openat_proc_name): Special-case the empty
81788         buffer.
81790         link-follow: fix logic bug in prior patch
81791         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
81792         reversed sense of yes and no in prior patch.  Avoid confusing
81793         compilation failure with desired semantics.
81795         link-follow: accommodate mingw and cross-compilation
81796         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
81797         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
81798         cross-compilation results to -1, to make linkat easier to
81799         implement when cross-compiling.  Trivially support mingw.
81800         * modules/link-follow (configure.ac): Call new name.
81801         * NEWS: Mention this.
81803 2009-09-03  Eric Blake  <ebb9@byu.net>
81805         faccessat: compile replacement
81806         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
81807         needed.
81809         fts: fix compilation error
81810         * lib/fts.c (includes): Re-add "openat.h", for
81811         openat_needs_fchdir.
81813         faccessat: new module
81814         * modules/faccessat: New file.
81815         * lib/faccessat.c: Likewise.
81816         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
81817         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
81818         * modules/unistd (Makefile.am): Use it.
81819         * lib/unistd.in.h (faccessat): Declare it.
81820         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
81821         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
81822         * MODULES.html.sh (File system functions): Mention it.
81823         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
81824         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
81826         euidaccess: prefer POSIX over non-standard implementation
81827         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
81828         * lib/euidaccess.c (euidaccess): Use it if available.
81830         openat: make template easier to use
81831         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
81832         AT_FUNC_F2 to be undefined.
81833         (VALIDATE_FLAG): New macro; use it to reject bad flags.
81834         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
81835         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
81836         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
81837         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
81838         Likewise.
81839         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
81840         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
81841         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
81842         Likewise.
81844         openat: declare in POSIX headers
81845         * NEWS: Mention this.
81846         * modules/openat (configure.ac): Declare witnesses.
81847         (Depends-on): Add fcntl-h, sys_stat, unistd.
81848         (Include): Mention correct headers.
81849         * modules/fcntl-h (Depends-on): Add link-warning.
81850         (Files): Add openat.m4.
81851         (Makefile.am): Substitute witnesses.
81852         * modules/sys_stat (Files, Makefile.am): Likewise.
81853         * modules/unistd (Files, Makefile.am): Likewise.
81854         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
81855         (gl_OPENAT_DEFAULTS): New macro.
81856         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
81857         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
81858         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
81859         (SYS_STAT_H): Remove unused variable.
81860         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
81861         * lib/fcntl--.h (includes): Remove unneeded header.
81862         * lib/openat-safer.c (includes): Likewise.
81863         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
81864         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
81865         appropriate headers.
81866         (__OPENAT_PREFIX): Delete.
81867         * lib/fcntl.in.h (openat): Provide declaration.
81868         (AT_FDCWD): Fix Solaris bug.
81869         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
81870         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
81871         * lib/fchmodat.c (includes):  Adjust to find declaration.
81872         * lib/fchownat.c (includes): Likewise.
81873         * lib/mkdirat.c (includes): Likewise.
81874         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
81875         still visible.
81877 2009-09-02  Eric Blake  <ebb9@byu.net>
81879         errno: use consistently
81880         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
81881         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
81882         * lib/canonicalize.c (ELOOP): Likewise.
81883         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
81884         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
81885         * lib/lchown.c (EOPNOTSUPP): Likewise.
81886         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
81887         * lib/savewd.c (ESTALE): Likewise.
81888         * lib/settime.c (ENOSYS): Likewise.
81889         * lib/utimens.c (ENOSYS): Likewise.
81890         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
81891         * lib/chdir-safer.c (ELOOP): Likewise.
81892         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
81893         * modules/c-stack (Depends-on): Add errno.
81894         * modules/canonicalize (Depends-on): Likewise.
81895         * modules/chdir-safer (Depends-on): Likewise.
81896         * modules/fdopendir (Depends-on): Likewise.
81897         * modules/inet_ntop (Depends-on): Likewise.
81898         * modules/inet_pton (Depends-on): Likewise.
81899         * modules/lchown (Depends-on): Likewise.
81900         * modules/openat (Depends-on): Likewise.
81901         * modules/savewd (Depends-on): Likewise.
81902         * modules/settime (Depends-on): Likewise.
81903         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
81905         fts: avoid leaking fds
81906         * modules/fts (Depends-on): Add cloexec.
81907         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
81908         flag.
81910         fts: make directory fds more robust
81911         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
81912         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
81914         backupfile, chdir-long, fts, savedir: make safer
81915         * lib/backupfile.c (includes): Use "dirent--.h", since
81916         numbered_backup can write to stderr during readdir.
81917         * lib/savedir.c (includes): Likewise.
81918         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
81919         emulation can write to stderr on failure.
81920         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
81921         * lib/getcwd.c: Document why opendir_safer is unused.
81922         * lib/glob.c: Likewise.
81923         * lib/scandir.c: Likewise.
81924         * lib/openat-proc.c: Likewise, for open_safer.
81925         * modules/backupfile (Depends-on): Add dirent-safer.
81926         * modules/savedir (Depends-on): Likewise.
81927         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
81928         * modules/chdir-long (Depends-on): Add openat-safer.
81930         openat-safer: new module
81931         * modules/openat-safer: New file.
81932         * lib/openat-safer.c: Likewise.
81933         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
81934         * lib/fcntl-safer.h (openat_safer): Declare.
81935         * lib/fcntl--.h (openat): Override.
81936         * MODULES.html.sh (File descriptor based I/O): Mention it.
81937         * lib/openat.h: Add double-inclusion guards.
81938         * lib/openat.c (includes): Only include "fcntl-safer.h", not
81939         "fcntl--.h", so we can implement openat.
81940         * modules/openat-safer-tests: New test.
81941         * tests/test-openat-safer.c: New file.
81943         dirent-safer: new module
81944         * modules/dirent-safer: New file.
81945         * lib/dirent--.h: Likewise.
81946         * lib/dirent-safer.h: Likewise.
81947         * lib/opendir-safer.c: Likewise.
81948         * m4/dirent-safer.m4: Likewise.
81949         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
81950         * modules/dirent-safer-tests: New test.
81951         * tests/test-dirent-safer.c: New file.
81952         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
81954         fdopendir: optimize on mingw
81955         * lib/unistd.in.h (_gl_directory_name): New prototype.
81956         * lib/fchdir.c (_gl_directory_name): Implement it.
81957         (fchdir): Use it to simplify implementation.
81958         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
81959         fchdir, when available, to avoid calling [f]chdir().
81961         fdopendir: split into its own module
81962         * lib/openat.c (fdopendir): Move...
81963         * lib/fdopendir.c: ...into new file.
81964         * modules/fdopendir: New module.
81965         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
81966         * modules/openat (Depends-on): Add fdopendir.
81967         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
81968         fdopendir here.
81969         * modules/savedir (Depends-on): Only need fdopendir, not full
81970         openat.
81971         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
81972         * lib/openat.h (fdopendir): Drop prototype.
81973         * lib/dirent.in.h (fdopendir): Provide prototype.
81974         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
81975         * modules/dirent (Makefile.am): Substitute them.
81976         * MODULES.html.sh (File system functions): Mention it.
81977         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
81978         * modules/fdopendir-tests: New file.
81979         * tests/test-fdopendir.c: Likewise.
81981         fchdir: use more consistent macro convention
81982         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
81983         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
81984         REPLACE_FCHDIR, rather than relying on config.h macros.
81985         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
81986         inside a single make-time REPLACE_FCHDIR block, rather than using
81987         the config.h FCHDIR_REPLACEMENT.
81988         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
81989         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
81990         Manage fstat replacement.
81991         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
81992         REPLACE_FCHDIR.
81993         * modules/sys_stat (Files): Add m4/unistd_h.m4.
81994         (Makefile.am): Substitute REPLACE_FCHDIR.
81995         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
81996         FCHDIR_REPLACEMENT.
81997         * lib/dup-safer.c (dup_safer): Likewise.
81998         * lib/dup2.c (rpl_dup2): Likewise.
81999         * lib/dup3.c (rpl_dup3): Likewise.
82000         * lib/open.c (rpl_open): Likewise.
82002         fchdir: simplify error handling, and support dup3
82003         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
82004         stdbool, malloc-posix, realloc-posix.
82005         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
82006         (ensure_dirs_slot): Return false on allocation failure.
82007         (rpl_dup2): Delete.
82008         (_gl_register_dup): New function.
82009         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
82010         (_gl_register_fd): Close fd on allocation failure.
82011         * lib/fcntl.in.h (_gl_register_fd): Update signature.
82012         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
82013         prototype.
82014         (rpl_dup2_fchdir): Delete prototype.
82015         * lib/open.c (open): Update caller.
82016         * lib/dup2.c (dup2): Track fchdir metadata.
82017         * lib/dup3.c (dup3): Likewise.
82018         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
82019         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
82021 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82023         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
82024         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
82025         don't pass arguments to AC_OUTPUT.
82027 2009-09-02  Bruno Haible  <bruno@clisp.org>
82029         * modules/mkdtemp (License): Relicense under LGPLv2+.
82030         Reported by Paolo Bonzini.
82032 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82034         Replace uses of obsolete autoconf macros in Jim's modules.
82035         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
82036         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
82037         can evoke a warning from autoconf when run with -Wobsolete
82038         enabled.  They were declared obsolete for good reasons (see
82039         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
82040         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
82041         should not continue using the deprecated macros.
82042         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
82043         obsolete Autoconf macros with modern counterparts.
82044         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
82045         * m4/dos.m4 (gl_AC_DOS): Likewise.
82046         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
82047         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
82048         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
82049         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
82050         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
82051         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
82052         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
82053         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
82054         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
82055         Likewise.
82056         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
82057         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
82058         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
82059         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
82060         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
82061         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
82063 2009-09-01  Eric Blake  <ebb9@byu.net>
82065         fchdir: fix off-by-one bug in previous patch
82066         * lib/fchdir.c (rpl_fstat): Use correct bounds.
82067         (_gl_unregister_fd): Delete useless if.
82069 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
82071         maint.mk: sort the list of syntax-check rules
82072         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
82073         easier to get a sense of progress when the rules are run sequentially
82074         and take a long time.
82076 2009-09-01  Simon Josefsson  <simon@josefsson.org>
82078         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
82079         * modules/netinet_in: Likewise.
82080         * modules/sys_file: Likewise.
82081         * modules/sys_ioctl: Likewise.
82082         * modules/sys_select: Likewise.
82083         * modules/sys_socket: Likewise.
82084         * modules/sys_stat: Likewise.
82085         * modules/sys_time: Likewise.
82086         * modules/sys_times: Likewise.
82087         * modules/sys_utsname: Likewise.
82088         * modules/sys_wait: Likewise.
82090 2009-09-01  Jim Meyering  <meyering@redhat.com>
82092         fts: help ensure that return values are not ignored
82093         * lib/fts_.h (__GNUC_PREREQ): Define.
82094         (__attribute_warn_unused_result__): Define.
82095         (fts_children, fts_close, fts_open, fts_read): Declare with
82096         __attribute_warn_unused_result__.
82098         fts: fts_close now fails also when closing a dir file descriptor fails
82099         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
82100         and propagate to caller, along with errno.
82102         announce-gen: correct formatting in --help output
82103         * build-aux/announce-gen (usage): Move the one-line description in
82104         --help output "up", to where it belongs, just after Usage:.
82106 2009-08-31  Eric Blake  <ebb9@byu.net>
82108         fchdir: port to mingw
82109         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
82110         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
82111         opened, then use a substitute.
82112         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
82113         replacement.
82114         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
82115         (_gl_register_fd): No need to check stat if open already filters
82116         all directories.
82117         (fchdir): Fix error condition to match POSIX.
82118         * modules/fchdir (Depends-on): Add sys_stat.
82119         * doc/posix-functions/open.texi (open): Document the limitation.
82120         * modules/fchdir-tests: New file.
82121         * tests/test-fchdir.c: Likewise.
82123         canonicalize: allow cross-testing from cygwin to mingw
82124         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
82125         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
82126         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
82127         Likewise.
82128         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
82129         target does not support symlinks.
82130         * tests/test-canonicalize-lgpl.sh: Likewise.
82132         chown: avoid compilation warning on mingw
82133         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
82134         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
82135         mingw.
82136         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
82137         * modules/chown (Depends-on): Add errno.
82139 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
82141         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
82142         command.
82144 2009-08-31  Jim Meyering  <meyering@redhat.com>
82146         canonicalize: remove useless initialization
82147         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
82148         initialization of local, "end".
82150 2009-08-30  Bruno Haible  <bruno@clisp.org>
82152         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
82153         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
82154         ENOSYS.
82156 2009-08-30  Bruno Haible  <bruno@clisp.org>
82158         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
82159         /usr/xpg4/bin/tr when it exists.
82160         * tests/test-pipe-filter-gi1.sh: Likewise.
82162 2009-08-30  Bruno Haible  <bruno@clisp.org>
82164         Work around deficient /usr/bin/id program on Solaris.
82165         * tests/test-file-has-acl.sh (ID): New variable.
82166         * tests/test-set-mode-acl.sh (ID): Likewise.
82167         * tests/test-copy-acl.sh (ID): Likewise.
82168         * tests/test-copy-file.sh (ID): Likewise.
82170 2009-08-30  Bruno Haible  <bruno@clisp.org>
82172         New module 'xstriconveh'.
82173         * lib/xstriconveh.h: New file.
82174         * lib/xstriconveh.c: New file.
82175         * modules/xstriconveh: New file.
82177 2009-08-30  Bruno Haible  <bruno@clisp.org>
82179         Make it easier to use mem_cd_iconveh.
82180         * lib/striconveh.h (iconveh_t): New type.
82181         (iconveh_open, iconveh_close): New declarations.
82182         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
82183         with a single 'const iconveh_t *' argument.
82184         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
82185         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
82186         with a single 'const iconveh_t *' argument.
82187         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
82188         * tests/test-striconveh.c (main): Update.
82189         * NEWS: Mention the change.
82191 2009-08-30  Bruno Haible  <bruno@clisp.org>
82193         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
82194         problem.
82196 2009-08-30  Bruno Haible  <bruno@clisp.org>
82198         Work around iconv_open problem on Solaris.
82199         * lib/iconv_open-solaris.gperf: New file.
82200         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
82201         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
82202         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
82203         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
82204         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
82205         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
82207 2009-08-29  Jim Meyering  <meyering@redhat.com>
82209         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
82210         * top/maint.mk (cvs-check): Remove target; it was just an alias
82211         to the better-named vc-diff-check.
82212         (maintainer-distcheck): Remove rule.  It was used only from
82213         the (alpha/beta/major) target, and all of its commands but one
82214         were coreutils-specific.
82215         (vc-dist): Remove rule.
82216         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
82217         Run vc-diff-check, not vc-dist.
82218         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
82220 2009-08-27  Bruno Haible  <bruno@clisp.org>
82222         * tests/test-bitrotate.c (main): Remove test that uses a shift count
82223         of 0.
82225 2009-08-27  Bruno Haible  <bruno@clisp.org>
82227         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
82228         compilers.
82229         * doc/func.texi: Document the SunPRO C bug.
82231 2009-08-27  Bruno Haible  <bruno@clisp.org>
82233         Fix link error on Solaris.
82234         * tests/test-parse-duration.c (xstrdup): Remove function.
82236 2009-08-26  Pádraig Brady  <P@draigbrady.com>
82238         ignore-value: handle pointer types, too
82239         * lib/ignore-value.h (__attribute__): Remove definition.
82240         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
82241         of a more concise and more-often effective "(void) i" statement.
82242         (ignore_ptr): New function to suppress warnings from functions that
82243         return pointers, and to make it explicit that one function doesn't
82244         handle all cases.
82246 2009-08-25  Bruno Haible  <bruno@clisp.org>
82248         dup2: work around a Linux bug.
82249         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
82250         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
82251         * doc/posix-functions/dup2.texi: Mention the Linux bug.
82252         Reported by Simon Josefsson.
82254 2009-08-25  Jim Meyering  <meyering@redhat.com>
82256         libguestfs uses gnulib
82257         * users.txt: Add libguestfs.
82259 2009-08-24  Eric Blake  <ebb9@byu.net>
82261         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
82262         * lib/pipe2.c (includes): Add binary-io.h.
82263         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
82265 2009-08-24  Bruno Haible  <bruno@clisp.org>
82267         Tolerate declared but missing accept4 syscall.
82268         * lib/accept4.c (accept4): Invoke original accept4 function first, if
82269         available.
82270         * lib/sys_socket.in.h (accept4): If the function is already present,
82271         override it.
82272         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
82273         * modules/accept4 (Makefile.am): Compile accept4.c always.
82274         Reported by Paolo Bonzini and Eric Blake.
82276 2009-08-23  Bruno Haible  <bruno@clisp.org>
82278         New module 'accept4'.
82279         * lib/sys_socket.in.h (accept4): New declaration.
82280         * lib/accept4.c: New file.
82281         * m4/accept4.m4: New file.
82282         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
82283         GNULIB_ACCEPT4, HAVE_ACCEPT4.
82284         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
82285         HAVE_ACCEPT4.
82286         * modules/accept4: New file.
82287         * doc/glibc-functions/accept4.texi: Mention the new module.
82289 2009-08-24  Jim Meyering  <meyering@redhat.com>
82291         progname: also set global program_invocation_name, when possible
82292         Before this change, a libtool-enabled program that calls glibc's
82293         error function would report the program name as
82294         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
82295         * modules/progname (configure.ac): Check for a declaration of
82296         program_invocation_name.
82297         * lib/progname.c:  Include <errno.h>.
82298         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
82299         Set program_invocation_name.
82301 2009-08-23  Bruno Haible  <bruno@clisp.org>
82303         * lib/dup3.c: Include <string.h>.
82305 2009-08-23  Bruno Haible  <bruno@clisp.org>
82307         * lib/dup3.c (dup3): Test only once whether the system actually exists.
82308         * lib/pipe2.c (pipe2): Likewise.
82309         Suggested by Eric Blake.
82311 2009-08-23  Bruno Haible  <bruno@clisp.org>
82313         Tolerate declared but missing dup3 syscall.
82314         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
82315         * lib/unistd.in.h (dup3): If the function is already present,
82316         override it.
82317         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
82318         * modules/dup3 (Makefile.am): Compile dup3.c always.
82319         Reported by Paolo Bonzini.
82321 2009-08-23  Bruno Haible  <bruno@clisp.org>
82323         Tolerate declared but missing pipe2 syscall.
82324         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
82325         available.
82326         * lib/unistd.in.h (pipe2): If the function is already present,
82327         override it.
82328         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
82329         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
82330         Reported by Paolo Bonzini.
82332 2009-08-23  Bruno Haible  <bruno@clisp.org>
82334         * lib/pipe2.c (pipe2): Move #ifs inside function.
82336 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
82338         quotearg: document limitations of quote_these_too
82339         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
82340         those limitations are created.
82341         * lib/quotearg.h (set_char_quoting): Document that digits and
82342         letters that are special after backslash are not permitted.
82343         (quotearg_char): Cross-reference set_char_quoting documentation.
82345 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
82347         quotearg: implement custom_quoting_style
82348         * lib/quotearg.c: (struct quoting_options): Add left_quote and
82349         right_quote fields.
82350         (set_custom_quoting): New public function.
82351         (quotearg_buffer_restyled): Add left_quote and right_quote
82352         arguments, handle them very much like locale quoting, and update
82353         all uses.
82354         (quotearg_n_custom): New public function.
82355         (quotearg_n_custom_mem): New public function.
82356         (quotearg_custom): New public function.
82357         (quotearg_custom_mem): New public function.
82358         * lib/quotearg.h: Prototype and document new public functions.
82359         (enum quoting_style): For escape_quoting_style and
82360         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
82361         ignored even though they're otherwise like c_quoting_style.
82362         Add custom_quoting_style member and document with comparison to
82363         clocale_quoting_style.
82364         * tests/test-quotearg.c (custom_quotes): New array.
82365         (custom_results): New array.
82366         (main): Extend to test custom quoting.
82368 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
82370         quotearg: fix right quote escaping when it's in quote_these_too
82371         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
82372         quote, be sure to prepend only one backslash.
82373         * tests/test-quotearg.c (use_quote_double_quotes): New function.
82374         (main): Test it.
82376 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
82378         quotearg-tests: test escaping of embedded locale quotes
82379         * tests/test-quotearg.c (struct result_strings): Add member for
82380         new input.
82381         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
82382         (inputs): Add new input.
82383         (results_g): Add expected results.
82384         (flag_results): Likewise.
82385         (locale_results): Likewise.
82386         (compare_strings): Check those.
82388 2009-08-23  Bruno Haible  <bruno@clisp.org>
82390         Tests for module 'dup3'.
82391         * modules/dup3-tests: New file.
82392         * tests/test-dup3.c: New file.
82394         New module 'dup3'.
82395         * lib/unistd.in.h (dup3): New declaration.
82396         * lib/dup3.c: New file.
82397         * m4/dup3.m4: New file.
82398         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
82399         HAVE_DUP3.
82400         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
82401         * modules/dup3: New file.
82402         * doc/glibc-functions/dup3.texi: Mention the new module.
82404 2009-08-23  Bruno Haible  <bruno@clisp.org>
82406         Tweak the dup2 test.
82407         * tests/test-dup2.c (main): Create the test file empty. Verify that an
82408         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
82409         the test file is still empty. Fix argument order of lseek.
82411 2009-08-23  Bruno Haible  <bruno@clisp.org>
82413         Avoid test link errors when the modules getopt-gnu, gettext are used.
82414         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
82415         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
82417 2009-08-23  Bruno Haible  <bruno@clisp.org>
82419         Fix getdtablesize() on mingw.
82420         * lib/getdtablesize.c (getdtablesize): Implement differently.
82421         * lib/unistd.in.h (getdtablesize): Improve comment.
82423 2009-08-23  Bruno Haible  <bruno@clisp.org>
82425         New module 'mkostemp'.
82426         Based on Ulrich Drepper's 2007-08-10 change in glibc.
82427         * lib/stdlib.in.h (mksotemp): New declaration.
82428         * lib/mkostemp.c: New file, from glibc with modifications.
82429         * lib/tempname.h (GT_FILE): Remove outdated comment.
82430         (gen_tempname): Add flags argument.
82431         * lib/tempname.c (__GT_BIGFILE): Remove macro.
82432         (__GT_FILE): Map to 1.
82433         (small_open, large_open): Remove macros.
82434         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
82435         * lib/mkstemp.c (mkstemp): Update.
82436         * lib/mkdtemp.c (mkdtemp): Likewise.
82437         * m4/mkostemp.m4: New file.
82438         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
82439         HAVE_MKOSTEMP.
82440         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
82441         HAVE_MKOSTEMP.
82442         * modules/mkostemp: New file, based on modules/mkstemp.
82443         * doc/glibc-functions/mkostemp.texi: Mention the new module.
82444         * NEWS: Mention the change.
82446 2009-08-23  Bruno Haible  <bruno@clisp.org>
82448         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
82449         Reported by Eric Blake.
82451 2009-08-23  Bruno Haible  <bruno@clisp.org>
82453         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
82454         Reported by Eric Blake.
82456 2009-08-23  Bruno Haible  <bruno@clisp.org>
82458         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
82459         * modules/pipe2 (Depends-on): Likewise.
82461 2009-08-23  Eric Blake  <ebb9@byu.net>
82463         fcntl-h: add O_TTY_INIT support
82464         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
82465         * tests/test-fcntl-h.c (o): Test it.
82466         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
82468         fcntl-h: rename from fcntl, in preparation for fcntl(2)
82469         * modules/fcntl: Move <fcntl.h> header replacement...
82470         * modules/fcntl-h: ...to new name, so as not to collide with
82471         like-named function.
82472         * tests/test-fcntl.c: Rename...
82473         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
82474         * modules/fcntl-tests: Rename...
82475         * modules/fcntl-h-tests: ...to this.  Update test file name.
82476         * modules/chdir-long (Depends-on): Update clients.
82477         * modules/chdir-safer (Depends-on): Likewise.
82478         * modules/fcntl-safer (Depends-on): Likewise.
82479         * modules/fts (Depends-on): Likewise.
82480         * modules/mkancesdirs (Depends-on): Likewise.
82481         * modules/mkdir-p (Depends-on): Likewise.
82482         * modules/open (Depends-on): Likewise.
82483         * modules/savewd (Depends-on): Likewise.
82484         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
82485         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
82487 2009-08-22  Bruno Haible  <bruno@clisp.org>
82489         * modules/binary-io (License): Relicense under LGPL.
82490         * modules/pipe2 (License): Likewise.
82492 2009-08-22  Bruno Haible  <bruno@clisp.org>
82494         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
82495         return value.
82496         * lib/pipe-filter-gi.c (filter_init): Likewise.
82497         Reported by Eric Blake.
82499 2009-08-22  Bruno Haible  <bruno@clisp.org>
82501         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
82502         * modules/pipe (Depends-on): Add pipe2.
82504 2009-08-22  Bruno Haible  <bruno@clisp.org>
82506         Tests for module 'pipe2'.
82507         * modules/pipe2-tests: New file.
82508         * tests/test-pipe2.c: New file.
82510         New module 'pipe2'.
82511         * lib/unistd.in.h (pipe2): New declaration.
82512         * lib/pipe2.c: New file.
82513         * m4/pipe2.m4: New file.
82514         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
82515         HAVE_PIPE2.
82516         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
82517         * modules/pipe2: New file.
82518         * doc/glibc-functions/pipe2.texi: Mention the new module.
82520 2009-08-22  Bruno Haible  <bruno@clisp.org>
82522         Reference some new glibc functions.
82523         * doc/glibc-functions/accept4.texi: New file.
82524         * doc/glibc-functions/dup3.texi: New file.
82525         * doc/glibc-functions/mkostemp.texi: New file.
82526         * doc/glibc-functions/pipe2.texi: New file.
82527         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
82528         (Glibc sys/socket.h): Refer to accept4.
82529         (Glibc unistd.h): Refer to dup3, pipe2.
82530         Reported by Eric Blake.
82532 2009-08-22  Jim Meyering  <meyering@redhat.com>
82533             Bruno Haible  <bruno@clisp.org>
82535         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
82536         This makes it so packages using automake-1.11's silent-rules option
82537         can print e.g., a single "GEN    configmake.h" line, rather than
82538         the 30+ statements that perform the job.  If you want to see the
82539         actual commands, you can still run "make V=1".
82540         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
82541         so that make output is abbreviated when those variables are defined
82542         appropriately.
82543         * modules/argz: Likewise.
82544         * modules/arpa_inet: Likewise.
82545         * modules/byteswap: Likewise.
82546         * modules/configmake: Likewise.
82547         * modules/dirent: Likewise.
82548         * modules/errno: Likewise.
82549         * modules/fcntl: Likewise.
82550         * modules/float: Likewise.
82551         * modules/fnmatch: Likewise.
82552         * modules/getopt-posix: Likewise.
82553         * modules/glob: Likewise.
82554         * modules/iconv_open: Likewise.
82555         * modules/inttypes: Likewise.
82556         * modules/localcharset: Likewise.
82557         * modules/locale: Likewise.
82558         * modules/math: Likewise.
82559         * modules/netdb: Likewise.
82560         * modules/netinet_in: Likewise.
82561         * modules/poll: Likewise.
82562         * modules/posix_spawnp-tests: Likewise.
82563         * modules/sched: Likewise.
82564         * modules/search: Likewise.
82565         * modules/selinux-h: Likewise.
82566         * modules/signal: Likewise.
82567         * modules/spawn: Likewise.
82568         * modules/stdarg: Likewise.
82569         * modules/stdbool: Likewise.
82570         * modules/stddef: Likewise.
82571         * modules/stdint: Likewise.
82572         * modules/stdio: Likewise.
82573         * modules/stdlib: Likewise.
82574         * modules/string: Likewise.
82575         * modules/strings: Likewise.
82576         * modules/sys_file: Likewise.
82577         * modules/sys_ioctl: Likewise.
82578         * modules/sys_select: Likewise.
82579         * modules/sys_socket: Likewise.
82580         * modules/sys_stat: Likewise.
82581         * modules/sys_time: Likewise.
82582         * modules/sys_times: Likewise.
82583         * modules/sys_utsname: Likewise.
82584         * modules/sys_wait: Likewise.
82585         * modules/sysexits: Likewise.
82586         * modules/time: Likewise.
82587         * modules/unistd: Likewise.
82588         * modules/wchar: Likewise.
82589         * modules/wctype: Likewise.
82591 2009-08-22  Jim Meyering  <meyering@redhat.com>
82593         announce-gen: detect write failure
82594         * build-aux/announce-gen: Add Coda at end.
82595         Remove equivalent-but-more-verbose block at top.
82597 2009-08-19  Akim Demaille  <demaille@gostai.com>
82599         bootstrap: --help to stdout.
82600         * bootstrap (usage): Don't send --help to stderr.
82601         Use a here doc instead of a long string.
82603 2009-08-21  Eric Blake  <ebb9@byu.net>
82605         test-popen-safer: split from test-popen
82606         * tests/test-popen.c (main): Move...
82607         * tests/test-popen.h: ...into new file.
82608         * tests/test-popen-safer2.c: New file.
82609         * modules/popen-tests (Files): Add test-popen.h.
82610         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
82611         Suggested by Bruno Haible.
82613         test-fcntl-safer: split from test-open
82614         * tests/test-open.c (main): Move...
82615         * tests/test-open.h: ...into new file.
82616         * tests/test-fcntl-safer.c: New file.
82617         * modules/open-tests (Files): Add test-open.h.
82618         * modules/fcntl-safer-tests: New file.
82619         Suggested by Bruno Haible.
82621         test-fopen-safer: split from test-fopen
82622         * tests/test-fopen.c (main): Move...
82623         * tests/test-fopen.h: ...into new file.
82624         * tests/test-fopen-safer.c: New file.
82625         * modules/fopen-tests (Files): Add test-fopen.h.
82626         * modules/fopen-safer-tests: New file.
82627         Suggested by Bruno Haible.
82629 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
82631         popen-safer: test O_CLOEXEC at run-time.
82632         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
82634 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
82636         fcntl: move more flags to the header
82637         * lib/cloexec.c: Do not define FD_CLOEXEC here.
82638         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
82639         * lib/fcntl.in.h: Do both things here.
82641 2009-08-21  Jim Meyering  <meyering@redhat.com>
82643         consistently remove $@-t before redirecting to it
82644         * modules/argz: Remove $@-t and $@ before redirecting to the former.
82645         * modules/alloca-opt: Likewise.
82646         * modules/byteswap: Likewise.
82647         * modules/fnmatch: Likewise.
82648         * modules/getopt-posix: Likewise.
82649         * modules/glob: Likewise.
82650         * modules/poll: Likewise.
82651         * modules/posix_spawnp-tests: Likewise.
82652         * modules/sys_socket: Likewise.
82653         * modules/sysexits: Likewise.
82655 2009-08-21  Eric Blake  <ebb9@byu.net>
82657         popen: simplify access to original popen
82658         * lib/popen.c (rpl_popen): No need to worry about popen being a
82659         macro.
82660         Reported by Bruno Haible.
82662 2009-08-20  Eric Blake  <ebb9@byu.net>
82664         build: avoid some compiler warnings
82665         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
82666         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
82667         type.
82668         (new_exclude_segment, excluded_file_pattern_p)
82669         (excluded_file_name_p): Reduce scope.
82670         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
82671         old-style declaration.
82673 2009-08-20  Simon Josefsson  <simon@josefsson.org>
82675         * tests/test-exclude1.sh: Handle Windows EOL.
82676         * tests/test-exclude2.sh: Likewise.
82677         * tests/test-exclude3.sh: Likewise.
82678         * tests/test-exclude4.sh: Likewise.
82679         * tests/test-exclude5.sh: Likewise.
82680         * tests/test-exclude6.sh: Likewise.
82681         * tests/test-exclude7.sh: Likewise.
82683 2009-08-19  Akim Demaille  <demaille@gostai.com>
82685         bootstrap: find sha1sum when named gsha1sum.
82686         * bootstrap (find_tool): New.
82687         ($SHA1SUM): New.
82688         Use it.
82690 2009-08-20  Jim Meyering  <meyering@redhat.com>
82692         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
82693         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
82694         expression that converts "." in a file name to "\." in the resulting
82695         regexp.  Start with a dummy statement, so that prior shell variable
82696         definitions are expanded portably.  Reported by Simon Josefsson.
82698 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
82700         Fix polling for writeability of a screen buffer.
82701         * lib/poll.c: Distinguish input and screen buffers for the
82702         Win32 implementation.
82703         * lib/select.c: Likewise.
82705 2009-08-19  Eric Blake  <ebb9@byu.net>
82707         popen-safer: prevent popen from clobbering std descriptors
82708         * modules/popen-safer: New file.
82709         * lib/popen-safer.c: Likewise.
82710         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
82711         * lib/stdio--.h (popen): Provide override.
82712         * lib/stdio-safer.h (popen_safer): Provide declaration.
82713         * tests/test-popen.c (includes): Partially test this.
82714         * modules/popen-safer-tests: New file, for more tests.
82715         * tests/test-popen-safer.c: Likewise.
82716         * MODULES.html.sh (file stream based Input/Output): Mention it.
82718         tests: test some of the *-safer modules
82719         * modules/fopen-safer (Depends-on): Add fopen.
82720         * modules/fcntl-safer (Depends-on): Add fcntl.
82721         * modules/stdlib-safer (Depends-on): Add stdlib.
82722         (configure.ac): Set indicator.
82723         * modules/unistd-safer (configure.ac): Likewise.
82724         * modules/tmpfile-safer (configure.ac): Likewise.
82725         (Depends-on): Add tmpfile.
82726         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
82727         active.
82728         * tests/test-fopen.c (includes): Test safer versions when they are
82729         in use.
82730         * tests/test-open.c (includes): Likewise.
82732         popen: fix cygwin 1.5 bug when stdin closed
82733         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
82734         * modules/popen: New file.
82735         * modules/popen-tests: Likewise.
82736         * tests/test-popen.c: Likewise.
82737         * m4/popen.m4: Likewise.
82738         * lib/popen.c: Likewise.
82739         * lib/stdio.in.h (popen): New declaration.
82740         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
82741         * modules/stdio (Makefile.am): Likewise.
82742         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
82744 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
82746         maint.mk: give full control over update-copyright exclusions
82747         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
82748         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
82749         (update-copyright): Don't force inclusion of top-level
82750         ChangeLog.  Don't force exclusion of all COPYING files, but make
82751         them the default exclusion instead.
82753 2009-08-16  Bruno Haible  <bruno@clisp.org>
82755         Fix test failures on Solaris 10.
82756         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
82757         tests when Solaris iconv() is used.
82758         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
82759         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
82760         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
82761         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
82762         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
82764 2009-08-16  Bruno Haible  <bruno@clisp.org>
82766         Fix test failures on Solaris 10.
82767         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
82768         'tr' program and pass it as first argument.
82769         * tests/test-pipe-filter-gi1.sh: Likewise.
82770         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
82771         program as first argument.
82772         * tests/test-pipe-filter-gi1.c (main): Likewise.
82774 2009-08-16  Eric Blake  <ebb9@byu.net>
82776         fpurge: fix previous commits
82777         * modules/fpurge (Makefile.am): Make replacement conditional,
82778         partially reverting 2007-04-29 change; missed in previous
82779         attempt.
82780         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
82781         is missing.
82783 2009-08-16  Bruno Haible  <bruno@clisp.org>
82785         Clarify fpurge's effect on the file position.
82786         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
82787         * tests/test-fpurge.c (main): Make a second pass for checking the file
82788         position.
82790 2009-08-16  Bruno Haible  <bruno@clisp.org>
82792         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
82793         declaration of fpurge is missing.
82794         * tests/test-fpurge.c (main): Check that the file has not more contents
82795         than expected. Close the file before removing it.
82797 2009-08-15  Eric Blake  <ebb9@byu.net>
82799         fpurge: don't wrap working cygwin implementation
82800         * lib/fpurge.c (fpurge): Fix comment typo.
82801         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
82802         1.7 to avoid replacement.
82803         * tests/test-fpurge.c (main): Enhance test.
82805 2009-08-15  Eric Blake  <ebb9@byu.net>
82806         and Jim Meyering  <meyering@redhat.com>
82808         test-update-copyright: skip if perl is insufficient
82809         * tests/test-update-copyright.sh: Failure to run maintainer tool
82810         should not cause testsuite failure on cygwin 1.5.
82812 2009-08-14  Eric Blake  <ebb9@byu.net>
82814         doc: mention more functions added in cygwin 1.7.0
82815         * doc/posix-headers/limits.texi (limits.h): Update for recent
82816         cygwin additions.
82817         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
82818         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
82819         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
82820         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
82821         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
82823 2009-08-14  Eric Blake  <ebb9@byu.net>
82825         maint.mk: simplify update-copyright rule
82826         * top/maint.mk (update-copyright-local): Delete, and document how
82827         to do it in cfg.mk instead.
82828         (update-copyright-exclude-regexp): Delete, and document how to do
82829         it in .x-update-copyright instead.
82830         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
82831         exclude ChangeLog.
82833 2009-08-14  Bruno Haible  <bruno@clisp.org>
82835         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
82837 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
82839         maint.mk: support update-copyright-env
82840         * top/maint.mk (update-copyright-env): Define place-holder.
82841         (update-copyright): Expand $(update-copyright-env) before
82842         invoking update-copyright.
82844 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
82846         update-copyright: implement forced reformatting
82847         * build-aux/update-copyright: Implement and document
82848         UPDATE_COPYRIGHT_FORCE.
82849         * tests/test-update-copyright.sh: Test it.
82851 2009-08-14  Eric Blake  <ebb9@byu.net>
82852         and Bruno Haible  <bruno@clisp.org>
82854         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
82855         * tests/test-locale.c: Revert previous patch related to NULL.
82856         * tests/test-stdio.c: Likewise.
82857         * tests/test-stdlib.c: Likewise.
82858         * tests/test-string.c: Likewise.
82859         * tests/test-unistd.c: Likewise.
82860         * modules/time-tests (Depends-on): Add verify.
82861         * modules/wchar-tests (Depends-on): Likewise.
82862         * tests/test-time.c: Test for NULL compliance.
82863         * tests/test-wchar.c: Likewise.
82864         * modules/locale (Depends-on): Add stddef.
82865         * modules/stdio (Depends-on): Likewise.
82866         * modules/stdlib (Depends-on): Likewise.
82867         * modules/string (Depends-on): Likewise.
82868         * modules/time (Depends-on): Likewise.
82869         * modules/unistd (Depends-on): Likewise.
82870         * modules/wchar (Depends-on): Likewise.
82871         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
82872         * lib/stdlib.in.h (includes): Likewise.
82873         * lib/string.in.h (includes): Likewise.
82874         * lib/time.in.h (includes): Likewise.
82875         * lib/unistd.in.h (includes): Likewise.
82876         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
82877         replaced.
82878         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
82879         * m4/stddef_h.m4: New file.
82880         * modules/stddef: Likewise.
82881         * lib/stddef.in.h: Likewise.
82882         * modules/stddef-tests: Likewise.
82883         * tests/test-stddef.c: Likewise.
82884         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
82885         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
82886         * doc/posix-headers/locale.texi (locale.h): Likewise.
82887         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
82888         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
82889         * doc/posix-headers/string.texi (string.h): Likewise.
82890         * doc/posix-headers/time.texi (time.h): Likewise.
82891         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
82892         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
82894 2009-08-14  Eric Blake  <ebb9@byu.net>
82896         doc: improve git diff of texinfo files
82897         * .gitattributes: Add rule for *.texi files, with hint on how to
82898         use it.
82899         Copied from m4, and based on a report by Bruno Haible.
82901 2009-08-14  Bruno Haible  <bruno@clisp.org>
82903         Disable multithread support by default on Cygwin 1.5.x for real.
82904         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
82906 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
82908         update-copyright: much ado about intervals
82909         * build-aux/update-copyright: Implement and document
82910         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
82911         of copyright year intervals.
82912         Also, document UPDATE_COPYRIGHT_YEAR.
82913         * tests/test-update-copyright.sh: Test it.
82915         update-copyright: convert 2-digit to 4-digit years
82916         * build-aux/update-copyright: Implement and document.
82917         * tests/test-update-copyright.sh: Update.
82919 2009-08-14  Jim Meyering  <meyering@redhat.com>
82921         test-exclude: avoid coreutils "make check" failure
82922         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
82923         just as in test-argmatch.c.
82925 2009-08-13  Eric Blake  <ebb9@byu.net>
82927         test-dup2: fix bad assumption
82928         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
82929         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
82931         test-version-etc: fix CRLF portability issue
82932         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
82933         recognize \r.
82934         * tests/test-argp-version-etc-1.sh: Likewise.
82936         getopt: update client modules
82937         * modules/argp (Depends-on): Use getopt-gnu.
82938         * modules/git-merge-changelog (Depends-on): Likewise.
82939         * modules/long-options (Depends-on): Likewise.
82940         * modules/xstrtol (Depends-on): Likewise.
82942 2009-08-13  Simon Josefsson  <simon@josefsson.org>
82944         * tests/test-version-etc.sh: Don't fail on different
82945         project/version.  Don't fail on CRLF differences.  Rewrite to use
82946         multiple -e instead of multiple sed forks, suggested by Eric Blake
82947         <ebb9@byu.net>.
82948         * tests/test-argp-version-etc-1.sh: Likewise.
82950 2009-08-13  Simon Josefsson  <simon@josefsson.org>
82952         * tests/test-version-etc.sh: Don't fail on different
82953         project/version.
82955 2009-08-12  Bruno Haible  <bruno@clisp.org>
82957         Tests for modules 'getopt-posix', 'getopt-gnu'.
82958         * modules/getopt-posix-tests: New file.
82959         * tests/test-getopt.c: New file.
82960         * tests/test-getopt.h: New file.
82961         * tests/test-getopt_long.h: New file.
82963         New modules 'getopt-posix', 'getopt-gnu'.
82964         * modules/getopt-gnu: New file, renamed from modules/getopt.
82965         * modules/getopt-posix: New file.
82966         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
82967         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
82968         (gl_GETOPT): Remove macro.
82969         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
82970         Disable the test against BSD systems that declare optreset. Test
82971         against mingw bug. Test against lack of support of optional arguments
82972         on many platforms.
82973         * doc/glibc-headers/getopt.texi: Update module name and list of
82974         relevant platforms.
82975         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
82976         'getopt-gnu' and more portability problems.
82977         * NEWS: Mention the changes.
82979 2009-08-12  Bruno Haible  <bruno@clisp.org>
82981         Ensure that optarg etc. get declared by <unistd.h>.
82982         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
82983         AC_USE_SYSTEM_EXTENSIONS.
82984         * modules/getopt (Depends-on): Add 'extensions'.
82986 2009-08-12  Bruno Haible  <bruno@clisp.org>
82988         Avoid test link errors.
82989         * modules/pipe-filter-ii-tests (Makefile.am): Define
82990         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
82991         * modules/pipe-filter-gi-tests (Makefile.am): Define
82992         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
82993         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
82995 2009-08-12  Bruno Haible  <bruno@clisp.org>
82997         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
82998         gl_GETOPT_SUBSTITUTE before.
82999         (gl_GETOPT): Use it.
83000         * m4/argp.m4 (gl_ARGP): Update.
83001         Reported by Sergey Poznyakoff.
83003         * m4/getopt.m4: Reorder macros.
83004         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
83005         (gl_GETOPT_SUBSTITUTE): Remove macro.
83007 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
83009         Minor improvement in gitlog-to-changelog
83011         * build-aux/gitlog-to-changelog: New option `--format' makes
83012         output format string configurable.
83014 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
83016         Optimize exclude: use hash tables for non-wildcard patterns.
83018         * lib/exclude.c: Include hash.h and mbuiter.h
83019         (struct exclude_pattern, exclude_segment): New data types.
83020         (struct exclude): Rewrite.
83021         (fnmatch_pattern_has_wildcards): New function.
83022         (new_exclude_segment, free_exclude_segment): New functions.
83023         (excluded_file_pattern_p, excluded_file_name_p): New functions.
83024         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
83025         * lib/exclude.h (is_fnmatch_pattern): New prototype.
83026         * modules/exclude: Depend on hash and mbuiter.
83028         * modules/exclude-tests: New file.
83029         * tests/test-exclude.c: New file.
83030         * tests/test-exclude1.sh: New file.
83031         * tests/test-exclude2.sh: New file.
83032         * tests/test-exclude3.sh: New file.
83033         * tests/test-exclude4.sh: New file.
83034         * tests/test-exclude5.sh: New file.
83035         * tests/test-exclude6.sh: New file.
83036         * tests/test-exclude7.sh: New file.
83038 2009-08-12  Bruno Haible  <bruno@clisp.org>
83040         Ensure that getopt() gets declared by <unistd.h>.
83041         * lib/unistd.in.h: Conditionally include getopt.h.
83042         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
83043         Set GNULIB_UNISTD_H_GETOPT.
83044         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
83045         GNULIB_UNISTD_H_GETOPT.
83046         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
83048 2009-08-12  Bruno Haible  <bruno@clisp.org>
83050         Clarify logic.
83051         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
83052         gl_replace_getopt instead of GETOPT_H.
83054 2009-08-12  Bruno Haible  <bruno@clisp.org>
83056         * m4/getopt.m4: Add comments.
83058 2009-08-12  Bruno Haible  <bruno@clisp.org>
83060         Disable multithread support by default on Cygwin 1.5.x.
83061         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
83062         set gl_use_threads=no if not specified otherwise.
83064 2009-08-11  Bruno Haible  <bruno@clisp.org>
83066         Avoid compilation error on NetBSD 5.0.
83067         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
83068         * tests/test-stdio.c: Likewise.
83069         * tests/test-stdlib.c: Likewise.
83070         * tests/test-string.c: Likewise.
83071         * tests/test-unistd.c: Likewise.
83072         Reported by Greg Troxel <gdt@ir.bbn.com>
83073         at <https://savannah.gnu.org/support/?106973>.
83075 2009-08-11  Bruno Haible  <bruno@clisp.org>
83077         * modules/dup2-tests (Depends-on): Remove close.
83079         Undo 2009-07-19 commit.
83080         * modules/acl-tests (Depends-on): Remove close.
83081         * modules/binary-io-tests (Depends-on): Likewise.
83082         * modules/closein-tests (Depends-on): Likewise.
83083         * modules/flock-tests (Depends-on): Likewise.
83084         * modules/fsync-tests (Depends-on): Likewise.
83085         * modules/lseek-tests (Depends-on): Likewise.
83086         * modules/pipe-tests (Depends-on): Likewise.
83087         * modules/posix_spawn-tests (Depends-on): Likewise.
83088         * modules/posix_spawnp-tests (Depends-on): Likewise.
83089         * modules/stat-time-tests (Depends-on): Likewise.
83090         * modules/yesno-tests (Depends-on): Likewise.
83092 2009-08-10  Bruno Haible  <bruno@clisp.org>
83094         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
83096 2009-08-10  Bruno Haible  <bruno@clisp.org>
83098         Fix a gcc warning.
83099         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
83101 2009-08-10  Bruno Haible  <bruno@clisp.org>
83103         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
83104         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
83105         not only the first time.
83106         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
83107         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
83108         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
83109         is 1, not only the first time.
83111 2009-08-10  Bruno Haible  <bruno@clisp.org>
83113         Make it possible to use module 'gethostname' without module 'close'.
83114         * lib/unistd.in.h (close): Evoke a link error only if
83115         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
83116         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
83117         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
83118         * modules/unistd (Makefile.am): Substitute
83119         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
83120         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
83121         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
83122         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
83123         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
83124         * modules/sys_ioctl (Makefile.am): Substitute
83125         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
83126         * modules/socket (configure.ac): On native Windows, set
83127         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
83128         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
83129         Reported by Sam Steingold <sds@gnu.org>.
83131 2009-08-10  Bruno Haible  <bruno@clisp.org>
83133         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
83134         * modules/ioctl (configure.ac): Likewise.
83136 2009-08-10  Bruno Haible  <bruno@clisp.org>
83138         Avoid collision between gnulib wrapper and libintl wrapper.
83139         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
83140         already defined in intl/printf.c.
83141         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
83142         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
83144 2009-08-09  Bruno Haible  <bruno@clisp.org>
83146         Make <sys/select.h> really self-contained, also on Solaris 10.
83147         * lib/sys_select.in.h: Include <string.h>.
83148         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
83149         Solaris 10 problem.
83150         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
83151         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
83152         Reported by Jim Meyering.
83154 2009-08-09  Bruno Haible  <bruno@clisp.org>
83156         Avoid warnings from 'aclocal' that are due to a use of macro name
83157         AM_XGETTEXT_OPTION that is not defined in automake.
83158         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
83159         automake.
83160         * modules/error (configure.ac): Likewise.
83161         * modules/propername (configure.ac): Likewise.
83162         * modules/vasprintf (configure.ac): Likewise.
83163         * modules/verror (configure.ac): Likewise.
83164         * modules/xprintf (configure.ac): Likewise.
83165         * modules/xvasprintf (configure.ac): Likewise.
83167 2009-08-08  Bruno Haible  <bruno@clisp.org>
83169         Avoid compilation error in C++ mode.
83170         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
83171         Reported by Sam Steingold <sds@gnu.org>.
83173 2009-08-08  Bruno Haible  <bruno@clisp.org>
83175         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
83176         for the various Unix platforms.
83177         * doc/posix-headers/limits.texi: Update platforms list regarding
83178         HOST_NAME_MAX.
83179         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
83181 2009-08-07  Jim Meyering  <meyering@redhat.com>
83183         selinux-at: fix typo in a comment
83184         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
83185         Spotted by Paolo Bonzini.
83187         selinux-at: remove redundant m4 code, add documentation
83188         * modules/selinux-at (configure.ac): Remove redundant code.
83189         LIB_SELINUX is already set via the dependent module, selinux-h.
83190         (Include): Add quotes around selinux-at.h.
83191         * lib/selinux-at.h: Add documentation.
83192         Reported by Bruno Haible in
83193         http://marc.info/?l=gnulib-bug&m=124958988300749
83195 2009-08-07  Bruno Haible  <bruno@clisp.org>
83197         Avoid link error on MacOS X 10.3 and 10.4.
83198         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
83199         on non-ELF systems.
83200         * lib/argp-pv.c (argp_program_version): Likewise.
83201         Reported by Simon Josefsson.
83203 2009-08-07  Simon Josefsson  <simon@josefsson.org>
83205         * tests/test-version-etc.sh: Use $EXEEXT.
83207 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
83209         update-copyright: update documentation to point to maint.mk
83210         * build-aux/update-copyright: Here.
83212 2009-08-06  Jim Meyering  <meyering@redhat.com>
83214         maint.mk: support update-copyright-local
83215         * top/maint.mk (update-copyright-local): Define place-holder.
83216         (update-copyright): Depend on $(update-copyright-local).
83218 2009-08-06  Jim Meyering  <meyering@redhat.com>
83220         selinux-at: new module
83221         Initially written for coreutils, this module will soon be
83222         used by findutils, too.
83223         * MODULES.html.sh [Misc]: Add selinux-at.
83224         * lib/selinux-at.h: New file, from coreutils.
83225         * lib/selinux-at.c: Likewise.
83226         * modules/selinux-at: Likewise.
83227         (License): Change from LGPL to GPL, since it depends
83228         on the GPL'd openat module.
83230         doc: update README
83231         * README: Remove references to cogito.
83232         Remove cvs-repo-updating instructions from 2007.
83233         Don't imply that CVS is better if you have limited disk space.
83235 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
83237         update-copyright: support C-style comments
83238         * build-aux/update-copyright: Implement and document.
83239         * tests/test-update-copyright.sh: Test.
83241 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
83243         update-copyright: support omitted "(C)"
83244         * build-aux/update-copyright: Implement and document.  Also,
83245         allow variable whitespace before "(C)".
83246         * tests/test-update-copyright.sh: Test.
83248 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
83250         update-copyright: don't trip on non-FSF copyright statements
83251         * build-aux/update-copyright: Fix so that the first correctly
83252         formatted FSF copyright statement is recognized no matter what
83253         appears before it.  Update documentation.
83254         * tests/test-update-copyright.sh: Test that.
83256 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
83258         update-copyright: clean up code a little
83259         * build-aux/update-copyright: Append "_re" to the name of any
83260         variable holding a regular expression.
83261         Replace "old" and "new" with "stmt" in variable names.
83262         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
83263         handled correctly.
83264         Format code more consistently.
83266 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
83268         update-copyright-tests: improve portability
83269         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
83270         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
83272 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
83274         update-copyright: support @copyright{} and &copy;
83275         * build-aux/update-copyright: Implement and document.
83276         * tests/test-update-copyright.sh: Test.
83278 2009-08-04  Jim Meyering  <meyering@redhat.com>
83280         update-copyright-tests: correctly test EOL=\r\n handling
83281         * tests/test-update-copyright.sh: Put \r at the end of some lines
83282         for the dos-eol tests.  Based on a patch by Joel E. Denny.
83284         maint.mk: make update-copyright exclusion list more configurable
83285         * top/maint.mk (update-copyright): Default to excluding COPYING,
83286         but allow an override, in case someone does want to update that file.
83288         maint.mk: don't update copyright date in COPYING
83289         * top/maint.mk (update-copyright): Exclude COPYING.
83291         maint.mk: add a copyright-updating rule
83292         * top/maint.mk (update-copyright): New rule.
83293         Derived from coreutils/Makefile.am.
83295         update-copyright: rename some variables
83296         * build-aux/update-copyright: Rename a few variables for clarity.
83297         Tweak syntax.  List Joel E. Denny as coauthor.
83299 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
83301         update-copyright: fix bug for 2-digit last year and add tests
83302         * build-aux/update-copyright: Fix bug.
83303         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
83304         specified.
83305         * modules/update-copyright-tests: New
83306         * tests/test-update-copyright.sh: New.
83308 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
83310         update-copyright: handle leading tabs in line prefix
83311         * build-aux/update-copyright: Count leading tabs as 8 spaces
83312         when computing margin.  This helps with the formatting of
83313         ChangeLogs, for example.
83314         Fix documentation a little.
83316 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
83318         update-copyright: support EOL=\r\n
83319         * build-aux/update-copyright: Implement that.
83321 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
83323         update-copyright: automatically format copyright statements
83324         * build-aux/update-copyright: Implement that.
83325         Also, be a little more predictable and safer by always failing
83326         when the full copyright format is not perfectly recognized as an
83327         unbroken whole.  Discussed at
83328         <http://lists.gnu.org/r/bug-gnulib/2009-07/msg00131.html>.
83329         Rewrite documentation.
83331 2009-08-03  Bruno Haible  <bruno@clisp.org>
83333         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
83335 2009-08-02  Bruno Haible  <bruno@clisp.org>
83337         Tests for module 'uname'.
83338         * modules/uname-tests: New file.
83339         * tests/test-uname.c: New file.
83341         New module 'uname'.
83342         * lib/uname.c: New file.
83343         * m4/uname.m4: New file.
83344         * modules/uname: New file.
83345         * doc/posix-functions/uname.texi: Mention the new module.
83347 2009-08-02  Bruno Haible  <bruno@clisp.org>
83349         Tests for module 'sys_utsname'.
83350         * modules/sys_utsname-tests: New file.
83351         * tests/test-sys_utsname.c: New file.
83353         New module 'sys_utsname'.
83354         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
83355         * m4/sys_utsname_h.m4: New file.
83356         * modules/sys_utsname: New file.
83357         * doc/posix-headers/sys_utsname.texi: Mention the new module.
83359 2009-08-02  Bruno Haible  <bruno@clisp.org>
83361         Implicitly initialize the sockets library.
83362         * lib/gethostname.c: Include sockets.h.
83363         (rpl_gethostname): Invoke gl_sockets_startup.
83364         * lib/socket.c: Include sockets.h.
83365         (rpl_socket): Invoke gl_sockets_startup.
83366         * modules/gethostname (Depends-on): Add sockets.
83367         * modules/socket (Depends-on): Likewise.
83368         * tests/test-poll.c: Don't include sockets.h.
83369         (main): Don't invoke gl_sockets_startup.
83370         * tests/test-select.c: Don't include sockets.h.
83371         (main): Don't invoke gl_sockets_startup.
83373 2009-08-02  Bruno Haible  <bruno@clisp.org>
83375         Allow multiple calls to gl_sockets_startup.
83376         * lib/sockets.c (initialized_sockets_version): New variable.
83377         (gl_sockets_startup): Do nothing if already called for this or a higher
83378         version.
83379         (gl_sockets_cleanup): Reset initialized_sockets_version.
83381 2009-08-03  Simon Josefsson  <simon@josefsson.org>
83383         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
83384         different project/version.
83386 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
83387             Bruno Haible  <bruno@clisp.org>
83389         Tests for module 'pipe-filter-gi'.
83390         * modules/pipe-filter-gi-tests: New file.
83391         * tests/test-pipe-filter-gi1.sh: New file.
83392         * tests/test-pipe-filter-gi1.c: New file.
83393         * tests/test-pipe-filter-gi2.sh: New file.
83394         * tests/test-pipe-filter-gi2-main.c: New file.
83395         * tests/test-pipe-filter-gi2-child.c: New file.
83397         New module 'pipe-filter-gi'.
83398         * lib/pipe-filter-gi.c: New file.
83399         * modules/pipe-filter-gi: New file.
83401 2009-08-02  Bruno Haible  <bruno@clisp.org>
83402             Paolo Bonzini  <bonzini@gnu.org>
83404         Tests for module 'pipe-filter-ii'.
83405         * modules/pipe-filter-ii-tests: New file.
83406         * tests/test-pipe-filter-ii1.sh: New file.
83407         * tests/test-pipe-filter-ii1.c: New file.
83408         * tests/test-pipe-filter-ii2.sh: New file.
83409         * tests/test-pipe-filter-ii2-main.c: New file.
83410         * tests/test-pipe-filter-ii2-child.c: New file.
83412         New module 'pipe-filter-ii'.
83413         * lib/pipe-filter.h: New file.
83414         * lib/pipe-filter-ii.c: New file.
83415         * lib/pipe-filter-aux.h: New file.
83416         * modules/pipe-filter-ii: New file.
83418 2009-08-02  Simon Josefsson  <simon@josefsson.org>
83420         * lib/gc-libgcrypt.c: Change copyright to FSF.
83421         * lib/gc-gnulib.c: Likewise.
83423 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
83425         * lib/gethostname.c: Include limits.h.
83427 2009-08-02  Simon Josefsson  <simon@josefsson.org>
83428             Bruno Haible  <bruno@clisp.org>
83430         Ensure HOST_NAME_MAX as part of the gethostname module.
83431         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
83432         define also HOST_NAME_MAX.
83433         * tests/test-gethostname.c: Include <limits.h>.
83434         (main): Check also HOST_NAME_MAX.
83435         * doc/posix-headers/limits.texi: Document the mingw problem.
83437 2009-08-02  Bruno Haible  <bruno@clisp.org>
83439         * lib/gethostname.c (gethostname): Fix handling of large len argument.
83440         Add comments.
83442 2009-03-31  Simon Josefsson  <simon@josefsson.org>
83444         * lib/gethostname.c: Add Windows wrapper.
83445         * m4/gethostname.m4: Look for gethostname in -lws2_32.
83446         * modules/gethostname: Depend on sys_socket & errno, for also
83447         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
83448         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
83450 2009-07-31  Jim Meyering  <meyering@redhat.com>
83452         getloadavg: fix symbol name in comment
83453         * lib/getloadavg.c: Correct a typo I introduced when adding
83454         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
83455         Matt Kraai spotted the problem.
83457 2009-07-29  Matt Kraai  <mkraai@beckman.com>
83459         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
83460         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
83461         code also if ! defined N_NAME_POINTER.
83462         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
83463         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
83464         but the n_name member is a 12-byte array.
83466 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
83468         update-copyright: generalize comment handling
83469         * build-aux/update-copyright: Handle copyright statements
83470         within more comment styles.
83471         Document usage.
83472         Report any file with an external copyright holder or parse failure.
83474 2009-07-29  Jim Meyering  <meyering@redhat.com>
83476         mktime: correct setting of REPLACE_MKTIME
83477         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
83479         update-copyright: new module
83480         * modules/update-copyright: New file.
83481         * build-aux/update-copyright: New file.
83482         * MODULES.html.sh (maint+release support): Add update-copyright.
83484 2009-07-27  Bruno Haible  <bruno@clisp.org>
83486         Fix compilation error when <ctime> is used and mktime is replaced.
83487         * lib/time.in.h (mktime): New declaration.
83488         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
83489         REPLACE_MKTIME instead of defining mktime in config.h.
83490         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
83491         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
83492         Reported by Ross McFarland <rwmcfa1@neces.com>.
83494 2009-07-27  Bruno Haible  <bruno@clisp.org>
83496         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
83497         Reported by Matt Kraai <mkraai@beckman.com>.
83499 2009-07-25  Jim Meyering  <meyering@redhat.com>
83501         maint.mk: avoid warnings about missing files
83502         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
83503         diagnostic when .prev-version does not exist.
83504         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
83505         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
83506         nonexistent cfg.mk.
83507         Suggestions from Simon Josefsson.
83509 2009-07-25  Bruno Haible  <bruno@clisp.org>
83511         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
83512         defined as macros. Needed on QNX 6.4.1.
83513         Reported by Matt Kraai <mkraai@beckman.com>.
83515 2009-07-23  Jim Meyering  <meyering@redhat.com>
83517         maint.mk: invoke "make dist" with a working value of XZ_OPT
83518         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
83520 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
83522         Make fseeko.c compile on QNX.
83523         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
83525 2009-07-22  Peter Simons  <simons@cryp.to>
83527         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
83528         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
83529         * lib/md4.h: Likewise.
83530         * lib/md5.h: Likewise.
83531         * lib/sha1.h: Likewise.
83532         * lib/sha256.h: Likewise.
83533         * lib/sha512.h: Likewise.
83535         tests-sha1: don't assign literal string to 'char *' variable
83536         * tests/test-sha1.c (main): Declare locals with "const" to match
83537         attributes of the right hand side.
83539 2009-07-21  Eric Blake  <ebb9@byu.net>
83541         dup2: fix more mingw problems
83542         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
83543         fd to itself.
83544         * doc/posix-functions/dup2.texi (dup2): Document the bug.
83545         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
83546         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
83547         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
83548         care of mingw bugs.
83550 2009-07-21  Jim Meyering  <meyering@redhat.com>
83552         vc-list-files: avoid failure when /bin/sh is dash
83553         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
83554         On some Debian based systems, /bin/sh is a symlink to dash, and running
83555         this command would omit the "/" following each 'tests' prefix:
83556           dash -x build-aux/vc-list-files -C . tests
83557         That is because bash and dash work differently:
83558           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
83559           bash ok
83560           dash odd
83562 2009-07-21  Eric Blake  <ebb9@byu.net>
83564         dup2-tests: test previous patch
83565         * modules/dup2-tests: New file.
83566         * tests/test-dup2.c: Likewise.
83567         * tests/test-open.c (main): Avoid unspecified behavior.
83568         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
83569         test.
83571         dup2: work around mingw and cygwin 1.5 bug
83572         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
83573         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
83574         * modules/unistd (Makefile.am): Substitute it.
83575         * lib/unistd.in.h (dup2): Declare the replacement.
83576         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
83577         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
83578         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
83579         * modules/execute (Depends-on): Add dup2.
83580         * modules/fseterr (Depends-on): Likewise.
83581         * modules/pipe (Depends-on): Likewise.
83582         * modules/posix_spawn-internal (Depends-on): Likewise.
83584 2009-07-21  Bruno Haible  <bruno@clisp.org>
83586         * modules/.gitattributes: New file.
83588 2009-07-20  Bruno Haible  <bruno@clisp.org>
83590         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
83591         (main): Use it.
83593 2009-07-20  Eric Blake  <ebb9@byu.net>
83595         test-pipe: make a bit more robust.
83596         * tests/test-pipe.c (myerr): Allow error messages regardless of
83597         what we do to stderr.
83598         (test_pipe): Rearrange to avoid deadlock.
83599         (child_main): Try a larger read, to ensure we avoided deadlock.
83600         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
83601         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
83602         if misused.
83604 2009-07-19  Jim Meyering  <meyering@redhat.com>
83606         fts: avoid false-positive cycle-detection
83607         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
83608         for each new command line argument.
83610 2009-07-19  Bruno Haible  <bruno@clisp.org>
83612         Fix build error on mingw with the modules sys_select and unistd.
83613         * modules/acl-tests (Depends-on): Add close.
83614         * modules/binary-io-tests (Depends-on): Likewise.
83615         * modules/closein-tests (Depends-on): Likewise.
83616         * modules/flock-tests (Depends-on): Likewise.
83617         * modules/fsync-tests (Depends-on): Likewise.
83618         * modules/lseek-tests (Depends-on): Likewise.
83619         * modules/pipe-tests (Depends-on): Likewise.
83620         * modules/posix_spawn-tests (Depends-on): Likewise.
83621         * modules/posix_spawnp-tests (Depends-on): Likewise.
83622         * modules/stat-time-tests (Depends-on): Likewise.
83623         * modules/yesno-tests (Depends-on): Likewise.
83625 2009-07-19  Bruno Haible  <bruno@clisp.org>
83627         Unify conditionals.
83628         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
83629         macros, not at the compiler macros.
83630         * lib/pipe.c: Likewise.
83631         * lib/execute.c: Likewise.
83632         * lib/spawni.c: Likewise.
83634 2009-07-19  Bruno Haible  <bruno@clisp.org>
83636         Fix handling of closed stdin/stdout/stderr on mingw.
83637         * lib/w32spawn.h: Include unistd.h.
83638         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
83639         file descriptor with O_NOINHERIT flag.
83640         (fd_safer_noinherit): New function, based on fd-safer.c.
83641         (dup_safer_noinherit): New function, based on dup-safer.c.
83642         (undup_safer_noinherit): New function.
83643         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
83644         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
83645         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
83646         instead of fd_safer.
83647         * tests/test-pipe.c: Include <windows.h>.
83648         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
83649         result.
83651         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
83652         from main.
83653         (test_pipe): Pass an extra argument for disambiguation.
83654         (main): Invoke parent_main or child_main.
83656         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
83657         consistently.
83659 2009-07-18  Eric Blake  <ebb9@byu.net>
83661         test-pipe: fix mingw build
83662         * tests/test-pipe.c (main): Avoid fcntl on mingw.
83664 2009-07-18  Bruno Haible  <bruno@clisp.org>
83666         * modules/pipe-tests (Makefile.am): Fix typo.
83668 2009-07-18  Eric Blake  <ebb9@byu.net>
83670         error: fix mingw build
83671         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
83672         Reported by Bruno Haible.
83674         error: avoid undefined use of stdout
83675         * lib/error.c (error, error_at_line): Check that fd 1 is open
83676         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
83677         is handling faults and the close_stdout module wants to report the
83678         detection of closed stdout as an error.
83680 2009-07-17  Eric Blake  <ebb9@byu.net>
83682         pipe: be robust in face of closed fds
83683         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
83684         should cause child to misbehave.
83685         * modules/pipe-tests: New module.
83686         * tests/test-pipe.c: New file.
83687         * tests/test-pipe.sh: New file.
83688         Reported by Akim Demaille.
83690 2009-07-14  Bruno Haible  <bruno@clisp.org>
83692         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
83693         Reported by anonymous kc.
83695 2009-07-07  Jim Meyering  <meyering@redhat.com>
83697         maint.mk: don't look for translatable strings in *.m4 or *.mk
83698         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
83699         when searching for translatable strings.
83701 2009-07-05  Jim Meyering  <meyering@redhat.com>
83703         remove superfluous parentheses in STREQ definition
83704         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
83705         * lib/getugroups.c (STREQ): Likewise.
83706         * lib/fnmatch.c (STREQ): Likewise.
83707         Spotted by Bruno Haible.
83709 2009-07-04  Jim Meyering  <meyering@redhat.com>
83711         argv-iter: new module
83712         * MODULES.html.sh: Add argv-iter.
83713         * lib/argv-iter.c, lib/argv-iter.h: New files.
83714         * modules/argv-iter: New file.
83715         * modules/argv-iter-tests: New file.
83716         * tests/test-argv-iter.c: Test it.
83718 2009-07-04  Bruno Haible  <bruno@clisp.org>
83720         Fix assertion.
83721         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
83722         contains more exact copies of a given entry than file2, leave the extra
83723         copies unpaired rather than aborting.
83724         Reported by Eric Blake.
83726 2009-07-02  Bruno Haible  <bruno@clisp.org>
83728         Speedup git-merge-changelog for git cherry-pick.
83729         * lib/git-merge-changelog.c (struct entries_mapping): New type.
83730         (entries_mapping_get): New function, extracted from compute_mapping.
83731         (entries_mapping_reverse_get): New function.
83732         (compute_mapping): Add a 'full' argument. Return the result in a
83733         'struct entries_mapping'.
83734         (main): Update. Access the mappings through entries_mapping_get.
83735         Reported by Eric Blake.
83737 2009-07-02  Bruno Haible  <bruno@clisp.org>
83739         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
83740         best_i.
83742 2009-07-02  Bruno Haible  <bruno@clisp.org>
83744         Speed up approximate search for matching ChangeLog entries.
83745         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
83746         argument. Call fstrcmp_bounded instead of fstrcmp.
83747         (compute_mapping, try_split_merged_entry, main): Update callers.
83749 2009-07-02  Bruno Haible  <bruno@clisp.org>
83751         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
83753 2009-06-30  Bruno Haible  <bruno@clisp.org>
83755         Reduce the number of uc_is_cased calls.
83756         * lib/unicase.h (casing_suffix_context_t): Add
83757         'first_char_except_ignorable' field.
83758         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
83759         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
83760         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
83761         Update initializer.
83762         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
83763         case-ignorable characters.
83764         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
83765         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
83766         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
83767         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
83768         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
83770 2009-06-30  Bruno Haible  <bruno@clisp.org>
83772         Tests for module 'unicase/ignorable'.
83773         * modules/unicase/ignorable-tests: New file.
83774         * tests/unicase/test-ignorable.c: New file, generated by
83775         gen-uni-tables.
83777         Tests for module 'unicase/cased'.
83778         * modules/unicase/cased-tests: New file.
83779         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
83780         * tests/unicase/test-predicate-part1.h: New file, derived from
83781         tests/unictype/test-predicate-part1.h.
83782         * tests/unicase/test-predicate-part2.h: New file, same as
83783         tests/unictype/test-predicate-part2.h.
83785         Fix evaluation of "Before C" condition of FINAL_SIGMA.
83786         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
83787         (output_casing_properties): New function.
83788         (main): Call it.
83789         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
83790         * lib/unicase/cased.c: Include unictype/bitmap.h.
83791         (uc_is_cased): Define through a bitmap lookup.
83792         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
83793         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
83794         (uc_is_case_ignorable): Define through a bitmap lookup.
83795         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
83796         lib/unictype/bitmap.h.
83797         (Depends-on): Add inline. Clean up.
83798         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
83799         lib/unictype/bitmap.h.
83800         (Depends-on): Add inline. Clean up.
83801         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
83802         recognition.
83803         * tests/unicase/test-u16-tolower.c (main): Likewise.
83804         * tests/unicase/test-u32-tolower.c (main): Likewise.
83806 2009-06-30  Bruno Haible  <bruno@clisp.org>
83808         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
83809         * lib/unicase/u16-casemap.c: Likewise.
83810         * lib/unicase/u32-casemap.c: Likewise.
83812 2009-06-29  Bruno Haible  <bruno@clisp.org>
83814         Define u32_casefold as a wrapper around u32_ct_casefold.
83815         * lib/unicase/u32-casefold.c: Update.
83816         * modules/unicase/u32-casefold (Depends-on): Add
83817         unicase/u32-ct-casefold, unicase/empty-prefix-context,
83818         unicase/empty-suffix-context. Clean up.
83820         Define u16_casefold as a wrapper around u16_ct_casefold.
83821         * lib/unicase/u16-casefold.c: Update.
83822         * modules/unicase/u16-casefold (Depends-on): Add
83823         unicase/u16-ct-casefold, unicase/empty-prefix-context,
83824         unicase/empty-suffix-context. Clean up.
83826         Define u8_casefold as a wrapper around u8_ct_casefold.
83827         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
83828         * lib/unicase/u8-casefold.c: Update.
83829         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
83830         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
83832         Define u32_totitle as a wrapper around u32_ct_totitle.
83833         * lib/unicase/u32-totitle.c: Update.
83834         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
83835         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
83837         Define u16_totitle as a wrapper around u16_ct_totitle.
83838         * lib/unicase/u16-totitle.c: Update.
83839         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
83840         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
83842         Define u8_totitle as a wrapper around u8_ct_totitle.
83843         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
83844         functions.
83845         (FUNC): Delegate to U_CT_TOTITLE.
83846         * lib/unicase/u8-totitle.c: Update.
83847         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
83848         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
83850         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
83851         invocation.
83852         * modules/unicase/u32-tolower (Depends-on): Add
83853         unicase/empty-prefix-context, unicase/empty-suffix-context.
83855         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
83856         invocation.
83857         * modules/unicase/u16-tolower (Depends-on): Add
83858         unicase/empty-prefix-context, unicase/empty-suffix-context.
83860         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
83861         * modules/unicase/u8-tolower (Depends-on): Add
83862         unicase/empty-prefix-context, unicase/empty-suffix-context.
83864         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
83865         invocation.
83866         * modules/unicase/u32-toupper (Depends-on): Add
83867         unicase/empty-prefix-context, unicase/empty-suffix-context.
83869         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
83870         invocation.
83871         * modules/unicase/u16-toupper (Depends-on): Add
83872         unicase/empty-prefix-context, unicase/empty-suffix-context.
83874         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
83875         * modules/unicase/u8-toupper (Depends-on): Add
83876         unicase/empty-prefix-context, unicase/empty-suffix-context.
83878         New module 'unicase/u32-ct-casefold'.
83879         * lib/unicase/u32-ct-casefold.c: New file.
83880         * modules/unicase/u32-ct-casefold: New file.
83882         New module 'unicase/u16-ct-casefold'.
83883         * lib/unicase/u16-ct-casefold.c: New file.
83884         * modules/unicase/u16-ct-casefold: New file.
83886         New module 'unicase/u8-ct-casefold'.
83887         * lib/unicase/u8-ct-casefold.c: New file.
83888         * lib/unicase/u-ct-casefold.h: New file, derived from
83889         lib/unicase/u-casefold.h.
83890         * modules/unicase/u8-ct-casefold: New file.
83892         New module 'unicase/u32-ct-totitle'.
83893         * lib/unicase/u32-ct-totitle.c: New file.
83894         * modules/unicase/u32-ct-totitle: New file.
83896         New module 'unicase/u16-ct-totitle'.
83897         * lib/unicase/u16-ct-totitle.c: New file.
83898         * modules/unicase/u16-ct-totitle: New file.
83900         New module 'unicase/u8-ct-totitle'.
83901         * lib/unicase/u8-ct-totitle.c: New file.
83902         * lib/unicase/u-ct-totitle.h: New file, derived from
83903         lib/unicase/u-totitle.h.
83904         * modules/unicase/u8-ct-totitle: New file.
83906         New module 'unicase/u32-ct-tolower'.
83907         * lib/unicase/u32-ct-tolower.c: New file.
83908         * modules/unicase/u32-ct-tolower: New file.
83910         New module 'unicase/u16-ct-tolower'.
83911         * lib/unicase/u16-ct-tolower.c: New file.
83912         * modules/unicase/u16-ct-tolower: New file.
83914         New module 'unicase/u8-ct-tolower'.
83915         * lib/unicase/u8-ct-tolower.c: New file.
83916         * modules/unicase/u8-ct-tolower: New file.
83918         New module 'unicase/u32-ct-toupper'.
83919         * lib/unicase/u32-ct-toupper.c: New file.
83920         * modules/unicase/u32-ct-toupper: New file.
83922         New module 'unicase/u16-ct-toupper'.
83923         * lib/unicase/u16-ct-toupper.c: New file.
83924         * modules/unicase/u16-ct-toupper: New file.
83926         New module 'unicase/u8-ct-toupper'.
83927         * lib/unicase/u8-ct-toupper.c: New file.
83928         * modules/unicase/u8-ct-toupper: New file.
83930         Add context arguments to u*_casemap functions.
83931         * lib/unicase/unicasemap.h: Include unicase.h.
83932         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
83933         suffix_context arguments.
83934         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
83935         functions.
83936         (FUNC): Add prefix_context and suffix_context arguments. Use
83937         uc_is_cased and uc_is_case_ignorable.
83938         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
83939         * lib/unicase/u16-casemap.c: Likewise.
83940         * lib/unicase/u32-casemap.c: Likewise.
83941         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
83942         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
83943         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
83944         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
83945         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
83946         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
83948         New module 'unicase/u32-suffix-context'.
83949         * lib/unicase/u32-suffix-context.c: New file.
83950         * modules/unicase/u32-suffix-context: New file.
83952         New module 'unicase/u16-suffix-context'.
83953         * lib/unicase/u16-suffix-context.c: New file.
83954         * modules/unicase/u16-suffix-context: New file.
83956         New module 'unicase/u8-suffix-context'.
83957         * lib/unicase/u8-suffix-context.c: New file.
83958         * lib/unicase/u-suffix-context.h: New file.
83959         * modules/unicase/u8-suffix-context: New file.
83961         New module 'unicase/empty-suffix-context'.
83962         * lib/unicase/empty-suffix-context.c: New file.
83963         * modules/unicase/empty-suffix-context: New file.
83965         New module 'unicase/u32-prefix-context'.
83966         * lib/unicase/u32-prefix-context.c: New file.
83967         * modules/unicase/u32-prefix-context: New file.
83969         New module 'unicase/u16-prefix-context'.
83970         * lib/unicase/u16-prefix-context.c: New file.
83971         * modules/unicase/u16-prefix-context: New file.
83973         New module 'unicase/u8-prefix-context'.
83974         * lib/unicase/u8-prefix-context.c: New file.
83975         * lib/unicase/u-prefix-context.h: New file.
83976         * lib/unicase/context.h: New file.
83977         * modules/unicase/u8-prefix-context: New file.
83979         New module 'unicase/empty-prefix-context'.
83980         * lib/unicase/empty-prefix-context.c: New file.
83981         * modules/unicase/empty-prefix-context: New file.
83983         New module 'unicase/ignorable'.
83984         * lib/unicase/ignorable.c: New file.
83985         * modules/unicase/ignorable: New file.
83987         New module 'unicase/cased'.
83988         * lib/unicase/caseprop.h: New file.
83989         * lib/unicase/cased.c: New file.
83990         * modules/unicase/cased: New file.
83992         New functions for case mapping of substrings.
83993         * lib/unicase.h (casing_prefix_context_t): New type.
83994         (unicase_empty_prefix_context): New variable.
83995         (u8_casing_prefix_context, u16_casing_prefix_context,
83996         u32_casing_prefix_context, u8_casing_prefixes_context,
83997         u16_casing_prefixes_context, u32_casing_prefixes_context): New
83998         declarations.
83999         (casing_suffix_context_t): New type.
84000         (unicase_empty_suffix_context): New variable.
84001         (u8_casing_suffix_context, u16_casing_suffix_context,
84002         u32_casing_suffix_context, u8_casing_suffixes_context,
84003         u16_casing_suffixes_context, u32_casing_suffixes_context,
84004         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
84005         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
84006         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
84007         declarations.
84009 2009-06-28  Jim Meyering  <meyering@redhat.com>
84011         boostrap: indent only with spaces
84012         * build-aux/bootstrap: Indent only with spaces, never TABs.
84014         bootstrap: split long lines
84015         * build-aux/bootstrap: Keep line length < 80.
84017         bootstrap: sync from coreutils
84018         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
84019         just as autoreconf does.  Verify a list of prerequisite
84020         package-name,version-number pairs if defined in bootstrap.conf.
84021         Refer to README-prereq, if prerequisites are not satisfied.
84023 2009-06-27  Eric Blake  <ebb9@byu.net>
84025         tests: add test for bogus NULL definition
84026         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
84027         * tests/test-stdlib.c: Likewise.
84028         * tests/test-string.c: Likewise.
84029         * tests/test-locale.c: Likewise.
84030         * tests/test-unistd.c: Likewise.
84031         * modules/stdio-tests (Depends-on): Add verify.
84032         * modules/stdlib-tests (Depends-on): Likewise.
84033         * modules/string-tests (Depends-on): Likewise.
84034         * modules/locale-tests (Depends-on): Likewise.
84035         * modules/unistd-tests (Depends-on): Likewise.
84037 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
84039         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
84040         self-explaining comment.
84041         * m4/selinux-selinux-h: Update serial.
84042         (gl_LIBSELINUX): New macro, adding a warning for missing development
84043         packages to code extracted from...
84044         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
84045         Add warning for missing development packages here, too.
84047 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
84049         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
84051 2009-06-25  Eric Blake  <ebb9@byu.net>
84053         version-etc: fix regression
84054         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
84055         gcc.
84056         (version_etc): Use it, to catch bugs with trailing NULL.
84057         * lib/version-etc.c (version_etc_arn): Delete unused argument.
84058         (version_etc_va): Fix logic bug.
84059         * modules/version-etc-tests: Add test.
84060         * tests/test-version-etc.c: New file.
84061         * tests/test-version-etc.sh: Likewise.
84063 2009-06-25  Sam Steingold  <sds@gnu.org>
84065         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
84066         mbtowc declaration.
84068 2009-06-25  Eric Blake  <ebb9@byu.net>
84070         fpurge: migrate into <stdio.h>
84071         * lib/fpurge.h: Delete...
84072         * lib/stdio.in.h (fpurge): ...and declare here, instead.
84073         * lib/fpurge.c (fpurge): Change declaring header.
84074         * modules/fpurge (Files): Drop deleted file.
84075         (Depends-on): Add stdio.
84076         (configure.ac): Set witness.
84077         * modules/stdio (Makefile.am): Support fpurge macros.
84078         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
84079         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
84080         * lib/fflush.c: Update client.
84081         * tests/test-fpurge.c: Likewise.
84082         * NEWS: Mention the change.
84084 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
84086         * lib/argp-version-etc.c (program_authors): Add const
84087         qualifier.
84088         * lib/version-etc.c: Fix typos in the comments.
84089         * modules/argp-version-etc: Depends on version-etc.
84091 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
84093         argp-version-etc: new module.
84095         * lib/argp-version-etc.c: New file.
84096         * lib/argp-version-etc.h: New file.
84097         * modules/argp-version-etc: New file.
84098         * modules/argp-version-etc-tests: New file.
84099         * tests/test-argp-version-etc.c: New test.
84100         * tests/test-argp-version-etc-1.sh: New test.
84102 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
84104         Provide additional interfaces and documentation for version-etc
84105         module.
84107         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
84108         interfaces.
84109         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
84110         prototypes.
84112 2009-06-24  Bruno Haible  <bruno@clisp.org>
84114         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
84115         HAVE_LIB${NAME} macro.
84116         Reported by Sam Steingold <sds@gnu.org>.
84118 2009-06-23  Simon Josefsson  <simon@josefsson.org>
84120         * modules/hash-tests (test_hash_LDADD): Link to libintl when
84121         needed.
84123 2009-06-21  Bruno Haible  <bruno@clisp.org>
84125         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
84126         work.
84127         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
84128         together with LIB${NAME}, LTLIB${NAME}.
84129         Reported by Sam Steingold <sds@gnu.org>.
84131 2009-06-20  Jim Meyering  <meyering@redhat.com>
84133         tests: make sc_require_test_exit_idiom more generic
84134         * top/maint.mk (Exit_witness_file): New overridable variable.
84135         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
84136         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
84138 2009-06-19  Jim Meyering  <meyering@redhat.com>
84140         hash: reverse order of src/dst parameters in an internal interface
84141         * lib/hash.c (transfer_entries): Reverse order of parameters to
84142         put DST before SRC.  Adjust callers.
84144         tests: test-hash: avoid wholesale duplication
84145         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
84146         Instead, use a loop and add a single conditional.
84148         tests: test-hash: allow seed selection via a command line argument
84149         * tests/test-hash.c (get_seed): New function.
84150         (main): Use it.
84152 2009-06-19  Eric Blake  <ebb9@byu.net>
84154         hash: avoid memory leak on allocation failure
84155         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
84156         failure.  Factor repeated algorithm...
84157         (transfer_entries): ...into new helper routine.
84158         (hash_delete): React to hash_rehash return value.
84160         hash: reduce memory pressure in hash_rehash no-op case
84161         * lib/hash.c (next_prime): Avoid overflow.
84162         (hash_initialize): Factor bucket size computation...
84163         (compute_bucket_size): ...into new helper function.
84164         (hash_rehash): Use new function and open coding to reduce memory
84165         pressure, and avoid a memory leak in USE_OBSTACK code.
84166         Reported by Jim Meyering.
84168 2009-06-18  Eric Blake  <ebb9@byu.net>
84170         hash: make rotation more obvious
84171         * modules/hash (Depends-on): Add bitrotate and stdint.
84172         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
84173         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
84174         (SIZE_MAX): Rely on headers for definition.
84175         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
84176         (raw_hasher): Use rotr_sz.
84177         Suggested by Jim Meyering.
84179         hash: fix memory leak in last patch
84180         * lib/hash.c (hash_rehash): Avoid memory leak.
84182         hash: avoid no-op rehashing
84183         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
84185         hash: provide default callback functions
84186         * lib/hash.c (raw_hasher, raw_comparator): New functions.
84187         (hash_initialize): Use them as defaults.
84188         * tests/test-hash.c (main): Test this.
84190         hash: minor optimization
84191         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
84192         when possible.
84193         (hash_initialize): Document this promise.
84194         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
84195         * tests/test-hash.c (hash_compare_strings): Test this.
84197 2009-06-18  Bruno Haible  <bruno@clisp.org>
84199         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
84200         going to be replaced anyway.
84202 2009-06-18  Bruno Haible  <bruno@clisp.org>
84204         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
84205         in one place.
84206         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
84207         be replaced anyway.
84209 2009-06-18  Eric Blake  <ebb9@byu.net>
84211         hash: check for resize before insertion
84212         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
84213         threshold before insertion, so that a pathological hash_rehash
84214         that fills every bucket can still trigger another rehash.
84216 2009-06-18  Jim Meyering  <meyering@redhat.com>
84218         hash-tests: add a loop around the small tests
84219         * tests/test-hash.c (main): Repeat small tests with selected
84220         small initial table sizes.
84222 2009-06-17  Eric Blake  <ebb9@byu.net>
84224         hash: minor cleanups
84225         * lib/hash.h (hash_entry): Make opaque, by moving...
84226         * lib/hash.c (hash_entry): ...here.
84227         (hash_insert): Clarify restrictions on what can be inserted.
84228         (hash_get_next): Clarify when it is safe to remove an element
84229         during traversal.
84230         (check_tuning): Skip verification when tuning is known safe.
84231         (hash_initialize): Clarify restrictions on tuning.
84233 2009-06-17  Jim Meyering  <jim@meyering.net>
84234         and Eric Blake  <ebb9@byu.net>
84236         hash-tests: new module
84237         * modules/hash-tests: New file.
84238         * tests/test-hash.c: New file.
84240 2009-06-17  Eric Blake  <ebb9@byu.net>
84242         strstr-simple: document new module
84243         * MODULES.html.sh: Document new module.
84245         strstr, strcasestr: replace on platforms with broken memchr
84246         * modules/strstr: Split into...
84247         * modules/strstr-simple: ...new module that does not care about
84248         performance, but does care about glibc bug.
84249         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
84250         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
84251         if platform memchr is broken, per Debian bug 521737.
84252         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
84253         memchr.
84254         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
84255         * doc/posix-functions/strstr.texi (strstr): Document the fix.
84256         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
84257         * modules/mountlist (Depends-on): Add strstr-simple.
84258         * modules/gen-uni-tables (Depends-on): Likewise.
84259         * modules/argz (Depends-on): Add strstr.
84261 2009-06-17  Bruno Haible  <bruno@clisp.org>
84263         * modules/posix_spawn-internal (Depends-on): Add errno.
84265 2009-06-17  Bruno Haible  <bruno@clisp.org>
84267         Define missing ESTALE on Interix 3.5.
84268         * lib/errno.in.h (ESTALE): Assign a value if missing.
84269         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
84270         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
84271         missing.
84272         * doc/posix-headers/errno.texi: Mention the Interix bug.
84273         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
84275 2009-06-15  Eric Blake  <ebb9@byu.net>
84277         memchr, memchr2: add valgrind exception
84278         * lib/memchr.valgrind: New file.
84279         * lib/memchr2.valgrind: New file.
84280         * modules/memchr (Files): Distribute valgrind file.
84281         * modules/memchr2 (Files): Likewise.
84283         docs: memchr is no longer obsolete
84284         * MODULES.html.sh: Move memchr from obsolete to string.h section.
84285         * lib/string.in.h (memchr): Simplify logic.
84287 2009-06-14  Jim Meyering  <meyering@redhat.com>
84289         link-follow: fix the "checking..." message to not mention trailing slash
84290         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
84291         never considered trailing slashes.
84293 2009-06-14  Bruno Haible  <bruno@clisp.org>
84295         * m4/memchr.m4: Mention also the bug on IA-64.
84296         * doc/posix-functions/memchr.texi: Likewise.
84298 2009-06-12  Eric Blake  <ebb9@byu.net>
84300         memchr: detect broken x86_64 and alpha implementations
84301         * modules/memchr-tests (Depends-on): Move mmap detection...
84302         * modules/memchr (Depends-on): ...here.
84303         (configure.ac): Set indicator.
84304         * lib/string.in.h (memchr): Declare replacement.
84305         * modules/string (Makefile.am): Trigger replacement.
84306         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
84307         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
84308         bugs.
84309         * doc/posix-functions/memchr.texi (memchr): Document the bug.
84310         * modules/getpagesize (License): Relax license.
84312 2009-06-11  Bruno Haible  <bruno@clisp.org>
84314         * lib/idpriv.h: Add more references.
84316 2009-06-08  Bruno Haible  <bruno@clisp.org>
84318         Tests for module 'idpriv-droptemp'.
84319         * modules/idpriv-droptemp-tests: New file.
84320         * tests/test-idpriv-droptemp.sh: New file.
84321         * tests/test-idpriv-droptemp.su.sh: New file.
84322         * tests/test-idpriv-droptemp.c: New file.
84324         New module 'idpriv-droptemp'.
84325         * lib/idpriv-droptemp.c: New file.
84326         * modules/idpriv-droptemp: New file.
84328 2009-06-08  Bruno Haible  <bruno@clisp.org>
84330         Tests for module 'idpriv-drop'.
84331         * modules/idpriv-drop-tests: New file.
84332         * tests/test-idpriv-drop.sh: New file.
84333         * tests/test-idpriv-drop.su.sh: New file.
84334         * tests/test-idpriv-drop.c: New file.
84336         New module 'idpriv-drop'.
84337         * lib/idpriv.h: New file.
84338         * lib-idpriv-drop.c: New file.
84339         * m4/idpriv.m4: New file.
84340         * modules/idpriv-drop: New file.
84342 2009-06-08  Bruno Haible  <bruno@clisp.org>
84344         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
84345         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
84346         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
84347         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
84348         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
84349         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
84350         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
84352 2009-06-08  Eric Blake  <ebb9@byu.net>
84354         test-strstr: use memory fence, when possible
84355         * tests/test-strstr.c (main): Use memory fence, in order to be
84356         more likely to trigger Debian bug 521737.
84357         * modules/strstr-tests (Files): Pull in additional files.
84359         memchr: no longer obsolete, for wider field testing
84360         * modules/memchr (Status, Notice): Delete, this module is no
84361         longer obsolete.
84362         * modules/vasnprintf (Depends-on): Add memchr.
84364 2009-06-07  Jim Meyering  <meyering@redhat.com>
84366         hash: declare some functions with the warn_unused_result attribute
84367         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
84369 2009-06-07  Bruno Haible  <bruno@clisp.org>
84371         * tests/test-alignof.c: Don't test int64_t if it does not exist.
84372         Reported by Eric Blake.
84374 2009-06-06  Eric Blake  <ebb9@byu.net>
84376         test-alignof: fix typo with long double
84377         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
84378         compiler error.
84380 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
84382         Escape non-texinfo { and }s.
84383         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
84384         markup error.
84386 2009-06-04  Jim Meyering  <meyering@redhat.com>
84388         gitlog-to-changelog: don't infloop on an empty commit log
84389         * build-aux/gitlog-to-changelog: Warn about an empty log message.
84390         Reported by Boris Petersen <transacid@centerim.org>.
84392 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
84394         version-etc: extend for packagers
84395         Add three new configure options, intended for packagers:
84396           --with-packager="packager name"
84397           --with-packager-version="packager-specific version"
84398           --with-packager-bug-reports="packager bug reporting"
84399         An example with coreutils:
84400           $ ./configure \
84401             --with-packager=Gentoo \
84402             --with-packager-bug-report=http://bugs.gentoo.org/ \
84403             --with-packager-version="patchset 1.6"
84404           $ ./src/ls --version | head -n2
84405           ls (GNU coreutils) 7.1-dirty
84406           Packaged by Gentoo (patchset 1.6)
84407         Note that the bug reporting info via --help doesn't show up because
84408         coreutils uses its own custom emit_bug_reporting_address() implementation
84409         in src/system.h.  If it didn't, it'd look like:
84410           $ ./src/ls --help | tail -n4
84411           Report bugs to <bug-coreutils@gnu.org>.
84412           Report Gentoo bugs to <http://bugs.gentoo.org/>.
84413           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
84414           General help using GNU software: <http://www.gnu.org/gethelp/>.
84415         * lib/version-etc.c: Print new information, if provided.
84416         * m4/version-etc.m4: New file.
84417         * modules/version-etc (Files): Add m4/version-etc.m4.
84418         (configure.ac): Add gl_VERSION_ETC.
84420 2009-05-31  Bruno Haible  <bruno@clisp.org>
84422         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
84423         and 'int64_t'.
84424         * modules/alignof-tests (Dependencies): Add stdint.
84425         Reported by Eric Blake.
84427 2009-05-31  Bruno Haible  <bruno@clisp.org>
84429         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
84430         restriction due to compiler bugs.
84431         Reported by Eric Blake.
84433 2009-05-31  Simon Josefsson  <simon@josefsson.org>
84434             Bruno Haible  <bruno@clisp.org>
84436         Fix test-alignof failure.
84437         * lib/alignof.h (alignof_slot): New macro.
84438         (alignof_type): New macro, with the same semantics as the previous
84439         'alignof'.
84440         (alignof): Alias to alignof_slot.
84441         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
84442         check that the results are usable as constant expressions.
84444 2009-05-31  Bruno Haible  <bruno@clisp.org>
84446         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
84447         * tests/test-memchr.c (main): Check that memchr does not read past the
84448         first occurrence of the byte.
84449         * tests/test-strstr.c (main): Update comment.
84450         Suggested by Eric Blake.
84452 2009-05-30  Bruno Haible  <bruno@clisp.org>
84454         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
84455         detail how to use dumpbin.
84456         Reported by David Byron <dbyron@dbyron.com>.
84458 2009-06-02  Simon Josefsson  <simon@josefsson.org>
84460         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
84462 2009-06-02  Simon Josefsson  <simon@josefsson.org>
84464         * m4/manywarnings.m4: Add GCC 4.4 warnings.
84466 2009-05-28  Bruno Haible  <bruno@clisp.org>
84468         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
84469         build-aux/ files.
84471 2009-05-28  Simon Josefsson  <simon@josefsson.org>
84473         * gnulib-tool (func_import): Transform license on build-aux/ files too.
84475 2009-05-27  Simon Josefsson  <simon@josefsson.org>
84477         * gnulib-tool (sed_transform_main_lib_file)
84478         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
84479         regexps.
84481 2009-05-26  Simon Josefsson  <simon@josefsson.org>
84483         * tests/test-strstr.c: Add another self-test.
84484         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
84485         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
84487 2009-05-23  Bruno Haible  <bruno@clisp.org>
84489         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
84490         change.
84492 2009-05-21  Bruno Haible  <bruno@clisp.org>
84494         Simplify use of mode_t varargs.
84495         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
84496         uses 'mode_t' or 'int'.
84497         * lib/openat.c (openat): Likewise.
84498         * lib/open-safer.c (open_safer): Likewise.
84499         * m4/mode_t.m4: New file.
84500         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
84501         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
84502         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
84503         * modules/open (Files): Add m4/mode_t.m4.
84504         * modules/openat (Files): Likewise.
84505         * modules/fcntl-safer (Files): Likewise.
84506         Suggested by Eric Blake.
84508 2009-05-21  Pádraig Brady  <P@draigbrady.com>
84510         * doc/glibc-functions/fallocate.texi: New file.
84511         * doc/gnulib.texi: Include it.
84513 2009-05-21  Eric Blake  <ebb9@byu.net>
84514             Bruno Haible  <bruno@clisp.org>
84516         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
84517         invocations.
84518         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
84520 2009-05-21  Eric Blake  <ebb9@byu.net>
84521             Bruno Haible  <bruno@clisp.org>
84523         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
84524         include_next. Fix of 2008-11-20 commit.
84525         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
84526         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
84527         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
84528         NEXT_MATH_H.
84529         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
84530         instead of NEXT_MATH_H.
84532 2009-05-21  Bruno Haible  <bruno@clisp.org>
84534         Avoid redefinition warnings for SIZE_MAX.
84535         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
84536         Reported by Simon Josefsson.
84538 2009-05-21  Bruno Haible  <bruno@clisp.org>
84540         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
84541         AC_CACHE_VAL.
84543 2009-05-20  Bruno Haible  <bruno@clisp.org>
84545         Make zeroptr.h work on mingw.
84546         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
84547         mprotect.
84548         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
84549         * modules/memchr2-tests (configure.ac): Likewise.
84550         * modules/memcmp-tests (configure.ac): Likewise.
84551         * modules/memmem-tests (configure.ac): Likewise.
84552         * modules/memrchr-tests (configure.ac): Likewise.
84553         Reported by Simon Josefsson.
84555 2009-05-20  Simon Josefsson  <simon@josefsson.org>
84557         * tests/test-glob.c: Include string.h for strcmp prototype.
84559 2009-05-20  Simon Josefsson  <simon@josefsson.org>
84561         * modules/getdelim (Depends-on): Add explicit stdint, although it
84562         was implicitly already pulled in via realloc-posix.
84563         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
84565 2009-05-20  Simon Josefsson  <simon@josefsson.org>
84567         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
84568         G. Christensen" <tgc@jupiterrise.com>.
84569         * m4/sys_socket_h.m4: Check for sa_family_t.
84570         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
84571         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
84572         * tests/test-sys_socket.c: Check that sa_family_t works.
84574 2009-05-18  Eric Blake  <ebb9@byu.net>
84576         maint.mk: allow gnulib_dir in VPATH build
84577         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
84579 2009-05-15  Jim Meyering  <meyering@redhat.com>
84581         maint.mk: Give gnulib_dir a default definition.
84582         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
84583         Thus, most packages no longer need to specify this variable in cfg.mk
84585 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
84587         rename.m4: fix typos that would make non-mingw cross-configure fail
84588         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
84590 2009-05-13  Eric Blake  <ebb9@byu.net>
84592         mmap-anon: avoid out-of-order autoconf expansion
84593         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
84594         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
84595         * modules/memchr-tests (Depends-on): Add extensions.
84596         * modules/memchr2-tests (Depends-on): Add extensions.
84597         * modules/memcmp-tests (Depends-on): Add extensions.
84598         * modules/memmem-tests (Depends-on): Add extensions.
84599         * modules/memrchr-tests (Depends-on): Add extensions.
84601 2009-05-13  Bruno Haible  <bruno@clisp.org>
84603         Make some tests ISO C 99 compliant.
84604         * tests/zerosize-ptr.h: New file.
84605         * tests/test-memchr.c: Include zerosize-ptr.h.
84606         (main): Use a zero-size object pointer instead of NULL.
84607         * tests/test-memchr2.c: Include zerosize-ptr.h.
84608         (main): Use a zero-size object pointer instead of NULL.
84609         * tests/test-memcmp.c: Include zerosize-ptr.h.
84610         (main): Use a zero-size object pointer instead of NULL.
84611         * tests/test-memmem.c: Include zerosize-ptr.h.
84612         (main): Use a zero-size object pointer instead of NULL.
84613         * tests/test-memrchr.c: Include zerosize-ptr.h.
84614         (main): Use a zero-size object pointer instead of NULL.
84615         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
84616         m4/mmap-anon.m4.
84617         (Depends-on): Add getpagesize.
84618         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
84619         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
84620         m4/mmap-anon.m4.
84621         (Depends-on): Add getpagesize.
84622         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
84623         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
84624         m4/mmap-anon.m4.
84625         (Depends-on): Add getpagesize.
84626         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
84627         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
84628         m4/mmap-anon.m4.
84629         (Depends-on): Add getpagesize.
84630         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
84631         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
84632         m4/mmap-anon.m4.
84633         (Depends-on): Add getpagesize.
84634         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
84636 2009-05-12  Bruno Haible  <bruno@clisp.org>
84638         Tests for module 'alignof'.
84639         * modules/alignof-tests: New file.
84640         * tests/test-alignof.c: New file.
84642 2009-05-12  Bruno Haible  <bruno@clisp.org>
84644         Fix alignof macro.
84645         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
84646         vendor compilers that are always correct.
84648 2009-05-12  Bruno Haible  <bruno@clisp.org>
84650         Make the MAP_ANONYMOUS detection work on HP-UX 11.
84651         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
84652         not whether its fully works.
84654 2009-05-12  Bruno Haible  <bruno@clisp.org>
84656         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
84658 2009-05-12  Jim Meyering  <meyering@redhat.com>
84660         * top/maint.mk: Adjust backslash alignment.
84662 2009-05-11  Simon Josefsson  <simon@josefsson.org>
84664         * top/maint.mk: Make $(srcdir)/build-aux configurable.
84666 2009-05-11  Eric Blake  <ebb9@byu.net>
84668         argp: avoid undefined behavior
84669         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
84670         macros.
84672 2009-05-08  Simon Josefsson  <simon@josefsson.org>
84674         * tests/test-vc-list-files-git.sh: Do git config of user.email and
84675         user.name to prevent git commit from complaining.
84677 2009-05-10  Bruno Haible  <bruno@clisp.org>
84679         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
84680         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
84681         it rewrites every file name only once.
84682         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
84684 2009-05-08  Bruno Haible  <bruno@clisp.org>
84686         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
84687         instead of 'max'.
84689 2009-05-08  Simon Josefsson  <simon@josefsson.org>
84691         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
84692         sockaddr_storage test.
84694 2009-05-07  Simon Josefsson  <simon@josefsson.org>
84696         * modules/sys_socket (Makefile.am): Substitute
84697         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
84698         * m4/sys_socket_h.m4: Check for sockaddr_storage.
84699         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
84700         * tests/test-sys_socket.c: Check sockaddr_storage.
84702 2009-05-08  Bruno Haible  <bruno@clisp.org>
84704         New module 'alignof'.
84705         * lib/alignof.h: New file.
84706         * modules/alignof: New file.
84708 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
84709             Bruno Haible  <bruno@clisp.org>
84711         Fix test-file-has-acl on FreeBSD.
84712         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
84713         mask is implicitly added.
84714         * tests/test-file-has-acl.c: Include <signal.h>.
84715         (main): Terminate the test after 5 seconds.
84716         * modules/acl-tests (configure.ac): Check for alarm function.
84718 2009-05-04  Bruno Haible  <bruno@clisp.org>
84720         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
84721         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
84722         * modules/errno (configure.ac): Drop AC_REQUIRE.
84723         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
84724         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
84726 2009-05-04  Simon Josefsson  <simon@josefsson.org>
84728         * modules/glob-tests: New module.
84729         * tests/test-glob.c: Add.
84731 2009-05-04  Simon Josefsson  <simon@josefsson.org>
84733         * modules/fnmatch-tests: New module.
84734         * tests/test-fnmatch.c: Add.
84736 2009-05-04  Eric Blake  <ebb9@byu.net>
84738         maint: make the new no-submodule-changes rule VPATH-safe
84739         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
84741 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
84742             Bruno Haible  <bruno@clisp.org>
84744         acl: Fix infinite loop on FreeBSD.
84745         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
84746         of return value from acl_get_entry.
84747         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
84748         Likewise.
84750 2009-05-03  Bruno Haible  <bruno@clisp.org>
84752         * lib/acl-internal.h (acl_entries): Clarify return value.
84753         * lib/acl_entries.c (acl_entries): Likewise.
84755 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
84757         Bug fix in acl module.
84758         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
84760 2009-05-03  Bruno Haible  <bruno@clisp.org>
84762         Create gperf-generated file in the source dir, not in the build dir.
84763         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
84764         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
84765         * modules/unicase/locale-language (unicase/locale-languages.h):
84766         Likewise.
84767         * modules/unicase/special-casing (unicase/special-casing-table.h):
84768         Likewise.
84769         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
84770         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
84771         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
84772         Reported by Ralf Wildenhues.
84774 2009-05-03  Bruno Haible  <bruno@clisp.org>
84776         * modules/fnmatch (Description, configure.ac): Taken from
84777         fnmatch-posix.
84778         * modules/fnmatch-posix: Turn into a symbolic reference to the
84779         'fnmatch' module, and deprecate.
84780         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
84782 2009-05-03  Bruno Haible  <bruno@clisp.org>
84784         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
84785         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
84786         Reported by Ralf Wildenhues.
84788 2009-05-04  Simon Josefsson  <simon@josefsson.org>
84790         * m4/fnmatch.m4: Fix fnmatch re-define.
84792 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
84794         priv-set: new module and tests; adapt write-any-file
84795         * lib/priv-set.c: New file.
84796         * lib/priv-set.h: New file.
84797         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
84798         * lib/write-any-file.c: Simplify by using priv-set module.
84799         * m4/priv-set.m4: New file.
84800         * modules/priv-set: New file.
84801         * modules/unlinkdir: Add dependency on priv-set module.
84802         * modules/write-any-file: Likewise.
84804         Tests for module 'priv-set'.
84805         * modules/priv-set-tests: New file.
84806         * tests/test-priv-set.c: New file.
84808 2009-05-03  Jim Meyering  <meyering@redhat.com>
84809             Bruno Haible  <bruno@clisp.org>
84811         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
84812         use the converted UTF-8 variant of the name instead.
84814 2009-05-03  Jim Meyering  <meyering@redhat.com>
84816         tests: tighten some getdate tests
84817         * tests/test-getdate.c (main): Tighten tests: require equality,
84818         not just greater than.  Set TZ envvar to UTC0.
84820 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
84822         getdate: correctly interpret "next monday" when run on a Monday
84823         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
84824         that e.g., "next tues" (when run on a tuesday) results in a date
84825         that is one week in the future, and not today's date.
84826         I.e., add a week when the wday is the same as the current one.
84827         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
84828         and earlier by Martin Bernreuther and Jan Minář.
84829         * tests/test-getdate.c (main): Check that "next DAY" is always in
84830         the future and that "last DAY" is always in the past.
84832 2009-05-02  Jim Meyering  <meyering@redhat.com>
84834         build: ensure that a release build fails when a submodule is unclean
84835         * top/maint.mk (no-submodule-changes): New rule.
84836         (alpha beta major): Depend on it.
84838 2009-05-02  Bruno Haible  <bruno@clisp.org>
84840         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
84841         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
84842         shell variable gl_fnmatch_required to detect which variant is
84843         requested.
84844         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
84845         gl_FUNC_FNMATCH_POSIX.
84846         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
84847         exclude fnmatch-posix.
84849 2009-05-02  Bruno Haible  <bruno@clisp.org>
84851         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
84852         * modules/mbsrtowcs (License): Change to LGPLv2+.
84853         * modules/strnlen1 (License): Likewise.
84854         Reported by Simon Josefsson.
84856 2009-05-02  Bruno Haible  <bruno@clisp.org>
84858         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
84859         "cross".
84860         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
84861         gnulib-tool was called with option --source-base=lib.
84863 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
84865         Use automake *-local hooks without commands, for extensibility.
84866         * modules/localcharset (Makefile.am): Rename install-exec-local
84867         rule to install-exec-localcharset, and make it a prerequisite of
84868         install-exec-local.  Likewise, rename the uninstall-local rule to
84869         uninstall-localcharset, and make it a prerequisite of the former.
84871 2009-05-01  Bruno Haible  <bruno@clisp.org>
84873         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
84874         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
84875         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
84876         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
84877         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
84878         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
84879         m4/locale-zh.m4, m4/codeset.m4.
84881         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
84882         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
84883         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
84884         m4/locale-zh.m4.
84886         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
84887         REPLACE_WCRTOMB if mbstate_t must be replaced.
84888         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
84889         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
84891 2009-05-01  Bruno Haible  <bruno@clisp.org>
84893         Avoid compiler warnings when redefining macros defined by <libintl.h>.
84894         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
84895         dngettext, dcngettext, textdomain, bindtextdomain,
84896         bind_textdomain_codeset): Undefine before redefining.
84898 2009-04-30  Bruno Haible  <bruno@clisp.org>
84900         Fix bug introduced on 2009-04-25.
84901         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
84902         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
84903         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
84904         is defined.
84905         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
84906         is defined.
84907         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
84908         is defined.
84909         Reported by Elbert_Pol <elbert.pol@gmail.com>.
84911 2009-04-28  Bruno Haible  <bruno@clisp.org>
84913         Comment tweaks.
84914         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
84915         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
84916         * lib/unicase.h (u*_casexfrm): Likewise.
84917         Reported by Paolo Bonzini.
84919 2009-04-28  Bruno Haible  <bruno@clisp.org>
84921         Fix a compilation error.
84922         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
84923         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
84924         Reported by Jim Meyering.
84926 2009-04-27  Bruno Haible  <bruno@clisp.org>
84928         New module 'libunistring'.
84929         * modules/libunistring: New file.
84930         * m4/libunistring.m4: New file.
84931         * MODULES.html.sh (Unicode string functions): Add it.
84933 2009-04-27  Eric Blake  <ebb9@byu.net>
84935         maint.mk: allow package-specific header to provide <config.h>
84936         * top/maint.mk (sc_require_config_h): New variable.
84937         (sc_require_config_h, sc_require_config_h_first): Use it.
84939 2009-04-27  Simon Josefsson  <simon@josefsson.org>
84941         * top/maint.mk (sc_avoid_if_before_free): Except
84942         useless-if-before-free script.
84944 2009-04-27  Eric Blake  <ebb9@byu.net>
84946         maintainer-makefile: depend on all required helper scripts
84947         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
84948         useless-if-before-free.
84949         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
84950         version, rather than assuming gnulib checkout is available.
84951         Reported by Simen Josefsson.
84953 2009-04-26  Bruno Haible  <bruno@clisp.org>
84955         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
84956         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
84957         "../" or "..".
84959 2009-04-26  Bruno Haible  <bruno@clisp.org>
84961         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
84962         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
84963         AC_LIB_HAVE_LINKFLAGS.
84965 2009-04-26  Bruno Haible  <bruno@clisp.org>
84967         Simplify calling convention of u*_conv_from_encoding.
84968         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
84969         u32_conv_from_encoding): Expect a resultbuf argument and return the
84970         result directly as a pointer.
84971         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
84972         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
84973         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
84974         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
84975         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
84976         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
84977         Update.
84978         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
84979         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
84980         * lib/vasnprintf.c (VASNPRINTF): Update.
84981         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
84982         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
84983         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
84984         * NEWS: Mention the change.
84986 2009-04-26  Bruno Haible  <bruno@clisp.org>
84988         Simplify calling convention of u*_conv_to_encoding.
84989         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
84990         u32_conv_to_encoding): Expect a resultbuf argument and return the
84991         result directly as a pointer.
84992         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
84993         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
84994         freeing scaled_offsets if mem_iconveha failed.
84995         * lib/unicase/u-casexfrm.h (FUNC): Update.
84996         * lib/uninorm/u-normxfrm.h (FUNC): Update.
84997         * lib/vasnprintf.c (VASNPRINTF): Update.
84998         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
84999         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
85000         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
85001         * NEWS: Mention the change.
85003 2009-04-26  Bruno Haible  <bruno@clisp.org>
85005         Avoid test failures on AIX and OSF/1.
85006         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
85007         malloc(0).
85008         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
85009         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
85010         Likewise.
85011         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
85012         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
85013         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
85014         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
85015         * doc/posix-functions/malloc.texi: Document the portability problem
85016         related to malloc(0).
85018 2009-04-26  Bruno Haible  <bruno@clisp.org>
85020         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
85021         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
85022         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
85024 2009-04-25  Bruno Haible  <bruno@clisp.org>
85026         Avoid link error when creating a namespace clean library.
85027         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
85028         as macro with arguments if already defined as an alias.
85029         * lib/signbitf.c (gl_signbitf): Don't undefine.
85030         * lib/signbitd.c (gl_signbitd): Don't undefine.
85031         * lib/signbitl.c (gl_signbitl): Don't undefine.
85033 2009-04-25  Jim Meyering  <meyering@redhat.com>
85035         vc-list-files: fix another quoting bug
85036         * build-aux/vc-list-files: Avoid sed backslash expansion
85037         of pathological directory names.
85039 2009-04-25  Eric Blake  <ebb9@byu.net>
85041         vc-list-files: fix shell quoting error
85042         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
85043         timestamp.
85045 2009-04-25  Jim Meyering  <meyering@redhat.com>
85047         vc-list-files: restore lost functionality with subdir argument
85048         * build-aux/vc-list-files: When given a non-"." sub-directory
85049         argument, substitute the $dir/ prefix back onto each resulting name.
85050         Otherwise, coreutils' root_tests check would fail.
85052 2009-04-24  Eric Blake  <ebb9@byu.net>
85054         vc-list-files: ignore git symlinks
85055         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
85056         than ls-files, to ignore git symlinks.
85058         maint.mk: import improvements from m4
85059         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
85060         (move_if_change): Delete unused macro.
85061         (news-date-check, vc-diff-check): Support VPATH builds.
85062         (announcement): Likewise.  Split --bootstrap-tools list...
85063         (boostrap-tools): ...into separate list, which can be overridden
85064         in cfg.mk.
85065         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
85066         requiring dependency on useless-if-before-free module.
85067         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
85068         Support VPATH builds.
85070 2009-04-24  Jim Meyering  <meyering@redhat.com>
85072         maint.mk: remove coreutils-specific rules and variables
85073         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
85074         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
85075         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
85077         maint.mk: remove obsolete rule
85078         * top/maint.mk (rel-check): Remove rule.
85079         (WGET, WGETFLAGS): Remove now-unused variables.
85081 2009-04-24  Simon Josefsson  <simon@josefsson.org>
85083         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
85084         consistency.
85086         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
85087         '$(PATH_SEPARATOR)' instead of ':'.
85089 2009-04-24  Simon Josefsson  <simon@josefsson.org>
85091         * lib/getopt1.c (main): Use 'const' for static array.
85093 2009-04-24  Simon Josefsson  <simon@josefsson.org>
85095         * top/maint.mk: Sync with coreutils.
85096         * NEWS: Explain incompatibilities.
85098 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
85099             Bruno Haible  <bruno@clisp.org>
85101         Fix cross-compilation results.
85102         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
85103         statement, as third argument of AC_TRY_RUN.
85104         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
85105         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
85106         Likewise.
85107         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
85108         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
85109         Likewise.
85110         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
85111         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
85112         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
85114 2009-04-20  Bruno Haible  <bruno@clisp.org>
85116         Avoid test failure on mingw.
85117         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
85119 2009-04-20  Bruno Haible  <bruno@clisp.org>
85121         Avoid compilation error on mingw.
85122         * modules/localename-tests (Depends-on): Add locale.
85124 2009-04-19  Bruno Haible  <bruno@clisp.org>
85126         Support for building a shared library on Windows platforms.
85127         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
85128         (main): Test the presence of UNINORM_NFC here.
85129         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
85130         (main): Test the presence of UNINORM_NFD here.
85131         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
85132         (main): Test the presence of UNINORM_NFKC here.
85133         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
85134         (main): Test the presence of UNINORM_NFKD here.
85136 2009-04-19  Bruno Haible  <bruno@clisp.org>
85138         Avoid a compiler warning.
85139         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
85140         Change type of variable 'sequence'.
85142 2009-04-19  Bruno Haible  <bruno@clisp.org>
85144         * modules/configmake (Makefile.am): When the contents of configmake.h
85145         does not change, arrange to preserve its modification time.
85147 2009-04-17  Simon Josefsson  <simon@josefsson.org>
85149         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
85150         gettext domain.
85152 2009-04-16  Jim Meyering  <meyering@redhat.com>
85154         useless-if-before-free: improve conversion code
85155         * build-aux/useless-if-before-free: Adjust code-in-comment to match
85156         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
85158 2009-04-14  Bruno Haible  <bruno@clisp.org>
85160         * modules/fcntl (Depends-on): Add extensions.
85161         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
85163 2009-04-12  Ben Pfaff  <blp@gnu.org>
85165         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
85166         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
85168 2009-03-20  Ben Pfaff  <blp@gnu.org>
85170         Make rename replace existing destinations on Windows.
85171         * m4/rename.m4: Add test for Mingw.
85172         * lib/rename.c: Add rename replacement that uses MoveFileEx with
85173         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
85174         * doc/posix-functions/rename.texi: Document.
85176 2009-04-10  Bruno Haible  <bruno@clisp.org>
85178         New include file "iconveh.h".
85179         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
85180         * lib/striconveh.h: Include it.
85181         (enum iconv_ilseq_handler): Remove definition.
85182         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
85183         striconveh.h.
85184         * lib/striconveha.c: Include striconveh.h.
85185         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
85186         * modules/striconveh (Files): Add lib/iconveh.h.
85187         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
85188         lib/striconveh.h.
85190 2009-04-10  Bruno Haible  <bruno@clisp.org>
85192         * lib/uniconv.h: Update comment.
85194 2009-04-10  Bruno Haible  <bruno@clisp.org>
85196         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
85197         always.
85198         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
85199         * lib/unistr/u16-mbtouc-aux.c: Likewise.
85200         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
85201         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
85202         "unistring-notinline.h", so that the function gets defined always.
85203         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
85204         * lib/unistr/u8-uctomb.c: Likewise.
85205         * lib/unistr/u16-mbtouc.c: Likewise.
85206         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
85207         * lib/unistr/u16-uctomb.c: Likewise.
85208         * lib/unistr/u32-mbtouc.c: Likewise.
85209         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
85210         * lib/unistr/u32-uctomb.c: Likewise.
85212 2009-04-10  Bruno Haible  <bruno@clisp.org>
85214         Mark 'utime' obsolete.
85215         * modules/utime (Status, Notice): New sections.
85216         Suggested by Jim Meyering.
85218         Fix cross-compile guess for utime test.
85219         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
85220         autoconf.
85221         * doc/posix-functions/utime.texi: Give more precisions.
85222         Reported by Jan <ipif@ymail.com>.
85224 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
85226         filevercmp: correct today's change
85227         * lib/filevercmp.c: Also handle coreutils' test inputs.
85228         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
85230         Fix regression in 'filevercmp' module. Thanks Sven Joachim
85231         for reporting it.
85232         * lib/filevercmp.c: Special handle for "", "." and "..".
85233         * tests/test-filevercmp.c: Enlarge the set suite.
85235 2009-04-07  Jim Meyering  <meyering@redhat.com>
85237         useless-if-before-free: show how to remove braced useless free, too
85238         * build-aux/useless-if-before-free: still only in a comment, though.
85240 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
85242         maint.mk: import changes to syntax-check macros from coreutils
85243         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
85244         Use them in the relevant macros.
85246 2009-04-06  Bruno Haible  <bruno@clisp.org>
85248         Fix unportable use of bit-fields.
85249         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
85250         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
85251         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
85253 2009-04-06  Bruno Haible  <bruno@clisp.org>
85255         Avoid test failures on AIX and OSF/1.
85256         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
85257         that malloc(0) = NULL.
85258         * tests/unicase/test-u8-tolower.c (check): Likewise.
85259         * tests/unicase/test-u8-totitle.c (check): Likewise.
85260         * tests/unicase/test-u8-toupper.c (check): Likewise.
85261         * tests/unicase/test-u16-casefold.c (check): Likewise.
85262         * tests/unicase/test-u16-tolower.c (check): Likewise.
85263         * tests/unicase/test-u16-totitle.c (check): Likewise.
85264         * tests/unicase/test-u16-toupper.c (check): Likewise.
85265         * tests/unicase/test-u32-casefold.c (check): Likewise.
85266         * tests/unicase/test-u32-tolower.c (check): Likewise.
85267         * tests/unicase/test-u32-totitle.c (check): Likewise.
85268         * tests/unicase/test-u32-toupper.c (check): Likewise.
85269         * tests/uninorm/test-u8-nfc.c (check): Likewise.
85270         * tests/uninorm/test-u8-nfd.c (check): Likewise.
85271         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
85272         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
85273         * tests/uninorm/test-u16-nfc.c (check): Likewise.
85274         * tests/uninorm/test-u16-nfd.c (check): Likewise.
85275         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
85276         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
85277         * tests/uninorm/test-u32-nfc.c (check): Likewise.
85278         * tests/uninorm/test-u32-nfd.c (check): Likewise.
85279         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
85280         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
85282 2009-04-05  Bruno Haible  <bruno@clisp.org>
85284         Work around an autoconf limitation.
85285         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
85286         comment line if it would be longer than 3 KB.
85288 2009-04-05  Bruno Haible  <bruno@clisp.org>
85290         Avoid test failure with libiconv-1.13.
85291         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
85292         of the expected test results.
85294 2009-04-05  Bruno Haible  <bruno@clisp.org>
85296         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
85297         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
85298         that it should be installed.
85300 2009-04-05  Bruno Haible  <bruno@clisp.org>
85302         * gnulib-tool: New option --copy-file.
85303         (func_usage): Document it.
85304         (func_dest_tmpfilename): Moved out of func_import.
85305         (func_add_file, func_update_file): New functions, extracted from
85306         func_import.
85307         (func_import): Update.
85309 2009-04-05  Karl Berry  <karl@gnu.org>
85311         * README: prominently mention gnulib-tool.
85312         Rearrange sections so getting the code is near the top.
85314 2009-04-05  Bruno Haible  <bruno@clisp.org>
85316         * lib/unicase.h: Mention u*_cmp2.
85317         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
85318         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
85319         * lib/unicase/ulc-casecmp.c: Likewise.
85320         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
85321         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
85322         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
85323         unistr/u8-cmp.
85324         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
85325         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
85326         unistr/u16-cmp.
85327         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
85328         unistr/u32-cmp.
85330         * lib/uninorm.h: Mention u*_cmp2.
85331         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
85332         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
85333         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
85334         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
85335         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
85336         unistr/u8-cmp.
85337         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
85338         unistr/u16-cmp.
85339         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
85340         unistr/u32-cmp.
85342         New module 'unistr/u32-cmp2'.
85343         * lib/unistr/u32-cmp2.c: New file.
85344         * modules/unistr/u32-cmp2: New file.
85346         New module 'unistr/u16-cmp2'.
85347         * lib/unistr/u16-cmp2.c: New file.
85348         * modules/unistr/u16-cmp2: New file.
85350         New module 'unistr/u8-cmp2'.
85351         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
85352         * lib/unistr/u8-cmp2.c: New file.
85353         * lib/unistr/u-cmp2.h: New file.
85354         * modules/unistr/u8-cmp2: New file.
85356 2009-04-05  Bruno Haible  <bruno@clisp.org>
85358         * lib/unictype.h (uc_property_is_valid): New macro.
85359         * tests/unictype/test-pr_byname.c (main): Use it.
85361         * lib/unistr.h: Doc fixes.
85362         * lib/uniconv.h: Doc fixes.
85363         * lib/unictype.h: Doc fixes.
85365 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
85367         Port coreutils 7.2 to Solaris 8.
85369         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
85370         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
85371         for Solaris 8.  This is a bit of a hack, as it means it's the
85372         caller's responsibility to add -lnsl if needed, but most likely it
85373         won't be needed since only getaddrinfo uses this and getaddrinfo
85374         isn't needed on Solaris 8.
85376         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
85377         problem to Solaris 8 encountered with coreutils 7.2, which
85378         resulted in a message "fnmatch.c:292: warning: passing argument 4
85379         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
85380         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
85382 2009-04-03  Simon Josefsson  <simon@josefsson.org>
85384         * m4/ld-version-script.m4: Add FIXME comment.
85386 2009-04-02  Simon Josefsson  <simon@josefsson.org>
85388         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
85389         SOVERSION variable.
85391 2009-04-02  Bruno Haible  <bruno@clisp.org>
85393         * Makefile (info, html, dvi, pdf): Combine the rules.
85394         Suggested by Jim Meyering.
85396 2009-04-01  Bruno Haible  <bruno@clisp.org>
85398         * Makefile (info, html, dvi, pdf): New targets.
85399         Reported by Reuben Thomas <rrt@sc3d.org>.
85401 2009-04-01  Bruno Haible  <bruno@clisp.org>
85403         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
85404         can be put into PATH.
85405         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
85407 2009-04-01  Bruno Haible  <bruno@clisp.org>
85409         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
85411 2009-04-01  Bruno Haible  <bruno@clisp.org>
85413         Rename module 'visibility'.
85414         * modules/lib-symbol-visibility: Renamed from modules/visibility.
85415         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
85416         * doc/gnulib.texi: Update.
85417         * MODULES.html.sh (Misc): Update.
85418         * NEWS: Mention the change.
85420 2009-04-01  Simon Josefsson  <simon@josefsson.org>
85422         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
85423         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
85424         Eric Blake <ebb9@byu.net> for review.
85425         * MODULES.html.sh: Add lib-msvc-compat.
85426         * doc/gnulib.texi: Link to new section.
85427         * m4/ld-output-def.m4: New file.
85428         * doc/ld-output-def.texi: New file.
85430 2009-04-01  Simon Josefsson  <simon@josefsson.org>
85432         Rename ld-version-script to lib-symbol-versions.  Suggested by
85433         Bruno Haible <bruno@clisp.org>.
85434         * modules/ld-version-script: Renamed to lib-symbol-versions.
85435         * doc/ld-version-script.texi: Fix module name.
85436         * MODULES.html.sh: Add lib-symbol-versions.
85438 2009-03-31  Simon Josefsson  <simon@josefsson.org>
85440         * modules/u64-tests: New file.
85441         * tests/test-u64.c: New file.
85443 2009-03-04  Simon Josefsson  <simon@josefsson.org>
85445         * MODULES.html.sh: Mention u64.
85446         * modules/u64: New module.
85447         * modules/crypto/sha512: Depend on u64 module instead of providing
85448         u64.h.
85450 2009-03-27  Eric Blake  <ebb9@byu.net>
85452         test-strerror: make debugging EAI_SYSTEM easier
85453         * modules/getaddrinfo-tests (Depends-on): Add strerror.
85454         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
85455         failure was EAI_SYSTEM.
85457 2009-03-25  Bruno Haible  <bruno@clisp.org>
85459         Fix a problem with --enable-relocatable on Solaris 7.
85460         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
85461         since 2008-02-24.
85463 2009-03-25  Eric Blake  <ebb9@byu.net>
85465         test-sockets: avoid gcc warning
85466         * tests/test-sockets.c (main): Silence compiler warning.
85468 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
85470         New modules nproc, pthread, contributed by Glen Lenker.
85472         * MODULES.html.sh: Add pthread, nproc.
85473         * lib/nproc.c: New file.
85474         * lib/nproc.h: New file.
85475         * lib/pthread.in.h: New file.
85476         * m4/pthread.m4: New file.
85477         * modules/nproc: New file.
85478         * modules/pthread: New file.
85480 2009-03-24  Simon Josefsson  <simon@josefsson.org>
85482         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
85483         New variable.
85485 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
85487         filevercmp: handle simple~ and numbered.~3~ backup suffixes
85488         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
85489         * tests/test-filevercmp.c: Add tests for backup suffixes.
85491 2009-03-24  Simon Josefsson  <simon@josefsson.org>
85493         * modules/stdlib (Depends-on): Add stdint, needed when defining
85494         struct random_data on, for example, HP-UX 10.20.  Reported by
85495         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
85497 2009-03-24  Simon Josefsson  <simon@josefsson.org>
85499         * lib/readline.c (readline): Call fflush on stdout after printing
85500         prompt.
85502 2009-03-20  Bruno Haible  <bruno@clisp.org>
85504         Remove dependency from 'close' module to -lws2_32 on native Windows.
85505         * lib/close-hook.h: New file.
85506         * lib/close-hook.c: New file.
85507         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
85508         w32sock.h.
85509         (_gl_close_fd_maybe_socket): Remove function.
85510         (rpl_close): Invoke execute_all_close_hooks instead of
85511         _gl_close_fd_maybe_socket.
85512         * lib/sockets.c: Include close-hook.h, w32sock.h.
85513         (close_fd_maybe_socket): New function, essentially from lib/close.c.
85514         (close_sockets_hook): New variable.
85515         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
85516         (gl_sockets_cleanup): Unregister it.
85517         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
85518         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
85519         * modules/close-hook: New file.
85520         * modules/close (Files): Remove lib/w32sock.h.
85521         (Depends-on): Add close-hook.
85522         (Link): Remove section.
85523         * modules/sockets (Files): Add lib/w32sock.h.
85524         (Depends-on): Add close-hook.
85525         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
85526         invocation.
85527         * NEWS: Mention that LIB_CLOSE is gone.
85529 2009-03-23  Eric Blake  <ebb9@byu.net>
85531         signal-tests: test previous patch
85532         * tests/test-signal.c: New file.
85533         * modules/signal-tests: Likewise.
85535         signal.h: always support 'volatile sig_atomic_t'
85536         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
85537         (gl_SIGNAL_H_DEFAULTS): Add a default.
85538         * modules/signal (Makefile.am): Substitute if needed.
85539         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
85540         users can blindly add volatile.
85541         * doc/posix-headers/signal.texi (signal.h): Document it.
85542         Reported by Matthew Woehlke.
85544 2009-03-23  Jim Meyering  <meyering@redhat.com>
85546         pathmax: PATH_MAX: use pathconf only when available
85547         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
85548         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
85549         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
85550         This avoids a link failure in a PSP cross-compilation environment
85551         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
85553         * lib/vasnprintf.c (divide): Fix typo in comment.
85555 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
85557         * gnulib-tool (func_filter_filelist): Fix comment.
85559 2009-03-20  Bruno Haible  <bruno@clisp.org>
85561         Make sockets.h self-contained.
85562         * lib/sockets.c: Include sockets.h first.
85563         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
85565 2009-03-19  Eric Blake  <ebb9@byu.net>
85567         doc: mention more functions added in cygwin 1.7.0
85568         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
85569         addition.
85570         * doc/posix-functions/log2f.texi: Likewise.
85572 2009-03-19  Jim Meyering  <meyering@redhat.com>
85574         fsusage: avoid syntax error due to statement-before-declaration
85575         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
85576         after all declarations.  Reported by Matthew Woehlke in
85577         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
85579 2009-03-18  Eric Blake  <ebb9@byu.net>
85581         build-aux/compile: sync from automake
85582         * build-aux/compile: New file, from automake.
85583         * config/srclist.txt: Mention build-aux/compile.
85585 2009-03-17  Bruno Haible  <bruno@clisp.org>
85587         * lib/git-merge-changelog.c: Fix typo in comment.
85588         Reported by Reuben Thomas <rrt@sc3d.org>.
85590 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
85592         * m4/regex.m4: update and improve help for
85593         --without-included-regex.
85595 2009-03-17  Simon Josefsson  <simon@josefsson.org>
85597         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
85598         failure on missing include files.
85600 2009-03-17  Eric Blake  <ebb9@byu.net>
85602         doc: mention more functions added in cygwin 1.7.0
85603         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
85604         addition.
85605         * doc/posix-functions/fwscanf.texi: Likewise.
85606         * doc/posix-functions/swprintf.texi: Likewise.
85607         * doc/posix-functions/swscanf.texi: Likewise.
85608         * doc/posix-functions/vfwprintf.texi: Likewise.
85609         * doc/posix-functions/vfwscanf.texi: Likewise.
85610         * doc/posix-functions/vswprintf.texi: Likewise.
85611         * doc/posix-functions/vswscanf.texi: Likewise.
85612         * doc/posix-functions/vwprintf.texi: Likewise.
85613         * doc/posix-functions/vwscanf.texi: Likewise.
85614         * doc/posix-functions/wcscasecmp.texi: Likewise.
85615         * doc/posix-functions/wcsdup.texi: Likewise.
85616         * doc/posix-functions/wcsftime.texi: Likewise.
85617         * doc/posix-functions/wcsncasecmp.texi: Likewise.
85618         * doc/posix-functions/wprintf.texi: Likewise.
85619         * doc/posix-functions/wscanf.texi: Likewise.
85620         * doc/glibc-functions/gethostbyname2.texi: Likewise.
85622 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
85624         maint.mk: really add $(AM_MAKEFLAGS)
85625         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
85626         was inadvertently omitted in the last commit.
85627         Spotted by Bruno Haible.
85629         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
85630         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
85631         $(AM_MAKEFLAGS)' rather than plain `make'.
85633         gnulib-tool: execute $MAKE not make
85634         * gnulib-tool: Default $MAKE to 'make'.
85635         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
85636         than make.  Initialize $MAKE in the do-autobuild script.
85638         gnulib-tool: use $MAKE not make in generated files
85639         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
85640         make, in generated files.  Initialize $MAKE in the do-autobuild
85641         script.
85643         * top/GNUmakefile (_have-git-version-gen): Fix typo.
85645         GNUmakefile: disable parallelism only for multiple, recursive targets
85646         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
85647         additions in the Makefile.
85648         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
85649         by Automake.
85650         (.NOTPARALLEL): Only disable parallel builds if multiple targets
85651         are listed on the command line and at least one of them is
85652         listed in $(ALL_RECURSIVE_TARGETS).
85654 2009-03-14  Bruno Haible  <bruno@clisp.org>
85656         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
85657         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
85658         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
85659         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
85660         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
85661         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
85662         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
85663         unistr/u8-uctomb.
85664         * modules/unistr/u8-strchr (Depends-on): Likewise.
85665         * modules/unistr/u8-strrchr (Depends-on): Likewise.
85666         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
85667         unistr/u16-uctomb.
85668         * modules/unistr/u16-strchr (Depends-on): Likewise.
85669         * modules/unistr/u16-strrchr (Depends-on): Likewise.
85671 2009-03-12  Bruno Haible  <bruno@clisp.org>
85673         Work around select() bug on Interix 3.5.
85674         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
85675         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
85676         * m4/select.m4: New file.
85677         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
85678         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
85679         * modules/select (Files): Add m4/select.m4.
85680         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
85681         * modules/nanosleep (Depends-on): Add select.
85682         * modules/poll (Depends-on): Likewise.
85683         * doc/posix-functions/select.texi: Mention the Interix bug.
85684         Reported by Markus Duft <mduft@gentoo.org>.
85686         * lib/select.c: Renamed from lib/winsock-select.c.
85687         * modules/select (Files): Add lib/select.c, remove
85688         lib/winsock-select.c.
85689         (configure.ac): Update.
85691 2009-03-12  Jim Meyering  <meyering@redhat.com>
85693         avoid gcc warnings about unused macro definitions
85694         * lib/readtokens.c (STREQ): Remove unused definition.
85695         * lib/xmalloc.c (SIZE_MAX): Likewise.
85696         * lib/openat-die.c (N_): Likewise.
85697         * lib/mountlist.c (SIZE_MAX): Remove definition.
85698         Instead, include <stdint.h>.
85699         * lib/readutmp.c: Likewise.
85700         * modules/readutmp (Depends-on): Add stdint.
85701         * modules/mountlist (Depends-on): Add stdint.
85702         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
85704 2009-03-10  Bruno Haible  <bruno@clisp.org>
85706         Tests for module 'mbmemcasecoll'.
85707         * modules/mbmemcasecoll-tests: New file.
85708         * tests/test-mbmemcasecoll1.sh: New file.
85709         * tests/test-mbmemcasecoll2.sh: New file.
85710         * tests/test-mbmemcasecoll3.sh: New file.
85711         * tests/test-mbmemcasecoll.c: New file.
85713         New module 'mbmemcasecoll'.
85714         * lib/mbmemcasecoll.h: New file.
85715         * lib/mbmemcasecoll.c: New file.
85716         * modules/mbmemcasecoll: New file.
85718         * tests/test-mbmemcasecmp.h: New file, extracted from
85719         tests/test-mbmemcasecmp.c.
85720         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
85721         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
85722         (main): Update.
85723         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
85725 2009-03-09  Bruno Haible  <bruno@clisp.org>
85727         Tests for module 'mbmemcasecmp'.
85728         * modules/mbmemcasecmp-tests: New file.
85729         * tests/test-mbmemcasecmp1.sh: New file.
85730         * tests/test-mbmemcasecmp2.sh: New file.
85731         * tests/test-mbmemcasecmp3.sh: New file.
85732         * tests/test-mbmemcasecmp.c: New file.
85734         New module 'mbmemcasecmp'.
85735         * lib/mbmemcasecmp.h: New file.
85736         * lib/mbmemcasecmp.c: New file.
85737         * modules/mbmemcasecmp: New file.
85739 2009-03-09  Bruno Haible  <bruno@clisp.org>
85741         Tests for module 'unicase/ulc-casecoll'.
85742         * modules/unicase/ulc-casecoll-tests: New file.
85743         * tests/unicase/test-ulc-casecoll1.sh: New file.
85744         * tests/unicase/test-ulc-casecoll2.sh: New file.
85745         * tests/unicase/test-ulc-casecoll.c: New file.
85747         New module 'unicase/ulc-casecoll'.
85748         * lib/unicase.h (ulc_casecoll): New declaration.
85749         * lib/unicase/ulc-casecoll.c: New file.
85750         * modules/unicase/ulc-casecoll: New file.
85752         New module 'unicase/ulc-casexfrm'.
85753         * lib/unicase.h (ulc_casexfrm): New declaration.
85754         * lib/unicase/ulc-casexfrm.c: New file.
85755         * modules/unicase/ulc-casexfrm: New file.
85757 2009-03-09  Bruno Haible  <bruno@clisp.org>
85759         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
85760         invocations.
85762         * m4/mbscasecmp.m4: Remove file.
85763         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
85764         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
85766         * m4/mbscasestr.m4: Remove file.
85767         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
85768         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
85770         * m4/mbschr.m4: Remove file.
85771         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
85772         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
85774         * m4/mbscspn.m4: Remove file.
85775         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
85776         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
85778         * m4/mbslen.m4: Remove file.
85779         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
85780         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
85782         * m4/mbsncasecmp.m4: Remove file.
85783         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
85784         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
85786         * m4/mbsnlen.m4: Remove file.
85787         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
85788         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
85790         * m4/mbspbrk.m4: Remove file.
85791         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
85792         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
85794         * m4/mbspcasecmp.m4: Remove file.
85795         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
85796         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
85798         * m4/mbsrchr.m4: Remove file.
85799         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
85800         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
85802         * m4/mbssep.m4: Remove file.
85803         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
85804         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
85806         * m4/mbsspn.m4: Remove file.
85807         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
85808         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
85810         * m4/mbsstr.m4: Remove file.
85811         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
85812         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
85814         * m4/mbstok_r.m4: Remove file.
85815         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
85816         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
85818         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
85820         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
85821         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
85823         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
85825 2009-03-08  Bruno Haible  <bruno@clisp.org>
85827         Tests for module 'unicase/ulc-casecmp'.
85828         * modules/unicase/ulc-casecmp-tests: New file.
85829         * tests/unicase/test-ulc-casecmp1.sh: New file.
85830         * tests/unicase/test-ulc-casecmp2.sh: New file.
85831         * tests/unicase/test-ulc-casecmp.c: New file.
85833         New module 'unicase/ulc-casecmp'.
85834         * lib/unicase.h (ulc_casecmp): New declaration.
85835         * lib/unicase/ulc-casecmp.c: New file.
85836         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
85837         'const SRC_UNIT *'.
85838         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
85839         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
85840         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
85841         * modules/unicase/ulc-casecmp: New file.
85843         Tests for module 'unicase/u32-is-cased'.
85844         * modules/unicase/u32-is-cased-tests: New file.
85845         * tests/unicase/test-u32-is-cased.c: New file.
85847         Tests for module 'unicase/u16-is-cased'.
85848         * modules/unicase/u16-is-cased-tests: New file.
85849         * tests/unicase/test-u16-is-cased.c: New file.
85851         Tests for module 'unicase/u8-is-cased'.
85852         * modules/unicase/u8-is-cased-tests: New file.
85853         * tests/unicase/test-u8-is-cased.c: New file.
85854         * tests/unicase/test-is-cased.h: New file.
85856         New module 'unicase/u32-is-cased'.
85857         * lib/unicase/u32-is-cased.c: New file.
85858         * modules/unicase/u32-is-cased: New file.
85860         New module 'unicase/u16-is-cased'.
85861         * lib/unicase/u16-is-cased.c: New file.
85862         * modules/unicase/u16-is-cased: New file.
85864         New module 'unicase/u8-is-cased'.
85865         * lib/unicase/u8-is-cased.c: New file.
85866         * lib/unicase/u-is-cased.h: New file.
85867         * modules/unicase/u8-is-cased: New file.
85869         Tests for module 'unicase/u32-is-casefolded'.
85870         * modules/unicase/u32-is-casefolded-tests: New file.
85871         * tests/unicase/test-u32-is-casefolded.c: New file.
85873         Tests for module 'unicase/u16-is-casefolded'.
85874         * modules/unicase/u16-is-casefolded-tests: New file.
85875         * tests/unicase/test-u16-is-casefolded.c: New file.
85877         Tests for module 'unicase/u8-is-casefolded'.
85878         * modules/unicase/u8-is-casefolded-tests: New file.
85879         * tests/unicase/test-u8-is-casefolded.c: New file.
85880         * tests/unicase/test-is-casefolded.h: New file.
85882         New module 'unicase/u32-is-casefolded'.
85883         * lib/unicase/u32-is-casefolded.c: New file.
85884         * modules/unicase/u32-is-casefolded: New file.
85886         New module 'unicase/u16-is-casefolded'.
85887         * lib/unicase/u16-is-casefolded.c: New file.
85888         * modules/unicase/u16-is-casefolded: New file.
85890         New module 'unicase/u8-is-casefolded'.
85891         * lib/unicase/u8-is-casefolded.c: New file.
85892         * modules/unicase/u8-is-casefolded: New file.
85894         Tests for module 'unicase/u32-is-titlecase'.
85895         * modules/unicase/u32-is-titlecase-tests: New file.
85896         * tests/unicase/test-u32-is-titlecase.c: New file.
85898         Tests for module 'unicase/u16-is-titlecase'.
85899         * modules/unicase/u16-is-titlecase-tests: New file.
85900         * tests/unicase/test-u16-is-titlecase.c: New file.
85902         Tests for module 'unicase/u8-is-titlecase'.
85903         * modules/unicase/u8-is-titlecase-tests: New file.
85904         * tests/unicase/test-u8-is-titlecase.c: New file.
85905         * tests/unicase/test-is-titlecase.h: New file.
85907         New module 'unicase/u32-is-titlecase'.
85908         * lib/unicase/u32-is-titlecase.c: New file.
85909         * modules/unicase/u32-is-titlecase: New file.
85911         New module 'unicase/u16-is-titlecase'.
85912         * lib/unicase/u16-is-titlecase.c: New file.
85913         * modules/unicase/u16-is-titlecase: New file.
85915         New module 'unicase/u8-is-titlecase'.
85916         * lib/unicase/u8-is-titlecase.c: New file.
85917         * modules/unicase/u8-is-titlecase: New file.
85919         Tests for module 'unicase/u32-is-lowercase'.
85920         * modules/unicase/u32-is-lowercase-tests: New file.
85921         * tests/unicase/test-u32-is-lowercase.c: New file.
85923         Tests for module 'unicase/u16-is-lowercase'.
85924         * modules/unicase/u16-is-lowercase-tests: New file.
85925         * tests/unicase/test-u16-is-lowercase.c: New file.
85927         Tests for module 'unicase/u8-is-lowercase'.
85928         * modules/unicase/u8-is-lowercase-tests: New file.
85929         * tests/unicase/test-u8-is-lowercase.c: New file.
85930         * tests/unicase/test-is-lowercase.h: New file.
85932         New module 'unicase/u32-is-lowercase'.
85933         * lib/unicase/u32-is-lowercase.c: New file.
85934         * modules/unicase/u32-is-lowercase: New file.
85936         New module 'unicase/u16-is-lowercase'.
85937         * lib/unicase/u16-is-lowercase.c: New file.
85938         * modules/unicase/u16-is-lowercase: New file.
85940         New module 'unicase/u8-is-lowercase'.
85941         * lib/unicase/u8-is-lowercase.c: New file.
85942         * modules/unicase/u8-is-lowercase: New file.
85944         Tests for module 'unicase/u32-is-uppercase'.
85945         * modules/unicase/u32-is-uppercase-tests: New file.
85946         * tests/unicase/test-u32-is-uppercase.c: New file.
85948         Tests for module 'unicase/u16-is-uppercase'.
85949         * modules/unicase/u16-is-uppercase-tests: New file.
85950         * tests/unicase/test-u16-is-uppercase.c: New file.
85952         Tests for module 'unicase/u8-is-uppercase'.
85953         * modules/unicase/u8-is-uppercase-tests: New file.
85954         * tests/unicase/test-u8-is-uppercase.c: New file.
85955         * tests/unicase/test-is-uppercase.h: New file.
85957         New module 'unicase/u32-is-uppercase'.
85958         * lib/unicase/u32-is-uppercase.c: New file.
85959         * modules/unicase/u32-is-uppercase: New file.
85961         New module 'unicase/u16-is-uppercase'.
85962         * lib/unicase/u16-is-uppercase.c: New file.
85963         * modules/unicase/u16-is-uppercase: New file.
85965         New module 'unicase/u8-is-uppercase'.
85966         * lib/unicase/u8-is-uppercase.c: New file.
85967         * modules/unicase/u8-is-uppercase: New file.
85969         New module 'unicase/u32-is-invariant'.
85970         * lib/unicase/u32-is-invariant.c: New file.
85971         * modules/unicase/u32-is-invariant: New file.
85973         New module 'unicase/u16-is-invariant'.
85974         * lib/unicase/u16-is-invariant.c: New file.
85975         * modules/unicase/u16-is-invariant: New file.
85977         New module 'unicase/u8-is-invariant'.
85978         * lib/unicase/u8-is-invariant.c: New file.
85979         * lib/unicase/invariant.h: New file.
85980         * lib/unicase/u-is-invariant.h: New file.
85981         * modules/unicase/u8-is-invariant: New file.
85983         Tests for module 'unicase/u32-casecoll'.
85984         * modules/unicase/u32-casecoll-tests: New file.
85985         * tests/unicase/test-u32-casecoll.c: New file.
85987         Tests for module 'unicase/u16-casecoll'.
85988         * modules/unicase/u16-casecoll-tests: New file.
85989         * tests/unicase/test-u16-casecoll.c: New file.
85991         Tests for module 'unicase/u8-casecoll'.
85992         * modules/unicase/u8-casecoll-tests: New file.
85993         * tests/unicase/test-u8-casecoll.c: New file.
85995         New module 'unicase/u32-casecoll'.
85996         * lib/unicase/u32-casecoll.c: New file.
85997         * modules/unicase/u32-casecoll: New file.
85999         New module 'unicase/u16-casecoll'.
86000         * lib/unicase/u16-casecoll.c: New file.
86001         * modules/unicase/u16-casecoll: New file.
86003         New module 'unicase/u8-casecoll'.
86004         * lib/unicase/u8-casecoll.c: New file.
86005         * lib/unicase/u-casecoll.h: New file.
86006         * modules/unicase/u8-casecoll: New file.
86008         New module 'unicase/u32-casexfrm'.
86009         * lib/unicase/u32-casexfrm.c: New file.
86010         * modules/unicase/u32-casexfrm: New file.
86012         New module 'unicase/u16-casexfrm'.
86013         * lib/unicase/u16-casexfrm.c: New file.
86014         * modules/unicase/u16-casexfrm: New file.
86016         New module 'unicase/u8-casexfrm'.
86017         * lib/unicase/u8-casexfrm.c: New file.
86018         * lib/unicase/u-casexfrm.h: New file.
86019         * modules/unicase/u8-casexfrm: New file.
86021         Tests for module 'unicase/u32-casecmp'.
86022         * modules/unicase/u32-casecmp-tests: New file.
86023         * tests/unicase/test-u32-casecmp.c: New file.
86025         Tests for module 'unicase/u16-casecmp'.
86026         * modules/unicase/u16-casecmp-tests: New file.
86027         * tests/unicase/test-u16-casecmp.c: New file.
86029         Tests for module 'unicase/u8-casecmp'.
86030         * modules/unicase/u8-casecmp-tests: New file.
86031         * tests/unicase/test-u8-casecmp.c: New file.
86032         * tests/unicase/test-casecmp.h: New file.
86034         New module 'unicase/u32-casecmp'.
86035         * lib/unicase/u32-casecmp.c: New file.
86036         * modules/unicase/u32-casecmp: New file.
86038         New module 'unicase/u16-casecmp'.
86039         * lib/unicase/u16-casecmp.c: New file.
86040         * modules/unicase/u16-casecmp: New file.
86042         New module 'unicase/u8-casecmp'.
86043         * lib/unicase/u8-casecmp.c: New file.
86044         * lib/unicase/u-casecmp.h: New file.
86045         * modules/unicase/u8-casecmp: New file.
86047         Tests for module 'unicase/u32-casefold'.
86048         * modules/unicase/u32-casefold-tests: New file.
86049         * tests/unicase/test-u32-casefold.c: New file.
86051         Tests for module 'unicase/u16-casefold'.
86052         * modules/unicase/u16-casefold-tests: New file.
86053         * tests/unicase/test-u16-casefold.c: New file.
86055         Tests for module 'unicase/u8-casefold'.
86056         * modules/unicase/u8-casefold-tests: New file.
86057         * tests/unicase/test-u8-casefold.c: New file.
86059         New module 'unicase/u32-casefold'.
86060         * lib/unicase/u32-casefold.c: New file.
86061         * modules/unicase/u32-casefold: New file.
86063         New module 'unicase/u16-casefold'.
86064         * lib/unicase/u16-casefold.c: New file.
86065         * modules/unicase/u16-casefold: New file.
86067         New module 'unicase/u8-casefold'.
86068         * lib/unicase/u8-casefold.c: New file.
86069         * lib/unicase/u-casefold.h: New file.
86070         * modules/unicase/u8-casefold: New file.
86072         New module 'unicase/tocasefold'.
86073         * lib/unicase/casefold.h: New file.
86074         * lib/unicase/tocasefold.c: New file.
86075         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
86076         * modules/unicase/tocasefold: New file.
86078         Tests for module 'unicase/u32-totitle'.
86079         * modules/unicase/u32-totitle-tests: New file.
86080         * tests/unicase/test-u32-totitle.c: New file.
86082         Tests for module 'unicase/u16-totitle'.
86083         * modules/unicase/u16-totitle-tests: New file.
86084         * tests/unicase/test-u16-totitle.c: New file.
86086         Tests for module 'unicase/u8-totitle'.
86087         * modules/unicase/u8-totitle-tests: New file.
86088         * tests/unicase/test-u8-totitle.c: New file.
86090         New module 'unicase/u32-totitle'.
86091         * lib/unicase/u32-totitle.c: New file.
86092         * modules/unicase/u32-totitle: New file.
86094         New module 'unicase/u16-totitle'.
86095         * lib/unicase/u16-totitle.c: New file.
86096         * modules/unicase/u16-totitle: New file.
86098         New module 'unicase/u8-totitle'.
86099         * lib/unicase/u8-totitle.c: New file.
86100         * lib/unicase/u-totitle.h: New file.
86101         * modules/unicase/u8-totitle: New file.
86103         Tests for module 'unicase/u32-tolower'.
86104         * modules/unicase/u32-tolower-tests: New file.
86105         * tests/unicase/test-u32-tolower.c: New file.
86107         Tests for module 'unicase/u16-tolower'.
86108         * modules/unicase/u16-tolower-tests: New file.
86109         * tests/unicase/test-u16-tolower.c: New file.
86111         Tests for module 'unicase/u8-tolower'.
86112         * modules/unicase/u8-tolower-tests: New file.
86113         * tests/unicase/test-u8-tolower.c: New file.
86115         New module 'unicase/u32-tolower'.
86116         * lib/unicase/u32-tolower.c: New file.
86117         * modules/unicase/u32-tolower: New file.
86119         New module 'unicase/u16-tolower'.
86120         * lib/unicase/u16-tolower.c: New file.
86121         * modules/unicase/u16-tolower: New file.
86123         New module 'unicase/u8-tolower'.
86124         * lib/unicase/u8-tolower.c: New file.
86125         * modules/unicase/u8-tolower: New file.
86127         Tests for module 'unicase/u32-toupper'.
86128         * modules/unicase/u32-toupper-tests: New file.
86129         * tests/unicase/test-u32-toupper.c: New file.
86131         Tests for module 'unicase/u16-toupper'.
86132         * modules/unicase/u16-toupper-tests: New file.
86133         * tests/unicase/test-u16-toupper.c: New file.
86135         Tests for module 'unicase/u8-toupper'.
86136         * modules/unicase/u8-toupper-tests: New file.
86137         * tests/unicase/test-u8-toupper.c: New file.
86139         New module 'unicase/u32-toupper'.
86140         * lib/unicase/u32-toupper.c: New file.
86141         * modules/unicase/u32-toupper: New file.
86143         New module 'unicase/u16-toupper'.
86144         * lib/unicase/u16-toupper.c: New file.
86145         * modules/unicase/u16-toupper: New file.
86147         New module 'unicase/u8-toupper'.
86148         * lib/unicase/u8-toupper.c: New file.
86149         * modules/unicase/u8-toupper: New file.
86151         New module 'unicase/u32-casemap'.
86152         * lib/unicase/u32-casemap.c: New file.
86153         * modules/unicase/u32-casemap: New file.
86155         New module 'unicase/u16-casemap'.
86156         * lib/unicase/u16-casemap.c: New file.
86157         * modules/unicase/u16-casemap: New file.
86159         New module 'unicase/u8-casemap'.
86160         * lib/unicase/unicasemap.h: New file.
86161         * lib/unicase/u8-casemap.c: New file.
86162         * lib/unicase/u-casemap.h: New file.
86163         * modules/unicase/u8-casemap: New file.
86165         New module 'unicase/special-casing'.
86166         * lib/unicase/special-casing.h: New file.
86167         * lib/unicase/special-casing.c: New file.
86168         * lib/unicase/special-casing-table.gperf: New file, generated by
86169         gen-uni-tables.c.
86170         * modules/unicase/special-casing: New file.
86172         Tests for module 'unicase/locale-language'.
86173         * modules/unicase/locale-language-tests: New file.
86174         * tests/unicase/test-locale-language.sh: New file.
86175         * tests/unicase/test-locale-language.c: New file.
86177         New module 'unicase/locale-language'.
86178         * lib/unicase/locale-language.c: New file.
86179         * lib/unicase/locale-languages.gperf: New file.
86180         * modules/unicase/locale-language: New file.
86182         Generate more tables for case conversion and case folding.
86183         * lib/gen-uni-tables.c (SCC_*): New enum items.
86184         (struct special_casing_rule): New type.
86185         (casing_rules, num_casing_rules, allocated_casing_rules): New
86186         variables.
86187         (add_casing_rule, fill_casing_rules): New functions.
86188         (struct casefold_rule): New type.
86189         (casefolding_rules, num_casefolding_rules,
86190         allocated_casefolding_rules): New variables.
86191         (fill_casefolding_rules): New function.
86192         (unicode_casefold): New variable.
86193         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
86194         sort_casing_rules, output_casing_rules): New functions.
86195         (main): Accept to more arguments: SpecialCasing.txt and
86196         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
86197         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
86198         Output mapping for casefolding.
86200         * lib/unicase.h: Include stdbool.h, uninorm.h.
86201         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
86202         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
86203         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
86204         arguments.
86205         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
86206         resultp arguments.
86207         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
86208         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
86209         resultp arguments.
86210         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
86211         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
86212         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
86213         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
86214         declarations.
86215         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
86217 2009-03-08  Bruno Haible  <bruno@clisp.org>
86219         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
86220         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
86221         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
86222         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
86224 2009-03-07  Bruno Haible  <bruno@clisp.org>
86226         Adjust u*_normcmp, u*_normcoll API.
86227         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
86228         u16_normcoll, u32_normcoll): Change failure conventions.
86229         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
86230         errno and return -1.
86231         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
86233 2009-03-07  Bruno Haible  <bruno@clisp.org>
86235         Tests for module 'uninorm/u32-normcoll'.
86236         * modules/uninorm/u32-normcoll-tests: New file.
86237         * tests/uninorm/test-u32-normcoll.c: New file.
86239         Tests for module 'uninorm/u16-normcoll'.
86240         * modules/uninorm/u16-normcoll-tests: New file.
86241         * tests/uninorm/test-u16-normcoll.c: New file.
86243         Tests for module 'uninorm/u8-normcoll'.
86244         * modules/uninorm/u8-normcoll-tests: New file.
86245         * tests/uninorm/test-u8-normcoll.c: New file.
86247 2009-03-07  Bruno Haible  <bruno@clisp.org>
86249         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
86250         tests/uninorm/test-u32-normcmp.c.
86251         * tests/uninorm/test-u32-normcmp.c: Include it.
86252         (test_nonascii): New function, extracted from main. Add some more
86253         tests.
86254         (main): Invoke test_ascii and test_nonascii.
86255         * modules/uninorm/u32-normcmp-tests (Files): Add
86256         tests/uninorm/test-u32-normcmp.h.
86257         (Depends-on): Remove uninorm/u32-normcmp.
86259         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
86260         tests/uninorm/test-u16-normcmp.c.
86261         * tests/uninorm/test-u16-normcmp.c: Include it.
86262         (test_nonascii): New function, extracted from main. Add some more
86263         tests.
86264         (main): Invoke test_ascii and test_nonascii.
86265         * modules/uninorm/u16-normcmp-tests (Files): Add
86266         tests/uninorm/test-u16-normcmp.h.
86267         (Depends-on): Remove uninorm/u16-normcmp.
86269         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
86270         tests/uninorm/test-u8-normcmp.c.
86271         * tests/uninorm/test-u8-normcmp.c: Include it.
86272         (test_nonascii): New function, extracted from main. Add some more
86273         tests.
86274         (main): Invoke test_ascii and test_nonascii.
86275         * modules/uninorm/u8-normcmp-tests (Files): Add
86276         tests/uninorm/test-u8-normcmp.h.
86277         (Depends-on): Remove uninorm/u8-normcmp.
86279 2009-03-07  Bruno Haible  <bruno@clisp.org>
86281         New module 'uninorm/u32-normcoll'.
86282         * lib/uninorm/u32-normcoll.c: New file.
86283         * modules/uninorm/u32-normcoll: New file.
86285         New module 'uninorm/u16-normcoll'.
86286         * lib/uninorm/u16-normcoll.c: New file.
86287         * modules/uninorm/u16-normcoll: New file.
86289         New module 'uninorm/u8-normcoll'.
86290         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
86291         declarations.
86292         * lib/uninorm/u8-normcoll.c: New file.
86293         * lib/uninorm/u-normcoll.h: New file.
86294         * modules/uninorm/u8-normcoll: New file.
86296         New module 'uninorm/u32-normxfrm'.
86297         * lib/uninorm/u32-normxfrm.c: New file.
86298         * modules/uninorm/u32-normxfrm: New file.
86300         New module 'uninorm/u16-normxfrm'.
86301         * lib/uninorm/u16-normxfrm.c: New file.
86302         * modules/uninorm/u16-normxfrm: New file.
86304         New module 'uninorm/u8-normxfrm'.
86305         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
86306         declarations.
86307         * lib/uninorm/u8-normxfrm.c: New file.
86308         * lib/uninorm/u-normxfrm.h: New file.
86309         * modules/uninorm/u8-normxfrm: New file.
86311 2009-03-07  Bruno Haible  <bruno@clisp.org>
86313         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
86314         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
86315         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
86317 2009-03-07  Bruno Haible  <bruno@clisp.org>
86319         New module 'memxfrm'.
86320         * lib/memxfrm.h: New file.
86321         * lib/memxfrm.c: New file.
86322         * modules/memxfrm: New file.
86324 2009-03-07  Bruno Haible  <bruno@clisp.org>
86326         New module 'memcmp2'.
86327         * lib/memcmp2.h: New file.
86328         * lib/memcmp2.c: New file.
86329         * modules/memcmp2: New file.
86331 2009-03-07  Bruno Haible  <bruno@clisp.org>
86333         Tests for module 'uninorm/decomposing-form'.
86334         * modules/uninorm/decomposing-form-tests: New file.
86335         * tests/uninorm/test-decomposing-form.c: New file.
86337         New module 'uninorm/decomposing-form'.
86338         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
86339         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
86340         Add 'decomposing_variant' field.
86341         * lib/uninorm/decomposing-form.c: New file.
86342         * lib/uninorm/nfc.c (uninorm_nfc): Update.
86343         * lib/uninorm/nfd.c (uninorm_nfd): Update.
86344         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
86345         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
86346         * modules/uninorm/decomposing-form: New file.
86347         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
86348         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
86350 2009-03-07  Bruno Haible  <bruno@clisp.org>
86352         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
86353         strings.
86355 2009-03-06  Bruno Haible  <bruno@clisp.org>
86357         Tests for module 'uninorm/u32-normcmp'.
86358         * tests/uninorm/test-u32-normcmp.c: New file.
86359         * modules/uninorm/u32-normcmp-tests: New file.
86361         Tests for module 'uninorm/u16-normcmp'.
86362         * tests/uninorm/test-u16-normcmp.c: New file.
86363         * modules/uninorm/u16-normcmp-tests: New file.
86365         Tests for module 'uninorm/u8-normcmp'.
86366         * tests/uninorm/test-u8-normcmp.c: New file.
86367         * modules/uninorm/u8-normcmp-tests: New file.
86369         New module 'uninorm/u32-normcmp'.
86370         * lib/uninorm/u32-normcmp.c: New file.
86371         * modules/uninorm/u32-normcmp: New file.
86373         New module 'uninorm/u16-normcmp'.
86374         * lib/uninorm/u16-normcmp.c: New file.
86375         * modules/uninorm/u16-normcmp: New file.
86377         New module 'uninorm/u8-normcmp'.
86378         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
86379         declarations.
86380         * lib/uninorm/u8-normcmp.c: New file.
86381         * lib/uninorm/u-normcmp.h: New file.
86382         * modules/uninorm/u8-normcmp: New file.
86384 2009-03-06  Bruno Haible  <bruno@clisp.org>
86386         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
86387         Reported by Eric Blake.
86389 2009-03-06  Eric Blake  <ebb9@byu.net>
86390             Bruno Haible  <bruno@clisp.org>
86392         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
86393         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
86394         condition.
86395         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
86396         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
86397         condition.
86398         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
86400 2009-03-06  Eric Blake  <ebb9@byu.net>
86402         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
86403         to avoid compiler warnings.
86404         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
86406 2009-03-05  Bruno Haible  <bruno@clisp.org>
86408         * tests/test-ftell.c (main): Disable test beyond end of file on
86409         FreeMiNT.
86410         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
86412 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
86414         * lib/filevercmp.c: Move hidden files up in ordering.
86415         * tests/test-filevercmp.c: Add tests for hidden files.
86417 2009-03-04  Bruno Haible  <bruno@clisp.org>
86419         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
86420         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
86421         AM_CFLAGS.
86422         Reported by Simon Josefsson.
86424 2009-03-03  Bruno Haible  <bruno@clisp.org>
86426         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
86427         Reported by Simon Josefsson.
86429         * doc/ld-version-script.texi: Update node reference.
86431 2009-03-03  Bruno Haible  <bruno@clisp.org>
86433         * modules/visibility (License): Change to 'unlimited'.
86434         Suggested by Simon Josefsson.
86436 2009-03-03  Jim Meyering  <meyering@redhat.com>
86438         unlinkdir: cannot_unlink_dir may modify process state
86439         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
86440         it's neither thread-safe nor appropriate for use in a library.
86442 2009-03-03  Eric Blake  <ebb9@byu.net>
86444         test-closein: silence test under Darwin
86445         * tests/test-closein.sh: Ignore stderr from cat, since we don't
86446         care if it dies from EPIPE or EBADF.
86448 2009-03-03  Bruno Haible  <bruno@clisp.org>
86450         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
86451         earlier.
86452         * doc/visibility.texi: Fix @node and @section.
86454 2009-03-03  Simon Josefsson  <simon@josefsson.org>
86456         * doc/gnulib.texi: Link to sections for ld version script and
86457         visibility.
86458         * doc/visibility.texi: Add @node and @section.
86459         * modules/ld-version-script: New module.
86460         * m4/ld-version-script.m4: New file.
86461         * doc/ld-version-script.texi: New file.
86463 2009-03-02  David Lutterkort  <lutter@redhat.com>
86465         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
86466         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
86468 2009-03-02  Bruno Haible  <bruno@clisp.org>
86470         * doc/visibility.texi: Mention libtool's -export-symbols option.
86472 2009-03-02  Jim Meyering  <meyering@redhat.com>
86474         announce-gen: new option: --no-print-checksums
86475         * build-aux/announce-gen (usage): Describe it.
86476         (print_checksums): Print a newline here, not in the [*] footnote.
86477         (main): Honor it.
86479 2009-03-01  Bruno Haible  <bruno@clisp.org>
86481         Use socklen_t in the native Windows replacements prototypes.
86482         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
86483         instead of 'int'.
86484         * lib/getsockopt.c (rpl_getsockopt): Likewise.
86485         * lib/setsockopt.c (rpl_setsockopt): Likewise.
86486         * modules/getsockopt (Depends-on): Add socklen.
86487         * modules/setsockopt (Depends-on): Add socklen.
86489 2009-03-01  Bruno Haible  <bruno@clisp.org>
86491         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
86492         least 4.2.
86494 2009-03-01  Eric Blake  <ebb9@byu.net>
86495             Bruno Haible  <bruno@clisp.org>
86497         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
86498         error messages.
86499         * lib/wait-process.c (wait_subprocess): Omit error message about
86500         deadly signal sent to the child of termsigp != NULL.
86502 2009-03-01  Eric Blake  <ebb9@byu.net>
86504         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
86506 2009-03-01  Bruno Haible  <bruno@clisp.org>
86508         Avoid a gcc warning.
86509         * tests/test-sched.c (b): Make global.
86510         Reported by Eric Blake.
86512 2009-01-19  Martin Lambers  <marlam@marlam.de>
86514         Provide POSIX semantics for socket timeout options on W32.
86515         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
86516         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
86517         * modules/setsockopt: Depend on sys_time module for struct timeval.
86518         * modules/getsockopt: Depend on sys_time module for struct timeval.
86520 2009-03-01  Simon Josefsson  <simon@josefsson.org>
86522         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
86523         __USE_GNU, for consistency with netdb.in.h.
86524         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
86526 2009-03-01  Bruno Haible  <bruno@clisp.org>
86528         More support for FreeMiNT.
86529         * lib/fseeko.c (rpl_fseeko): Complete last commit.
86530         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
86532 2009-03-01  Bruno Haible  <bruno@clisp.org>
86534         More support for FreeMiNT.
86535         * lib/fpurge.c (fpurge): Correct last commit.
86536         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
86538 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
86540         Fix unportable awk script in vc-list-files.
86541         * build-aux/vc-list-files: In the replacement awk script, use
86542         substr with a second argument of 1, not zero.
86543         Report by Simon Josefsson.
86545 2009-02-28  Bruno Haible  <bruno@clisp.org>
86547         More support for FreeMiNT.
86548         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
86549         to FreeMiNT today.
86550         * lib/fwriting.c (fwriting): Likewise.
86551         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
86553 2009-02-28  Bruno Haible  <bruno@clisp.org>
86555         * tests/test-freadseek.c (main): Disable test beyond end of file on
86556         FreeMiNT.
86557         * tests/test-ftello.c (main): Likewise.
86558         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
86560 2009-02-28  Bruno Haible  <bruno@clisp.org>
86562         Add tentative support for FreeMiNT.
86563         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
86564         * lib/fpurge.c (fpurge): Likewise.
86565         * lib/freadable.c (freadable): Likewise.
86566         * lib/freading.c (freading): Likewise.
86567         * lib/freadptr.c (freadptr): Likewise.
86568         * lib/freadseek.c (freadptrinc): Likewise.
86569         * lib/fseeko.c (rpl_fseeko): Likewise.
86570         * lib/fseterr.c (fseterr): Likewise.
86571         * lib/fwritable.c (fwritable): Likewise.
86572         * lib/fwriting.c (fwriting): Likewise.
86573         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
86574         Hourihane.
86575         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
86577 2009-02-28  Bruno Haible  <bruno@clisp.org>
86579         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
86580         SIGCHLD.
86581         Reported by Jim Meyering.
86583 2009-02-28  Bruno Haible  <bruno@clisp.org>
86585         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
86586         Mention the results of these tests on various platforms.
86587         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
86588         order.
86589         * doc/posix-functions/printf.texi: Likewise.
86590         * doc/posix-functions/snprintf.texi: Likewise.
86591         * doc/posix-functions/sprintf.texi: Likewise.
86592         * doc/posix-functions/vfprintf.texi: Likewise.
86593         * doc/posix-functions/vprintf.texi: Likewise.
86594         * doc/posix-functions/vsnprintf.texi: Likewise.
86595         * doc/posix-functions/vsprintf.texi: Likewise.
86596         * doc/glibc-functions/obstack_printf.texi: Likewise.
86597         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
86599 2009-02-28  Bruno Haible  <bruno@clisp.org>
86601         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
86602         Reported by Loïc Minier <lool@dooz.org>.
86604 2009-02-27  Bruno Haible  <bruno@clisp.org>
86606         * gnulib-tool (func_import): Make the sed expression used to create the
86607         sed script for updating the .gitignore file POSIX compliant.
86608         Reported by Eric Blake.
86610 2009-02-27  Bruno Haible  <bruno@clisp.org>
86612         * gnulib-tool (sed): Don't alias as "sed --posix".
86613         Reported by Eric Blake.
86615 2009-02-27  Bruno Haible  <bruno@clisp.org>
86617         Avoid test link errors.
86618         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
86619         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
86620         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
86621         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
86622         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
86624 2009-02-27  Bruno Haible  <bruno@clisp.org>
86626         Avoid spurious "(cached)" in configure output.
86627         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
86628         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
86629         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
86630         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
86631         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
86632         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
86633         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
86634         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
86635         Reported by Eric Blake.
86637 2009-02-27  Eric Blake  <ebb9@byu.net>
86639         printf: fix regression in previous patch
86640         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
86642 2009-02-27  Bruno Haible  <bruno@clisp.org>
86644         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
86645         value.
86646         * lib/stdint.in.h: Likewise.
86647         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
86649 2009-02-27  Eric Blake  <ebb9@byu.net>
86651         doc: mention more functions added in cygwin 1.7.0
86652         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
86653         addition.
86654         * doc/posix-functions/open_wmemstream.texi: Likewise.
86655         * doc/posix-functions/wcsnlen.texi: Likewise.
86656         * doc/posix-functions/wcsnrtombs.texi: Likewise.
86657         * doc/posix-functions/wcstod.texi: Likewise.
86658         * doc/posix-functions/wcstof.texi: Likewise.
86659         * doc/posix-functions/wcstoimax.texi: Likewise.
86660         * doc/posix-functions/wcstok.texi: Likewise.
86661         * doc/posix-functions/wcstoumax.texi: Likewise.
86663         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
86664         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
86665         * doc/posix-functions/fprintf.texi: Update.
86666         * doc/posix-functions/printf.texi: Update.
86667         * doc/posix-functions/snprintf.texi: Update.
86668         * doc/posix-functions/sprintf.texi: Update.
86669         * doc/posix-functions/vfprintf.texi: Update.
86670         * doc/posix-functions/vprintf.texi: Update.
86671         * doc/posix-functions/vsnprintf.texi: Update.
86672         * doc/posix-functions/vsprintf.texi: Update.
86673         * doc/glibc-functions/obstack_printf.texi: Update.
86674         * doc/glibc-functions/obstack_vprintf.texi: Update.
86676 2009-02-26  Eric Blake  <ebb9@byu.net>
86678         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
86679         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
86680         compilation bug by using runtime conversion.
86681         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
86682         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
86683         * modules/ceill-tests (Files): Use nan.h.
86684         * modules/floorl-tests (Files): Likewise.
86685         * modules/frexpl-tests (Files): Likewise.
86686         * modules/isnanl-tests (Files): Likewise.
86687         * modules/ldexpl-tests (Files): Likewise.
86688         * modules/roundl-tests (Files): Likewise.
86689         * modules/truncl-tests (Files): Likewise.
86690         * tests/test-ceill.c (main): Use a working NaN.
86691         * tests/test-floorl.c (main): Likewise.
86692         * tests/test-frexpl.c (main): Likewise.
86693         * tests/test-isnan.c (test_long_double): Likewise.
86694         * tests/test-isnanl.h (main): Likewise.
86695         * tests/test-ldexpl.h (main): Likewise.
86696         * tests/test-roundl.h (main): Likewise.
86697         * tests/test-truncl.h (main): Likewise.
86698         See http://lists.gnu.org/r/bug-gnulib/2009-02/msg00190.html.
86700 2009-02-26  Eric Blake  <ebb9@byu.net>
86701             Bruno Haible  <bruno@clisp.org>
86703         Work around a *printf bug with %ls on Solaris.
86704         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
86705         precision is specified, sprintf stops converting the wide string
86706         argument when the number of bytes that have been produced by this
86707         conversion equals or exceeds the precision.
86708         * doc/posix-functions/fprintf.texi: Update.
86709         * doc/posix-functions/printf.texi: Update.
86710         * doc/posix-functions/snprintf.texi: Update.
86711         * doc/posix-functions/sprintf.texi: Update.
86712         * doc/posix-functions/vfprintf.texi: Update.
86713         * doc/posix-functions/vprintf.texi: Update.
86714         * doc/posix-functions/vsnprintf.texi: Update.
86715         * doc/posix-functions/vsprintf.texi: Update.
86716         * doc/glibc-functions/obstack_printf.texi: Update.
86717         * doc/glibc-functions/obstack_vprintf.texi: Update.
86719 2009-02-26  Eric Blake  <ebb9@byu.net>
86721         stdlib: favor compiler check of random.h
86722         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
86723         to avoid an ObjC random.h installed by Swarm.
86725 2009-02-26  Bruno Haible  <bruno@clisp.org>
86727         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
86728         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
86729         Reported by Gary V. Vaughan <gary@gnu.org>.
86731 2009-02-26  Bruno Haible  <bruno@clisp.org>
86733         Fix *printf behaviour regarding the %ls directive.
86734         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
86735         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
86736         NEED_PRINTF_DIRECTIVE_LS.
86737         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
86738         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
86739         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
86740         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
86741         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
86742         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
86743         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
86744         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
86745         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
86746         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
86747         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
86748         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
86749         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
86750         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
86751         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
86752         * doc/posix-functions/fprintf.texi: Update.
86753         * doc/posix-functions/printf.texi: Update.
86754         * doc/posix-functions/snprintf.texi: Update.
86755         * doc/posix-functions/sprintf.texi: Update.
86756         * doc/posix-functions/vfprintf.texi: Update.
86757         * doc/posix-functions/vprintf.texi: Update.
86758         * doc/posix-functions/vsnprintf.texi: Update.
86759         * doc/posix-functions/vsprintf.texi: Update.
86760         * doc/glibc-functions/obstack_printf.texi: Update.
86761         * doc/glibc-functions/obstack_vprintf.texi: Update.
86762         Reported by Eric Blake.
86764 2009-02-25  Bruno Haible  <bruno@clisp.org>
86766         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
86767         with known value.
86768         Reported by Gary V. Vaughan <gary@gnu.org>.
86770 2009-02-25  Bruno Haible  <bruno@clisp.org>
86772         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
86773         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
86774         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
86775         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
86776         Reported by Gary V. Vaughan <gary@gnu.org>.
86778 2009-02-25  Bruno Haible  <bruno@clisp.org>
86780         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
86781         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
86782         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
86783         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
86784         Reported by Gary V. Vaughan <gary@gnu.org>.
86786 2009-02-25  Eric Blake  <ebb9@byu.net>
86788         tests: skip fseek/ftell tests if ungetc is broken
86789         * m4/ungetc.m4: New file.
86790         * modules/fseek-tests: Split test, so ungetc dependency is
86791         separate from rest of test.
86792         * modules/fseeko-tests: Likewise.
86793         * modules/ftell-tests: Likewise.
86794         * modules/ftello-tests: Likewise.
86795         * tests/test-fseek.c (main): Isolate ungetc dependency.
86796         * tests/test-fseeko.c (main): Likewise.
86797         * tests/test-ftell.c (main): Likewise.
86798         * tests/test-ftello.c (main): Likewise.
86799         * tests/test-fseek2.sh: New file.
86800         * tests/test-fseeko2.sh: Likewise.
86801         * tests/test-ftell2.sh: Likewise.
86802         * tests/test-ftello2.sh: Likewise.
86804 2009-02-25  Ondřej Vašík  <ovasik@redhat.com>
86806         test-getaddrinfo: fix usage of skip return code 77
86807         * tests/test-gettaddrinfo.c: Return skip code 77 only
86808         for first occurrence of skip (4x77 is not 77)
86810 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
86812         strtod: avoid C99 decl-after-statement
86813         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
86815 2009-02-24  Eric Blake  <ebb9@byu.net>
86817         strtod: detect HP-UX 11.31 bug
86818         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
86819         Reported by Gary V. Vaughan.
86821 2009-02-23  Bruno Haible  <bruno@clisp.org>
86823         Fix invalid read past end of memory block.
86824         * lib/vasnprintf.c (DCHAR_SET): Define.
86825         (local_wcslen): Define only when needed.
86826         (local_strnlen, local_wcsnlen): New functions.
86827         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
86828         directives that involve a conversion ourselves.
86829         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
86830         wcsnlen, mbrtowc, wcrtomb.
86831         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
86832         * tests/test-vasprintf-posix.c (test_function): Likewise.
86833         * tests/test-snprintf-posix.h (test_function): Likewise.
86834         * tests/test-sprintf-posix.h (test_function): Likewise.
86835         Reported by Ben Pfaff <blp@cs.stanford.edu>.
86837 2009-02-22  Bruno Haible  <bruno@clisp.org>
86839         Implement new clarified decomposition of Hangul syllables.
86840         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
86841         of type LTV, return only a pairwise decomposition.
86842         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
86843         Likewise.
86844         * tests/uninorm/test-decomposition.c (main): Updated expected result.
86845         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
86846         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
86848 2009-02-22  Bruno Haible  <bruno@clisp.org>
86850         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
86851         zero-length results and shrink excess allocated memory.
86852         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
86853         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
86854         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
86855         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
86856         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
86857         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
86858         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
86859         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
86860         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
86861         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
86862         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
86863         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
86865 2009-02-21  Bruno Haible  <bruno@clisp.org>
86867         * doc/gnulib.texi: Include safe-alloc.texi earlier.
86868         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
86869         spaces after a period. Put a space between a macro name and its
86870         argument list. Trivial rewordings.
86871         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
86872         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
86873         (main): Return 0 explicitly.
86875 2009-02-21  Bruno Haible  <bruno@clisp.org>
86877         Tests for module 'uninorm/filter'.
86878         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
86879         * modules/uninorm/filter-tests: New file.
86881         New module 'uninorm/filter'.
86882         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
86883         uninorm_filter_flush, uninorm_filter_free): New declarations.
86884         * lib/uninorm/uninorm-filter.c: New file.
86885         * modules/uninorm/filter: New file.
86887 2009-02-21  Bruno Haible  <bruno@clisp.org>
86889         Tests for module 'uninorm/nfkc'.
86890         * tests/uninorm/test-nfkc.c: New file.
86891         * tests/uninorm/test-u8-nfkc.c: New file.
86892         * tests/uninorm/test-u16-nfkc.c: New file.
86893         * tests/uninorm/test-u32-nfkc.c: New file.
86894         * tests/uninorm/test-u32-nfkc-big.sh: New file.
86895         * tests/uninorm/test-u32-nfkc-big.c: New file.
86896         * modules/uninorm/nfkc-tests: New file.
86898         New module 'uninorm/nfkc'.
86899         * lib/uninorm/nfkc.c: New file.
86900         * modules/uninorm/nfkc: New file.
86902         Tests for module 'uninorm/nfkd'.
86903         * tests/uninorm/test-nfkd.c: New file.
86904         * tests/uninorm/test-u8-nfkd.c: New file.
86905         * tests/uninorm/test-u16-nfkd.c: New file.
86906         * tests/uninorm/test-u32-nfkd.c: New file.
86907         * tests/uninorm/test-u32-nfkd-big.sh: New file.
86908         * tests/uninorm/test-u32-nfkd-big.c: New file.
86909         * modules/uninorm/nfkd-tests: New file.
86911         New module 'uninorm/nfkd'.
86912         * lib/uninorm/nfkd.c: New file.
86913         * modules/uninorm/nfkd: New file.
86915         Tests for module 'uninorm/nfc'.
86916         * tests/uninorm/test-nfc.c: New file.
86917         * tests/uninorm/test-u8-nfc.c: New file.
86918         * tests/uninorm/test-u16-nfc.c: New file.
86919         * tests/uninorm/test-u32-nfc.c: New file.
86920         * tests/uninorm/test-u32-nfc-big.sh: New file.
86921         * tests/uninorm/test-u32-nfc-big.c: New file.
86922         * modules/uninorm/nfc-tests: New file.
86924         New module 'uninorm/nfc'.
86925         * lib/uninorm/nfc.c: New file.
86926         * modules/uninorm/nfc: New file.
86928         Tests for module 'uninorm/nfd'.
86929         * tests/uninorm/test-nfd.c: New file.
86930         * tests/uninorm/test-u8-nfd.c: New file.
86931         * tests/uninorm/test-u16-nfd.c: New file.
86932         * tests/uninorm/test-u32-nfd.c: New file.
86933         * tests/uninorm/test-u32-nfd-big.sh: New file.
86934         * tests/uninorm/test-u32-nfd-big.c: New file.
86935         * tests/uninorm/test-u32-normalize-big.h: New file.
86936         * tests/uninorm/test-u32-normalize-big.c: New file.
86937         * tests/uninorm/NormalizationTest.txt: New file, created from
86938         Unicode 5.1.0 NormalizationTest.txt.
86939         * modules/uninorm/nfd-tests: New file.
86941         New module 'uninorm/nfd'.
86942         * lib/uninorm/nfd.c: New file.
86943         * modules/uninorm/nfd: New file.
86945         New module 'uninorm/u32-normalize'.
86946         * lib/uninorm/u32-normalize.c: New file.
86947         * modules/uninorm/u32-normalize: New file.
86949         New module 'uninorm/u16-normalize'.
86950         * lib/uninorm/u16-normalize.c: New file.
86951         * modules/uninorm/u16-normalize: New file.
86953         New module 'uninorm/u8-normalize'.
86954         * lib/uninorm/u8-normalize.c: New file.
86955         * lib/uninorm/normalize-internal.h: New file.
86956         * lib/uninorm/u-normalize-internal.h: New file.
86957         * modules/uninorm/u8-normalize: New file.
86959         New module 'uninorm/decompose-internal'.
86960         * lib/uninorm/decompose-internal.c: New file.
86961         * modules/uninorm/decompose-internal: New file.
86963         Tests for module 'uninorm/composition'.
86964         * tests/uninorm/test-composition.c: New file.
86965         * modules/uninorm/composition-tests: New file.
86967         New module 'uninorm/composition'.
86968         * lib/uninorm/composition.c: New file.
86969         * lib/uninorm/composition-table.gperf: New file, generated by
86970         gen-uni-tables.
86971         * modules/uninorm/composition: New file.
86973         Tests for module 'uninorm/compat-decomposition'.
86974         * tests/uninorm/test-compat-decomposition.c: New file.
86975         * modules/uninorm/compat-decomposition-tests: New file.
86977         New module 'uninorm/compat-decomposition'.
86978         * lib/uninorm/decompose-internal.h: New file.
86979         * lib/uninorm/compat-decomposition.c: New file.
86980         * modules/uninorm/compat-decomposition: New file.
86982         Tests for module 'uninorm/canonical-decomposition'.
86983         * tests/uninorm/test-canonical-decomposition.c: New file.
86984         * modules/uninorm/canonical-decomposition-tests: New file.
86986         New module 'uninorm/canonical-decomposition'.
86987         * lib/uninorm/canonical-decomposition.c: New file.
86988         * modules/uninorm/canonical-decomposition: New file.
86990         Tests for module 'uninorm/decomposition'.
86991         * tests/uninorm/test-decomposition.c: New file.
86992         * modules/uninorm/decomposition-tests: New file.
86994         New module 'uninorm/decomposition'.
86995         * lib/uninorm/decomposition.c: New file.
86996         * modules/uninorm/decomposition: New file.
86998         New module 'uninorm/decomposition-table'.
86999         * lib/uninorm/decomposition-table.h: New file.
87000         * lib/uninorm/decomposition-table.c: New file.
87001         * lib/uninorm/decomposition-table1.h: New file, generated by
87002         gen-uni-tables.
87003         * lib/uninorm/decomposition-table2.h: New file, generated by
87004         gen-uni-tables.
87005         * modules/uninorm/decomposition-table: New file.
87007         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
87008         (UC_DECOMP_*): New enumeration items.
87009         (get_decomposition): New function.
87010         (struct decomp_table): New type.
87011         (output_decomposition, output_decomposition_tables): New functions.
87012         (unicode_composition_exclusions): New variable.
87013         (fill_composition_exclusions, debug_output_composition_tables): New
87014         functions.
87015         (main): Accept one more argument. Invoke fill_composition_exclusions.
87016         Output decomposition and composition tables.
87018         New module 'uninorm/base'.
87019         * lib/uninorm.h: New file.
87020         * lib/unictype.h: Update comment.
87021         * modules/uninorm/base: New file.
87023 2009-02-21  David Lutterkort  <lutter@redhat.com>
87025         Tests for module 'safe-alloc'.
87026         * tests/test-safe-alloc.c: New file.
87027         * modules/safe-alloc-tests: New file.
87029         New module 'safe-alloc'.
87030         * lib/safe-alloc.h: New file.
87031         * lib/safe-alloc.c: New file.
87032         * m4/safe-alloc.m4: New file.
87033         * modules/safe-alloc: New file.
87034         * doc/safe-alloc.texi: New file.
87035         * doc/gnulib.texi: Include it.
87036         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
87037         safe-alloc.
87039 2009-02-18  Bruno Haible  <bruno@clisp.org>
87041         Fix link error on non-glibc systems.
87042         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
87043         variable.
87044         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
87046 2009-02-18  Jim Meyering  <meyering@redhat.com>
87048         fts: avoid used-uninitialized error due to recent change
87049         * lib/fts.c (fts_read): Guard uses of the new member,
87050         parent->fts_n_dirs_remaining, since it's not relevant for
87051         the parent of a directory specified on the command-line.
87053 2009-02-17  James Youngman  <jay@gnu.org>
87054             Bruno Haible  <bruno@clisp.org>
87056         * m4/include_next.m4: Reformulate comment.
87058 2009-02-16  Jim Meyering  <meyering@redhat.com>
87060         fts: add #if guards so that the fts_lgpl module still builds
87061         * lib/fts.c: Guard just-added hash-table-using parts with
87062         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
87063         Reported by Simon Josefsson.
87065 2009-02-15  Bruno Haible  <bruno@clisp.org>
87067         * modules/array-mergesort-tests: New file.
87068         * tests/test-array-mergesort.c: New file.
87070         New module 'array-mergesort'.
87071         * modules/array-mergesort: New file.
87072         * lib/array-mergesort.h: New file.
87074 2009-02-15  Bruno Haible  <bruno@clisp.org>
87076         Fix 2009-02-07 commit.
87077         * lib/gen-uni-tables.c (output_predicate, output_category,
87078         output_combclass, output_bidi_category, output_decimal_digit,
87079         output_digit, output_numeric, output_mirror, output_scripts,
87080         output_ident_category, output_simple_mapping): Fix format directives.
87081         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
87083 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
87085         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
87086         fixes are available from IBM.
87088 2009-02-13  Jim Meyering  <meyering@redhat.com>
87090         fts: arrange not to stat non-directories in more cases
87091         This makes GNU find (when it doesn't need to stat each file)
87092         *much* more efficient at traversing reiserfs file systems.
87093         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
87094         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
87095         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
87096         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
87097         (leaf_optimization_applies): New function.
87098         (LCO_hash, LCO_compare): New helper functions.
87099         (link_count_optimize_ok): New function.
87100         (fts_stat): Initialize new member (if dir).
87101         (fts_read): Decrement parent's fts_n_dirs_remaining count if
87102         we've just stat'ed a directory.  Skip the stat call when possible.
87103         ---
87104         Note this AFS-related exchange:
87105         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
87106         and note find's pioctl call in find/fstype.c.
87107         But that is necessary only if you want to enable the
87108         optimization for AFS, and for now, I don't.
87110         fts: move a function definition "up" (no semantic change)
87111         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
87112         "up" to precede upcoming use of a related function.
87114 2009-02-11  Jim Meyering  <meyering@redhat.com>
87116         fts: correct internal computation of nlinks (optimization-related)
87117         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
87118         whether the current entry is a directory, so don't test it.
87120 2009-02-10  Bruno Haible  <bruno@clisp.org>
87122         Tests for module 'uniwbrk/ulc-wordbreaks'.
87123         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
87124         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
87125         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
87127         Tests for module 'uniwbrk/u32-wordbreaks'.
87128         * modules/uniwbrk/u32-wordbreaks-tests: New file.
87129         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
87131         Tests for module 'uniwbrk/u16-wordbreaks'.
87132         * modules/uniwbrk/u16-wordbreaks-tests: New file.
87133         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
87135         Tests for module 'uniwbrk/u8-wordbreaks'.
87136         * modules/uniwbrk/u8-wordbreaks-tests: New file.
87137         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
87139 2009-02-10  Bruno Haible  <bruno@clisp.org>
87141         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
87142         property.
87143         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
87144         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
87145         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
87147 2009-02-10  Simon Josefsson  <simon@josefsson.org>
87149         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
87150         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
87152 2009-02-10  Bruno Haible  <bruno@clisp.org>
87154         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
87155         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
87156         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
87157         * lib/unilbrk/u8-possible-linebreaks.c: Update.
87158         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
87159         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
87161 2009-02-09  Simon Josefsson  <simon@josefsson.org>
87163         * lib/sockets.h (gl_fd_to_handle): New function.
87165         * tests/test-sockets.c: Call gl_fd_to_handle.
87167 2009-02-09  Bruno Haible  <bruno@clisp.org>
87169         * doc/havelib.texi: Document the conventions on bi-arch systems.
87171 2009-02-08  Bruno Haible  <bruno@clisp.org>
87173         Document the AC_LIB_LINKFLAGS macro.
87174         * doc/havelib.texi: New file, mostly written on 2005-05-24.
87175         * doc/gnulib.texi: Include it.
87177 2009-02-08  Bruno Haible  <bruno@clisp.org>
87179         Fix wrong order of sections, compared to TOC.
87180         * doc/gnulib.texi: Include relocatable-maint.texi after the
87181         "Regular expressions" node, not before.
87183 2009-02-08  Bruno Haible  <bruno@clisp.org>
87185         Tests for module 'unicase/totitle'.
87186         * modules/unicase/totitle-tests: New file.
87188         Tests for module 'unicase/tolower'.
87189         * modules/unicase/tolower-tests: New file.
87191         Tests for module 'unicase/toupper'.
87192         * modules/unicase/toupper-tests: New file.
87193         * tests/unicase/test-mapping-part1.h: New file.
87194         * tests/unicase/test-mapping-part2.h: New file.
87196         New module 'unicase/totitle'.
87197         * modules/unicase/totitle: New file.
87198         * lib/unicase/totitle.c: New file.
87200         New module 'unicase/tolower'.
87201         * modules/unicase/tolower: New file.
87202         * lib/unicase/tolower.c: New file.
87204         New module 'unicase/toupper'.
87205         * modules/unicase/toupper: New file.
87206         * lib/unicase/toupper.c: New file.
87207         * lib/unicase/simple-mapping.h: New file.
87209         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
87210         (mapping_table): New structure.
87211         (output_simple_mapping): New function.
87212         (main): Invoke output_simple_mapping_test and output_simple_mapping.
87213         * modules/gen-uni-tables (Description): Update.
87214         * lib/unicase/toupper.h: New file, automatically generated by
87215         gen-uni-tables.
87216         * lib/unicase/tolower.h: New file, automatically generated by
87217         gen-uni-tables.
87218         * lib/unicase/totitle.h: New file, automatically generated by
87219         gen-uni-tables.
87220         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
87221         gen-uni-tables.
87222         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
87223         gen-uni-tables.
87224         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
87225         gen-uni-tables.
87227         New module 'unicase/base'.
87228         * modules/unicase/base: New file.
87229         * lib/unicase.h: New file.
87231 2009-02-08  Bruno Haible  <bruno@clisp.org>
87233         New module 'uniwbrk/ulc-wordbreaks'.
87234         * modules/uniwbrk/ulc-wordbreaks: New file.
87235         * lib/uniwbrk/ulc-wordbreaks.c: New file.
87237         New module 'uniwbrk/u32-wordbreaks'.
87238         * modules/uniwbrk/u32-wordbreaks: New file.
87239         * lib/uniwbrk/u32-wordbreaks.c: New file.
87241         New module 'uniwbrk/u16-wordbreaks'.
87242         * modules/uniwbrk/u16-wordbreaks: New file.
87243         * lib/uniwbrk/u16-wordbreaks.c: New file.
87245         New module 'uniwbrk/u8-wordbreaks'.
87246         * modules/uniwbrk/u8-wordbreaks: New file.
87247         * lib/uniwbrk/u8-wordbreaks.c: New file.
87248         * lib/uniwbrk/u-wordbreaks.h: New file.
87250         New module 'uniwbrk/table'.
87251         * modules/uniwbrk/table: New file.
87252         * lib/uniwbrk/wbrktable.h: New file.
87253         * lib/uniwbrk/wbrktable.c: New file.
87255         New module 'uniwbrk/wordbreak-property'.
87256         * modules/uniwbrk/wordbreak-property: New file.
87257         * lib/uniwbrk/wordbreak-property.c: New file.
87259         * lib/gen-uni-tables.c (WBP_*): New enum items.
87260         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
87261         (unicode_org_wbp): New variable.
87262         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
87263         New functions.
87264         (wbp_table): New structure.
87265         (output_wbp, output_wbrk_tables): New functions.
87266         (main): Accept additional argument. Invoke fill_org_wbp,
87267         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
87268         output_wbrk_tables.
87269         * modules/gen-uni-tables (Description): Update.
87270         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
87271         gen-uni-tables.
87273         New module 'uniwbrk/base'.
87274         * modules/uniwbrk/base: New file.
87275         * lib/uniwbrk.h: New file.
87277 2009-02-08  Bruno Haible  <bruno@clisp.org>
87279         Update to Unicode 5.1.0.
87280         * lib/gen-uni-tables.c (is_property_alphabetic): Include
87281         U+2185..U+2188.
87282         (is_property_default_ignorable_code_point): Don't include characters
87283         of category Cc or Cs and not-a-characters.
87284         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
87285         U+0D79, U+109E, U+109F, U+A60C.
87286         * lib/unictype/bidi_of.h: Regenerated.
87287         * lib/unictype/blocks.h: Regenerated.
87288         * lib/unictype/categ_C.h: Regenerated.
87289         * lib/unictype/categ_Cf.h: Regenerated.
87290         * lib/unictype/categ_Cn.h: Regenerated.
87291         * lib/unictype/categ_L.h: Regenerated.
87292         * lib/unictype/categ_Ll.h: Regenerated.
87293         * lib/unictype/categ_Lm.h: Regenerated.
87294         * lib/unictype/categ_Lo.h: Regenerated.
87295         * lib/unictype/categ_Lu.h: Regenerated.
87296         * lib/unictype/categ_M.h: Regenerated.
87297         * lib/unictype/categ_Mc.h: Regenerated.
87298         * lib/unictype/categ_Me.h: Regenerated.
87299         * lib/unictype/categ_Mn.h: Regenerated.
87300         * lib/unictype/categ_N.h: Regenerated.
87301         * lib/unictype/categ_Nd.h: Regenerated.
87302         * lib/unictype/categ_Nl.h: Regenerated.
87303         * lib/unictype/categ_No.h: Regenerated.
87304         * lib/unictype/categ_P.h: Regenerated.
87305         * lib/unictype/categ_Pd.h: Regenerated.
87306         * lib/unictype/categ_Pe.h: Regenerated.
87307         * lib/unictype/categ_Pf.h: Regenerated.
87308         * lib/unictype/categ_Pi.h: Regenerated.
87309         * lib/unictype/categ_Po.h: Regenerated.
87310         * lib/unictype/categ_Ps.h: Regenerated.
87311         * lib/unictype/categ_S.h: Regenerated.
87312         * lib/unictype/categ_Sk.h: Regenerated.
87313         * lib/unictype/categ_Sm.h: Regenerated.
87314         * lib/unictype/categ_So.h: Regenerated.
87315         * lib/unictype/categ_of.h: Regenerated.
87316         * lib/unictype/combining.h: Regenerated.
87317         * lib/unictype/ctype_alnum.h: Regenerated.
87318         * lib/unictype/ctype_alpha.h: Regenerated.
87319         * lib/unictype/ctype_graph.h: Regenerated.
87320         * lib/unictype/ctype_lower.h: Regenerated.
87321         * lib/unictype/ctype_print.h: Regenerated.
87322         * lib/unictype/ctype_punct.h: Regenerated.
87323         * lib/unictype/ctype_upper.h: Regenerated.
87324         * lib/unictype/decdigit.h: Regenerated.
87325         * lib/unictype/digit.h: Regenerated.
87326         * lib/unictype/mirror.h: Regenerated.
87327         * lib/unictype/numeric.h: Regenerated.
87328         * lib/unictype/pr_alphabetic.h: Regenerated.
87329         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
87330         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
87331         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
87332         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
87333         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
87334         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
87335         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
87336         * lib/unictype/pr_combining.h: Regenerated.
87337         * lib/unictype/pr_dash.h: Regenerated.
87338         * lib/unictype/pr_decimal_digit.h: Regenerated.
87339         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
87340         * lib/unictype/pr_deprecated.h: Regenerated.
87341         * lib/unictype/pr_diacritic.h: Regenerated.
87342         * lib/unictype/pr_extender.h: Regenerated.
87343         * lib/unictype/pr_format_control.h: Regenerated.
87344         * lib/unictype/pr_grapheme_base.h: Regenerated.
87345         * lib/unictype/pr_grapheme_extend.h: Regenerated.
87346         * lib/unictype/pr_grapheme_link.h: Regenerated.
87347         * lib/unictype/pr_id_continue.h: Regenerated.
87348         * lib/unictype/pr_id_start.h: Regenerated.
87349         * lib/unictype/pr_ideographic.h: Regenerated.
87350         * lib/unictype/pr_ignorable_control.h: Regenerated.
87351         * lib/unictype/pr_lowercase.h: Regenerated.
87352         * lib/unictype/pr_math.h: Regenerated.
87353         * lib/unictype/pr_numeric.h: Regenerated.
87354         * lib/unictype/pr_other_alphabetic.h: Regenerated.
87355         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
87356         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
87357         * lib/unictype/pr_other_id_continue.h: Regenerated.
87358         * lib/unictype/pr_other_lowercase.h: Regenerated.
87359         * lib/unictype/pr_other_math.h: Regenerated.
87360         * lib/unictype/pr_punctuation.h: Regenerated.
87361         * lib/unictype/pr_sentence_terminal.h: Regenerated.
87362         * lib/unictype/pr_soft_dotted.h: Regenerated.
87363         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
87364         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
87365         * lib/unictype/pr_unified_ideograph.h: Regenerated.
87366         * lib/unictype/pr_uppercase.h: Regenerated.
87367         * lib/unictype/pr_xid_continue.h: Regenerated.
87368         * lib/unictype/pr_xid_start.h: Regenerated.
87369         * lib/unictype/pr_zero_width.h: Regenerated.
87370         * lib/unictype/scripts.h: Regenerated.
87371         * lib/unictype/scripts_byname.gperf: Regenerated.
87372         * lib/unictype/sy_java_ident.h: Regenerated.
87373         * lib/unilbrk/lbrkprop1.h: Regenerated.
87374         * lib/unilbrk/lbrkprop2.h: Regenerated.
87375         * tests/unictype/test-categ_C.c: Regenerated.
87376         * tests/unictype/test-categ_Cf.c: Regenerated.
87377         * tests/unictype/test-categ_Cn.c: Regenerated.
87378         * tests/unictype/test-categ_L.c: Regenerated.
87379         * tests/unictype/test-categ_Ll.c: Regenerated.
87380         * tests/unictype/test-categ_Lm.c: Regenerated.
87381         * tests/unictype/test-categ_Lo.c: Regenerated.
87382         * tests/unictype/test-categ_Lu.c: Regenerated.
87383         * tests/unictype/test-categ_M.c: Regenerated.
87384         * tests/unictype/test-categ_Mc.c: Regenerated.
87385         * tests/unictype/test-categ_Me.c: Regenerated.
87386         * tests/unictype/test-categ_Mn.c: Regenerated.
87387         * tests/unictype/test-categ_N.c: Regenerated.
87388         * tests/unictype/test-categ_Nd.c: Regenerated.
87389         * tests/unictype/test-categ_Nl.c: Regenerated.
87390         * tests/unictype/test-categ_No.c: Regenerated.
87391         * tests/unictype/test-categ_P.c: Regenerated.
87392         * tests/unictype/test-categ_Pd.c: Regenerated.
87393         * tests/unictype/test-categ_Pe.c: Regenerated.
87394         * tests/unictype/test-categ_Pf.c: Regenerated.
87395         * tests/unictype/test-categ_Pi.c: Regenerated.
87396         * tests/unictype/test-categ_Po.c: Regenerated.
87397         * tests/unictype/test-categ_Ps.c: Regenerated.
87398         * tests/unictype/test-categ_S.c: Regenerated.
87399         * tests/unictype/test-categ_Sk.c: Regenerated.
87400         * tests/unictype/test-categ_Sm.c: Regenerated.
87401         * tests/unictype/test-categ_So.c: Regenerated.
87402         * tests/unictype/test-ctype_alnum.c: Regenerated.
87403         * tests/unictype/test-ctype_alpha.c: Regenerated.
87404         * tests/unictype/test-ctype_graph.c: Regenerated.
87405         * tests/unictype/test-ctype_lower.c: Regenerated.
87406         * tests/unictype/test-ctype_print.c: Regenerated.
87407         * tests/unictype/test-ctype_punct.c: Regenerated.
87408         * tests/unictype/test-ctype_upper.c: Regenerated.
87409         * tests/unictype/test-decdigit.h: Regenerated.
87410         * tests/unictype/test-digit.h: Regenerated.
87411         * tests/unictype/test-numeric.h: Regenerated.
87412         * tests/unictype/test-pr_alphabetic.c: Regenerated.
87413         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
87414         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
87415         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
87416         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
87417         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
87418         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
87419         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
87420         * tests/unictype/test-pr_combining.c: Regenerated.
87421         * tests/unictype/test-pr_dash.c: Regenerated.
87422         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
87423         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
87424         * tests/unictype/test-pr_deprecated.c: Regenerated.
87425         * tests/unictype/test-pr_diacritic.c: Regenerated.
87426         * tests/unictype/test-pr_extender.c: Regenerated.
87427         * tests/unictype/test-pr_format_control.c: Regenerated.
87428         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
87429         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
87430         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
87431         * tests/unictype/test-pr_id_continue.c: Regenerated.
87432         * tests/unictype/test-pr_id_start.c: Regenerated.
87433         * tests/unictype/test-pr_ideographic.c: Regenerated.
87434         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
87435         * tests/unictype/test-pr_lowercase.c: Regenerated.
87436         * tests/unictype/test-pr_math.c: Regenerated.
87437         * tests/unictype/test-pr_numeric.c: Regenerated.
87438         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
87439         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
87440         Regenerated.
87441         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
87442         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
87443         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
87444         * tests/unictype/test-pr_other_math.c: Regenerated.
87445         * tests/unictype/test-pr_punctuation.c: Regenerated.
87446         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
87447         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
87448         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
87449         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
87450         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
87451         * tests/unictype/test-pr_uppercase.c: Regenerated.
87452         * tests/unictype/test-pr_xid_continue.c: Regenerated.
87453         * tests/unictype/test-pr_xid_start.c: Regenerated.
87454         * tests/unictype/test-pr_zero_width.c: Regenerated.
87456         Update to Unicode 5.1.0.
87457         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
87458         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
87459         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
87460         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
87461         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
87462         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
87463         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
87464         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
87465         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
87466         (nonspacing_table_ind): Update.
87467         * tests/uniwidth/test-uc_width2.sh: Update expected result.
87469         Update to Unicode 5.1.0.
87470         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
87471         code transform.
87472         * lib/uniname/uniname.c (unicode_character_name,
87473         unicode_name_character): Add the range 0x1Fxxx to the code transform.
87474         * lib/uniname/uninames.h: Regenerated.
87475         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
87477 2009-02-07  Bruno Haible  <bruno@clisp.org>
87479         Merge gen-ctype and gen-lbrk into a single program.
87480         * lib/gen-uni-tables.c: New file, incorporating
87481         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
87482         Add directory prefixes to the names of the generated files.
87483         * lib/unictype/gen-ctype.c: Remove file.
87484         * lib/unilbrk/gen-lbrk.c: Remove file.
87485         * modules/gen-uni-tables: New file.
87486         * modules/unictype/gen-ctype: Remove file.
87487         * modules/unilbrk/gen-lbrk: Remove file.
87489 2009-02-07  Bruno Haible  <bruno@clisp.org>
87491         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
87493         New module 'unistr/u32-strcoll'.
87494         * modules/unistr/u32-strcoll: New file.
87495         * lib/unistr/u32-strcoll.c: New file.
87497         New module 'unistr/u16-strcoll'.
87498         * modules/unistr/u16-strcoll: New file.
87499         * lib/unistr/u16-strcoll.c: New file.
87501         New module 'unistr/u8-strcoll'.
87502         * modules/unistr/u8-strcoll: New file.
87503         * lib/unistr/u8-strcoll.c: New file.
87504         * lib/unistr/u-strcoll.h: New file.
87506 2009-02-07  Bruno Haible  <bruno@clisp.org>
87508         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
87509         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
87510         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
87511         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
87512         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
87513         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
87515 2009-02-07  Bruno Haible  <bruno@clisp.org>
87517         Make 64-bit clean.
87518         * lib/unictype/gen-ctype.c (output_predicate, output_category,
87519         output_combclass, output_bidi_category, output_decimal_digit,
87520         output_digit, output_numeric, output_mirror, output_scripts,
87521         output_ident_category): Use proper width specifier in format strings.
87523 2009-02-07  Bruno Haible  <bruno@clisp.org>
87525         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
87526         failure behaviour.
87528 2009-02-07  Jim Meyering  <meyering@redhat.com>
87530         regex: avoid compilation failure with upcoming gcc-4.4
87531         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
87532         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
87533         "... error: integer overflow in preprocessor expression".
87535 2009-02-05  Ben Pfaff  <blp@gnu.org>
87537         Fix link errors on Windows when close module is used.
87538         * modules/close: Add $(LIB_CLOSE) to Link section.
87539         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
87540         $(LIB_CLOSE) on Windows.
87542 2009-02-05  Jim Meyering  <meyering@redhat.com>
87544         still avoid unused-parameter warnings, but do it cleanly
87545         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
87546         (get_fs_usage): Cast to void instead.
87547         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
87548         (dev_from_mount_options, read_file_system_list): Cast to void.
87549         Prompted by Bruno Haible.
87551 2009-02-04  Jim Meyering  <meyering@redhat.com>
87553         fsusage.c: correct copyright year
87554         * lib/fsusage.c: Reflect year in which the change is pushed into
87556         avoid misc. warnings
87557         * lib/fsusage.c (UNUSED_PARAM): Define.
87558         (get_fs_usage): Mark parameter "disk" as unused.
87559         * lib/getugroups.c (getgrent): Use "void" in prototype.
87560         * lib/mountlist.c: Mark unused parameters.
87561         (read_file_system_list): Declare a local with "const".
87562         * lib/nanosleep.c (getnow): Declare static.
87563         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
87565         dirfd: set errno upon failure
87566         * lib/dirfd.c: Include <errno.h>.
87567         Set errno to ENOTSUP when returning -1.
87568         * modules/dirfd (Depends-on): Add errno.
87569         Suggested by John Kodis <kodis@comcast.net>.
87571 2009-02-01  Bruno Haible  <bruno@clisp.org>
87573         Don't assume sizeof (long) >= sizeof (void *).
87574         * lib/memcmp.c: Include stdint.h.
87575         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
87576         srcp2 to 'const byte *'.
87577         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
87578         types to uintptr_t.
87579         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
87580         * modules/memcmp (Depends-on): Add stdint.
87581         Reported by Ozkan Sezer <sezeroz@gmail.com>.
87583 2009-01-30  Eric Blake  <ebb9@byu.net>
87585         fix more require-before-expand issues
87586         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
87587         expand, AC_PROG_AWK.
87588         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
87590 2009-01-28  Eric Blake  <ebb9@byu.net>
87592         version-etc: use consistent URL formatting
87593         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
87594         Improve formatting.  Use fputs for string without %.
87596 2009-01-28  Jim Meyering  <meyering@redhat.com>
87598         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
87599         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
87600         "underquoted definition of NAME" from autoconf-2.59.
87602 2009-01-28  Bruno Haible  <bruno@clisp.org>
87604         * doc/gnulib.texi: Add "Obsolete modules" to index.
87606 2009-01-28  Jim Meyering  <meyering@redhat.com>
87608         useless-if-before-free: recognize more variants
87609         * build-aux/useless-if-before-free: Also recognize e.g.,
87610         if (NULL != p) free (p);
87612 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
87614         test-getaddrinfo: skip (don't fail) this test when there's no network
87615         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
87616         on the presumption that it means you lack network access.
87618 2009-01-26  Jim Meyering  <meyering@redhat.com>
87620         fflush: avoid warnings on modern systems
87621         * lib/fflush.c (rpl_fflush): Move declarations of locals,
87622         pos and result, into scopes where they're used.
87624 2009-01-26  Eric Blake  <ebb9@byu.net>
87626         Silence warning reintroduced by recent extensions patch.
87627         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
87628         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
87629         autoconf.
87631         Backport improved autoconf semantics of AC_DEFUN_ONCE.
87632         * m4/00gnulib.m4: New file.
87633         * gnulib-tool (func_get_filelist): Always use it.
87634         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
87635         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
87637 2009-01-25  Bruno Haible  <bruno@clisp.org>
87639         Make test-quotearg work on MacOS X and AIX.
87640         * tests/test-quotearg.sh: New file.
87641         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
87642         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
87643         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
87644         include <libintl.h>.
87645         (fake_locale): Remove variable.
87646         (gettext, dgettext, dcgettext): Remove functions.
87647         (main): Instead of setting a fake locale, set a real locale. Call
87648         textdomain and bindtextdomain.
87649         * modules/quotearg-tests (Files): Add the new files.
87650         (Depends-on): Add gettext, setenv, unsetenv.
87651         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
87652         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
87653         Augment TESTS_ENVIRONMENT.
87655 2009-01-25  Bruno Haible  <bruno@clisp.org>
87657         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
87658         fr_FR.ISO8859-1 locale on MacOS X.
87659         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
87660         ja_JP.eucJP locale on MacOS X.
87661         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
87662         zh_CN.GB18030 locale on MacOS X.
87664 2009-01-25  Bruno Haible  <bruno@clisp.org>
87666         Avoid link errors on MacOS X 10.3.
87667         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
87668         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
87670 2009-01-25  Bruno Haible  <bruno@clisp.org>
87672         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
87673         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
87674         * modules/pipe (Files): Remove m4/posix_spawn.m4.
87675         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
87676         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
87677         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
87678         posix_spawnattr_init, posix_spawnattr_setsigmask,
87679         posix_spawnattr_setflags, posix_spawnattr_destroy.
87681         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
87682         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
87683         * modules/execute (Files): Remove m4/posix_spawn.m4.
87684         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
87685         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
87686         posix_spawnattr_init, posix_spawnattr_setsigmask,
87687         posix_spawnattr_setflags, posix_spawnattr_destroy.
87689 2009-01-25  Bruno Haible  <bruno@clisp.org>
87691         * lib/glthread/threadlib.c: Include <stdlib.h>.
87693 2009-01-25  Bruno Haible  <bruno@clisp.org>
87695         * lib/glthread/threadlib.c (dummy): New declaration.
87697 2009-01-25  Bruno Haible  <bruno@clisp.org>
87699         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
87700         multibyte characters also for the GB18030 encoding. Don't crash when
87701         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
87703 2009-01-25  Bruno Haible  <bruno@clisp.org>
87705         Avoid redefining 'struct random_data' on OSF/1 5.1.
87706         * lib/stdlib.in.h: Include <random.h> if it exists.
87707         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
87708         HAVE_RANDOM_H. Include <random.h> when testing whether
87709         'struct random_data' exists.
87710         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
87712 2009-01-25  Bruno Haible  <bruno@clisp.org>
87714         Don't install charset.alias on MacOS X >= 10.3.
87715         * lib/localcharset.c (DARWIN7): New macro.
87716         (get_charset_aliases): Hardcode the result for Darwin7.
87717         * modules/localcharset (install-exec-local): Don't install
87718         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
87720 2009-01-25  Bruno Haible  <bruno@clisp.org>
87722         Don't install charset.alias on mingw and Cygwin.
87723         * modules/localcharset (install-exec-local): Don't install
87724         charset.alias on mingw and Cygwin, if the file does not yet exist.
87725         The result for these platforms is hardcoded in localcharset.c.
87727 2009-01-25  Bruno Haible  <bruno@clisp.org>
87729         Make it possible again to use AC_GNU_SOURCE together with gnulib.
87730         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
87731         before requiring AC_USE_SYSTEM_EXTENSIONS.
87733 2009-01-25  Jim Meyering  <meyering@redhat.com>
87735         c-strtod: avoid warnings
87736         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
87737         "assignment discards qualifiers from pointer target type" warnings.
87739 2009-01-24  Bruno Haible  <bruno@clisp.org>
87741         Add support for non-UTF-8 locales on MacOS X.
87742         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
87743         canonical encodings. For Darwin 7 and newer, don't map traditional
87744         encodings to UTF-8.
87745         Reported by Vincent Lefevre <vincent@vinc17.org>
87746         at <http://savannah.gnu.org/bugs/?25235>.
87748 2009-01-24  Bruno Haible  <bruno@clisp.org>
87750         * doc/gnulib.texi (Obsolete modules): New section.
87751         Reported by Mike Frysinger <vapier@gentoo.org>.
87753 2009-01-24  Bruno Haible  <bruno@clisp.org>
87755         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
87756         (%.dvi): New rule.
87758 2009-01-24  Bruno Haible  <bruno@clisp.org>
87760         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
87761         Reported by Eric Blake.
87763 2009-01-24  Bruno Haible  <bruno@clisp.org>
87765         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
87766         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
87767         Reported by Gary V. Vaughan <gary@gnu.org>.
87769 2009-01-24  Bruno Haible  <bruno@clisp.org>
87771         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
87773 2009-01-23  Bruno Haible  <bruno@clisp.org>
87775         Make c-strtod, c-strtold usable in libraries.
87776         * lib/c-strtod.c: Include string.h instead of xalloc.h.
87777         (C_STRTOD): Call strdup instead of xstrdup.
87778         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
87779         * modules/c-strtold (Depends-on): Likewise.
87780         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
87781         * NEWS: Mention the change.
87782         Reported by Michael Gold <mgold@ncf.ca>.
87784 2009-01-23  Jim Meyering  <meyering@redhat.com>
87786         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
87787         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
87788         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
87790 2009-01-23  Simon Josefsson  <simon@josefsson.org>
87792         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
87793         GNU CoreUtils.
87794         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
87795         * modules/version-etc (Description): Update.
87797 2009-01-22  Bruno Haible  <bruno@clisp.org>
87799         Cache the C locale object.
87800         * lib/c-strtod.c (c_locale_cache): New variable.
87801         (c_locale): New function.
87802         (C_STRTOD): Use it, and don't call freelocale.
87803         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
87804         Suggested by Paolo Bonzini.
87806 2009-01-21  Bruno Haible  <bruno@clisp.org>
87808         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
87809         conditions other than overflow.
87811 2009-01-21  Bruno Haible  <bruno@clisp.org>
87813         * lib/c-strtod.c: Include errno.h.
87814         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
87815         value from STRTOD_L and STRTOD.
87817 2009-01-21  Bruno Haible  <bruno@clisp.org>
87818         and Jim Meyering  <meyering@redhat.com>
87820         nanosleep: skip configure test (fail it) for apple universal builds
87821         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
87822         universal builds, assume that nanosleep does not work.
87823         * modules/nanosleep (Depends-on): Add multiarch.
87825         mktime: skip configure test (fail it) for apple universal builds
87826         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
87827         universal builds, assume that mktime does not work.
87828         * modules/mktime (Depends-on): Add multiarch.
87830 2009-01-21  Eric Blake  <ebb9@byu.net>
87832         multiarch: avoid expand-before-require warning
87833         * modules/multiarch (configure.ac): Require, rather than expand,
87834         gl_MULTIARCH.
87835         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
87836         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
87837         enforce that all clients require it.  Partial reversion of
87838         2008-12-29 patch.
87840         error: avoid expand-before-require warning
87841         * modules/errno (configure.ac): Require, rather than expand,
87842         gl_HEADER_ERRNO_H.
87843         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
87844         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
87845         enforce that all clients require it.
87847         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
87848         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
87849         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
87850         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
87852 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
87854         Revert:
87855         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
87857         regex: do not depend on obsolete modules.
87858         * modules/regex: Remove memcmp and memmove.
87860 2009-01-20  Bruno Haible  <bruno@clisp.org>
87862         Make the 'link' module link on Windows NT 4.
87863         * lib/link.c (_WIN32_WINNT): Don't define.
87864         (CreateHardLinkFuncType): New type.
87865         (CreateHardLinkFunc, initialized): New variables.
87866         (initialize): New function.
87867         (link): Invoke CreateHardLink indirectly through the function pointer.
87869 2009-01-20  Bruno Haible  <bruno@clisp.org>
87871         Fix compilation failure on mingw.
87872         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
87874 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
87876         * doc/c-strtod.texi: Mention a couple of restrictions.
87878 2009-01-20  Jim Meyering  <meyering@redhat.com>
87880         gettimeofday: move more declarations out of functions
87881         * lib/gettimeofday.c: Move extern declarations of tzset and
87882         gmtime out of containing functions.  Prompted by Bruno Haible.
87884 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
87886         regex: do not depend on obsolete modules.
87887         * modules/regex: Remove memcmp and memmove.
87889 2009-01-19  Bruno Haible  <bruno@clisp.org>
87891         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
87892         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
87893         gl_BIGENDIAN, not AC_C_BIGENDIAN.
87894         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
87895         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
87897 2009-01-19  Bruno Haible  <bruno@clisp.org>
87899         * tests/test-link.c: Include <errno.h>.
87900         (main): Exit with code 77 when a hard link cannot be created due to
87901         the file system.
87902         * tests/test-link.sh: Skip test when a hard link cannot be created due
87903         to the file system.
87904         Suggested by Eric Blake.
87906 2009-01-19  Martin Lambers  <marlam@marlam.de>
87908         * modules/link-tests: New file.
87909         * tests/test-link.sh: New file.
87910         * tests/test-link.c: New file.
87912 2009-01-19  Eric Blake  <ebb9@byu.net>
87914         doc: mention another function added in cygwin 1.7.0
87915         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
87916         Another new function in cygwin 1.7.
87918 2009-01-19  Bruno Haible  <bruno@clisp.org>
87920         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
87921         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
87922         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
87923         gl_BIGENDIAN, not AC_C_BIGENDIAN.
87924         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
87925         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
87926         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
87927         * m4/md4.m4 (gl_MD4): Likewise.
87928         * m4/md5.m4 (gl_MD5): Likewise.
87929         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
87930         * m4/sha1.m4 (gl_SHA1): Likewise.
87931         * m4/sha256.m4 (gl_SHA256): Likewise.
87932         * m4/sha512.m4 (gl_SHA512): Likewise.
87934 2009-01-19  Bruno Haible  <bruno@clisp.org>
87936         * modules/uniname/uniname-tests (Depends-on): Add progname.
87937         * tests/uniname/test-uninames.c: Include progname.h.
87938         (main): Call set_program_name.
87940         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
87941         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
87942         (main): Call set_program_name.
87944         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
87945         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
87946         (main): Call set_program_name.
87948         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
87949         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
87950         (main): Call set_program_name.
87952         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
87953         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
87954         (main): Call set_program_name.
87956         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
87957         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
87958         (main): Call set_program_name.
87960         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
87961         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
87962         (main): Call set_program_name.
87964         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
87965         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
87966         (main): Call set_program_name.
87968         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
87969         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
87970         (main): Call set_program_name.
87972 2009-01-19  Eric Blake  <ebb9@byu.net>
87974         test-unistd: test previous patch
87975         * tests/test-unistd.c: Test *_FILENO macros.
87977         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
87978         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
87979         Guarantee a definition.
87980         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
87981         * modules/unistd-safer (Depends-on): Add dependency on unistd.
87982         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
87983         * lib/dup-safer.c (STDERR_FILENO): Likewise.
87984         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
87985         Likewise.
87986         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
87987         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
87988         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
87989         Likewise.
87990         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
87991         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
87992         (STDERR_FILENO): Likewise.
87993         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
87994         (STDERR_FILENO): Likewise.
87995         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
87996         (STDERR_FILENO): Likewise.
87997         Reported by Elbert Pol.
87999 2009-01-19  Eric Blake  <ebb9@byu.net>
88001         doc: mention more functions added in cygwin 1.7.0
88002         * doc/posix-functions/abort.texi (abort): Update wording related
88003         to cygwin.
88004         * doc/posix-functions/daylight.texi (daylight): Likewise.
88005         * doc/posix-functions/optarg.texi (optarg): Likewise.
88006         * doc/posix-functions/optarg.texi (opterr): Likewise.
88007         * doc/posix-functions/optarg.texi (optind): Likewise.
88008         * doc/posix-functions/optarg.texi (optopt): Likewise.
88009         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
88010         worked in 1.5.x, and was withdrawn in 1.7.
88011         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
88012         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
88013         cygwin versions.
88014         * doc/posix-functions/perror.texi (perror): Likewise.
88015         * doc/posix-functions/printf.texi (printf): Likewise.
88016         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
88017         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
88018         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
88019         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
88020         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
88021         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
88022         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
88023         Likewise.
88024         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
88025         Likewise.
88026         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
88027         this function.
88028         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
88029         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
88030         Likewise.
88031         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
88032         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
88033         * doc/posix-functions/confstr.texi (confstr): Likewise.
88034         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
88035         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
88036         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
88037         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
88038         * doc/posix-functions/fputws.texi (fputws): Likewise.
88039         * doc/posix-functions/fwide.texi (fwide): Likewise.
88040         * doc/posix-functions/getwc.texi (getwc): Likewise.
88041         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
88042         * doc/posix-functions/putwc.texi (putwc): Likewise.
88043         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
88044         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
88045         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
88046         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
88047         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
88048         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
88049         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
88050         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
88051         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
88052         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
88053         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
88055 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
88057         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
88058         * lib/ioctl.c: Include <sys/ioctl.h>.
88060 2009-01-19  Simon Josefsson  <simon@josefsson.org>
88062         * modules/getdate-tests (Depends-on): Add progname.
88063         * tests/test-getdate.c: Use progname module, to avoid link errors
88064         on non-glibc systems.
88066 2009-01-18  Simon Josefsson  <simon@josefsson.org>
88068         * modules/filenamecat-tests (Depends-on): Add progname.
88069         * modules/fstrcmp-tests (Depends-on): Likewise.
88071         * tests/test-filenamecat.c: Use progname module, to avoid link
88072         errors on non-glibc systems.
88073         * tests/test-fstrcmp.c: Likewise.
88075 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
88077         gettimeofday: avoid warning: nested extern declaration of 'localtime'
88078         * lib/gettimeofday.c: Move extern declaration out of function.
88080 2009-01-18  Bruno Haible  <bruno@clisp.org>
88082         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
88083         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
88084         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
88086 2009-01-18  Bruno Haible  <bruno@clisp.org>
88088         * lib/strftime.c (MEMPCPY): Remove unused macro.
88089         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
88091 2009-01-18  Martin Lambers  <marlam@marlam.de>
88093         New module 'link'.
88094         * lib/unistd.in.h (link): New declaration.
88095         * lib/link.c: New file.
88096         * m4/link.m4: New file.
88097         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
88098         HAVE_LINK.
88099         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
88100         * modules/link: New file.
88101         * doc/posix-functions/link.texi: Mention the new module.
88103 2009-01-18  Bruno Haible  <bruno@clisp.org>
88105         * tests/test-avltree_list.c (main): Call set_program_name.
88106         * tests/test-avltree_oset.c (main): Likewise.
88107         * tests/test-obstack-printf.c: Include progname.h.
88108         (main): Call set_program_name.
88109         * tests/test-quotearg.c: Include progname.h.
88110         (main): Call set_program_name.
88111         * tests/test-xmemdup0.c: Include progname.h.
88112         (main): Call set_program_name.
88114 2009-01-18  Bruno Haible  <bruno@clisp.org>
88116         New module 'alphasort'.
88117         * lib/dirent.in.h (alphasort): New declaration.
88118         * lib/alphasort.c: New file, from glibc with modifications.
88119         * m4/alphasort.m4: New file.
88120         * modules/alphasort: New file.
88121         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
88122         HAVE_ALPHASORT.
88123         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
88124         HAVE_ALPHASORT.
88125         * doc/posix-functions/alphasort.texi: Mention the new module and the
88126         portability problems.
88128 2009-01-18  Bruno Haible  <bruno@clisp.org>
88130         New module 'scandir'.
88131         * lib/dirent.in.h (scandir): New declaration.
88132         * lib/scandir.c: New file, from glibc with modifications.
88133         * m4/scandir.m4: New file.
88134         * modules/scandir: New file.
88135         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
88136         HAVE_SCANDIR.
88137         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
88138         HAVE_SCANDIR.
88139         * doc/posix-functions/scandir.texi: Mention the new module and the
88140         portability problems.
88142 2009-01-17  Bruno Haible  <bruno@clisp.org>
88144         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
88145         Update documentation.
88146         (func_remove_suffix): Escape all dots in the suffix. Update
88147         documentation.
88148         (func_filter_filelist): Update documentation.
88149         Reported by Ralf Wildenhues.
88151 2009-01-17  Bruno Haible  <bruno@clisp.org>
88153         * modules/dprintf-posix-tests: New file.
88154         * tests/test-dprintf-posix.sh: New file.
88155         * tests/test-dprintf-posix.c: New file.
88157         New modules 'dprintf', 'dprintf-posix'.
88158         * lib/stdio.in.h (dprintf): New declaration.
88159         * lib/dprintf.c: New file.
88160         * m4/dprintf.m4: New file.
88161         * m4/dprintf-posix.m4: New file.
88162         * modules/dprintf: New file.
88163         * modules/dprintf-posix: New file.
88164         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
88165         HAVE_DPRINTF, REPLACE_DPRINTF.
88166         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
88167         HAVE_DPRINTF, REPLACE_DPRINTF.
88168         * doc/posix-functions/dprintf.texi: Mention the new modules.
88170 2009-01-17  Bruno Haible  <bruno@clisp.org>
88172         * modules/vdprintf-posix-tests: New file.
88173         * tests/test-vdprintf-posix.sh: New file.
88174         * tests/test-vdprintf-posix.c: New file.
88176         New modules 'vdprintf', 'vdprintf-posix'.
88177         * lib/stdio.in.h (vdprintf): New declaration.
88178         * lib/vdprintf.c: New file.
88179         * m4/vdprintf.m4: New file.
88180         * m4/vdprintf-posix.m4: New file.
88181         * modules/vdprintf: New file.
88182         * modules/vdprintf-posix: New file.
88183         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
88184         HAVE_VDPRINTF, REPLACE_VDPRINTF.
88185         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
88186         HAVE_VDPRINTF, REPLACE_VDPRINTF.
88187         * doc/posix-functions/vdprintf.texi: Mention the new modules.
88189 2009-01-17  Bruno Haible  <bruno@clisp.org>
88191         Fix replacement of fopen on mingw.
88192         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
88193         mingw.
88195 2009-01-17  Bruno Haible  <bruno@clisp.org>
88197         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
88198         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
88200 2009-01-17  Bruno Haible  <bruno@clisp.org>
88202         Avoid test-fflush2.sh failure on mingw.
88203         * tests/test-fflush2.c: Include binary-io.h.
88204         (main): Put standard input into binary mode.
88205         * modules/fflush-tests (Depends-on): Add binary-io.
88207 2009-01-17  Bruno Haible  <bruno@clisp.org>
88209         * lib/wchar.in.h: In another particular situation, include only the
88210         system's <wchar.h> file.
88211         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
88212         Reported by Albert Chin-A-Young <china@thewrittenword.com>
88213         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
88215 2009-01-17  Bruno Haible  <bruno@clisp.org>
88217         Support for stripping executables in --enable-relocatable.
88218         * build-aux/install-reloc: Expect one more argument, or an environment
88219         variable RELOC_STRIP_PROG. If set, strip the destination program and
88220         its wrapper.
88221         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
88222         RELOC_STRIP_PROG.
88223         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
88224         to set RELOCATABLE_STRIP.
88225         * NEWS: Mention the new Makefile requirement.
88227 2009-01-17  Bruno Haible  <bruno@clisp.org>
88229         * build-aux/install-reloc: Remove debugging information left over by
88230         C compiler on MacOS X.
88232 2009-01-17  Bruno Haible  <bruno@clisp.org>
88234         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
88235         * lib/progreloc.c (find_executable): Fix type of pointer passed to
88236         _NSGetExecutablePath.
88238 2009-01-16  Jim Meyering  <meyering@redhat.com>
88240         strerror: avoid warnings about discarding "const"
88241         * lib/strerror.c (rpl_strerror): Instead of returning a const
88242         string from each and every "case", use a variable, and add a single
88243         cast after the switch.
88245 2009-01-16  Albert Chin-A-Young  <china@thewrittenword.com>
88247         * lib/arpa_inet.in.h: Add extern "C" block for C++.
88249 2009-01-16  Bruno Haible  <bruno@clisp.org>
88251         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
88252         array initializer syntax that also works in C++ mode.
88253         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
88255 2009-01-16  Jim Meyering  <meyering@redhat.com>
88257         poll: suppress a warning
88258         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
88259         to ignore "...unsigned expression < 0 is always false" warnings.
88261 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
88263         poll: remove declarations of unused variables
88264         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
88265         sockbuf and optlen.
88267 2009-01-15  Bruno Haible  <bruno@clisp.org>
88269         Make fflush-after-ungetc POSIX compliant on BSD systems.
88270         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
88271         (clear_ungetc_buffer): Implement also for other systems.
88272         (rpl_fflush): On glibc systems, invoke
88273         clear_ungetc_buffer_preserving_position. Otherwise, invoke
88274         clear_ungetc_buffer after fetching the stream's position, not before.
88276 2009-01-15  Bruno Haible  <bruno@clisp.org>
88278         Make fflush-after-ungetc POSIX compliant on glibc systems.
88279         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
88280         after ungetc.
88281         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
88282         (rpl_fflush): On glibc systems, simply call the system's fflush
88283         function after clearing the ungetc buffer.
88284         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
88285         Instead, lseek only to the end of file, then use the system's fseeko
88286         for the rest. On glibc systems, reset the EOF indicator bit.
88288 2009-01-15  Jim Meyering  <meyering@redhat.com>
88290         openmp.m4: revert quote-adding change, for portability to older autoconf
88291         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
88292         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
88293         Simon Josefsson noticed the problem when using autoconf-2.61.
88295 2009-01-15  Bruno Haible  <bruno@clisp.org>
88297         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
88298         * tests/test-fflush2.c (ASSERT): Always fail.
88299         (main): Add two tests for fflush() after ungetc(), taking into account
88300         the Austin Group's clarification.
88301         Suggested by Eric Blake.
88303 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
88305         mktime.m4: remove K&R-style function prototypes
88306         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
88307         for the Sun C++ compiler.
88309 2009-01-14  Bruno Haible  <bruno@clisp.org>
88311         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
88312         while including <wchar.h>.
88313         * lib/wchar.in.h: In two particular situations on HP-UX, include only
88314         the system's <wchar.h> file.
88315         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
88317 2009-01-14  Bruno Haible  <bruno@clisp.org>
88319         * m4/csharp.m4: Don't mention gettext on the serial number line.
88320         * m4/csharpexec.m4: Likewise.
88321         * m4/eaccess.m4: Likewise.
88322         * m4/javaexec.m4: Likewise.
88323         * m4/sig_atomic_t.m4: Likewise.
88324         * m4/tmpdir.m4: Likewise.
88325         * m4/intldir.m4: Bump gettext version.
88326         * m4/lib-ld.m4: Likewise.
88328 2009-01-14  Bruno Haible  <bruno@clisp.org>
88330         * lib/progname.c (set_program_name): Add more comments.
88331         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
88333 2009-01-14  Simon Josefsson  <simon@josefsson.org>
88335         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
88336         were sys/stat.h does not define it.
88338 2009-01-14  Jim Meyering  <meyering@redhat.com>
88340         many *.m4 files: improve m4 quoting
88341         99% of this change was performed by running the following commands:
88342         git ls-files | grep '\.m4$' | xargs perl -pi \
88343           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
88344           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
88345           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
88346           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
88347         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
88348         The remainder were to add Copyright dates, increment serial numbers,
88349         undo some changes in comments, exclude m4/intl.m4, and add quotes
88350         around the "1" in ",1" where the unusual spacing prohibited the
88351         above regexps from doing the job.  For more details, see
88352         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
88353         * m4/acl.m4: Modified.
88354         * m4/afs.m4: Likewise.
88355         * m4/alloca.m4: Likewise.
88356         * m4/argp.m4: Likewise.
88357         * m4/argz.m4: Likewise.
88358         * m4/atexit.m4: Likewise.
88359         * m4/bison-i18n.m4: Likewise.
88360         * m4/bison.m4: Likewise.
88361         * m4/byteswap.m4: Likewise.
88362         * m4/c-stack.m4: Likewise.
88363         * m4/c-strtod.m4: Likewise.
88364         * m4/calloc.m4: Likewise.
88365         * m4/canonicalize-lgpl.m4: Likewise.
88366         * m4/chown.m4: Likewise.
88367         * m4/clock_time.m4: Likewise.
88368         * m4/codeset.m4: Likewise.
88369         * m4/copy-file.m4: Likewise.
88370         * m4/csharp.m4: Likewise.
88371         * m4/csharpcomp.m4: Likewise.
88372         * m4/csharpexec.m4: Likewise.
88373         * m4/d-ino.m4: Likewise.
88374         * m4/d-type.m4: Likewise.
88375         * m4/dirfd.m4: Likewise.
88376         * m4/double-slash-root.m4: Likewise.
88377         * m4/eaccess.m4: Likewise.
88378         * m4/eealloc.m4: Likewise.
88379         * m4/environ.m4: Likewise.
88380         * m4/errno_h.m4: Likewise.
88381         * m4/euidaccess.m4: Likewise.
88382         * m4/execute.m4: Likewise.
88383         * m4/fatal-signal.m4: Likewise.
88384         * m4/fchdir.m4: Likewise.
88385         * m4/fcntl_h.m4: Likewise.
88386         * m4/fileblocks.m4: Likewise.
88387         * m4/filenamecat.m4: Likewise.
88388         * m4/findprog.m4: Likewise.
88389         * m4/flexmember.m4: Likewise.
88390         * m4/fnmatch.m4: Likewise.
88391         * m4/fopen.m4: Likewise.
88392         * m4/fpending.m4: Likewise.
88393         * m4/fprintf-posix.m4: Likewise.
88394         * m4/free.m4: Likewise.
88395         * m4/frexp.m4: Likewise.
88396         * m4/frexpl.m4: Likewise.
88397         * m4/fsusage.m4: Likewise.
88398         * m4/ftruncate.m4: Likewise.
88399         * m4/gc-camellia.m4: Likewise.
88400         * m4/gc-random.m4: Likewise.
88401         * m4/gc.m4: Likewise.
88402         * m4/getaddrinfo.m4: Likewise.
88403         * m4/getcwd-abort-bug.m4: Likewise.
88404         * m4/getcwd-path-max.m4: Likewise.
88405         * m4/getdate.m4: Likewise.
88406         * m4/getdomainname.m4: Likewise.
88407         * m4/getgroups.m4: Likewise.
88408         * m4/gethostname.m4: Likewise.
88409         * m4/gethrxtime.m4: Likewise.
88410         * m4/getline.m4: Likewise.
88411         * m4/getloadavg.m4: Likewise.
88412         * m4/getndelim2.m4: Likewise.
88413         * m4/getpass.m4: Likewise.
88414         * m4/gettext.m4: Likewise.
88415         * m4/gettime.m4: Likewise.
88416         * m4/gettimeofday.m4: Likewise.
88417         * m4/gnulib-common.m4: Likewise.
88418         * m4/group-member.m4: Likewise.
88419         * m4/host-os.m4: Likewise.
88420         * m4/iconv.m4: Likewise.
88421         * m4/iconv_open.m4: Likewise.
88422         * m4/inet_ntop.m4: Likewise.
88423         * m4/inet_pton.m4: Likewise.
88424         * m4/inline.m4: Likewise.
88425         * m4/intldir.m4: Likewise.
88426         * m4/intlmacosx.m4: Likewise.
88427         * m4/intmax.m4: Likewise.
88428         * m4/intmax_t.m4: Likewise.
88429         * m4/inttypes.m4: Likewise.
88430         * m4/inttypes_h.m4: Likewise.
88431         * m4/inttypes-pri.m4: Likewise.
88432         * m4/isapipe.m4: Likewise.
88433         * m4/isnand.m4: Likewise.
88434         * m4/isnanf.m4: Likewise.
88435         * m4/isnanl.m4: Likewise.
88436         * m4/javacomp.m4: Likewise.
88437         * m4/javaexec.m4: Likewise.
88438         * m4/jm-winsz1.m4: Likewise.
88439         * m4/jm-winsz2.m4: Likewise.
88440         * m4/lchown.m4: Likewise.
88441         * m4/lcmessage.m4: Likewise.
88442         * m4/ldexpl.m4: Likewise.
88443         * m4/lib-ld.m4: Likewise.
88444         * m4/lib-link.m4: Likewise.
88445         * m4/libsigsegv.m4: Likewise.
88446         * m4/link-follow.m4: Likewise.
88447         * m4/localcharset.m4: Likewise.
88448         * m4/locale-fr.m4: Likewise.
88449         * m4/locale-ja.m4: Likewise.
88450         * m4/locale-tr.m4: Likewise.
88451         * m4/locale-zh.m4: Likewise.
88452         * m4/lock.m4: Likewise.
88453         * m4/longlong.m4: Likewise.
88454         * m4/ls-mntd-fs.m4: Likewise.
88455         * m4/lstat.m4: Likewise.
88456         * m4/malloc.m4: Likewise.
88457         * m4/mathl.m4: Likewise.
88458         * m4/mbrtowc.m4: Likewise.
88459         * m4/mbstate_t.m4: Likewise.
88460         * m4/mbswidth.m4: Likewise.
88461         * m4/memchr.m4: Likewise.
88462         * m4/memcmp.m4: Likewise.
88463         * m4/memcpy.m4: Likewise.
88464         * m4/memmem.m4: Likewise.
88465         * m4/memmove.m4: Likewise.
88466         * m4/mempcpy.m4: Likewise.
88467         * m4/memrchr.m4: Likewise.
88468         * m4/memset.m4: Likewise.
88469         * m4/minmax.m4: Likewise.
88470         * m4/mkdir-slash.m4: Likewise.
88471         * m4/mkdtemp.m4: Likewise.
88472         * m4/mktime.m4: Likewise.
88473         * m4/mmap-anon.m4: Likewise.
88474         * m4/mountlist.m4: Likewise.
88475         * m4/nanosleep.m4: Likewise.
88476         * m4/nls.m4: Likewise.
88477         * m4/nocrash.m4: Likewise.
88478         * m4/open.m4: Likewise.
88479         * m4/openat.m4: Likewise.
88480         * m4/openmp.m4: Likewise.
88481         * m4/pathmax.m4: Likewise.
88482         * m4/perl.m4: Likewise.
88483         * m4/physmem.m4: Likewise.
88484         * m4/pipe.m4: Likewise.
88485         * m4/po.m4: Likewise.
88486         * m4/poll.m4: Likewise.
88487         * m4/posixtm.m4: Likewise.
88488         * m4/posixver.m4: Likewise.
88489         * m4/printf-frexp.m4: Likewise.
88490         * m4/printf-frexpl.m4: Likewise.
88491         * m4/printf-posix.m4: Likewise.
88492         * m4/printf-posix-rpl.m4: Likewise.
88493         * m4/printf.m4: Likewise.
88494         * m4/progtest.m4: Likewise.
88495         * m4/putenv.m4: Likewise.
88496         * m4/readline.m4: Likewise.
88497         * m4/readlink.m4: Likewise.
88498         * m4/readutmp.m4: Likewise.
88499         * m4/realloc.m4: Likewise.
88500         * m4/regex.m4: Likewise.
88501         * m4/relocatable.m4: Likewise.
88502         * m4/relocatable-lib.m4: Likewise.
88503         * m4/rename-dest-slash.m4: Likewise.
88504         * m4/rename.m4: Likewise.
88505         * m4/rmdir-errno.m4: Likewise.
88506         * m4/rmdir.m4: Likewise.
88507         * m4/roundf.m4: Likewise.
88508         * m4/roundl.m4: Likewise.
88509         * m4/rpmatch.m4: Likewise.
88510         * m4/save-cwd.m4: Likewise.
88511         * m4/selinux-selinux-h.m4: Likewise.
88512         * m4/setenv.m4: Likewise.
88513         * m4/settime.m4: Likewise.
88514         * m4/sig2str.m4: Likewise.
88515         * m4/sig_atomic_t.m4: Likewise.
88516         * m4/signalblocking.m4: Likewise.
88517         * m4/signbit.m4: Likewise.
88518         * m4/sigpipe.m4: Likewise.
88519         * m4/sockets.m4: Likewise.
88520         * m4/sockpfaf.m4: Likewise.
88521         * m4/st_dm_mode.m4: Likewise.
88522         * m4/stat-time.m4: Likewise.
88523         * m4/stdbool.m4: Likewise.
88524         * m4/stdint.m4: Likewise.
88525         * m4/stdint_h.m4: Likewise.
88526         * m4/stpcpy.m4: Likewise.
88527         * m4/stpncpy.m4: Likewise.
88528         * m4/strcase.m4: Likewise.
88529         * m4/strchrnul.m4: Likewise.
88530         * m4/strcspn.m4: Likewise.
88531         * m4/strdup.m4: Likewise.
88532         * m4/strftime.m4: Likewise.
88533         * m4/strndup.m4: Likewise.
88534         * m4/strnlen.m4: Likewise.
88535         * m4/strpbrk.m4: Likewise.
88536         * m4/strptime.m4: Likewise.
88537         * m4/strsep.m4: Likewise.
88538         * m4/strtod.m4: Likewise.
88539         * m4/strtoimax.m4: Likewise.
88540         * m4/strtok_r.m4: Likewise.
88541         * m4/strtol.m4: Likewise.
88542         * m4/strtoll.m4: Likewise.
88543         * m4/strtoul.m4: Likewise.
88544         * m4/strtoull.m4: Likewise.
88545         * m4/strtoumax.m4: Likewise.
88546         * m4/strverscmp.m4: Likewise.
88547         * m4/threadlib.m4: Likewise.
88548         * m4/timegm.m4: Likewise.
88549         * m4/tm_gmtoff.m4: Likewise.
88550         * m4/tmpdir.m4: Likewise.
88551         * m4/tmpfile.m4: Likewise.
88552         * m4/tzset.m4: Likewise.
88553         * m4/uintmax_t.m4: Likewise.
88554         * m4/unlinkdir.m4: Likewise.
88555         * m4/unlocked-io.m4: Likewise.
88556         * m4/uptime.m4: Likewise.
88557         * m4/userspec.m4: Likewise.
88558         * m4/utimbuf.m4: Likewise.
88559         * m4/utime.m4: Likewise.
88560         * m4/utimes-null.m4: Likewise.
88561         * m4/utimes.m4: Likewise.
88562         * m4/vararrays.m4: Likewise.
88563         * m4/vasnprintf.m4: Likewise.
88564         * m4/vfprintf-posix.m4: Likewise.
88565         * m4/vprintf-posix.m4: Likewise.
88566         * m4/wait-process.m4: Likewise.
88567         * m4/wchar_t.m4: Likewise.
88568         * m4/wint_t.m4: Likewise.
88569         * m4/write-any-file.m4: Likewise.
88570         * m4/yield.m4: Likewise.
88572 2009-01-13  Bruno Haible  <bruno@clisp.org>
88574         Avoid test-copy-file.sh failures when ACL support insufficient.
88575         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
88576         TESTS_ENVIRONMENT.
88577         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
88578         Reported by Jim Meyering.
88580 2009-01-13  Bruno Haible  <bruno@clisp.org>
88582         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
88583         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
88584         * modules/unistdio/u8-printf-parse (Files): Likewise.
88585         * modules/unistdio/u32-printf-parse (Files): Likewise.
88586         * modules/unistdio/ulc-printf-parse (Files): Likewise.
88588 2009-01-13  Simon Josefsson  <simon@josefsson.org>
88590         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
88591         and m4/inttypes_h.m4 too.
88593 2009-01-12  Eric Blake  <ebb9@byu.net>
88595         tests: IRIX 6.2 cc can't compile -0.0 into .data
88596         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
88597         rather than at compile-time.
88598         * tests/test-floorl.c (minus_zero): Likewise.
88599         * tests/test-frexpl.c (minus_zero): Likewise.
88600         * tests/test-isnan.c (minus_zerol): Likewise.
88601         * tests/test-isnanl.h (minus_zero): Likewise.
88602         * tests/test-ldexpl.c (minus_zero): Likewise.
88603         * tests/test-roundl.c (minus_zero): Likewise.
88604         * tests/test-signbit.c (minus_zerol): Likewise.
88605         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
88606         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
88607         * tests/test-truncl.c (minus_zero): Likewise.
88608         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
88609         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
88610         Reported by Tom G. Christensen and Nelson H. F. Beebe.
88612 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
88614         regex: fix glibc bug 9697
88615         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
88616         handling.
88618 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
88620         regex: fix glibc bug 697
88621         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
88622         being NULL also if there are no backreferences.
88624 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
88626         regex: merge glibc changes
88627         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
88628         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
88629         re_string_skip_chars, re_string_reconstruct): Likewise.
88630         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
88632 2009-01-07  Jim Meyering  <meyering@redhat.com>
88634         poll: filter through cppi
88635         * lib/poll.c: Indent cpp directives to reflect nesting.
88637 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
88639         poll: don't return uninitialized
88640         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
88642 2009-01-06  Jeremy Olexa  <darkside@gentoo.org>  (tiny change)
88644         avoid compile failure on AIX 6.1
88645         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
88646         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
88648 2009-01-04  Jim Meyering  <meyering@redhat.com>
88650         remove duplicate inclusion of <stdio.h>
88651         * tests/test-fprintf-posix.c: Likewise.
88652         * tests/test-printf-posix.c: Likewise.
88653         * tests/test-snprintf-posix.c: Likewise.
88654         * tests/test-sprintf-posix.c: Likewise.
88655         * tests/test-vasprintf-posix.c: Likewise.
88656         * tests/test-vfprintf-posix.c: Likewise.
88657         * tests/test-vprintf-posix.c: Likewise.
88658         * tests/test-vsnprintf-posix.c: Likewise.
88659         * tests/test-vsprintf-posix.c: Likewise.
88661 2009-01-03  Jim Meyering  <meyering@redhat.com>
88663         gnulib-tool: fix sed-based filtering
88664         * gnulib-tool (func_filter_filelist): Remove extra backslash
88665         in sed_fff_filter definition.
88667 2009-01-02  Jim Meyering  <meyering@redhat.com>
88669         strftime: avoid compilation failure on Solaris 2.6
88670         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
88671         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
88672         Don't #define mbrlen or mbsinit, since now they're guaranteed to
88673         be available.  Reported by Tom G. Christensen.  Details in
88674         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
88676 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
88677             Bruno Haible  <bruno@clisp.org>
88679         Speed up gnulib-tool by doing more string processing through shell
88680         built-ins.
88681         * gnulib-tool (fast_func_append): New variable.
88682         (func_remove_prefix, func_remove_suffix): New functions.
88683         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
88684         (func_filter_filelist): New function.
88685         (func_get_dependencies): Use func_remove_suffix instead of sed.
88686         (func_get_automake_snippet): Use func_filter_filelist instead of a
88687         subshell and sed invocation.
88689 2009-01-01  Bruno Haible  <bruno@clisp.org>
88691         Fix a security bug.
88692         * gnulib-tool (func_import, import, update): Don't allow the characters
88693         '"', '$', '`', '\' in macro arguments that become part of commands that
88694         are evaluated.
88696 2009-01-01  Bruno Haible  <bruno@clisp.org>
88698         * gnulib-tool (func_reset_sigpipe): Add more comments.
88700 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
88702         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
88703         func_emit_tests_Makefile_am, func_import): Abort loops early if we
88704         already know the answer.
88706 2009-01-01  Jim Meyering  <meyering@redhat.com>
88708         * lib/version-etc.c (version_etc_va): Update copyright year.
88710 2008-12-30  Bruno Haible  <bruno@clisp.org>
88712         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
88713         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
88714         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
88716 2008-12-29  Eric Blake  <ebb9@byu.net>
88718         multiarch: avoid autoconf AC_REQUIRE bug
88719         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
88720         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
88721         2.63 and older.
88722         Reported by Bruno Haible, and analyzed in
88723         http://lists.gnu.org/r/bug-autoconf/2008-12/msg00039.html
88725 2008-12-29  Bruno Haible  <bruno@clisp.org>
88727         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
88728         files in subdirectories correctly.
88729         Reported by Ralf Wildenhues.
88731 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
88733         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
88734         rather than 'join FILE -', for Solaris join.
88736 2008-12-29  Bruno Haible  <bruno@clisp.org>
88738         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
88739         quoting.
88740         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
88741         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
88742         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
88743         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
88744         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
88745         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
88746         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
88747         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
88748         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
88749         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
88750         * m4/nls.m4 (AM_NLS): Likewise.
88751         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
88752         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
88753         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
88754         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
88755         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
88756         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
88757         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
88758         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
88759         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
88760         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
88761         * m4/xsize.m4 (gl_XSIZE): Likewise.
88762         Suggested by Jim Meyering.
88764 2008-11-17  Bruce Korb  <bkorb@gnu.org>
88766         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
88767         * lib/parse-duration.c: use a switch instead of cascading if's.
88769 2008-12-29  Eric Blake  <ebb9@byu.net>
88771         wchar.h: supply WEOF on Irix 5.3
88772         * lib/wchar.in.h (wint_t): Also supply WEOF.
88773         * lib/wctype.in.h (wint_t): Likewise.
88774         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
88775         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
88776         Reported by Tom G. Christensen.
88778 2008-12-26  Bruno Haible  <bruno@clisp.org>
88780         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
88781         i486, i586, i686.
88783 2008-12-26  Bruno Haible  <bruno@clisp.org>
88785         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
88787 2008-12-26  Bruno Haible  <bruno@clisp.org>
88789         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
88790         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
88791         not __STDC_CONSTANT_MACROS.
88792         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
88794 2008-12-25  Bruno Haible  <bruno@clisp.org>
88796         Add support for universal builds to vasnprintf.
88797         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
88798         universal builds, guess no.
88799         * modules/vasnprintf-posix (Depends-on): Add multiarch.
88800         * modules/vasprintf-posix (Depends-on): Likewise.
88801         * modules/fprintf-posix (Depends-on): Likewise.
88802         * modules/vfprintf-posix (Depends-on): Likewise.
88803         * modules/snprintf-posix (Depends-on): Likewise.
88804         * modules/vsnprintf-posix (Depends-on): Likewise.
88805         * modules/sprintf-posix (Depends-on): Likewise.
88806         * modules/vsprintf-posix (Depends-on): Likewise.
88807         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
88808         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
88809         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
88810         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
88811         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
88812         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
88813         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
88815         Add support for universal builds to <inttypes.h>.
88816         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
88817         _SCNu64_PREFIX): In Apple
88818         universal builds, define directly, using _LP64.
88819         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
88820         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
88821         * modules/inttypes (Depends-on): Add multiarch.
88822         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
88824         Add support for universal builds to <stdint.h>.
88825         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
88826         universal builds, define directly, using _LP64.
88827         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
88828         Apple universal builds, don't test for the size and suffix of ptrdiff_t
88829         and size_t.
88830         * modules/stdint (Depends-on): Add multiarch.
88831         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
88833         New module 'multiarch'.
88834         * modules/multiarch: New file.
88835         * m4/multiarch.m4: New file.
88837 2008-12-25  Bruno Haible  <bruno@clisp.org>
88839         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
88841 2008-12-25  Bruno Haible  <bruno@clisp.org>
88843         * modules/btowc (License): Relicense under LGPLv2+.
88844         * modules/mbsinit (License): Likewise.
88845         * modules/mbrtowc (License): Likewise.
88846         * modules/wcrtomb (License): Likewise.
88847         * modules/streq (License): Likewise.
88848         Reported by David Lutterkort <lutter@redhat.com>.
88850 2008-12-23  Bruno Haible  <bruno@clisp.org>
88852         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
88854 2008-12-23  Bruno Haible  <bruno@clisp.org>
88856         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
88857         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
88858         GETADDRINFO_LIB, not in LIBS.
88859         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
88860         * modules/canon-host (Link): Likewise.
88861         * NEWS: Mention the change.
88862         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
88863         GETADDRINFO_LIB.
88865 2008-12-22  Bruno Haible  <bruno@clisp.org>
88867         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
88868         * doc/posix-functions/iswalpha_l.texi: Likewise.
88869         * doc/posix-functions/iswblank_l.texi: Likewise.
88870         * doc/posix-functions/iswcntrl_l.texi: Likewise.
88871         * doc/posix-functions/iswctype_l.texi: Likewise.
88872         * doc/posix-functions/iswdigit_l.texi: Likewise.
88873         * doc/posix-functions/iswgraph_l.texi: Likewise.
88874         * doc/posix-functions/iswlower_l.texi: Likewise.
88875         * doc/posix-functions/iswprint_l.texi: Likewise.
88876         * doc/posix-functions/iswpunct_l.texi: Likewise.
88877         * doc/posix-functions/iswspace_l.texi: Likewise.
88878         * doc/posix-functions/iswupper_l.texi: Likewise.
88879         * doc/posix-functions/iswxdigit_l.texi: Likewise.
88880         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
88881         * doc/posix-functions/open_wmemstream.texi: Likewise.
88882         * doc/posix-functions/swscanf.texi: Likewise.
88883         * doc/posix-functions/towctrans_l.texi: Likewise.
88884         * doc/posix-functions/towlower.texi: Likewise.
88885         * doc/posix-functions/towlower_l.texi: Likewise.
88886         * doc/posix-functions/towupper.texi: Likewise.
88887         * doc/posix-functions/towupper_l.texi: Likewise.
88888         * doc/posix-functions/vfwprintf.texi: Likewise.
88889         * doc/posix-functions/vfwscanf.texi: Likewise.
88890         * doc/posix-functions/vswscanf.texi: Likewise.
88891         * doc/posix-functions/vwprintf.texi: Likewise.
88892         * doc/posix-functions/vwscanf.texi: Likewise.
88893         * doc/posix-functions/wcpcpy.texi: Likewise.
88894         * doc/posix-functions/wcpncpy.texi: Likewise.
88895         * doc/posix-functions/wcscasecmp.texi: Likewise.
88896         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
88897         * doc/posix-functions/wcscoll_l.texi: Likewise.
88898         * doc/posix-functions/wcsdup.texi: Likewise.
88899         * doc/posix-functions/wcsncasecmp.texi: Likewise.
88900         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
88901         * doc/posix-functions/wcsnlen.texi: Likewise.
88902         * doc/posix-functions/wcsnrtombs.texi: Likewise.
88903         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
88904         * doc/posix-functions/wctrans_l.texi: Likewise.
88905         * doc/posix-functions/wctype_l.texi: Likewise.
88906         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
88907         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
88908         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
88909         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
88910         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
88911         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
88912         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
88913         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
88914         * doc/glibc-functions/wcschrnul.texi: Likewise.
88915         * doc/glibc-functions/wcsftime_l.texi: Likewise.
88916         * doc/glibc-functions/wcstod_l.texi: Likewise.
88917         * doc/glibc-functions/wcstof_l.texi: Likewise.
88918         * doc/glibc-functions/wcstol_l.texi: Likewise.
88919         * doc/glibc-functions/wcstold_l.texi: Likewise.
88920         * doc/glibc-functions/wcstoll_l.texi: Likewise.
88921         * doc/glibc-functions/wcstoq.texi: Likewise.
88922         * doc/glibc-functions/wcstoul_l.texi: Likewise.
88923         * doc/glibc-functions/wcstoull_l.texi: Likewise.
88924         * doc/glibc-functions/wcstouq.texi: Likewise.
88925         * doc/glibc-functions/wmempcpy.texi: Likewise.
88927 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
88928             Eric Blake  <ebb9@byu.net>
88929             Paolo Bonzini  <bonzini@gnu.org>
88930             Bruno Haible  <bruno@clisp.org>
88932         Make c-stack work on Haiku.
88933         * lib/c-stack.c (SA_ONSTACK): Define fallback.
88934         (c_stack_action): Use SA_ONSTACK flag.
88936 2008-12-22  Bruno Haible  <bruno@clisp.org>
88938         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
88940 2008-12-22  Bruno Haible  <bruno@clisp.org>
88942         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
88943         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
88944         being overridden.
88945         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
88946         New macros.
88947         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
88948         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
88949         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
88950         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
88952 2008-12-22  Bruno Haible  <bruno@clisp.org>
88954         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
88955         from test code.
88957 2008-12-22  Eric Blake  <ebb9@byu.net>
88959         Avoid gcc warnings on cygwin.
88960         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
88961         Avoid unused variable.
88962         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
88963         Likewise.
88965 2008-12-22  Bruno Haible  <bruno@clisp.org>
88967         Remove HAVE_MBRTOWC conditionals.
88968         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
88969         (mbscasecmp): Assume mbrtowc function.
88970         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
88971         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
88972         * lib/mbschr.c: Include mbuiter.h unconditionally.
88973         (mbschr): Assume mbrtowc function.
88974         * lib/mbscspn.c: Include mbuiter.h unconditionally.
88975         (mbscspn): Assume mbrtowc function.
88976         * lib/mbslen.c: Include mbuiter.h unconditionally.
88977         (mbslen): Assume mbrtowc function.
88978         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
88979         (mbsncasecmp): Assume mbrtowc function.
88980         * lib/mbsnlen.c: Include mbiter.h unconditionally.
88981         (mbsnlen): Assume mbrtowc function.
88982         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
88983         (mbspbrk): Assume mbrtowc function.
88984         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
88985         (mbspcasecmp): Assume mbrtowc function.
88986         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
88987         (mbsrchr): Assume mbrtowc function.
88988         * lib/mbssep.c: Include mbuiter.h unconditionally.
88989         (mbssep): Assume mbrtowc function.
88990         * lib/mbsspn.c: Include mbuiter.h unconditionally.
88991         (mbsspn): Assume mbrtowc function.
88992         * lib/mbsstr.c: Include mbuiter.h unconditionally.
88993         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
88994         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
88995         (mbstok_r): Assume mbrtowc function.
88996         * lib/propername.c: Include mbuiter.h unconditionally.
88997         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
88998         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
88999         (trim2): Assume mbrtowc function.
89000         * lib/mbswidth.c (mbsinit): Remove fallback definition.
89001         (mbsnwidth): Assume mbrtowc function.
89002         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
89003         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
89004         fallback definitions.
89005         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
89007 2008-12-22  Bruno Haible  <bruno@clisp.org>
89009         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
89011 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
89013         * modules/regex: Request emulations for the mb*/wc* functions we need.
89014         * m4/regex.m4: Don't look for those functions here.
89015         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
89017 2008-12-22  Bruno Haible  <bruno@clisp.org>
89019         * modules/fnmatch (Depends-on): Remove duplicated dependency.
89021 2008-12-21  Bruno Haible  <bruno@clisp.org>
89023         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
89024         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
89025         (Include): Remove conditionalization.
89026         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
89027         (Include): Remove conditionalization.
89028         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
89029         (Include): Remove conditionalization.
89030         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
89031         * m4/mbfile.m4 (gl_MBFILE): Likewise.
89032         * NEWS: Mention the change.
89033         Reported by Alan Hourihane <alanh@fairlite.co.uk>
89034         via Sergey Poznyakoff <gray@gnu.org.ua>.
89036 2008-12-21  Bruno Haible  <bruno@clisp.org>
89038         * MODULES.html.sh (Extended multibyte and wide character utilities
89039         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
89040         wcrtomb, wcsrtombs.
89041         (Support for systems lacking POSIX:2008): Add accept, bind, close,
89042         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
89043         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
89044         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
89046 2008-12-21  Bruno Haible  <bruno@clisp.org>
89048         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
89050 2008-12-21  Bruno Haible  <bruno@clisp.org>
89052         * modules/wcsnrtombs-tests: New file.
89053         * tests/test-wcsnrtombs1.sh: New file.
89054         * tests/test-wcsnrtombs2.sh: New file.
89055         * tests/test-wcsnrtombs3.sh: New file.
89056         * tests/test-wcsnrtombs4.sh: New file.
89057         * tests/test-wcsnrtombs.c: New file.
89059         New module 'wcsnrtombs'.
89060         * lib/wchar.in.h (wcsnrtombs): New declaration.
89061         * lib/wcsnrtombs.c: New file.
89062         * lib/wcsrtombs-state.c: New file.
89063         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
89064         (internal_state): Remove variable.
89065         * m4/wcsnrtombs.m4: New file.
89066         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
89067         compilation units.
89068         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
89069         HAVE_WCSNRTOMBS.
89070         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
89071         HAVE_WCSNRTOMBS.
89072         * modules/wcsnrtombs: New file.
89073         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
89074         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
89076 2008-12-21  Bruno Haible  <bruno@clisp.org>
89078         * modules/wcsrtombs-tests: New file.
89079         * tests/test-wcsrtombs1.sh: New file.
89080         * tests/test-wcsrtombs2.sh: New file.
89081         * tests/test-wcsrtombs3.sh: New file.
89082         * tests/test-wcsrtombs4.sh: New file.
89083         * tests/test-wcsrtombs.c: New file.
89085         New module 'wcsrtombs'.
89086         * lib/wchar.in.h (wcsrtombs): New declaration.
89087         * lib/wcsrtombs.c: New file.
89088         * m4/wcsrtombs.m4: New file.
89089         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
89090         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
89091         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
89092         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
89093         * modules/wcsrtombs: New file.
89094         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
89095         bugs.
89097 2008-12-21  Bruno Haible  <bruno@clisp.org>
89099         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
89100         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
89101         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
89102         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
89103         if not correct.
89104         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
89105         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
89106         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
89107         m4/locale-zh.m4, m4/codeset.m4.
89108         * doc/posix-functions/wcrtomb.texi: Document the bug.
89110 2008-12-21  Bruno Haible  <bruno@clisp.org>
89112         Work around a btowc() bug on IRIX 6.5.
89113         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
89114         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
89115         REPLACE_WTOBC if not.
89116         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
89117         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
89118         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
89120 2008-12-21  Bruno Haible  <bruno@clisp.org>
89122         * modules/wcrtomb-tests: New file.
89123         * tests/test-wcrtomb.sh: New file.
89124         * tests/test-wcrtomb.c: New file.
89126         New module 'wcrtomb'.
89127         * lib/wchar.in.h (wcrtomb): New declaration.
89128         * lib/wcrtomb.c: New file.
89129         * m4/wcrtomb.m4: New file.
89130         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
89131         HAVE_WCRTOMB.
89132         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
89133         HAVE_WCRTOMB.
89134         * modules/wcrtomb: New file.
89135         * doc/posix-functions/wcrtomb.texi: Mention the new module.
89137 2008-12-21  Bruno Haible  <bruno@clisp.org>
89139         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
89140         * modules/mbsrtowcs (Files): Likewise.
89141         * modules/wctob (Files): Likewise.
89142         * modules/c-strcase-tests (Files): Likewise.
89143         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
89144         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
89145         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
89146         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
89147         * modules/vasnprintf-posix-tests (Files): Likewise.
89149 2008-12-21  William Pursell  <bill.pursell@gmail.com>
89151         gitlog-to-changelog: pass all command-line arguments to git-log
89152         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
89153         it is sometimes convenient to filter the commits in various ways.
89154         gitlog-to-changelog only allows --since to specify a start date,
89155         but git-log itself supports many other filtering mechanisms.
89156         At the moment, I want to filter by branch name.  Rather than
89157         adding a --branch option to gitlog-to-changelog, it seems more
89158         flexible to simply pass all options directly to git-log and let
89159         git do the work.  Notice that this effectively makes --since a
89160         redundant option for gitlog-to-changelog, but removing it would
89161         require current usage to change since calls would then require
89162         an additional '--'.
89164 2008-12-21  Bruno Haible  <bruno@clisp.org>
89166         * modules/mbsnrtowcs-tests: New file.
89167         * tests/test-mbsnrtowcs1.sh: New file.
89168         * tests/test-mbsnrtowcs2.sh: New file.
89169         * tests/test-mbsnrtowcs3.sh: New file.
89170         * tests/test-mbsnrtowcs4.sh: New file.
89171         * tests/test-mbsnrtowcs.c: New file.
89173         New module 'mbsnrtowcs'.
89174         * lib/wchar.in.h (mbsnrtowcs): New declaration.
89175         * lib/mbsnrtowcs.c: New file.
89176         * lib/mbsrtowcs-state.c: New file.
89177         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
89178         (internal_state): Remove variable.
89179         * m4/mbsnrtowcs.m4: New file.
89180         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
89181         compilation units.
89182         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
89183         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
89184         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
89185         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
89186         * modules/mbsnrtowcs: New file.
89187         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
89188         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
89189         portability problem.
89191 2008-12-21  Bruno Haible  <bruno@clisp.org>
89193         Work around mbsrtowcs bug.
89194         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
89195         (gl_FUNC_MBSRTOWCS): Invoke it.
89196         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
89197         m4/locale-zh.m4.
89198         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
89200 2008-12-21  Bruno Haible  <bruno@clisp.org>
89202         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
89204 2008-12-21  Bruno Haible  <bruno@clisp.org>
89206         Update doc for AIX.
89207         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
89208         16-bit wchar_t type.
89209         * doc/posix-functions/btowc.texi: Likewise.
89210         * doc/posix-functions/fgetwc.texi: Likewise.
89211         * doc/posix-functions/fgetws.texi: Likewise.
89212         * doc/posix-functions/fputwc.texi: Likewise.
89213         * doc/posix-functions/fputws.texi: Likewise.
89214         * doc/posix-functions/fwide.texi: Likewise.
89215         * doc/posix-functions/fwprintf.texi: Likewise.
89216         * doc/posix-functions/fwscanf.texi: Likewise.
89217         * doc/posix-functions/getwchar.texi: Likewise.
89218         * doc/posix-functions/getwc.texi: Likewise.
89219         * doc/posix-functions/iswalnum.texi: Likewise.
89220         * doc/posix-functions/iswalpha.texi: Likewise.
89221         * doc/posix-functions/iswblank.texi: Likewise.
89222         * doc/posix-functions/iswcntrl.texi: Likewise.
89223         * doc/posix-functions/iswctype.texi: Likewise.
89224         * doc/posix-functions/iswdigit.texi: Likewise.
89225         * doc/posix-functions/iswgraph.texi: Likewise.
89226         * doc/posix-functions/iswlower.texi: Likewise.
89227         * doc/posix-functions/iswprint.texi: Likewise.
89228         * doc/posix-functions/iswpunct.texi: Likewise.
89229         * doc/posix-functions/iswspace.texi: Likewise.
89230         * doc/posix-functions/iswupper.texi: Likewise.
89231         * doc/posix-functions/iswxdigit.texi: Likewise.
89232         * doc/posix-functions/mbrtowc.texi: Likewise.
89233         * doc/posix-functions/mbsrtowcs.texi: Likewise.
89234         * doc/posix-functions/mbstowcs.texi: Likewise.
89235         * doc/posix-functions/mbtowc.texi: Likewise.
89236         * doc/posix-functions/putwchar.texi: Likewise.
89237         * doc/posix-functions/putwc.texi: Likewise.
89238         * doc/posix-functions/swprintf.texi: Likewise.
89239         * doc/posix-functions/tolower.texi: Likewise.
89240         * doc/posix-functions/toupper.texi: Likewise.
89241         * doc/posix-functions/towctrans.texi: Likewise.
89242         * doc/posix-functions/ungetwc.texi: Likewise.
89243         * doc/posix-functions/vswprintf.texi: Likewise.
89244         * doc/posix-functions/wcrtomb.texi: Likewise.
89245         * doc/posix-functions/wcscat.texi: Likewise.
89246         * doc/posix-functions/wcschr.texi: Likewise.
89247         * doc/posix-functions/wcscmp.texi: Likewise.
89248         * doc/posix-functions/wcscoll.texi: Likewise.
89249         * doc/posix-functions/wcscpy.texi: Likewise.
89250         * doc/posix-functions/wcscspn.texi: Likewise.
89251         * doc/posix-functions/wcsftime.texi: Likewise.
89252         * doc/posix-functions/wcslen.texi: Likewise.
89253         * doc/posix-functions/wcsncat.texi: Likewise.
89254         * doc/posix-functions/wcsncmp.texi: Likewise.
89255         * doc/posix-functions/wcsncpy.texi: Likewise.
89256         * doc/posix-functions/wcspbrk.texi: Likewise.
89257         * doc/posix-functions/wcsrchr.texi: Likewise.
89258         * doc/posix-functions/wcsrtombs.texi: Likewise.
89259         * doc/posix-functions/wcsspn.texi: Likewise.
89260         * doc/posix-functions/wcsstr.texi: Likewise.
89261         * doc/posix-functions/wcstod.texi: Likewise.
89262         * doc/posix-functions/wcstof.texi: Likewise.
89263         * doc/posix-functions/wcstoimax.texi: Likewise.
89264         * doc/posix-functions/wcstok.texi: Likewise.
89265         * doc/posix-functions/wcstold.texi: Likewise.
89266         * doc/posix-functions/wcstoll.texi: Likewise.
89267         * doc/posix-functions/wcstol.texi: Likewise.
89268         * doc/posix-functions/wcstombs.texi: Likewise.
89269         * doc/posix-functions/wcstoull.texi: Likewise.
89270         * doc/posix-functions/wcstoul.texi: Likewise.
89271         * doc/posix-functions/wcstoumax.texi: Likewise.
89272         * doc/posix-functions/wcswidth.texi: Likewise.
89273         * doc/posix-functions/wcsxfrm.texi: Likewise.
89274         * doc/posix-functions/wctob.texi: Likewise.
89275         * doc/posix-functions/wctomb.texi: Likewise.
89276         * doc/posix-functions/wctrans.texi: Likewise.
89277         * doc/posix-functions/wctype.texi: Likewise.
89278         * doc/posix-functions/wcwidth.texi: Likewise.
89279         * doc/posix-functions/wmemchr.texi: Likewise.
89280         * doc/posix-functions/wmemcmp.texi: Likewise.
89281         * doc/posix-functions/wmemcpy.texi: Likewise.
89282         * doc/posix-functions/wmemmove.texi: Likewise.
89283         * doc/posix-functions/wmemset.texi: Likewise.
89284         * doc/posix-functions/wprintf.texi: Likewise.
89285         * doc/posix-functions/wscanf.texi: Likewise.
89287 2008-12-21  Bruno Haible  <bruno@clisp.org>
89289         Update doc for HP-UX 11.11.
89290         * doc/posix-functions/btowc.texi: Clarify that the function is missing
89291         in HP-UX version 11.00, not in all versions of HP-UX 11.
89292         * doc/posix-functions/fwide.texi: Likewise.
89293         * doc/posix-functions/fwprintf.texi: Likewise.
89294         * doc/posix-functions/fwscanf.texi: Likewise.
89295         * doc/posix-functions/inet_ntop.texi: Likewise.
89296         * doc/posix-functions/inet_pton.texi: Likewise.
89297         * doc/posix-functions/mbrlen.texi: Likewise.
89298         * doc/posix-functions/mbrtowc.texi: Likewise.
89299         * doc/posix-functions/mbsinit.texi: Likewise.
89300         * doc/posix-functions/mbsrtowcs.texi: Likewise.
89301         * doc/posix-functions/swprintf.texi: Likewise.
89302         * doc/posix-functions/swscanf.texi: Likewise.
89303         * doc/posix-functions/towctrans.texi: Likewise.
89304         * doc/posix-functions/vfwprintf.texi: Likewise.
89305         * doc/posix-functions/vswprintf.texi: Likewise.
89306         * doc/posix-functions/vwprintf.texi: Likewise.
89307         * doc/posix-functions/wcrtomb.texi: Likewise.
89308         * doc/posix-functions/wcsrtombs.texi: Likewise.
89309         * doc/posix-functions/wcsstr.texi: Likewise.
89310         * doc/posix-functions/wctob.texi: Likewise.
89311         * doc/posix-functions/wctrans.texi: Likewise.
89312         * doc/posix-functions/wmemchr.texi: Likewise.
89313         * doc/posix-functions/wmemcmp.texi: Likewise.
89314         * doc/posix-functions/wmemcpy.texi: Likewise.
89315         * doc/posix-functions/wmemmove.texi: Likewise.
89316         * doc/posix-functions/wmemset.texi: Likewise.
89317         * doc/posix-functions/wprintf.texi: Likewise.
89318         * doc/posix-functions/wscanf.texi: Likewise.
89320 2008-12-21  Bruno Haible  <bruno@clisp.org>
89322         Work around a portability problem.
89323         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
89324         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
89326 2008-12-20  Bruno Haible  <bruno@clisp.org>
89328         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
89329         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
89330         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
89331         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
89332         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
89334         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
89335         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
89336         set.
89337         (GNULIB_defined_mbstate_t): New macro.
89338         (mbsinit): Redefine if REPLACE_MBSINIT is set.
89339         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
89340         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
89341         reuses the system's mbrtowc function but works around the bugs.
89342         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
89343         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
89344         macros.
89345         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
89346         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
89347         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
89348         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
89349         REPLACE_MBSINIT if mbsinit needs to be overridden.
89350         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
89351         REPLACE_MBSINIT, REPLACE_MBRTOWC.
89352         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
89353         REPLACE_MBSINIT, REPLACE_MBRTOWC.
89354         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
89355         m4/locale-zh.m4.
89356         (Depends): Add mbsinit.
89357         * modules/mbsinit (Depends): Add mbrtowc.
89358         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
89360 2008-12-20  Bruno Haible  <bruno@clisp.org>
89362         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
89363         so that there are no conversion errors on AIX.
89364         * tests/test-mbsrtowcs.c (main): LIkewise.
89366 2008-12-20  Bruno Haible  <bruno@clisp.org>
89368         Work around wctob bug on Solaris <= 9.
89369         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
89370         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
89371         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
89372         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
89373         * modules/wctob (Files): Add m4/locale-fr.m4.
89374         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
89376 2008-12-20  Bruno Haible  <bruno@clisp.org>
89378         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
89379         /dev/null.
89380         * tests/test-select-in.sh: Likewise.
89381         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
89383 2008-12-20  Bruno Haible  <bruno@clisp.org>
89385         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
89386         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
89387         Cygwin 1.5.x.
89389 2008-12-20  Bruno Haible  <bruno@clisp.org>
89391         Ensure mbstate_t is defined on HP-UX 11.11.
89392         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
89393         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
89394         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
89395         AC_USE_SYSTEM_EXTENSIONS.
89396         * modules/fnmatch (Depends-on): Add extensions.
89397         * modules/mbrlen (Depends-on): Likewise.
89398         * modules/mbrtowc (Depends-on): Likewise.
89399         * modules/mbsinit (Depends-on): Likewise.
89400         * modules/mbsrtowcs (Depends-on): Likewise.
89401         * modules/mbswidth (Depends-on): Likewise.
89402         * modules/quotearg (Depends-on): Likewise.
89403         * modules/strftime (Depends-on): Likewise.
89405 2008-12-20  Bruno Haible  <bruno@clisp.org>
89407         Ensure wctob is declared on IRIX 6.5.
89408         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
89409         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
89410         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
89411         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
89412         of HAVE_WCTOB.
89413         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
89414         HAVE_WCTOB.
89415         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
89417 2008-12-19  Bruno Haible  <bruno@clisp.org>
89419         * modules/mbsrtowcs-tests: New file.
89420         * tests/test-mbsrtowcs1.sh: New file.
89421         * tests/test-mbsrtowcs2.sh: New file.
89422         * tests/test-mbsrtowcs3.sh: New file.
89423         * tests/test-mbsrtowcs4.sh: New file.
89424         * tests/test-mbsrtowcs.c: New file.
89426         New module 'mbsrtowcs'.
89427         * lib/wchar.in.h (mbsrtowcs): New declaration.
89428         * lib/mbsrtowcs.c: New file.
89429         * m4/mbsrtowcs.m4: New file.
89430         * modules/mbsrtowcs: New file.
89431         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
89432         HAVE_MBSRTOWCS.
89433         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
89434         HAVE_MBSRTOWCS.
89435         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
89437 2008-12-19  Bruno Haible  <bruno@clisp.org>
89439         New module 'mbrlen'.
89440         * lib/wchar.in.h (mbrlen): New declaration.
89441         * lib/mbrlen.c: New file.
89442         * m4/mbrlen.m4: New file.
89443         * modules/mbrlen: New file.
89444         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
89445         HAVE_MBRLEN.
89446         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
89447         HAVE_MBRLEN.
89448         * doc/posix-functions/mbrlen.texi: Document the new module.
89450 2008-12-19  Bruno Haible  <bruno@clisp.org>
89452         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
89453         * modules/mbrtowc (Depends-on): Add verify.
89454         Suggested by Paul Eggert.
89456 2008-12-18  Bruno Haible  <bruno@clisp.org>
89458         * modules/mbsinit-tests: New file.
89459         * tests/test-mbsinit.sh: New file.
89460         * tests/test-mbsinit.c: New file.
89462 2008-12-18  Bruno Haible  <bruno@clisp.org>
89464         * modules/mbrtowc-tests: New file.
89465         * tests/test-mbrtowc1.sh: New file.
89466         * tests/test-mbrtowc2.sh: New file.
89467         * tests/test-mbrtowc3.sh: New file.
89468         * tests/test-mbrtowc4.sh: New file.
89469         * tests/test-mbrtowc.c: New file.
89471         New module 'mbrtowc'.
89472         * lib/wchar.in.h (mbstate_t): Override when the system does not have
89473         mbsinit and mbrtowc.
89474         (mbrtowc): New declaration.
89475         * lib/mbrtowc.c: New file.
89476         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
89477         * modules/mbrtowc: New file.
89478         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
89479         HAVE_MBRTOWC.
89480         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
89481         HAVE_MBRTOWC.
89482         * doc/posix-functions/mbrtowc.texi: Document the new module.
89484 2008-12-18  Bruno Haible  <bruno@clisp.org>
89486         New module 'wctob'.
89487         * lib/wchar.in.h (wctob): New declaration.
89488         * lib/wctob.c: New file.
89489         * m4/wctob.m4: New file.
89490         * modules/wctob: New file.
89491         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
89492         HAVE_WCTOB.
89493         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
89494         * doc/posix-functions/wctob.texi: Document the new module.
89496 2008-12-18  Bruno Haible  <bruno@clisp.org>
89498         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
89499         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
89501 2008-12-18  Simon Josefsson  <simon@josefsson.org>
89503         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
89504         G. Christensen" <tgc@jupiterrise.com>.
89506         * lib/flock.c: Need to include errno.h.  Reported by "Tom
89507         G. Christensen" <tgc@jupiterrise.com>.
89509         * lib/flock.c: Need to include string.h.  Reported by "Tom
89510         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
89511         <ebb9@byu.net>.
89513 2008-12-18  Bruno Haible  <bruno@clisp.org>
89515         * m4/locale-ja.m4: New file, from GNU gettext.
89517 2008-12-17  Bruno Haible  <bruno@clisp.org>
89519         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
89520         Suggested by Eric Blake.
89522 2008-12-17  Bruno Haible  <bruno@clisp.org>
89524         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
89526 2008-12-17  Bruno Haible  <bruno@clisp.org>
89528         * lib/mbsinit.c: Include verify.h. Verify an assumption.
89529         * modules/mbsinit (Depends-on): Add verify.
89530         Suggested by Paul Eggert.
89532 2008-12-17  Bruno Haible  <bruno@clisp.org>
89534         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
89535         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
89536         gl_FUNC_MBRTOWC.
89537         * m4/mbiter.m4 (gl_MBITER): LIkewise.
89538         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
89539         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
89540         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
89541         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
89542         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
89543         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
89544         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
89545         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
89546         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
89547         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
89548         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
89549         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
89550         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
89551         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
89552         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
89553         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
89554         * modules/trim (configure.ac): Likewise.
89556 2008-12-17  Bruno Haible  <bruno@clisp.org>
89558         * modules/btowc-tests: New file.
89559         * tests/test-btowc1.sh: New file.
89560         * tests/test-btowc2.sh: New file.
89561         * tests/test-btowc.c: New file.
89563         New module 'btowc'.
89564         * lib/wchar.in.h (btowc): New declaration.
89565         * lib/btowc.c: New file.
89566         * m4/btowc.m4: New file.
89567         * modules/btowc: New file.
89568         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
89569         HAVE_BTOWC.
89570         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
89571         * doc/posix-functions/btowc.texi: Document the new module.
89573 2008-12-17  Bruno Haible  <bruno@clisp.org>
89575         New module 'mbsinit'.
89576         * lib/wchar.in.h (mbsinit): New declaration.
89577         * lib/mbsinit.c: New file.
89578         * m4/mbsinit.m4: New file.
89579         * modules/mbsinit: New file.
89580         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
89581         HAVE_MBSINIT.
89582         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
89583         HAVE_MBSINIT.
89584         * doc/posix-functions/mbsinit.texi: Document the new module.
89586 2008-12-16  Bruno Haible  <bruno@clisp.org>
89588         * lib/unistd.in.h: Add comment.
89589         * tests/test-environ.c: Don't include <stdlib.h>.
89591 2008-12-16  Bruno Haible  <bruno@clisp.org>
89593         * lib/parse-duration.h (parse_duration): Document return value
89594         convention.
89595         * lib/parse-duration.c: Include specification header first. Add
89596         comments.
89597         (_): Remove macro.
89598         (parse_year_month_day, parse_hour_minute_second): Move side effects
89599         outside of strchr call.
89600         (parse_non_iso8601): Move side effects outside of isspace call.
89601         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
89602         call.
89604 2008-12-16  Bruno Haible  <bruno@clisp.org>
89606         * tests/test-parse-duration.sh: Produce no output when the test
89607         succeeds.
89609 2008-12-16  Bruno Haible  <bruno@clisp.org>
89611         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
89612         expressions.
89614 2008-12-15  Bruno Haible  <bruno@clisp.org>
89616         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
89617         * doc/glibc-functions/flistxattr.texi: Likewise.
89618         * doc/glibc-functions/fopencookie.texi: Likewise.
89619         * doc/glibc-functions/fremovexattr.texi: Likewise.
89620         * doc/glibc-functions/fsetxattr.texi: Likewise.
89621         * doc/glibc-functions/getxattr.texi: Likewise.
89622         * doc/glibc-functions/lgetxattr.texi: Likewise.
89623         * doc/glibc-functions/listxattr.texi: Likewise.
89624         * doc/glibc-functions/llistxattr.texi: Likewise.
89625         * doc/glibc-functions/lremovexattr.texi: Likewise.
89626         * doc/glibc-functions/lsetxattr.texi: Likewise.
89627         * doc/glibc-functions/removexattr.texi: Likewise.
89628         * doc/glibc-functions/setxattr.texi: Likewise.
89629         * doc/posix-functions/open_memstream.texi: Likewise.
89631 2008-12-15  Eric Blake  <ebb9@byu.net>
89633         Update doc for cygwin 1.7.
89634         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
89635         functions.
89636         * doc/posix-functions/fchmodat.texi: Likewise.
89637         * doc/posix-functions/fchownat.texi: Likewise.
89638         * doc/posix-functions/fdopendir.texi: Likewise.
89639         * doc/posix-functions/fmemopen.texi: Likewise.
89640         * doc/posix-functions/freeaddrinfo.texi: Likewise.
89641         * doc/posix-functions/fstatat.texi: Likewise.
89642         * doc/posix-functions/futimens.texi: Likewise.
89643         * doc/posix-functions/gai_strerror.texi: Likewise.
89644         * doc/posix-functions/getaddrinfo.texi: Likewise.
89645         * doc/posix-functions/getnameinfo.texi: Likewise.
89646         * doc/posix-functions/if_freenameindex.texi: Likewise.
89647         * doc/posix-functions/if_indextoname.texi: Likewise.
89648         * doc/posix-functions/if_nameindex.texi: Likewise.
89649         * doc/posix-functions/if_nametoindex.texi: Likewise.
89650         * doc/posix-functions/insque.texi: Likewise.
89651         * doc/posix-functions/linkat.texi: Likewise.
89652         * doc/posix-functions/llrint.texi: Likewise.
89653         * doc/posix-functions/llrintf.texi: Likewise.
89654         * doc/posix-functions/llrintl.texi: Likewise.
89655         * doc/posix-functions/lockf.texi: Likewise.
89656         * doc/posix-functions/lrintl.texi: Likewise.
89657         * doc/posix-functions/mkdirat.texi: Likewise.
89658         * doc/posix-functions/mkfifoat.texi: Likewise.
89659         * doc/posix-functions/mknodat.texi: Likewise.
89660         * doc/posix-functions/mq_close.texi: Likewise.
89661         * doc/posix-functions/mq_getattr.texi: Likewise.
89662         * doc/posix-functions/mq_notify.texi: Likewise.
89663         * doc/posix-functions/mq_open.texi: Likewise.
89664         * doc/posix-functions/mq_receive.texi: Likewise.
89665         * doc/posix-functions/mq_send.texi: Likewise.
89666         * doc/posix-functions/mq_setattr.texi: Likewise.
89667         * doc/posix-functions/mq_timedreceive.texi: Likewise.
89668         * doc/posix-functions/mq_timedsend.texi: Likewise.
89669         * doc/posix-functions/mq_unlink.texi: Likewise.
89670         * doc/posix-functions/open_memstream.texi: Likewise.
89671         * doc/posix-functions/openat.texi: Likewise.
89672         * doc/posix-functions/posix_fadvise.texi: Likewise.
89673         * doc/posix-functions/posix_fallocate.texi: Likewise.
89674         * doc/posix-functions/posix_madvise.texi: Likewise.
89675         * doc/posix-functions/posix_memalign.texi: Likewise.
89676         * doc/posix-functions/posix_openpt.texi: Likewise.
89677         * doc/posix-functions/readlinkat.texi: Likewise.
89678         * doc/posix-functions/remque.texi: Likewise.
89679         * doc/posix-functions/renameat.texi: Likewise.
89680         * doc/posix-functions/rintl.texi: Likewise.
89681         * doc/posix-functions/sem_unlink.texi: Likewise.
89682         * doc/posix-functions/shm_open.texi: Likewise.
89683         * doc/posix-functions/shm_unlink.texi: Likewise.
89684         * doc/posix-functions/signgam.texi: Likewise.
89685         * doc/posix-functions/sigset.texi: Likewise.
89686         * doc/posix-functions/stpcpy.texi: Likewise.
89687         * doc/posix-functions/stpncpy.texi: Likewise.
89688         * doc/posix-functions/strerror.texi: Likewise.
89689         * doc/posix-functions/strtod.texi: Likewise.
89690         * doc/posix-functions/symlinkat.texi: Likewise.
89691         * doc/posix-functions/unlinkat.texi: Likewise.
89692         * doc/posix-functions/utimensat.texi: Likewise.
89693         * doc/glibc-functions/bindresvport.texi: Likewise.
89694         * doc/glibc-functions/dn_expand.texi: Likewise.
89695         * doc/glibc-functions/exp10.texi: Likewise.
89696         * doc/glibc-functions/exp10f.texi: Likewise.
89697         * doc/glibc-functions/fgetxattr.texi: Likewise.
89698         * doc/glibc-functions/flistxattr.texi: Likewise.
89699         * doc/glibc-functions/fopencookie.texi: Likewise.
89700         * doc/glibc-functions/freeifaddrs.texi: Likewise.
89701         * doc/glibc-functions/fremovexattr.texi: Likewise.
89702         * doc/glibc-functions/fsetxattr.texi: Likewise.
89703         * doc/glibc-functions/getifaddrs.texi: Likewise.
89704         * doc/glibc-functions/getxattr.texi: Likewise.
89705         * doc/glibc-functions/lgetxattr.texi: Likewise.
89706         * doc/glibc-functions/listxattr.texi: Likewise.
89707         * doc/glibc-functions/llistxattr.texi: Likewise.
89708         * doc/glibc-functions/lremovexattr.texi: Likewise.
89709         * doc/glibc-functions/lsetxattr.texi: Likewise.
89710         * doc/glibc-functions/pow10.texi: Likewise.
89711         * doc/glibc-functions/pow10f.texi: Likewise.
89712         * doc/glibc-functions/rcmd_af.texi: Likewise.
89713         * doc/glibc-functions/removexattr.texi: Likewise.
89714         * doc/glibc-functions/res_init.texi: Likewise.
89715         * doc/glibc-functions/res_mkquery.texi: Likewise.
89716         * doc/glibc-functions/res_query.texi: Likewise.
89717         * doc/glibc-functions/res_querydomain.texi: Likewise.
89718         * doc/glibc-functions/res_send.texi: Likewise.
89719         * doc/glibc-functions/rresvport_af.texi: Likewise.
89720         * doc/glibc-functions/setxattr.texi: Likewise.
89721         * doc/glibc-functions/strcasestr.texi: Likewise.
89723 2008-12-15  Bruno Haible  <bruno@clisp.org>
89725         Fix compilation error on OSF/1 4.0.
89726         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
89727         <sys/time.h>, simply delegate to the system header.
89728         Reported by Daniel Richard G. <oss@teragram.com>.
89730 2008-12-15  Bruno Haible  <bruno@clisp.org>
89732         * doc/posix-functions/openat.texi: Mention the 'openat' module.
89733         * doc/posix-functions/fchmodat.texi: Likewise.
89734         * doc/posix-functions/fchownat.texi: Likewise.
89735         * doc/posix-functions/fdopendir.texi: Likewise.
89736         * doc/posix-functions/fstatat.texi: Likewise.
89737         * doc/posix-functions/mkdirat.texi: Likewise.
89738         * doc/posix-functions/unlinkat.texi: Likewise.
89740 2008-12-14  Bruno Haible  <bruno@clisp.org>
89742         Update doc for POSIX:2008.
89743         * doc/posix-functions/faccessat.texi: New file.
89744         * doc/posix-functions/fchmodat.texi: New file.
89745         * doc/posix-functions/fchownat.texi: New file.
89746         * doc/posix-functions/fdopendir.texi: New file.
89747         * doc/posix-functions/fstatat.texi: New file.
89748         * doc/posix-functions/futimens.texi: New file.
89749         * doc/posix-functions/linkat.texi: New file.
89750         * doc/posix-functions/mkdirat.texi: New file.
89751         * doc/posix-functions/mkfifoat.texi: New file.
89752         * doc/posix-functions/mknodat.texi: New file.
89753         * doc/posix-functions/open_wmemstream.texi: New file.
89754         * doc/posix-functions/openat.texi: New file.
89755         * doc/posix-functions/psiginfo.texi: New file.
89756         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
89757         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
89758         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
89759         * doc/posix-functions/readlinkat.texi: New file.
89760         * doc/posix-functions/renameat.texi: New file.
89761         * doc/posix-functions/strerror_l.texi: New file.
89762         * doc/posix-functions/symlinkat.texi: New file.
89763         * doc/posix-functions/unlinkat.texi: New file.
89764         * doc/posix-functions/utimensat.texi: New file.
89765         * doc/gnulib.texi (Function Substitutes): Add these subsections.
89767 2008-12-14  Bruno Haible  <bruno@clisp.org>
89769         Update doc for POSIX:2008.
89770         * doc/posix-functions/alphasort.texi: Renamed from
89771         doc/glibc-functions/alphasort.texi.
89772         * doc/posix-functions/dirfd.texi: Renamed from
89773         doc/glibc-functions/dirfd.texi.
89774         * doc/posix-functions/dprintf.texi: Renamed from
89775         doc/glibc-functions/dprintf.texi.
89776         * doc/posix-functions/duplocale.texi: Renamed from
89777         doc/glibc-functions/duplocale.texi.
89778         * doc/posix-functions/fexecve.texi: Renamed from
89779         doc/glibc-functions/fexecve.texi.
89780         * doc/posix-functions/fmemopen.texi: Renamed from
89781         doc/glibc-functions/fmemopen.texi.
89782         * doc/posix-functions/freelocale.texi: Renamed from
89783         doc/glibc-functions/freelocale.texi.
89784         * doc/posix-functions/getdate_err.texi: Renamed from
89785         doc/glibc-functions/getdate_err.texi.
89786         * doc/posix-functions/isalnum_l.texi: Renamed from
89787         doc/glibc-functions/isalnum_l.texi.
89788         * doc/posix-functions/isalpha_l.texi: Renamed from
89789         doc/glibc-functions/isalpha_l.texi.
89790         * doc/posix-functions/isblank_l.texi: Renamed from
89791         doc/glibc-functions/isblank_l.texi.
89792         * doc/posix-functions/iscntrl_l.texi: Renamed from
89793         doc/glibc-functions/iscntrl_l.texi.
89794         * doc/posix-functions/isdigit_l.texi: Renamed from
89795         doc/glibc-functions/isdigit_l.texi.
89796         * doc/posix-functions/isgraph_l.texi: Renamed from
89797         doc/glibc-functions/isgraph_l.texi.
89798         * doc/posix-functions/islower_l.texi: Renamed from
89799         doc/glibc-functions/islower_l.texi.
89800         * doc/posix-functions/isprint_l.texi: Renamed from
89801         doc/glibc-functions/isprint_l.texi.
89802         * doc/posix-functions/ispunct_l.texi: Renamed from
89803         doc/glibc-functions/ispunct_l.texi.
89804         * doc/posix-functions/isspace_l.texi: Renamed from
89805         doc/glibc-functions/isspace_l.texi.
89806         * doc/posix-functions/isupper_l.texi: Renamed from
89807         doc/glibc-functions/isupper_l.texi.
89808         * doc/posix-functions/iswalnum_l.texi: Renamed from
89809         doc/glibc-functions/iswalnum_l.texi.
89810         * doc/posix-functions/iswalpha_l.texi: Renamed from
89811         doc/glibc-functions/iswalpha_l.texi.
89812         * doc/posix-functions/iswblank_l.texi: Renamed from
89813         doc/glibc-functions/iswblank_l.texi.
89814         * doc/posix-functions/iswcntrl_l.texi: Renamed from
89815         doc/glibc-functions/iswcntrl_l.texi.
89816         * doc/posix-functions/iswctype_l.texi: Renamed from
89817         doc/glibc-functions/iswctype_l.texi.
89818         * doc/posix-functions/iswdigit_l.texi: Renamed from
89819         doc/glibc-functions/iswdigit_l.texi.
89820         * doc/posix-functions/iswgraph_l.texi: Renamed from
89821         doc/glibc-functions/iswgraph_l.texi.
89822         * doc/posix-functions/iswlower_l.texi: Renamed from
89823         doc/glibc-functions/iswlower_l.texi.
89824         * doc/posix-functions/iswprint_l.texi: Renamed from
89825         doc/glibc-functions/iswprint_l.texi.
89826         * doc/posix-functions/iswpunct_l.texi: Renamed from
89827         doc/glibc-functions/iswpunct_l.texi.
89828         * doc/posix-functions/iswspace_l.texi: Renamed from
89829         doc/glibc-functions/iswspace_l.texi.
89830         * doc/posix-functions/iswupper_l.texi: Renamed from
89831         doc/glibc-functions/iswupper_l.texi.
89832         * doc/posix-functions/iswxdigit_l.texi: Renamed from
89833         doc/glibc-functions/iswxdigit_l.texi.
89834         * doc/posix-functions/isxdigit_l.texi: Renamed from
89835         doc/glibc-functions/isxdigit_l.texi.
89836         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
89837         doc/glibc-functions/mbsnrtowcs.texi.
89838         * doc/posix-functions/mkdtemp.texi: Renamed from
89839         doc/glibc-functions/mkdtemp.texi.
89840         * doc/posix-functions/newlocale.texi: Renamed from
89841         doc/glibc-functions/newlocale.texi.
89842         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
89843         doc/glibc-functions/nl_langinfo_l.texi.
89844         * doc/posix-functions/open_memstream.texi: Renamed from
89845         doc/glibc-functions/open_memstream.texi.
89846         * doc/posix-functions/opterr.texi: Renamed from
89847         doc/glibc-functions/opterr.texi.
89848         * doc/posix-functions/optind.texi: Renamed from
89849         doc/glibc-functions/optind.texi.
89850         * doc/posix-functions/optopt.texi: Renamed from
89851         doc/glibc-functions/optopt.texi.
89852         * doc/posix-functions/psignal.texi: Renamed from
89853         doc/glibc-functions/psignal.texi.
89854         * doc/posix-functions/scandir.texi: Renamed from
89855         doc/glibc-functions/scandir.texi.
89856         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
89857         doc/glibc-functions/sched_get_priority_min.texi.
89858         * doc/posix-functions/signgam.texi: Renamed from
89859         doc/glibc-functions/signgam.texi.
89860         * doc/posix-functions/stpcpy.texi: Renamed from
89861         doc/glibc-functions/stpcpy.texi.
89862         * doc/posix-functions/stpncpy.texi: Renamed from
89863         doc/glibc-functions/stpncpy.texi.
89864         * doc/posix-functions/strcasecmp_l.texi: Renamed from
89865         doc/glibc-functions/strcasecmp_l.texi.
89866         * doc/posix-functions/strcoll_l.texi: Renamed from
89867         doc/glibc-functions/strcoll_l.texi.
89868         * doc/posix-functions/strfmon_l.texi: Renamed from
89869         doc/glibc-functions/strfmon_l.texi.
89870         * doc/posix-functions/strftime_l.texi: Renamed from
89871         doc/glibc-functions/strftime_l.texi.
89872         * doc/posix-functions/strncasecmp_l.texi: Renamed from
89873         doc/glibc-functions/strncasecmp_l.texi.
89874         * doc/posix-functions/strndup.texi: Renamed from
89875         doc/glibc-functions/strndup.texi.
89876         * doc/posix-functions/strnlen.texi: Renamed from
89877         doc/glibc-functions/strnlen.texi.
89878         * doc/posix-functions/strsignal.texi: Renamed from
89879         doc/glibc-functions/strsignal.texi.
89880         * doc/posix-functions/strxfrm_l.texi: Renamed from
89881         doc/glibc-functions/strxfrm_l.texi.
89882         * doc/posix-functions/timer_gettime.texi: Renamed from
89883         doc/glibc-functions/timer_gettime.texi.
89884         * doc/posix-functions/tolower_l.texi: Renamed from
89885         doc/glibc-functions/tolower_l.texi.
89886         * doc/posix-functions/toupper_l.texi: Renamed from
89887         doc/glibc-functions/toupper_l.texi.
89888         * doc/posix-functions/towctrans_l.texi: Renamed from
89889         doc/glibc-functions/towctrans_l.texi.
89890         * doc/posix-functions/towlower_l.texi: Renamed from
89891         doc/glibc-functions/towlower_l.texi.
89892         * doc/posix-functions/towupper_l.texi: Renamed from
89893         doc/glibc-functions/towupper_l.texi.
89894         * doc/posix-functions/uselocale.texi: Renamed from
89895         doc/glibc-functions/uselocale.texi.
89896         * doc/posix-functions/vdprintf.texi: Renamed from
89897         doc/glibc-functions/vdprintf.texi.
89898         * doc/posix-functions/wcpcpy.texi:
89899         Renamed from doc/glibc-functions/wcpcpy.texi.
89900         * doc/posix-functions/wcpncpy.texi: Renamed from
89901         doc/glibc-functions/wcpncpy.texi.
89902         * doc/posix-functions/wcscasecmp.texi: Renamed from
89903         doc/glibc-functions/wcscasecmp.texi.
89904         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
89905         doc/glibc-functions/wcscasecmp_l.texi.
89906         * doc/posix-functions/wcscoll_l.texi: Renamed from
89907         doc/glibc-functions/wcscoll_l.texi.
89908         * doc/posix-functions/wcsdup.texi: Renamed from
89909         doc/glibc-functions/wcsdup.texi.
89910         * doc/posix-functions/wcsncasecmp.texi: Renamed from
89911         doc/glibc-functions/wcsncasecmp.texi.
89912         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
89913         doc/glibc-functions/wcsncasecmp_l.texi.
89914         * doc/posix-functions/wcsnlen.texi: Renamed from
89915         doc/glibc-functions/wcsnlen.texi.
89916         * doc/posix-functions/wcsnrtombs.texi: Renamed from
89917         doc/glibc-functions/wcsnrtombs.texi.
89918         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
89919         doc/glibc-functions/wcsxfrm_l.texi.
89920         * doc/posix-functions/wctrans_l.texi: Renamed from
89921         doc/glibc-functions/wctrans_l.texi.
89922         * doc/posix-functions/wctype_l.texi: Renamed from
89923         doc/glibc-functions/wctype_l.texi.
89924         * doc/gnulib.texi (Function Substitutes): Add these subsections.
89925         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
89926         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
89927         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
89928         these subsections.
89929         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
89930         Remove sections.
89932 2008-12-14  Bruno Haible  <bruno@clisp.org>
89934         Update doc for POSIX:2008.
89935         * doc/posix-functions/*.texi: Update URL of POSIX specification.
89937 2008-12-14  Bruno Haible  <bruno@clisp.org>
89939         Update doc for POSIX:2008.
89940         * doc/pastposix-functions/bcmp.texi: Renamed from
89941         doc/posix-functions/bcmp.texi.
89942         * doc/pastposix-functions/bcopy.texi: Renamed from
89943         doc/posix-functions/bcopy.texi.
89944         * doc/pastposix-functions/bsd_signal.texi: Renamed from
89945         doc/posix-functions/bsd_signal.texi.
89946         * doc/pastposix-functions/bzero.texi: Renamed from
89947         doc/posix-functions/bzero.texi.
89948         * doc/pastposix-functions/ecvt.texi: Renamed from
89949         doc/posix-functions/ecvt.texi.
89950         * doc/pastposix-functions/fcvt.texi: Renamed from
89951         doc/posix-functions/fcvt.texi.
89952         * doc/pastposix-functions/ftime.texi: Renamed from
89953         doc/posix-functions/ftime.texi.
89954         * doc/pastposix-functions/gcvt.texi: Renamed from
89955         doc/posix-functions/gcvt.texi.
89956         * doc/pastposix-functions/getcontext.texi: Renamed from
89957         doc/posix-functions/getcontext.texi.
89958         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
89959         doc/posix-functions/gethostbyaddr.texi.
89960         * doc/pastposix-functions/gethostbyname.texi: Renamed from
89961         doc/posix-functions/gethostbyname.texi.
89962         * doc/pastposix-functions/getwd.texi: Renamed from
89963         doc/posix-functions/getwd.texi.
89964         * doc/pastposix-functions/h_errno.texi: Renamed from
89965         doc/posix-functions/h_errno.texi.
89966         * doc/pastposix-functions/index.texi: Renamed from
89967         doc/posix-functions/index.texi.
89968         * doc/pastposix-functions/makecontext.texi: Renamed from
89969         doc/posix-functions/makecontext.texi.
89970         * doc/pastposix-functions/mktemp.texi: Renamed from
89971         doc/posix-functions/mktemp.texi.
89972         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
89973         doc/posix-functions/pthread_attr_getstackaddr.texi.
89974         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
89975         doc/posix-functions/pthread_attr_setstackaddr.texi.
89976         * doc/pastposix-functions/rindex.texi: Renamed from
89977         doc/posix-functions/rindex.texi.
89978         * doc/pastposix-functions/scalb.texi: Renamed from
89979         doc/posix-functions/scalb.texi.
89980         * doc/pastposix-functions/setcontext.texi: Renamed from
89981         doc/posix-functions/setcontext.texi.
89982         * doc/pastposix-functions/swapcontext.texi: Renamed from
89983         doc/posix-functions/swapcontext.texi.
89984         * doc/pastposix-functions/ualarm.texi: Renamed from
89985         doc/posix-functions/ualarm.texi.
89986         * doc/pastposix-functions/usleep.texi: Renamed from
89987         doc/posix-functions/usleep.texi.
89988         * doc/pastposix-functions/vfork.texi: Renamed from
89989         doc/posix-functions/vfork.texi.
89990         * doc/pastposix-functions/wcswcs.texi: Renamed from
89991         doc/posix-functions/wcswcs.texi.
89992         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
89993         (Function Substitutes): Update.
89995 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
89997         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
89998         m4/strerror.m4.
90000 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
90001             Bruno Haible  <bruno@clisp.org>
90003         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
90005 2008-12-13  Bruno Haible  <bruno@clisp.org>
90007         * modules/strtoull (Depends-on): Remove unistd.
90009 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
90011         * modules/strtoull (Depends-on): Add stdlib.
90013 2008-12-11  Simon Josefsson  <simon@josefsson.org>
90015         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
90017 2008-12-10  Jim Meyering  <meyering@redhat.com>
90019         gl_ASSERT: don't say assertions are disabled when they're not
90020         * m4/assert.m4 (gl_ASSERT): Do not make configure report
90021         "checking whether to enable assertions... no", when they are in
90022         fact enabled.  This is solely a bug in the output of configure.
90023         In spite of saying "no", NDEBUG was not defined in that case.
90024         Also, as noted by Eric Blake, leave assertions enabled upon
90025         --enable-assert=INVALID.
90027 2008-12-10  Bruno Haible  <bruno@clisp.org>
90029         Change MODULES.html to refer to POSIX:2008 where possible.
90030         * MODULES.html.sh (POSIX2008_URL): New variable.
90031         (posix_headers): Remove sys/timeb, ucontext.
90032         (posix2001_headers): New variable.
90033         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
90034         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
90035         index, makecontext, mktemp, pthread_attr_getstackaddr,
90036         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
90037         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
90038         (posix2001_functions): New variable.
90039         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
90040         otherwise.
90042 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
90044         add missing include to parse-duration.c
90045         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
90046         * modules/parse-duration (Depends-on): Add xalloc.
90048         fix sed script reading maint.mk
90049         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
90050         (syntax-check-rules): Use it.
90052 2008-12-09  Bruno Haible  <bruno@clisp.org>
90054         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
90055         MacOS X 10.4/PowerPC.
90056         Reported by Simon Josefsson.
90058 2008-12-08  Jim Meyering  <meyering@redhat.com>
90060         work around mingw's lack of some S_IF definitions
90061         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
90062         Reported by Simon Josefsson.
90064 2008-12-08  Bruno Haible  <bruno@clisp.org>
90066         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
90067         applied to variables. Needed on MacOS X 10.4/PowerPC.
90068         Reported by Simon Josefsson.
90070 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
90071         and Eric Blake  <ebb9@byu.net>
90073         assert: honor --enable-assert
90074         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
90075         order to honor --enable-assert, rather than treating it as a
90076         synonym for --disable-assert.
90078 2008-12-08  Jim Meyering  <meyering@redhat.com>
90080         * lib/posixtm.c: Remove now-useless declaration of mktime.
90082         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
90084 2008-12-07  Bruno Haible  <bruno@clisp.org>
90086         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
90087         test_once): Mark functions as static.
90088         * tests/test-tls.c (test_tls): Likewise.
90090 2008-12-07  Bruno Haible  <bruno@clisp.org>
90092         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
90093         iconv_register_autodetect.
90095 2008-12-07  Jim Meyering  <meyering@redhat.com>
90097         posixtm.c: avoid a warning
90098         * lib/posixtm.c (posixtime): Don't initialize tm0.
90099         It's no longer needed to placate gcc4's -Wuninitialized,
90100         and the attempt to placate would elicit a new warning.
90102         unicodeio.c: mark unused parameters
90103         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
90104         (fallback_failure_callback): Likewise.
90106 2008-12-07  Bruno Haible  <bruno@clisp.org>
90108         * gnulib-tool (func_create_testdir): When building the tests
90109         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
90110         Reported by Simon Josefsson.
90112 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
90114         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
90116 2008-12-06  Bruno Haible  <bruno@clisp.org>
90118         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
90119         Suggested by Eric Blake.
90121 2008-12-06  Bruno Haible  <bruno@clisp.org>
90123         Fix a c-stack test failure on MacOS X.
90124         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
90125         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
90126         handler for SIGBUS as well.
90127         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
90128         install a signal handler for SIGBUS as well.
90129         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
90131 2008-12-06  Bruno Haible  <bruno@clisp.org>
90133         Advocacy documentation.
90134         * doc/gnulib-intro.texi (Benefits): New section.
90135         * doc/gnulib.texi: Update.
90137 2008-12-06  Bruno Haible  <bruno@clisp.org>
90139         Document the 'manywarnings' module.
90140         * doc/manywarnings.texi: New file.
90141         * doc/gnulib.texi: Include it.
90143 2008-12-05  Eric Blake  <ebb9@byu.net>
90145         tests: silence some gcc warnings
90146         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
90147         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
90148         type mismatches.
90150 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
90151             Bruno Haible  <bruno@clisp.org>
90153         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
90155 2008-11-29  Jim Meyering  <meyering@redhat.com>
90157         unicodeio.c: mark unused parameters
90158         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
90159         (fallback_failure_callback): Likewise.
90161         fts: fix a thinko
90162         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
90163         (set_stat_type): Return S_IF*-valued "type" directly.
90164         Prompted by James Youngman's spotting a related bug.
90165         Confirmed by further testing through find.
90167         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
90168         * lib/fts.c (D_TYPE): Define.
90169         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
90170         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
90171         (s_ifmt_shift_bits): New function.
90172         (set_stat_type): New function.
90173         (fts_build): When not calling fts_stat, call set_stat_type
90174         to propagate dirent.d_type info to fts_read caller.
90175         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
90176         fts_statp->st_mode type information may be valid.
90178 2008-11-28  Simon Josefsson  <simon@josefsson.org>
90180         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
90181         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
90182         <sds@gnu.org>.
90184 2008-11-20  Bruno Haible  <bruno@clisp.org>
90186         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
90187         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
90188         INCLUDE_NEXT.
90189         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
90190         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
90191         * modules/math (Makefile.am): Substitute
90192         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
90193         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
90195 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
90196             Bruno Haible  <bruno@clisp.org>
90198         * lib/stdint.in.h: Define all type macros so that their expansion is
90199         a single typedef'ed token. Fixes a compilation failure in Boost which
90200         does "using ::int8_t;".
90202 2008-11-18  Simon Josefsson  <simon@josefsson.org>
90204         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
90205         gl_MANYWARN_ALL_GCC.
90206         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
90207         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
90208         * modules/manywarnings: New file.
90209         * MODULES.html.sh: Mention manywarnings module.
90211 2008-11-18  Bruno Haible  <bruno@clisp.org>
90213         * doc/gnulib-tool.texi (Unit tests): New section.
90215 2008-11-18  Simon Josefsson  <simon@josefsson.org>
90217         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
90218         paths like 'lib/po/foo.po'.
90220 2008-11-17  Simon Josefsson  <simon@josefsson.org>
90222         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
90223         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
90225 2008-11-17  Simon Josefsson  <simon@josefsson.org>
90227         * m4/warnings.m4: Use CPPFLAGS to really check whether the
90228         parameter works.
90230 2008-11-17  Simon Josefsson  <simon@josefsson.org>
90232         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
90234 2008-11-17  Bruce Korb  <bkorb@gnu.org>
90236         * modules/parse-duration-tests: New file.
90237         * tests/test-parse-duration.sh: New file.
90238         * tests/test-parse-duration.c: New file.
90240         New module 'parse-duration'.
90241         * lib/parse-duration.h: New file.
90242         * lib/parse-duration.c: New file.
90243         * modules/parse-duration: New file.
90245 2008-11-17  Bruno Haible  <bruno@clisp.org>
90247         * tests/test-select-out.sh: Comment out the first pipe test.
90248         Reported by Simon Josefsson.
90250 2008-11-17  Bruno Haible  <bruno@clisp.org>
90252         * modules/getaddrinfo (Depends-on): Add servent, hostent.
90253         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
90254         gl_HOSTENT.
90256 2008-11-17  Bruno Haible  <bruno@clisp.org>
90258         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
90259         -lnetwork and -lnet. Needed for Haiku and BeOS.
90261 2008-11-16  Bruno Haible  <bruno@clisp.org>
90263         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
90265 2008-11-16  Bruno Haible  <bruno@clisp.org>
90267         Avoid test failure on Haiku.
90268         * tests/test-fsync.c: Include <errno.h>.
90269         (main): Don't require that fsync (0) fails.
90271 2008-11-15  Bruno Haible  <bruno@clisp.org>
90273         New module 'hostent'.
90274         * modules/hostent: New file.
90275         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
90277 2008-11-15  Bruno Haible  <bruno@clisp.org>
90279         New module 'servent'.
90280         * modules/servent: New file.
90281         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
90283 2008-11-15  Bruno Haible  <bruno@clisp.org>
90285         Avoid generating same test program with two different rules.
90286         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
90287         test-frexp to test-frexp-nolibm.
90288         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
90289         test-frexpl to test-frexpl-nolibm.
90291 2008-11-15  Bruno Haible  <bruno@clisp.org>
90293         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
90294         $(FREXPL_LIBM).
90296 2008-11-15  Bruno Haible  <bruno@clisp.org>
90298         * lib/netdb.in.h: Activate the definitions also when the system's
90299         <netdb.h> has 'struct addrinfo'.
90300         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
90301         EAI_OVERFLOW or AI_NUMERICSERV.
90302         * doc/posix-headers/netdb.texi: Document the problem.
90304 2008-11-15  Bruno Haible  <bruno@clisp.org>
90306         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
90308         Make the 'sched' module work on platforms where <sched.h> exists but
90309         is incomplete (such as Haiku).
90310         * lib/sched.in.h; Include the system's <sched.h> if it exists.
90311         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
90312         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
90313         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
90314         HAVE_STRUCT_SCHED_PARAM.
90315         * modules/sched (Depends-on): Add include_next.
90316         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
90317         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
90318         * doc/posix-headers/sched.texi: Document the issue.
90320 2008-11-13  Jim Meyering  <meyering@redhat.com>
90322         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
90323         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
90324         test would fail due to the difference in the Report bugs to ...
90325         line.  The expected address is empty, "<>", while the actual
90326         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
90328 2008-11-12  Bruno Haible  <bruno@clisp.org>
90330         lstat: don't compile lstat.c on systems lacking lstat
90331         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
90332         which don't have lstat; this is handled by lib/sys_stat.in.h already.
90333         Reported by Daniel P. Berrange via Jim Meyering.
90335 2008-11-12  Jim Meyering  <meyering@redhat.com>
90337         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
90339 2008-11-12  Simon Josefsson  <simon@josefsson.org>
90341         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
90342         instead.
90344 2008-11-12  Bruno Haible  <bruno@clisp.org>
90346         * lib/unicodeio.c: Include unistr.h.
90347         (utf8_wctomb): Remove function.
90348         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
90350 2008-11-12  Simon Josefsson  <simon@josefsson.org>
90352         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
90353         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
90354         <bruno@clisp.org>.
90355         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
90357 2008-11-12  Simon Josefsson  <simon@josefsson.org>
90359         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
90360         * doc/gnulib.texi: Add section for warnings.
90362 2008-11-11  Bruno Haible  <bruno@clisp.org>
90364         * lib/sockets.h: Add a comment.
90366 2008-11-11  Karl Berry  <karl@gnu.org>
90368         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
90370 2008-11-11  Eric Blake  <ebb9@byu.net>
90372         fdl.texi: avoid git symlinks
90373         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
90375 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
90377         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
90379 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
90381         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
90382         (gl_WARN_ADD): Substitute $2 if literal.
90384 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
90386         * m4/warning.m4: Remove.
90388 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
90390         * m4/warnings.m4: Almost complete rewrite. :-)
90392 2008-11-10  Simon Josefsson  <simon@josefsson.org>
90394         * modules/warnings: New module.
90395         * m4/warnings.m4: New file.
90396         * MODULES.html.sh: Mention warnings module.
90397         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
90398         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
90400 2008-11-10  Eric Blake  <ebb9@byu.net>
90402         fdl.texi: make a symlink to the latest version
90403         * doc/standards.texi: Revert today's earlier change.
90404         * doc/fdl-1.2.texi: Rename from old fdl.texi...
90405         * doc/fdl.texi: ...and replace this with a symlink to the newer
90406         fdl-1.3.texi.
90408 2008-11-10  Bruno Haible  <bruno@clisp.org>
90410         * tests/test-select-fd.c (main): Accept the result file name as fourth
90411         argument.
90412         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
90413         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
90415 2008-11-10  Bruno Haible  <bruno@clisp.org>
90417         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
90418         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
90419         as autoconf-substituted macros.
90420         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
90421         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
90422         gl_NETDB_H_DEFAULTS. Set these variables.
90423         * modules/netdb (Makefile.am): Substitute these variables.
90425 2008-11-10  Eric Blake  <ebb9@byu.net>
90427         standards.texi: include correct file for FDL 1.3
90428         * doc/standards.texi (GNU Free Documentation License): Change
90429         include file to pull in FDL 1.3, not 1.2.
90431         fdl.texi: revert accidental change to license
90432         * doc/fdl.texi: This is FDL 1.2, not 1.3.
90434 2008-11-10  Bruno Haible  <bruno@clisp.org>
90436         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
90437         cross-compiling guesses also when the native compile gives no result.
90439 2008-11-10  Bruno Haible  <bruno@clisp.org>
90441         * lib/spawni.c (__spawni): Force variable into the stack.
90443 2008-11-10  Bruno Haible  <bruno@clisp.org>
90445         Add support for Haiku.
90446         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
90447         glibc and BeOS, but also on Haiku.
90448         * lib/fpurge.c (fpurge): Likewise.
90449         * lib/freadable.c (freadable): Likewise.
90450         * lib/freadahead.c (freadahead): Likewise.
90451         * lib/freading.c (freading): Likewise.
90452         * lib/freadptr.c (freadptr): Likewise.
90453         * lib/freadseek.c (freadptrinc): Likewise.
90454         * lib/fseeko.c (rpl_fseeko): Likewise.
90455         * lib/fseterr.c (fseterr): Likewise.
90456         * lib/fwritable.c (fwritable): Likewise.
90457         * lib/fwriting.c (fwriting): Likewise.
90458         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
90460 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
90462         * lib/config.charset: Treat Haiku like BeOS.
90464 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
90466         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
90467         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
90469 2008-11-08  Bruno Haible  <bruno@clisp.org>
90471         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
90472         AC_CACHE_CHECK.
90474 2008-11-08  Bruno Haible  <bruno@clisp.org>
90476         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
90478 2008-11-08  Bruno Haible  <bruno@clisp.org>
90480         * tests/test-select-fd.c: New file.
90481         * tests/test-select-in.sh: New file.
90482         * tests/test-select-out.sh: New file.
90483         * tests/test-select-stdin.c: New file.
90484         * modules/select-tests (Files): Add the new files.
90485         (Depends-on): Add gettimeofday.
90486         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
90487         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
90488         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
90490 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
90491             Bruno Haible  <bruno@clisp.org>
90493         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
90495 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
90497         * build-aux/pmccabe2html: Added support for C++ source files.
90499 2008-11-05  Ben Pfaff  <blp@gnu.org>
90501         Fix lib/close.c build on Windows.
90502         * modules/close (Files): Add lib/w32sock.h.
90504 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
90506         Accept Bison's NEWS format.
90507         * build-aux/announce-gen (print_news_deltas): Tweak
90508         $re_prefix.
90510 2008-11-04  Bruno Haible  <bruno@clisp.org>
90512         * modules/random_r (Maintainer): Add glibc.
90514 2008-11-04  Simon Josefsson  <simon@josefsson.org>
90516         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
90517         by karl@freefriends.org (Karl Berry).
90518         * doc/alloca.texi: Likewise.
90519         * doc/c-ctype.texi: Likewise.
90520         * doc/c-strcase.texi: Likewise.
90521         * doc/c-strcaseeq.texi: Likewise.
90522         * doc/c-strcasestr.texi: Likewise.
90523         * doc/c-strstr.texi: Likewise.
90524         * doc/c-strtod.texi: Likewise.
90525         * doc/c-strtold.texi: Likewise.
90526         * doc/ctime.texi: Likewise.
90527         * doc/error.texi: Likewise.
90528         * doc/fdl.texi: Likewise.
90529         * doc/gcd.texi: Likewise.
90530         * doc/getdate.texi: Likewise.
90531         * doc/gnulib-intro.texi: Likewise.
90532         * doc/gnulib-tool.texi: Likewise.
90533         * doc/gnulib.texi: Likewise.
90534         * doc/inet_ntoa.texi: Likewise.
90535         * doc/maintain.texi: Likewise.
90536         * doc/make-stds.texi: Likewise.
90537         * doc/quote.texi: Likewise.
90538         * doc/regexprops-generic.texi: Likewise.
90539         * doc/standards.texi: Likewise.
90540         * doc/verify.texi: Likewise.
90541         * doc/visibility.texi: Likewise.
90542         * doc/gnulib.texi (GNU Free Documentation License): Include
90543         fdl-1.3.texi instead of fdl.texi.
90545 2008-11-04  Simon Josefsson  <simon@josefsson.org>
90547         * doc/fdl-1.3.texi: New file, from
90548         <http://www.gnu.org/licenses/fdl-1.3.texi>.
90549         * modules/fdl-1.3: Add.
90550         * MODULES.html.sh: Add fdl-1.3.
90552 2008-11-03  Bruno Haible  <bruno@clisp.org>
90554         Make determination of absolute name of header file work with AIX xlc.
90555         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
90556         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
90557         preprocessing.
90558         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
90559         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
90561 2008-11-03  Simon Josefsson  <simon@josefsson.org>
90563         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
90564         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
90565         <ludo@gnu.org>.
90567 2008-11-02  Bruno Haible  <bruno@clisp.org>
90569         Mark 'strpbrk' obsolete.
90570         * modules/strpbrk (Status, Notice): New sections.
90571         * modules/strtok_r (Depends-on): Add strpbrk.
90573 2008-11-02  Bruno Haible  <bruno@clisp.org>
90575         Mark 'strdup' obsolete.
90576         * modules/strdup (Status, Notice): New sections.
90577         * modules/findprog (Depends-on): Add strdup.
90578         * modules/getaddrinfo (Depends-on): Likewise.
90579         * modules/localename (Depends-on): Likewise.
90580         * modules/relocatable-lib (Depends-on): Likewise.
90581         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
90582         * modules/relocatable-prog (Depends-on): Likewise.
90583         * modules/trim (Depends-on): Likewise.
90584         * modules/unictype/gen-ctype (Depends-on): Likewise.
90585         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
90587 2008-11-02  Bruno Haible  <bruno@clisp.org>
90589         Mark 'strcspn' obsolete.
90590         * modules/strcspn (Status, Notice): New sections.
90592 2008-11-02  Bruno Haible  <bruno@clisp.org>
90594         Mark 'rmdir' obsolete.
90595         * modules/rmdir (Status, Notice): New sections.
90596         * modules/clean-temp (Depends-on): Add rmdir.
90597         * modules/openat (Depends-on): Likewise.
90599 2008-11-02  Bruno Haible  <bruno@clisp.org>
90601         Mark 'raise' obsolete.
90602         * modules/raise (Status, Notice): New sections.
90603         (Include): Specify <signal.h>.
90604         * modules/stdio (Depends-on): Add raise.
90605         * modules/write (Depends-on): Likewise.
90607 2008-11-02  Bruno Haible  <bruno@clisp.org>
90609         Mark 'memset' obsolete.
90610         * modules/memset (Status, Notice): New sections.
90612 2008-11-02  Bruno Haible  <bruno@clisp.org>
90614         Mark 'memmove' obsolete.
90615         * modules/memmove (Status, Notice): New sections.
90616         * modules/argp (Depends-on): Add memmove.
90617         * modules/argz (Depends-on): Likewise.
90618         * modules/canonicalize (Depends-on): Likewise.
90619         * modules/canonicalize-lgpl (Depends-on): Likewise.
90620         * modules/fts (Depends-on): Likewise.
90621         * modules/getcwd (Depends-on): Likewise.
90622         * modules/human (Depends-on): Likewise.
90623         * modules/regex (Depends-on): Likewise.
90624         * modules/striconveh (Depends-on): Likewise.
90625         * modules/trim (Depends-on): Likewise.
90626         * modules/unistr/u8-move (Depends-on): Likewise.
90627         * modules/unistr/u16-move (Depends-on): Likewise.
90628         * modules/unistr/u32-move (Depends-on): Likewise.
90630 2008-11-02  Bruno Haible  <bruno@clisp.org>
90632         Mark 'memcpy' obsolete.
90633         * modules/memcpy (Status, Notice): New sections.
90635 2008-11-02  Bruno Haible  <bruno@clisp.org>
90637         Mark 'memcmp' obsolete.
90638         * modules/memcmp (Status, Notice): New sections.
90639         * modules/argmatch (Depends-on): Add memchr.
90640         * modules/backupfile (Depends-on): Likewise.
90641         * modules/c-strcasestr (Depends-on): Likewise.
90642         * modules/crypto/des (Depends-on): Likewise.
90643         * modules/csharpcomp (Depends-on): Likewise.
90644         * modules/fnmatch (Depends-on): Likewise.
90645         * modules/git-merge-changelog (Depends-on): Likewise.
90646         * modules/isnand (Depends-on): Likewise.
90647         * modules/isnand-nolibm (Depends-on): Likewise.
90648         * modules/isnanf (Depends-on): Likewise.
90649         * modules/isnanf-nolibm (Depends-on): Likewise.
90650         * modules/isnanl (Depends-on): Likewise.
90651         * modules/isnanl-nolibm (Depends-on): Likewise.
90652         * modules/mbchar (Depends-on): Likewise.
90653         * modules/memcoll (Depends-on): Likewise.
90654         * modules/quotearg (Depends-on): Likewise.
90655         * modules/regex (Depends-on): Likewise.
90656         * modules/relocatable-prog (Depends-on): Likewise.
90657         * modules/same (Depends-on): Likewise.
90658         * modules/signbit (Depends-on): Likewise.
90659         * modules/strcasestr-simple (Depends-on): Likewise.
90660         * modules/unictype/gen-ctype (Depends-on): Likewise.
90661         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
90662         * modules/uniname/uniname (Depends-on): Likewise.
90663         * modules/unistr/u8-cmp (Depends-on): Likewise.
90665 2008-11-02  Bruno Haible  <bruno@clisp.org>
90667         Mark 'memchr' obsolete.
90668         * modules/memchr (Status, Notice): New sections.
90669         * modules/argp (Depends-on): Add memchr.
90670         * modules/base64 (Depends-on): Likewise.
90671         * modules/c-strcasestr (Depends-on): Likewise.
90672         * modules/chdir-long (Depends-on): Likewise.
90673         * modules/fnmatch (Depends-on): Likewise.
90674         * modules/getsubopt (Depends-on): Likewise.
90675         * modules/git-merge-changelog (Depends-on): Likewise.
90676         * modules/glob (Depends-on): Likewise.
90677         * modules/strcasestr-simple (Depends-on): Likewise.
90678         * modules/strnlen (Depends-on): Likewise.
90680 2008-11-02  Bruno Haible  <bruno@clisp.org>
90682         Mark 'atexit' obsolete.
90683         * modules/atexit (Status, Notice): New sections.
90684         * modules/chdir-long (Depends-on): Add atexit.
90685         * modules/wait-process (Depends-on): Likewise.
90687 2008-11-02  Bruno Haible  <bruno@clisp.org>
90689         * gnulib-tool: New option --with-obsolete.
90690         (func_usage): Document it.
90691         (func_modules_transitive_closure): Drop obsolete dependencies if
90692         incobsolete is not true.
90693         (func_import): Read and save the incobsolete variable to the cache.
90695 2008-11-02  Bruno Haible  <bruno@clisp.org>
90697         * modules/TEMPLATE-EXTENDED: New field 'Status'.
90698         * gnulib-tool: New option --extract-status.
90699         (func_usage): Document it.
90700         (sed_extract_prog): Recognize it.
90701         (func_get_status): New function.
90703 2008-10-30  Simon Josefsson  <simon@josefsson.org>
90705         * modules/sockets (License): Change from LGPL to LGPLv2+.
90707 2008-10-28  Simon Josefsson  <simon@josefsson.org>
90709         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
90711 2008-10-28  Simon Josefsson  <simon@josefsson.org>
90713         * MODULES.html.sh (Support for systems lacking POSIX:2001):
90714         Mention times and sys_times.
90715         * modules/sys_times, modules/sys_times-tests: New modules.
90716         * modules/times, modules/times-tests: Likewise
90717         * m4/sys_times_h.m4: New file.
90718         * lib/sys_times.in.h: Likewise
90719         * lib/times.c: Likewise.
90720         * tests/test-sys_times.c: Likewise.
90721         * tests/test-times.c: Likewise.
90722         * doc/posix-headers/sys_times.texi: Update.
90723         * doc/posix-functions/times.texi: Update.
90725 2008-10-28  Jim Meyering  <meyering@redhat.com>
90727         * modules/tempname (Depends-on): Add lstat.
90729         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
90731 2008-10-28  Simon Josefsson  <simon@josefsson.org>
90733         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
90734         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
90735         using idiom used elsewhere in gnulib.
90737 2008-10-27  Jim Meyering  <meyering@redhat.com>
90739         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
90741 2008-10-27  Simon Josefsson  <simon@josefsson.org>
90743         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
90744         TESTS_ENVIRONMENT, for shell scripts that needs to call built
90745         programs.
90746         * tests/test-argp-2.sh: Use $EXEEXT when needed.
90748 2008-10-27  Simon Josefsson  <simon@josefsson.org>
90750         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
90752 2008-10-27  Bruno Haible  <bruno@clisp.org>
90754         * tests/test-lstat.c: Include <stdio.h>.
90756 2008-10-27  Simon Josefsson  <simon@josefsson.org>
90758         * modules/lstat-tests: New module.
90759         * tests/test-lstat.c: New file.
90761 2008-10-26  Jim Meyering  <meyering@redhat.com>
90763         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
90765 2008-10-26  Simon Josefsson  <simon@josefsson.org>
90766             Bruno Haible  <bruno@clisp.org>
90768         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
90769         * modules/configmake (Include): Add a note that the include must come
90770         after all system headers.
90771         * lib/javaversion.c: Include configmake.h after all other includes.
90773 2008-10-26  Bruno Haible  <bruno@clisp.org>
90775         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
90776         HAVE_STRUCT_RANDOM_DATA to 1.
90777         (gl_STDLIB_H): Simplify.
90779 2008-10-26  Simon Josefsson  <simon@josefsson.org>
90781         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
90782         substitute HAVE_STRUCT_RANDOM_DATA.
90783         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
90784         random_data.
90785         * modules/stdlib (Makefile.am): Substitute
90786         HAVE_STRUCT_RANDOM_DATA.
90788 2008-10-26  Simon Josefsson  <simon@josefsson.org>
90790         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
90791         * doc/gnulib-intro.texi (Copyright): Likewise.
90793 2008-10-26  Simon Josefsson  <simon@josefsson.org>
90795         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
90796         findings.
90798 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
90799             Bruno Haible  <bruno@clisp.org>
90801         * lib/unistd.in.h: Include <winsock2.h>.
90802         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
90803         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
90804         Provide dummy declarations.
90805         (gethostname): Override.
90806         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
90807         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
90808         gl_PREREQ_SYS_H_WINSOCK2.
90809         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
90810         * doc/posix-functions/gethostname.texi: More details.
90812 2008-10-25  Bruno Haible  <bruno@clisp.org>
90814         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
90815         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
90816         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
90818         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
90819         here ...
90820         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
90821         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
90822         gl_UNISTD_H_DEFAULTS.
90824 2008-10-25  Eric Blake  <ebb9@byu.net>
90826         signbit: avoid spurious compiler failure
90827         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
90828         declarations inside function.
90830 2008-10-24  Simon Josefsson  <simon@josefsson.org>
90831             Bruno Haible  <bruno@clisp.org>
90833         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
90834         * modules/random_r (Depends-on): Add stdint.
90836 2008-10-24  Bruno Haible  <bruno@clisp.org>
90838         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
90839         Eggert.
90840         * modules/strerror (License): Likewise.
90842 2008-10-24  Jim Meyering  <meyering@redhat.com>
90844         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
90845         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
90847 2008-10-24  Eric Blake  <ebb9@byu.net>
90849         getgroups: fix compilation when getgroups is available
90850         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
90851         but with <config.h> override of getgroups disabled.
90853 2008-10-24  Simon Josefsson  <simon@josefsson.org>
90855         * doc/gnulib.texi (Header files): Add note about C++ problems.
90856         Explained by Bruno Haible <bruno@clisp.org>.
90858 2008-10-23  Bruno Haible  <bruno@clisp.org>
90860         Define a dummy SA_NODEFER macro on Interix.
90861         * lib/signal.in.h (SA_NODEFER): Define fallback.
90862         Reported by Aleksey Cheusov <cheusov@tut.by> via
90863         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
90865 2008-10-23  Bruno Haible  <bruno@clisp.org>
90867         * modules/freadahead (License): Change to LGPLv2+.
90868         Suggested by Simon Josefsson.
90870 2008-10-23  Jim Meyering  <meyering@redhat.com>
90872         random_r: new module
90873         * modules/random_r: New file.
90874         * m4/random_r.m4: New file.
90875         * lib/random_r.c: New file, from glibc.
90876         * modules/random_r-tests: New file.
90877         * tests/test-random_r.c: New file.
90878         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
90879          Declare.
90880         (RAND_MAX): Define.
90881         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
90882         * modules/stdlib: Substitute them, too.
90883         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
90884         * doc/glibc-functions/initstate_r.texi: Mention the new module.
90885         * doc/glibc-functions/random_r.texi: Likewise.
90886         * doc/glibc-functions/setstate_r.texi: Likewise.
90887         * doc/glibc-functions/srandom_r.texi: Likewise.
90888         * config/srclist.txt: Mention it.
90890 2008-10-23  David Lutterkort  <lutter@redhat.com>
90892         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
90893         link requirement
90895 2008-10-23  Jim Meyering  <meyering@redhat.com>
90897         selinux-h: mark parameters of stub functions as intentionally unused
90898         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
90899         * lib/se-context.in.h: Likewise.
90901 2008-10-22  Simon Josefsson  <simon@josefsson.org>
90903         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
90905 2008-10-22  Simon Josefsson  <simon@josefsson.org>
90907         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
90909 2008-10-22  Eric Blake  <ebb9@byu.net>
90911         glthread/thread: avoid compiler warning
90912         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
90913         Add unreachable abort to silence compiler.
90915 2008-10-22  Eric Blake  <ebb9@byu.net>
90917         netdb: also supply struct addrinfo for cygwin 1.5.x
90918         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
90919         older cygwin.
90920         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
90921         cygwin.
90922         * doc/posix-headers/netdb.texi (netdb.h): Document this.
90924 2008-10-22  Bruno Haible  <bruno@clisp.org>
90926         * users.txt: Update entry about pspp.
90928 2008-10-21  Bruno Haible  <bruno@clisp.org>
90930         Simplification.
90931         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
90932         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
90934         Simplification.
90935         * lib/ioctl.c (ioctl): Don't undefine.
90936         * lib/socket.c (socket): Don't undefine.
90938         Remove unused module indicator macros.
90939         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
90940         GNULIB_$1 as a C macro.
90942         * doc/posix-functions/close.texi: Undo last change.
90943         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
90944         Windows platforms.
90946 2008-10-21  Bruno Haible  <bruno@clisp.org>
90948         Add gethostname() declaration to <unistd.h>.
90949         * lib/unistd.in.h (gethostname): New declaration.
90950         * lib/gethostname.c: Include <unistd.h>.
90951         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
90952         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
90953         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
90954         and HAVE_GETHOSTNAME.
90955         * modules/gethostname (Depends-on): Add unistd.
90956         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
90957         (Include): Specify <unistd.h>.
90958         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
90959         HAVE_GETHOSTNAME.
90960         * tests/test-gethostname.c: Include <unistd.h> first.
90962 2008-10-21  Bruno Haible  <bruno@clisp.org>
90964         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
90965         * modules/select-tests (Depends-on): Likewise.
90966         Reported by Simon Josefsson.
90968 2008-10-21  Simon Josefsson  <simon@josefsson.org>
90970         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
90971         * lib/accept.c: New file, based on winsock.c.
90972         * lib/bind.c: New file, based on winsock.c.
90973         * lib/connect.c: New file, based on winsock.c.
90974         * lib/getpeername.c: New file, based on winsock.c.
90975         * lib/getsockname.c: New file, based on winsock.c.
90976         * lib/getsockopt.c: New file, based on winsock.c.
90977         * lib/ioctl.c: New file, based on winsock.c.
90978         * lib/listen.c: New file, based on winsock.c.
90979         * lib/recv.c: New file, based on winsock.c.
90980         * lib/recvfrom.c: New file, based on winsock.c.
90981         * lib/send.c: New file, based on winsock.c.
90982         * lib/sendto.c: New file, based on winsock.c.
90983         * lib/setsockopt.c: New file, based on winsock.c.
90984         * lib/shutdown.c: New file, based on winsock.c.
90985         * lib/socket.c: New file, based on winsock.c.
90986         * lib/w32sock.h: New file, based on winsock.c.
90987         * lib/winsock.c: Remove file.
90988         * modules/accept: Likewise.
90989         * modules/bind: Likewise.
90990         * modules/connect: Likewise.
90991         * modules/getpeername: Likewise.
90992         * modules/getsockname: Likewise.
90993         * modules/getsockopt: Likewise.
90994         * modules/ioctl: Likewise.
90995         * modules/listen: Likewise.
90996         * modules/recv: Likewise.
90997         * modules/recvfrom: Likewise.
90998         * modules/send: Likewise.
90999         * modules/sendto: Likewise.
91000         * modules/setsockopt: Likewise.
91001         * modules/shutdown: Likewise.
91002         * modules/socket: Use socket.c instead of winsock.c.
91003         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
91004         * doc/posix-functions/accept.texi: Doc fix.
91005         * doc/posix-functions/bind.texi: Doc fix.
91006         * doc/posix-functions/close.texi: Doc fix.
91007         * doc/posix-functions/connect.texi: Doc fix.
91008         * doc/posix-functions/getpeername.texi: Doc fix.
91009         * doc/posix-functions/getsockname.texi: Doc fix.
91010         * doc/posix-functions/getsockopt.texi: Doc fix.
91011         * doc/posix-functions/ioctl.texi: Doc fix.
91012         * doc/posix-functions/listen.texi: Doc fix.
91013         * doc/posix-functions/recv.texi: Doc fix.
91014         * doc/posix-functions/recvfrom.texi: Doc fix.
91015         * doc/posix-functions/send.texi: Doc fix.
91016         * doc/posix-functions/sendto.texi: Doc fix.
91017         * doc/posix-functions/setsockopt.texi: Doc fix.
91018         * doc/posix-functions/shutdown.texi: Doc fix.
91019         * doc/posix-functions/socket.texi: Doc fix.
91021 2008-10-20  Bruno Haible  <bruno@clisp.org>
91023         Take into account the role of SIGABRT_COMPAT on Windows 2008.
91024         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
91025         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
91026         as an alias for SIGABRT.
91027         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
91028         (sigaction): Map it to SIGABRT.
91029         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
91031 2008-10-20  Bruno Haible  <bruno@clisp.org>
91033         * lib/fts.c: Don't include lstat.h.
91034         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
91036         Move the lstat() declaration to <sys/stat.h>.
91037         * lib/lstat.h: Remove file.
91038         * lib/sys_stat.in.h: Add special invocation convention.
91039         (lstat): New declaration.
91040         * lib/lstat.c (orig_lstat): New function.
91041         (rpl_lstat): Use orig_lstat instead of lstat.
91042         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
91043         AC_C_INLINE. Set REPLACE_LSTAT.
91044         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
91045         and REPLACE_LSTAT.
91046         * modules/lstat (Files): Remove lib/lstat.h.
91047         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
91048         (Include): Specify <sys/stat.h> instead of lstat.h.
91049         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
91050         REPLACE_LSTAT.
91051         * NEWS: Mention the change.
91053 2008-10-20  Bruno Haible  <bruno@clisp.org>
91055         * modules/posix_spawn-tests: New file.
91056         * tests/test-posix_spawn3.c: New file.
91058 2008-10-20  Bruno Haible  <bruno@clisp.org>
91060         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
91061         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
91062         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
91063         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
91064         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
91066 2008-10-20  Bruno Haible  <bruno@clisp.org>
91068         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
91069         of posix_spawn on AIX 5.3.
91071 2008-10-20  Bruno Haible  <bruno@clisp.org>
91073         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
91075 2008-10-20  Bruno Haible  <bruno@clisp.org>
91077         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
91078         of AC_LANG_PROGRAM.
91080 2008-10-20  Simon Josefsson  <simon@josefsson.org>
91082         * lib/netdb.in.h: Don't define GNU specific constants until they
91083         are supported or needed.  Reported by Bruno Haible
91084         <bruno@clisp.org>.
91086 2008-10-20  Simon Josefsson  <simon@josefsson.org>
91088         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
91090 2008-10-20  Simon Josefsson  <simon@josefsson.org>
91092         * lib/getaddrinfo.h: Remove file.
91093         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
91094         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
91095         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
91096         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
91097         * modules/netdb: Substitute GNULIB_GETADDRINFO.
91098         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
91099         * tests/test-getaddrinfo.c: Likewise.
91100         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
91101         * NEWS: Mention change.
91103 2008-10-19  Bruno Haible  <bruno@clisp.org>
91105         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
91107 2008-10-19  Bruno Haible  <bruno@clisp.org>
91109         * lib/wait-process.c: Include simply <sys/wait.h>.
91110         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
91111         WIFSTOPPED): Remove fallback definitions.
91112         * modules/wait-process (Depends-on): Add sys_wait.
91114         New module 'sys_wait'.
91115         * modules/sys_wait: New file.
91116         * lib/sys_wait.in.h: New file, partially copied from
91117         lib/wait-process.c.
91118         * m4/sys_wait_h.m4: New file.
91119         * doc/posix-headers/sys_wait.texi: Mention the new module.
91121 2008-10-19  Bruno Haible  <bruno@clisp.org>
91123         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
91125 2008-10-19  Bruno Haible  <bruno@clisp.org>
91127         Assume that waitpid() fills an 'int' status, not a 'union wait'.
91128         * lib/wait-process.c (WAIT_T): Remove type.
91129         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
91130         (wait_subprocess): Update.
91132 2008-10-19  Bruno Haible  <bruno@clisp.org>
91134         New module 'atoll'.
91135         * modules/atoll: New file.
91136         * lib/stdlib.in.h (atoll): New declaration.
91137         * lib/atoll.c: New file, from glibc with modifications.
91138         * m4/atoll.m4: New file.
91139         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
91140         HAVE_ATOLL.
91141         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
91142         * doc/posix-functions/atoll.texi: Mention the new module.
91144 2008-10-19  Bruno Haible  <bruno@clisp.org>
91146         Add strtoull() declaration to <stdlib.h>.
91147         * lib/stdlib.in.h (strtoull): New declaration.
91148         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
91149         Set HAVE_STRTOULL.
91150         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
91151         HAVE_STRTOULL.
91152         * modules/strtoull (Depends-on): Add stdlib.
91153         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
91154         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
91155         HAVE_STRTOULL.
91157 2008-10-19  Bruno Haible  <bruno@clisp.org>
91159         Add strtoll() declaration to <stdlib.h>.
91160         * lib/stdlib.in.h (strtoll): New declaration.
91161         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
91162         Set HAVE_STRTOLL.
91163         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
91164         HAVE_STRTOLL.
91165         * modules/strtoll (Depends-on): Add stdlib.
91166         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
91167         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
91169 2008-10-19  Bruno Haible  <bruno@clisp.org>
91171         * modules/bcopy (Depends-on): Add strings.
91172         (Include): Specify <strings.h>.
91174 2008-10-19  Bruno Haible  <bruno@clisp.org>
91176         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
91178 2008-10-19  Bruno Haible  <bruno@clisp.org>
91180         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
91181         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
91182         mingw.
91184 2008-10-19  Bruno Haible  <bruno@clisp.org>
91186         * lib/atanl.c: Don't include isnanl.h.
91187         * lib/cosl.c: Likewise.
91188         * lib/ldexpl.c: Likewise.
91189         * lib/logl.c: Likewise.
91190         * lib/sinl.c: Likewise.
91191         * lib/sqrtl.c: Likewise.
91192         * lib/tanl.c: Likewise.
91194         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
91195         * lib/isnanf.h: Remove file.
91196         * lib/isnand.h: Remove file.
91197         * lib/isnanl.h: Remove file.
91198         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
91199         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
91200         macros.
91201         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
91202         HAVE_ISNANF, don't define it as a C macro.
91203         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
91204         HAVE_ISNAND, don't define it as a C macro.
91205         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
91206         HAVE_ISNANL, don't define it as a C macro.
91207         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
91208         HAVE_ISNAN[FDL].
91209         * modules/isnanf (Files): Remove lib/isnanf.h.
91210         (Depends-on): Add math.
91211         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
91212         (Include): Specify <math.h> instead of isnanf.h.
91213         * modules/isnand (Files): Remove lib/isnand.h.
91214         (Depends-on): Add math.
91215         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
91216         (Include): Specify <math.h> instead of isnand.h.
91217         * modules/isnanl (Files): Remove lib/isnanl.h.
91218         (Depends-on): Add math.
91219         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
91220         (Include): Specify <math.h> instead of isnanl.h.
91221         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
91222         HAVE_ISNAN[FDL].
91223         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
91224         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
91225         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
91226         * NEWS: Mention the change.
91228 2008-10-18  Bruno Haible  <bruno@clisp.org>
91230         Add getusershell(), setusershell(), endusershell() declarations to
91231         <unistd.h>.
91232         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
91233         declarations.
91234         * lib/getusershell.c: Include unistd.h.
91235         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
91236         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
91237         HAVE_GETUSERSHELL.
91238         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
91239         and HAVE_GETUSERSHELL.
91240         * modules/getusershell (Depends-on): Add unistd, extensions.
91241         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
91242         (Include): Specify <unistd.h>.
91243         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
91244         HAVE_GETUSERSHELL.
91246 2008-10-18  Bruno Haible  <bruno@clisp.org>
91248         Add a getloadavg() declaration to <stdlib.h>.
91249         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
91250         getloadavg declaration.
91251         (getloadavg): New declaration.
91252         * lib/getloadavg.c: Include <stdlib.h> first.
91253         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
91254         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
91255         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
91256         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
91257         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
91258         * modules/getloadavg (Depends-on): Add stdlib, extensions.
91259         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
91260         (Include): Specify <stdlib.h>.
91261         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
91262         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
91264 2008-10-18  Bruno Haible  <bruno@clisp.org>
91266         * lib/dirchownmod.c: Don't include lchmod.h.
91268         Move the lchmod() declaration to <sys/stat.h>.
91269         * lib/lchmod.h: Remove file.
91270         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
91271         (lchmod): New declaration, moved here from lib/lchown.h.
91272         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
91273         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
91274         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
91275         and HAVE_LCHMOD.
91276         * modules/lchmod (Files): Remove lib/lchmod.h.
91277         (Depends-on): Add sys_stat, extensions.
91278         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
91279         (Include): Specify <sys/stat.h> instead of lchmod.h.
91280         * modules/sys_stat (Depends-on): Add link-warning.
91281         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
91282         definition of GL_LINK_WARNING.
91283         * NEWS: Mention the change.
91285 2008-10-18  Bruno Haible  <bruno@clisp.org>
91287         * lib/fchdir.c: Don't include dirfd.h.
91288         * lib/fts.c: Likewise.
91289         * lib/getcwd.c: Likewise.
91290         * lib/glob.c: Likewise.
91292         Move the dirfd() declaration to <dirent.h>.
91293         * lib/dirfd.h: Remove file.
91294         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
91295         (dirfd): New declaration.
91296         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
91297         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
91298         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
91299         HAVE_DECL_DIRFD.
91300         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
91301         HAVE_DECL_DIRFD.
91302         * modules/dirfd (Files): Remove lib/dirfd.h.
91303         (Depends-on): Add dirent, extensions.
91304         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
91305         (Include): Specify <dirent.h> instead of dirfd.h.
91306         * modules/dirent (Depends-on): Add link-warning.
91307         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
91308         definition of GL_LINK_WARNING.
91309         * NEWS: Mention the change.
91311 2008-10-18  Bruno Haible  <bruno@clisp.org>
91313         Move the euidaccess() declaration to <unistd.h>.
91314         * lib/euidaccess.h: Remove file.
91315         * lib/unistd.in.h (euidaccess): New declaration.
91316         * lib/euidaccess.c: Don't include euidaccess.h.
91317         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
91318         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
91319         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
91320         and HAVE_EUIDACCESS.
91321         * modules/euidaccess (Files): Remove lib/euidaccess.h.
91322         (Depends-on): Add unistd.
91323         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
91324         (Include): Specify <unistd.h> instead of euidaccess.h.
91325         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
91326         HAVE_EUIDACCESS.
91327         * NEWS: Mention the change.
91329 2008-10-18  Bruno Haible  <bruno@clisp.org>
91331         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
91333         Move the getdomainname() declaration to <unistd.h>.
91334         * lib/getdomainname.h: Remove file.
91335         * lib/unistd.in.h (getdomainname): New declaration.
91336         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
91337         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
91338         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
91339         HAVE_GETDOMAINNAME.
91340         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
91341         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
91342         * modules/getdomainname (Files): Remove lib/getdomainname.h.
91343         (Depends-on): Add unistd, extensions.
91344         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
91345         (Includes): Specify <unistd.h> instead of getdomainname.h.
91346         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
91347         HAVE_GETDOMAINNAME.
91348         * NEWS: Mention the change.
91350 2008-10-18  Bruno Haible  <bruno@clisp.org>
91352         * modules/dirent: New file.
91353         * m4/dirent_h.m4: New file.
91354         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
91355         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
91356         * modules/fchdir (Files): Remove lib/dirent.in.h.
91357         (Depends-on): Add dirent.
91358         (Makefile.am): Move rules to modules/dirent.
91359         * doc/posix-headers/dirent.texi: Mention the new module.
91361 2008-10-18  Bruno Haible  <bruno@clisp.org>
91363         Avoid -Wunused-parameter warnings in public gnulib header files.
91364         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
91365         macro.
91366         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
91368 2008-10-18  Bruno Haible  <bruno@clisp.org>
91370         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
91371         * doc/glibc-functions/error.texi: Mention the module 'error'.
91372         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
91373         * doc/glibc-functions/getdomainname.texi: Mention the module
91374         'getdomainname'.
91375         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
91376         * doc/glibc-functions/getpagesize.texi: Mention the module
91377         'getpagesize'.
91378         * doc/glibc-functions/getusershell.texi: Mention the module
91379         'getusershell'.
91380         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
91381         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
91382         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
91383         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
91384         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
91385         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
91386         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
91387         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
91388         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
91389         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
91390         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
91391         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
91392         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
91393         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
91395 2008-10-17  Bruno Haible  <bruno@clisp.org>
91397         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
91398         HP-UX and IRIX, use -0.0L.
91399         * tests/test-ceill.c (minus_zero): Likewise.
91400         * tests/test-floorl.c (minus_zero): Likewise.
91401         * tests/test-frexpl.c (minus_zero): Likewise.
91402         * tests/test-isnan.c (minus_zerol): Likewise.
91403         * tests/test-isnanl.h (minus_zero): Likewise.
91404         * tests/test-ldexpl.c (minus_zero): Likewise.
91405         * tests/test-roundl.c (minus_zero): Likewise.
91406         * tests/test-signbit.c (minus_zerol): Likewise.
91407         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
91408         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
91409         * tests/test-truncl.c (minus_zero): Likewise.
91410         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
91411         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
91412         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
91413         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
91415 2008-10-17  Bruno Haible  <bruno@clisp.org>
91417         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
91418         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
91419         that it gets activated only for gcc >= 3.0.
91420         * lib/dirent.in.h: Likewise.
91421         * lib/errno.in.h: Likewise.
91422         * lib/fcntl.in.h: Likewise.
91423         * lib/float.in.h: Likewise.
91424         * lib/iconv.in.h: Likewise.
91425         * lib/inttypes.in.h: Likewise.
91426         * lib/locale.in.h: Likewise.
91427         * lib/math.in.h: Likewise.
91428         * lib/netdb.in.h: Likewise.
91429         * lib/netinet_in.in.h: Likewise.
91430         * lib/search.in.h: Likewise.
91431         * lib/signal.in.h: Likewise.
91432         * lib/spawn.in.h: Likewise.
91433         * lib/stdarg.in.h: Likewise.
91434         * lib/stdint.in.h: Likewise.
91435         * lib/stdio.in.h: Likewise.
91436         * lib/stdlib.in.h: Likewise.
91437         * lib/string.in.h: Likewise.
91438         * lib/strings.in.h: Likewise.
91439         * lib/sys_file.in.h: Likewise.
91440         * lib/sys_ioctl.in.h: Likewise.
91441         * lib/sys_select.in.h: Likewise.
91442         * lib/sys_socket.in.h: Likewise.
91443         * lib/sys_stat.in.h: Likewise.
91444         * lib/sys_time.in.h: Likewise.
91445         * lib/sysexits.in.h: Likewise.
91446         * lib/time.in.h: Likewise.
91447         * lib/unistd.in.h: Likewise.
91448         * lib/wchar.in.h: Likewise.
91449         * lib/wctype.in.h: Likewise.
91450         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
91452 2008-10-17  Jim Meyering  <meyering@redhat.com>
91454         ignore-value: don't depend on inline module
91455         * modules/ignore-value (Depends-on): Remove 'inline'.
91456         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
91457         Suggestion from Bruno Haible.
91459 2008-10-17  Bruno Haible  <bruno@clisp.org>
91461         New implementation of condition variables for Win32.
91462         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
91463         (gl_linked_waitqueue_t): New type.
91464         (gl_cond_t): Use it.
91465         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
91466         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
91467         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
91468         (glthread_cond_init_func, glthread_cond_wait_func,
91469         glthread_cond_timedwait_func, glthread_cond_signal_func,
91470         glthread_cond_broadcast_func, glthread_cond_destroy_func):
91471         Reimplemented on the basis of gl_linked_waitqueue_t.
91472         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
91473         gl_waitqueue_t.
91474         (gl_rwlock_t): Update.
91475         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
91477 2008-10-17  Simon Josefsson  <simon@josefsson.org>
91479         * modules/recvfrom (Depends-on): Add dependency on getpeername.
91480         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
91482 2008-10-17  Jim Meyering  <meyering@redhat.com>
91484         ignore-value: new module
91485         * modules/ignore-value: New file.
91486         * lib/ignore-value.h: New file.
91487         * MODULES.html.sh (Compiler warning management): New section,
91488         just for this module.  More to come.
91490 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
91492         open-safer.c: avoid 'signed and unsigned in conditional...' warning
91493         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
91494         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
91496 2008-10-16  Jim Meyering  <meyering@redhat.com>
91498         openat-die.c: avoid 'no previous prototype' warning
91499         * lib/openat-die.c: Include "openat.h".
91500         Reported by Reuben Thomas <rrt@sc3d.org>.
91502 2008-10-16  Simon Josefsson  <simon@josefsson.org>
91504         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
91505         * lib/netdb.in.h: Fix typo.
91506         Reported by Bruno Haible  <bruno@clisp.org>
91508         * lib/netdb.in.h: Include sys/socket.h for platforms without
91509         netdb.h, to get structures like hostent on MinGW.
91510         * modules/netdb (Depends-on): Add sys_socket.
91512 2008-10-15  Simon Josefsson  <simon@josefsson.org>
91514         * modules/netdb, modules/netdb-tests: New file.
91515         * m4/netdb_h.m4: New file.
91516         * lib/netdb.in.h: Add, currently just an empty file pending
91517         definitions.
91518         * tests/test-netdb.c: New file.
91519         * doc/posix-headers/netdb.texi: Mention that we replace it if
91520         needed.
91521         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
91522         netdb.
91524 2008-10-15  Simon Josefsson  <simon@josefsson.org>
91526         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
91527         with code.
91529 2008-10-13  Bruno Haible  <bruno@clisp.org>
91531         * lib/glthread/cond.c (glthread_cond_wait_func,
91532         glthread_cond_timedwait_func): Add a comment.
91534 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
91536         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
91537         * tests/test-select.c: Likewise,
91539 2008-10-13  Bruno Haible  <bruno@clisp.org>
91541         * lib/glthread/cond.c (glthread_cond_wait_func,
91542         glthread_cond_timedwait_func): Fix variable name.
91543         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
91545 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
91547         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
91548         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
91549         struct sockaddr.sa_len.
91550         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
91552 2008-10-13  Simon Josefsson  <simon@josefsson.org>
91554         * build-aux/pmccabe2html: Add css and css_url parameters.
91556 2008-10-12  Bruno Haible  <bruno@clisp.org>
91558         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
91559         calling aclx_get.
91560         Reported by Rainer Tammer <tammer@tammer.net>.
91562 2008-10-12  Bruno Haible  <bruno@clisp.org>
91564         Use msvcrt aware primitives for creation/termination of Win32 threads.
91565         * lib/glthread/thread.c: Include <process.h>.
91566         (glthread_create_func): Use _beginthreadex instead of CreateThread.
91567         (wrapper_func): Update signature.
91568         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
91570 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
91571             Bruno Haible  <bruno@clisp.org>
91573         Provide a Win32 implementation of the 'cond' module.
91574         * lib/glthread/cond.h [USE_WIN32]: New implementation.
91575         * lib/glthread/cond.c (glthread_cond_init_func,
91576         glthread_cond_wait_func, glthread_cond_timedwait_func,
91577         glthread_cond_signal_func, glthread_cond_broadcast_func,
91578         glthread_cond_destroy_func) [USE_WIN32]: New functions.
91579         * modules/cond (Dependencies): Add gettimeofday.
91581 2008-10-11  Bruno Haible  <bruno@clisp.org>
91583         Make sleep work on older versions of mingw.
91584         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
91585         only whether it exists.
91586         * doc/posix-functions/sleep.texi: Mention the problem with older
91587         versions of mingw.
91589 2008-10-11  Bruno Haible  <bruno@clisp.org>
91591         New module 'shutdown'.
91592         * modules/shutdown: New file.
91593         * lib/sys_socket.in.h (shutdown): New declaration.
91594         * lib/winsock.c (shutdown): New function.
91595         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
91596         GNULIB_SHUTDOWN.
91597         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
91598         * doc/posix-functions/shutdown.texi: Document the new module.
91600 2008-10-11  Jim Meyering  <meyering@redhat.com>
91602         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
91604 2008-10-11  Bruno Haible  <bruno@clisp.org>
91606         New module 'fclose'.
91607         * modules/fclose: New file.
91608         * lib/stdio.in.h (fclose): New declaration.
91609         * lib/fclose.c: New file.
91610         * m4/fclose.m4: New file.
91611         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
91612         REPLACE_FCLOSE.
91613         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
91614         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
91615         REPLACE_FCLOSE.
91616         * modules/close (Depends-on): fclose.
91617         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
91619 2008-10-11  Bruno Haible  <bruno@clisp.org>
91621         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
91622         set errno and don't call _close.
91624 2008-10-10  Bruno Haible  <bruno@clisp.org>
91626         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
91627         ACL, not afterwards. Fixes test failure on Cygwin.
91629 2008-10-09  Ben Pfaff  <blp@gnu.org>
91631         * build-aux/announce-gen: Fix gnulib version related part of usage
91632         message.  Die with a useful error message if no tarballs are
91633         found.
91635 2008-10-10  Jim Meyering  <meyering@redhat.com>
91637         bootstrap: use git's --depth=N option only if it's supported
91638         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
91639         recognize the --depth option.  Reported by Pádraig Brady.
91641 2008-10-09  Bruno Haible  <bruno@clisp.org>
91643         New module 'ioctl'.
91644         * modules/ioctl: New file.
91645         * lib/sys_socket.in.h (ioctl): Remove declaration.
91646         * lib/winsock.c: Include <sys/ioctl.h>.
91647         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
91648         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
91649         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
91650         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
91651         * doc/posix-functions/ioctl.texi: Mention the new module.
91653 2008-10-09  Bruno Haible  <bruno@clisp.org>
91655         New module 'sys_ioctl'.
91656         * lib/sys_ioctl.in.h: New file.
91657         * m4/sys_ioctl_h.m4: New file.
91658         * modules/sys_ioctl: New file.
91659         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
91661 2008-10-09  Bruno Haible  <bruno@clisp.org>
91663         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
91664         * lib/winsock.c: Include <stdarg.h>.
91665         (rpl_ioctl): Change to second argument 'int' and then varargs.
91667 2008-10-09  Bruno Haible  <bruno@clisp.org>
91669         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
91670         when the sys_socket module is present and the system has <winsock2.h>.
91672 2008-10-09  Bruno Haible  <bruno@clisp.org>
91674         * doc/posix-functions/close.texi: Mention module 'close' instead of
91675         module 'sys_socket'.
91677 2008-10-09  Bruno Haible  <bruno@clisp.org>
91679         * doc/glibc-headers/sys_ioctl.texi: New file.
91680         * doc/gnulib.texi: Include it.
91682 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
91683             Bruno Haible  <bruno@clisp.org>
91685         Combine the two replacements of 'close'.
91686         * lib/sys_socket.in.h (close): Define to a reminder to include
91687         <unistd.h>.
91688         (_gl_close_fd_maybe_socket): New declaration.
91689         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
91690         * lib/winsock.c (close): Remove undefinition.
91691         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
91692         needed for the gnulib module 'close'.
91693         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
91694         define to an error symbol or to a warning, if suitable.
91695         * lib/close.c: Include <sys/socket.h>.
91696         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
91697         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
91698         UNISTD_H_HAVE_WINSOCK2_H.
91699         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
91700         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
91701         UNISTD_H_HAVE_WINSOCK2_H.
91702         * modules/sys_socket (Files): Add m4/unistd_h.m4.
91703         (configure.ac): Set a module indicator.
91704         (Makefile.am): Substitute GNULIB_CLOSE.
91705         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
91706         * modules/poll-tests (Depends-on): Add close.
91707         * modules/select-tests (Depends-on): Likewise.
91709 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
91710             Bruno Haible  <bruno@clisp.org>
91712         New module 'close'.
91713         * modules/close: New file.
91714         * lib/unistd.in.h (close): Move declaration out of the
91715         FCHDIR_REPLACEMENT scope.
91716         (_gl_unregister_fd): New declaration.
91717         * lib/close.c: New file.
91718         * lib/fchdir.c (rpl_close): Remove function.
91719         * m4/close.m4: New file.
91720         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
91721         close.
91722         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
91723         REPLACE_CLOSE.
91724         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
91725         REPLACE_CLOSE.
91726         * modules/fchdir (Depends-on): Add close.
91728 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
91729             Bruno Haible  <bruno@clisp.org>
91731         * lib/fcntl.in.h (open): Simplify conditionals.
91732         (_gl_register_fd): New declaration.
91733         * lib/fchdir.c (rpl_open): Remove function.
91734         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
91735         also.
91736         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
91737         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
91738         open.
91740 2008-10-09  Jim Meyering  <meyering@redhat.com>
91742         GNUmakefile: use the more name-space-friendly "_version"
91743         * top/GNUmakefile (_dummy): Update.
91744         (_version): Rename from "version".
91746 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
91747             Bruno Haible  <bruno@clisp.org>
91749         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
91750         rpl_close.
91751         (_gl_register_fd): New function, extracted from rpl_open.
91752         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
91753         (rpl_open, rpl_opendir): Use _gl_register_fd.
91755 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
91757         Fix organization of 'open' replacement.
91758         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
91759         (gl_FUNC_OPEN): Use it.
91760         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
91762 2008-10-08  Bruno Haible  <bruno@clisp.org>
91764         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
91766 2008-10-08  Simon Josefsson  <simon@josefsson.org>
91768         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
91769         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
91770         listen).
91772 2008-10-08  Eric Blake  <ebb9@byu.net>
91774         GNUmakefile: add 'make version' target
91775         * top/GNUmakefile (_curr-ver): Split version update rules...
91776         (version): ...into a target.
91778 2008-10-07  Bruno Haible  <bruno@clisp.org>
91780         Use a more portable replacement expression for -0.0L.
91781         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
91782         instead of -0.0L. Fix m4 quotation.
91784         * tests/test-signbit.c: Include <float.h>.
91785         (minus_zero): New variable.
91786         (test_signbitl): Use minus_zero instead of -zero.
91787         * modules/signbit-tests (Depends-on): Add float.
91789         * tests/test-ceill.c: Include <float.h>.
91790         (zero): Remove variable.
91791         (minus_zero): New variable.
91792         (main): Use minus_zero instead of -zero.
91793         * modules/ceill-tests (Depends-on): Add float.
91795         * tests/test-floorl.c: Include <float.h>.
91796         (zero): Remove variable.
91797         (minus_zero): New variable.
91798         (main): Use minus_zero instead of -zero.
91799         * modules/floorl-tests (Depends-on): Add float.
91801         * tests/test-roundl.c: Include <float.h>.
91802         (zero): Remove variable.
91803         (minus_zero): New variable.
91804         (main): Use minus_zero instead of -zero.
91805         * modules/roundl-tests (Depends-on): Add float.
91807         * tests/test-truncl.c: Include <float.h>.
91808         (zero): Remove variable.
91809         (minus_zero): New variable.
91810         (main): Use minus_zero instead of -zero.
91811         * modules/truncl-tests (Depends-on): Add float.
91813         * tests/test-frexpl.c (zero): Remove variable.
91814         (minus_zero): New variable.
91815         (main): Use minus_zero instead of -zero.
91816         * modules/frexpl-tests (Depends-on): Add float.
91818         * tests/test-isnan.c (zerol): Remove variable.
91819         (minus_zerol): New variable.
91820         (test_long_double): Use minus_zerol instead of -zerol.
91821         * modules/isnan-tests (Depends-on): Add float.
91823         * tests/test-isnanl.h (zero): Remove variable.
91824         (minus_zero): New variable.
91825         (main): Use minus_zero instead of -zero.
91826         * modules/isnanl-nolibm-tests (Depends-on): Add float.
91827         * modules/isnanl-tests (Depends-on): Add float.
91829         * tests/test-ldexpl.c (zero): Remove variable.
91830         (minus_zero): New variable.
91831         (main): Use minus_zero instead of -zero.
91832         * modules/ldexpl-tests (Depends-on): Add float.
91834         * tests/test-snprintf-posix.h (zerol): Remove variable.
91835         (minus_zerol): New variable.
91836         (test_function): Use minus_zerol instead of -zerol.
91837         * modules/snprintf-posix-tests (Depends-on): Add float.
91838         * modules/vsnprintf-posix-tests (Depends-on): Add float.
91840         * tests/test-sprintf-posix.h (zerol): Remove variable.
91841         (minus_zerol): New variable.
91842         (test_function): Use minus_zerol instead of -zerol.
91843         * modules/sprintf-posix-tests (Depends-on): Add float.
91844         * modules/vsprintf-posix-tests (Depends-on): Add float.
91846         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
91847         (minus_zerol): New variable.
91848         (test_function): Use minus_zerol instead of -zerol.
91849         * modules/vasnprintf-posix-tests (Depends-on): Add float.
91851         * tests/test-vasprintf-posix.c (zerol): Remove variable.
91852         (minus_zerol): New variable.
91853         (test_function): Use minus_zerol instead of -zerol.
91854         * modules/vasprintf-posix-tests (Depends-on): Add float.
91856 2008-10-07  Simon Josefsson  <simon@josefsson.org>
91858         * MODULES.html.sh (Support for building documentation): Mention
91859         pmccabe2html.  Sort entries.
91861         Add pmccabe2html module, from gnupdf.
91862         * build-aux/pmccabe.css: New file.
91863         * build-aux/pmccabe2html: New file.
91864         * m4/pmccabe2html.m4: New file.
91865         * modules/pmccabe2html: New file.
91867 2008-10-07  Richard W.M. Jones  <rjones@redhat.com>
91869         flock: new module
91870         * MODULES.html.sh: Add to list of modules.
91871         * lib/flock.c: flock implementation for Windows and Unix systems
91872         which have fcntl.
91873         * doc/glibc-functions/flock.texi: Update documentation.
91874         * lib/sys_file.in.h: <sys/file.h> header file.
91875         * m4/flock.m4: M4 macros.
91876         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
91877         * modules/flock: flock module.
91878         * modules/flock-tests: flock tests module.
91879         * modules/sys_file: sys/file.h module.
91880         * tests/test-flock.c: test suite for flock.
91882 2008-10-06  Jim Meyering  <meyering@redhat.com>
91884         bootstrap: check for LT_INIT more portably still ;-)
91885         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
91886         Spotted by Bruno Haible.
91888 2008-10-06  Eric Blake  <ebb9@byu.net>
91890         test-signbit: avoid tripping Irix cc bug on -0.0L
91891         * tests/test-signbit.c (minus_zerol): Delete, and replace with
91892         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
91893         entire testsuite consistent and avoids an Irix 6.2 bug.
91895 2008-10-05  Bruno Haible  <bruno@clisp.org>
91896             Jim Meyering  <jim@meyering.net>
91898         Add an option for ignoring EPIPE during close_stdout.
91899         * lib/closeout.h: Include <stdbool.h>.
91900         (close_stdout_set_ignore_EPIPE): New declaration.
91901         * lib/closeout.c: Include <stdbool.h>.
91902         (ignore_EPIPE): New variable.
91903         (close_stdout_set_ignore_EPIPE): New function.
91904         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
91905         * lib/close-stream.c (close_stream): Mention the possible EPIPE
91906         failure.
91907         * modules/closeout (Depends-on): Add stdbool.
91909 2008-10-05  Bruno Haible  <bruno@clisp.org>
91911         * modules/accept: New file.
91912         * modules/bind: New file.
91913         * modules/connect: New file.
91914         * modules/getpeername: New file.
91915         * modules/getsockname: New file.
91916         * modules/getsockopt: New file.
91917         * modules/listen: New file.
91918         * modules/recv: New file.
91919         * modules/recvfrom: New file.
91920         * modules/send: New file.
91921         * modules/sendto: New file.
91922         * modules/setsockopt: New file.
91923         * modules/socket: New file.
91924         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
91925         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
91926         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
91927         the particular module is requested. Add a link warning when the
91928         particular module is not requested.
91929         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
91930         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
91931         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
91932         the particular module is requested.
91933         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
91934         gl_SYS_SOCKET_H_DEFAULTS): New macros.
91935         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
91936         * modules/sys_socket (Depends-on): Add link-warning.
91937         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
91938         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
91939         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
91940         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
91941         GL_LINK_WARNING.
91942         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
91943         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
91944         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
91945         * doc/posix-functions/getpeername.texi: Mention the new module
91946         'getpeername'.
91947         * doc/posix-functions/getsockname.texi: Mention the new module
91948         'getsockname'.
91949         * doc/posix-functions/getsockopt.texi: Mention the new module
91950         'getsockopt'.
91951         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
91952         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
91953         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
91954         * doc/posix-functions/send.texi: Mention the new module 'send'.
91955         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
91956         * doc/posix-functions/setsockopt.texi: Mention the new module
91957         'setsockopt'.
91958         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
91959         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
91960         listen, connect, accept.
91961         * modules/select-tests (Depends-on): Likewise.
91963 2008-10-05  Bruno Haible  <bruno@clisp.org>
91965         * lib/winsock.c (strerror): Remove unused #undef.
91966         (rpl_close): Remove unused local variable.
91968         * modules/sys_socket (Depends-on); Add errno.
91970 2008-10-05  Bruno Haible  <bruno@clisp.org>
91972         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
91973         (select): Add a link warning when the 'select' module is not used.
91974         * modules/sys_select (Depends-on): Add link-warning.
91975         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
91976         Suggested by Paolo Bonzini.
91978 2008-10-05  Jim Meyering  <meyering@redhat.com>
91980         bootstrap: check for LT_INIT more portably
91981         * build-aux/bootstrap: Avoid using grep -E, since it's not
91982         portable enough.  Suggestion from Bruno Haible.
91984 2008-10-05  Bruno Haible  <bruno@clisp.org>
91986         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
91987         as being fixed by gnulib.
91989 2008-10-05  Bruno Haible  <bruno@clisp.org>
91991         * modules/select-tests: New file, mostly copied from
91992         modules/sys_select-tests.
91993         * tests/test-select.c: New file, mostly copied from
91994         tests/test-sys_select.c.
91995         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
91996         * modules/sys_select-tests (Depends-on): Remove all dependencies.
91997         (Makefile.am): Remove test_sys_select_LDADD.
91999         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
92000         to an undefined symbol, for an error message.
92001         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
92002         (gl_SYS_SELECT_H_DEFAULTS): New macro.
92003         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
92004         winsock-select.c here.
92005         * modules/sys_select (Files): Remove lib/winsock-select.c.
92006         (Depends-on): Remove alloca.
92007         (Makefile.am): Substitute GNULIB_SELECT.
92008         * modules/select: New file.
92009         * doc/posix-functions/select.texi: Update.
92011 2008-10-05  Bruno Haible  <bruno@clisp.org>
92013         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
92014         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
92015         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
92016         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
92017         getdtablesize.
92018         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
92019         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
92021 2008-10-05  Bruno Haible  <bruno@clisp.org>
92023         * modules/getdtablesize-tests: New file.
92024         * tests/test-getdtablesize.c: New file.
92026         New module 'getdtablesize'.
92027         * lib/unistd.in.h (getdtablesize): New declaration.
92028         * lib/getdtablesize.c: New file.
92029         * m4/getdtablesize.m4: New file.
92030         * modules/getdtablesize: New file.
92031         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
92032         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
92033         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
92034         HAVE_GETDTABLESIZE.
92035         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
92037 2008-10-05  Bruno Haible  <bruno@clisp.org>
92039         * modules/sched (Makefile.am): Fix typo.
92040         Reported by Simon Josefsson.
92042 2008-10-05  Jim Meyering  <meyering@redhat.com>
92044         bootstrap: check for LT_INIT, too
92045         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
92046         are deprecated.  Suggestion from Ralf Wildenhues.
92048 2008-10-05  Bruno Haible  <bruno@clisp.org>
92050         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
92051         overriding them by ours.
92052         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
92054 2008-10-05  Jim Meyering  <meyering@redhat.com>
92056         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
92057         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
92058         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
92060 2008-10-04  Bruno Haible  <bruno@clisp.org>
92062         * modules/dup2 (License): Change to LGPLv2+.
92063         * modules/sleep (License): Likewise.
92064         * modules/perror (License): Likewise.
92065         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
92066         Blake.
92067         * modules/signal (License): Likewise.
92068         * modules/sigprocmask (License): Likewise.
92069         * modules/raise (License): Change to LGPLv2+, with approval by Jim
92070         Meyering.
92072 2008-10-04  Bruno Haible  <bruno@clisp.org>
92074         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
92075         Reported by Rainer Tammer <tammer@tammer.net>.
92077 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
92078             Bruno Haible  <bruno@clisp.org>
92080         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
92081         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
92082         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
92084 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
92086         filevercmp: new module
92087         * lib/filevercmp.h: New function filevercmp comparing version strings.
92088         * lib/filevercmp.c: Implementation of filevercmp function.
92089         * modules/filevercmp: Module metadata.
92090         * tests/test-filevercmp.c: Unit test for new module.
92091         * modules/filevercmp-tests: Unit test metadata.
92092         * MODULES.html.sh: Add filevercmp module.
92094 2008-10-03  Bruno Haible  <bruno@clisp.org>
92096         * lib/c-ctype.h: Add comment.
92097         Reported by Jim Meyering.
92099 2008-10-02  Bruno Haible  <bruno@clisp.org>
92101         * modules/posix_spawn-internal (Depends-on): Add 'open'.
92103 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
92105         * build-aux/bootstrap: Allow renaming bootstrap, and change the
92106         name of bootstrap.conf accordingly.
92108 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
92110         * build-aux/bootstrap: Install git-merge-changelog configuration
92111         items into .gitconfig if needed.
92113 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
92115         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
92116         git repository, and initialize/update it accordingly.
92118 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
92120         * modules/fsync-tests: New file.
92121         * tests/test-fsync.c: New file.
92123         New module 'fsync'.
92124         * lib/fsync.c: New file.
92125         * m4/fsync.m4: New file.
92126         * modules/fsync: New file.
92127         * lib/unistd.in.h (fsync): New declaration.
92128         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
92129         GNULIB_FSYNC and HAVE_FSYNC.
92130         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
92131         * MODULES.html.sh (posix_functions): Add fsync.
92132         * doc/posix-functions/fsync.texi: Mention the new module.
92134 2008-10-02  Jim Meyering  <meyering@redhat.com>
92136         fts.c: sync with similar code from coreutils' remove.c
92137         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
92138         Guard also with "#if defined __linux__", since for now at least,
92139         this code is Linux-kernel-specific.
92141 2008-10-02  Jim Meyering  <meyering@redhat.com>
92143         fts: bug fixes
92144         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
92145         Include <sys/vfs.h>, not <sys/statfs.h>.
92147         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
92148         Include <sys/vfs.h>, not <sys/statfs.h>.
92150 2008-10-01  Bruno Haible  <bruno@clisp.org>
92152         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
92153         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
92154         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
92155         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
92156         * doc/posix-functions/posix_spawnp.texi: Likewise.
92157         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
92158         whether posix_spawn actually works.
92159         * m4/pipe.m4 (gl_PIPE): Likewise.
92160         * modules/execute (Files): Add m4/posix_spawn.m4.
92161         * modules/pipe (Files): Add m4/posix_spawn.m4.
92162         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
92164 2008-10-01  Jim Meyering  <meyering@redhat.com>
92166         remove trailing spaces
92167         * NEWS: Likewise.
92168         * lib/poll.c (poll): Likewise.
92169         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
92170         * lib/winsock.c (rpl_close): Likewise.
92171         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
92172         * modules/yield: Likewise.
92173         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
92174         * tests/test-sys_select.c (connect_to_socket): Likewise.
92176         fts.c: adjust a new interface to be more generally useful
92177         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
92178         (fts_build): Adjust caller.
92180 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
92182         * modules/cond-tests: New file.
92183         * tests/test-cond.c: New file.
92185 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
92186             Bruno Haible  <bruno@clisp.org>
92188         * modules/cond (Dependencies): Add errno, time.
92189         * lib/glthread/cond.h: Include <time.h>.
92190         (gl_cond_define, gl_cond_define_initialized): Use the same definition
92191         across platforms.
92193 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
92194             Bruno Haible  <bruno@clisp.org>
92196         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
92198 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
92199             Bruno Haible  <bruno@clisp.org>
92201         * modules/tls-tests (Depends-on): Add thread, yield.
92202         (configure.ac): Remove all checks.
92203         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
92204         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
92205         gl_thread_self): Remove definitions. Include glthread/thread.h and
92206         glthread/yield.h instead.
92207         (test_tls): Pass an additional NULL argument to gl_thread_join.
92209 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
92210             Bruno Haible  <bruno@clisp.org>
92212         * modules/lock-tests (Depends-on): Add thread, yield.
92213         (configure.ac): Remove all checks.
92214         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
92215         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
92216         gl_thread_self): Remove definitions. Include glthread/thread.h and
92217         glthread/yield.h instead.
92218         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
92219         additional NULL argument to gl_thread_join.
92221 2008-09-30  Bruno Haible  <bruno@clisp.org>
92223         Fix the Win32 implementation of the 'thread' module.
92224         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
92225         pointer type.
92226         (gl_thread_self): Invoke gl_thread_self_func.
92227         (gl_thread_self_func): New declaration.
92228         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
92229         (do_init_self_key, init_self_key): New functions.
92230         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
92231         Remove some fields.
92232         (running_threads, running_lock): Remove variables.
92233         (get_current_thread_handle): New function.
92234         (gl_thread_self_func, wrapper_func, glthread_create_func,
92235         glthread_join_func, gl_thread_exit_func): Largely rewritten and
92236         simplified.
92238 2008-09-30  Bruno Haible  <bruno@clisp.org>
92240         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
92241         files.
92243 2008-09-30  Jim Meyering  <meyering@redhat.com>
92245         fts.m4: correct the test for statfs.f_type
92246         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
92247         when checking for statfs.f_type.
92249 2008-09-15  Simon Josefsson  <simon@josefsson.org>
92251         tests: avoid some compiler warnings
92252         * tests/test-memchr.c (main): Pass NULL indirectly.
92253         * tests/test-getdate.c (main): Remove unused variable 'ret'.
92255 2008-09-29  Ondřej Vašík  <ovasik@redhat.com>
92257         getdate.y: disallow countable dayshifts like "4 yesterday ago"
92258         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
92259         exactly specified dayshifts.
92260         (dayshift): New rule.
92261         (rel): Add dayshift.
92262         (relative_time_table) [tomorrow, yesterday, today, now]:
92263         Use tDAY_SHIFT in place of tDAY_UNIT.
92264         * tests/test-getdate.c: Add tests for now-disallowed countable
92265         dayshifts, e.g., "4 yesterday ago".
92267 2008-09-29  Bruno Haible  <bruno@clisp.org>
92269         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
92270         * tests/test-posix_spawn1.in.sh: Renamed from
92271         tests/test-posix_spawn.in.sh.
92272         * tests/test-posix_spawn2.c: New file.
92273         * tests/test-posix_spawn2.in.sh: New file.
92274         * modules/posix_spawnp-tests (Files): Update.
92275         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
92277 2008-09-29  Bruno Haible  <bruno@clisp.org>
92279         Propagate effects of putenv/setenv/unsetenv to child processes.
92280         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
92281         * lib/pipe.c (create_pipe): Likewise.
92283 2008-09-29  Bruno Haible  <bruno@clisp.org>
92285         Enable use of shell scripts as executables in mingw.
92286         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
92287         run the program as a shell script.
92288         * lib/pipe.c (create_pipe): Likewise.
92289         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
92290         resulting array.
92292 2008-09-29  Eric Blake  <ebb9@byu.net>
92294         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
92296 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
92298         * doc/posix-functions/accept.texi: Update mingw problems.
92299         * doc/posix-functions/bind.texi: Update mingw problems.
92300         * doc/posix-functions/close.texi: Update mingw problems.
92301         * doc/posix-functions/connect.texi: Update mingw problems.
92302         * doc/posix-functions/getpeername.texi: Update mingw problems.
92303         * doc/posix-functions/getsockname.texi: Update mingw problems.
92304         * doc/posix-functions/getsockopt.texi: Update mingw problems.
92305         * doc/posix-functions/ioctl.texi: Update mingw problems.
92306         * doc/posix-functions/listen.texi: Update mingw problems.
92307         * doc/posix-functions/recv.texi: Update mingw problems.
92308         * doc/posix-functions/recvfrom.texi: Update mingw problems.
92309         * doc/posix-functions/select.texi: Update mingw problems.
92310         * doc/posix-functions/send.texi: Update mingw problems.
92311         * doc/posix-functions/sendto.texi: Update mingw problems.
92312         * doc/posix-functions/setsockopt.texi: Update mingw problems.
92313         * doc/posix-functions/socket.texi: Update mingw problems.
92315 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
92316             Bruno Haible  <bruno@clisp.org>
92318         * lib/sys_select.in.h: Include sys/time.h.
92319         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
92320         * modules/sys_select: Depend on sys_time.
92321         * tests/test-sys_select.c: Test that sys/select.h defines struct
92322         timeval fully.
92324 2008-09-29  Bruno Haible  <bruno@clisp.org>
92326         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
92327         * lib/sys_select.in.h: Likewise.
92329 2008-09-29  Bruno Haible  <bruno@clisp.org>
92331         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
92333 2008-09-29  Bruno Haible  <bruno@clisp.org>
92335         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
92336         Set LIBSOCKET instead of augmenting LIBS.
92337         * modules/sockets (Link): New section.
92338         * modules/sockets-tests (test_sockets_LDADD): New variable.
92339         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
92340         * modules/poll-tests (test_poll_LDADD): New variable.
92341         * NEWS: Document the change.
92343 2008-09-29  Bruno Haible  <bruno@clisp.org>
92345         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
92346         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
92347         ARPA_INET_H directly.
92348         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
92350 2008-09-28  Bruno Haible  <bruno@clisp.org>
92352         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
92353         from gl_HEADER_SYS_SOCKET.
92354         (gl_HEADER_SYS_SOCKET): Invoke it.
92355         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
92357 2008-09-28  Bruno Haible  <bruno@clisp.org>
92359         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
92360         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
92361         Needed on OSF/1 4.0.
92363 2008-09-28  Bruno Haible  <bruno@clisp.org>
92365         Override open more carefully.
92366         * lib/open.c (orig_open): New function.
92367         (rpl_open): Use orig_open instead of open.
92368         * lib/fcntl.in.h: Add special invocation convention.
92369         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
92370         (gl_FUNC_OPEN): Invoke it.
92372         Override freopen more carefully.
92373         * lib/freopen.c (orig_freopen): New function.
92374         (rpl_freopen): Use orig_freopen instead of freopen.
92375         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
92376         (gl_FUNC_FREOPEN): Invoke it.
92378         Override fopen more carefully.
92379         * lib/fopen.c (orig_fopen): New function.
92380         (rpl_fopen): Use orig_fopen instead of fopen.
92381         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
92382         (gl_FUNC_FOPEN): Invoke it.
92383         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
92385 2008-09-28  Bruno Haible  <bruno@clisp.org>
92387         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
92388         SIGPIPE.
92390 2008-09-28  Bruno Haible  <bruno@clisp.org>
92392         * tests/test-sigaction.c (handler, main): Disable the check whether
92393         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
92394         glibc systems with LinuxThreads.
92396 2008-09-28  Bruno Haible  <bruno@clisp.org>
92398         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
92400         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
92401         with AIX xlc.
92402         * lib/fcntl.in.h (open): Likewise.
92403         Reported by Rainer Tammer <tammer@tammer.net>.
92405 2008-09-28  Bruno Haible  <bruno@clisp.org>
92407         * modules/posix_spawnp-tests: New file.
92408         * tests/test-posix_spawn.c: New file.
92409         * tests/test-posix_spawn.in.sh: New file.
92411         New module 'posix_spawnp'.
92412         * modules/posix_spawnp: New file.
92413         * lib/spawnp.c: New file, from GNU libc with modifications.
92414         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
92416         New module 'posix_spawn'.
92417         * modules/posix_spawn: New file.
92418         * lib/spawn.c: New file, from GNU libc with modifications.
92419         * doc/posix-functions/posix_spawn.texi: Mention the new module.
92421         New module 'posix_spawnattr_destroy'.
92422         * modules/posix_spawnattr_destroy: New file.
92423         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
92424         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
92425         module.
92427         New module 'posix_spawnattr_setsigmask'.
92428         * modules/posix_spawnattr_setsigmask: New file.
92429         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
92430         modifications.
92431         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
92432         new module.
92434         New module 'posix_spawnattr_getsigmask'.
92435         * modules/posix_spawnattr_getsigmask: New file.
92436         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
92437         modifications.
92438         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
92439         new module.
92441         New module 'posix_spawnattr_setsigdefault'.
92442         * modules/posix_spawnattr_setsigdefault: New file.
92443         * lib/spawnattr_setdefault.c: New file, from GNU libc with
92444         modifications.
92445         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
92446         new module.
92448         New module 'posix_spawnattr_getsigdefault'.
92449         * modules/posix_spawnattr_getsigdefault: New file.
92450         * lib/spawnattr_getdefault.c: New file, from GNU libc with
92451         modifications.
92452         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
92453         new module.
92455         New module 'posix_spawnattr_setschedpolicy'.
92456         * modules/posix_spawnattr_setschedpolicy: New file.
92457         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
92458         modifications.
92459         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
92460         new module.
92462         New module 'posix_spawnattr_getschedpolicy'.
92463         * modules/posix_spawnattr_getschedpolicy: New file.
92464         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
92465         modifications.
92466         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
92467         new module.
92469         New module 'posix_spawnattr_setschedparam'.
92470         * modules/posix_spawnattr_setschedparam: New file.
92471         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
92472         modifications.
92473         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
92474         new module.
92476         New module 'posix_spawnattr_getschedparam'.
92477         * modules/posix_spawnattr_getschedparam: New file.
92478         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
92479         modifications.
92480         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
92481         new module.
92483         New module 'posix_spawnattr_setpgroup'.
92484         * modules/posix_spawnattr_setpgroup: New file.
92485         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
92486         modifications.
92487         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
92488         module.
92490         New module 'posix_spawnattr_getpgroup'.
92491         * modules/posix_spawnattr_getpgroup: New file.
92492         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
92493         modifications.
92494         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
92495         module.
92497         New module 'posix_spawnattr_setflags'.
92498         * modules/posix_spawnattr_setflags: New file.
92499         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
92500         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
92501         module.
92503         New module 'posix_spawnattr_getflags'.
92504         * modules/posix_spawnattr_getflags: New file.
92505         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
92506         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
92507         module.
92509         New module 'posix_spawnattr_init'.
92510         * modules/posix_spawnattr_init: New file.
92511         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
92512         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
92513         module.
92515         New module 'posix_spawn_file_actions_destroy'.
92516         * modules/posix_spawn_file_actions_destroy: New file.
92517         * lib/spawn_faction_destroy.c: New file, from GNU libc with
92518         modifications.
92519         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
92520         the new module.
92522         New module 'posix_spawn_file_actions_addopen'.
92523         * modules/posix_spawn_file_actions_addopen: New file.
92524         * lib/spawn_faction_addopen.c: New file, from GNU libc with
92525         modifications.
92526         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
92527         the new module.
92529         New module 'posix_spawn_file_actions_adddup2'.
92530         * modules/posix_spawn_file_actions_adddup2: New file.
92531         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
92532         modifications.
92533         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
92534         the new module.
92536         New module 'posix_spawn_file_actions_addclose'.
92537         * modules/posix_spawn_file_actions_addclose: New file.
92538         * lib/spawn_faction_addclose.c: New file, from GNU libc with
92539         modifications.
92540         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
92541         the new module.
92543         New module 'posix_spawn_file_actions_init'.
92544         * modules/posix_spawn_file_actions_init: New file.
92545         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
92546         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
92547         new module.
92549         New module 'posix_spawn-internal'.
92550         * modules/posix_spawn-internal: New file.
92551         * lib/spawn_int.h: New file, from GNU libc with modifications.
92552         * lib/spawni.c: New file, from GNU libc with modifications.
92553         * m4/posix_spawn.m4: New file.
92555         New module 'spawn'.
92556         * modules/spawn: New file.
92557         * lib/spawn.in.h: New file, from GNU libc with modifications.
92558         * m4/spawn_h.m4: New file.
92559         * doc/posix-headers/spawn.texi: Mention the new module.
92561 2008-09-28  Bruno Haible  <bruno@clisp.org>
92563         * modules/sched-tests: New file.
92564         * tests/test-sched.c: New file.
92566         New module 'sched'.
92567         * modules/sched: New file.
92568         * lib/sched.in.h: New file.
92569         * m4/sched_h.m4: New file.
92570         * doc/posix-headers/sched.texi: Mention the new module.
92572 2008-09-27  Eric Blake  <ebb9@byu.net>
92574         Fix previous patch, and tweak references to $0.
92575         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
92576         (func_version, func_gnulib_dir): Don't call this program
92577         gnulib-tool.
92578         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
92579         with using $0 in function.
92580         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
92581         (func_fatal_error): Reuse the name the user invoked us with.
92583 2008-09-27  Bruno Haible  <bruno@clisp.org>
92585         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
92586         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
92587         (gl_ICONV_H): Not here.
92588         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
92589         instead of assigning ICONV_H directly.
92591         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
92592         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
92593         WCHAR_H directly.
92595 2008-09-27  Bruno Haible  <bruno@clisp.org>
92597         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
92598         * modules/arpa_inet (Depends-on): Add link-warning.
92599         (Makefile.am): Insert the definition of GL_LINK-WARNING.
92600         * modules/unistd (Makefile.am): Likewise.
92602 2008-09-26  Bruno Haible  <bruno@clisp.org>
92604         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
92605         variables.
92606         (func_version): Essentially copied from gnulib-tool.
92607         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
92608         func_readlink): Copied from gnulib-tool.
92610 2008-09-26  Bruno Haible  <bruno@clisp.org>
92612         * gnulib-tool (func_version): Change directory to $gnulib_dir before
92613         invoking git-version-gen.
92615 2008-09-26  Bruno Haible  <bruno@clisp.org>
92617         * posix-modules: Update to directory names changed on 2008-01-19.
92618         Remove commas in output before splitting into words. No more need to
92619         avoid 'ftruncate' since 2007-02-19.
92621 2008-09-26  Bruno Haible  <bruno@clisp.org>
92623         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
92625 2008-09-26  Bruno Haible  <bruno@clisp.org>
92627         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
92628         * modules/fwriteerror (Depends-on): Add errno.
92630 2008-09-26  Bruno Haible  <bruno@clisp.org>
92632         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
92633         * tests/test-vc-list-files-cvs.sh: Likewise.
92635 2008-09-26  Bruno Haible  <bruno@clisp.org>
92637         * doc/posix-headers/sys_resource.texi: Reorder items.
92639 2008-09-26  Jim Meyering  <meyering@redhat.com>
92641         fts: tweak inode comparison function
92642         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
92643         inode numbers, as documented.
92645         fts: sort dirent entries on inode number before traversing
92646         This avoids a quadratic, seek-related performance penalty when
92647         operating on a directory containing many entries (measurable at 10k;
92648         3.5 hours at 2 million entries with a cold cache) on certain types
92649         of file systems, including ext3 and ext4, but not tmpfs.
92650         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
92651         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
92652         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
92653         (fs_handles_readdir_ordered_dirents_efficiently): New function.
92654         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
92655         (fts_build): Set the stat.st_ino member from D_INO.
92656         If it is likely to be useful, sort dirent entries on inode number.
92658         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
92659         and the struct statfs.f_type member.
92660         * modules/fts (Depends-on): Add d-ino.
92662 2008-09-26  Bruno Haible  <bruno@clisp.org>
92664         * modules/sigpipe-die (Depends-on): Add sigpipe.
92666         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
92667         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
92668         and GNULIB_STDIO_H_SIGPIPE are set.
92669         * lib/stdio-write.c: New file.
92670         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
92671         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
92672         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
92673         REPLACE_STDIO_WRITE_FUNCS.
92674         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
92675         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
92676         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
92677         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
92678         * modules/stdio (Files): Add lib/stdio-write.c.
92679         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
92680         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
92681         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
92682         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
92683         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
92684         REPLACE_FPRINTF_POSIX.
92685         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
92686         REPLACE_PRINTF_POSIX.
92687         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
92688         REPLACE_VFPRINTF_POSIX.
92689         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
92690         REPLACE_VPRINTF_POSIX.
92691         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
92692         SIGPIPE issue.
92693         * doc/posix-functions/fputc.texi: Likewise.
92694         * doc/posix-functions/fputs.texi: Likewise.
92695         * doc/posix-functions/fwrite.texi: Likewise.
92696         * doc/posix-functions/printf.texi: Likewise.
92697         * doc/posix-functions/putc.texi: Likewise.
92698         * doc/posix-functions/putchar.texi: Likewise.
92699         * doc/posix-functions/puts.texi: Likewise.
92700         * doc/posix-functions/vfprintf.texi: Likewise.
92701         * doc/posix-functions/vprintf.texi: Likewise.
92703         * modules/safe-write (Depends-on): Add write.
92705         * modules/sigpipe-tests: New file.
92706         * tests/test-sigpipe.c: New file.
92707         * tests/test-sigpipe.sh: New file.
92709         * modules/write: New file.
92710         * lib/unistd.in.h: Include <sys/types.h>.
92711         (write): New declaration.
92712         * lib/write.c: New file.
92713         * m4/write.m4: New file.
92714         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
92715         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
92716         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
92717         GNULIB_WRITE, REPLACE_WRITE.
92718         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
92719         and the SIGPIPE issue.
92721         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
92722         (raise): New declaration.
92723         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
92724         (ext_signal): New function.
92725         (rpl_raise): New function.
92726         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
92727         GNULIB_SIGNAL_H_SIGPIPE.
92728         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
92729         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
92731         * modules/sigpipe: New file.
92732         * m4/sigpipe.m4: New file.
92734 2008-09-25  Derek Price  <derek@ximbiot.com>
92735             Bruno Haible  <bruno@clisp.org>
92737         * gnulib-tool (func_import): Report all license incompatibilities, not
92738         just the first one.
92740 2008-09-25  Bruno Haible  <bruno@clisp.org>
92742         * gnulib-tool (func_import): When computing the edits, consider not
92743         only the Makefile.ams that exist but also those that will be generated.
92745 2008-09-25  Simon Josefsson  <simon@josefsson.org>
92747         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
92748         fixes gnulib-tool --test warning about duplicate dependency.
92750 2008-09-25  Bruno Haible  <bruno@clisp.org>
92752         * gnulib-tool: Don't ask the user to perform edits in the generated
92753         Makefile.ams.
92754         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
92755         apply to the Makefile.am being generated.
92756         (func_emit_tests_Makefile_am): Execute edits that apply to the
92757         Makefile.am being generated.
92758         (func_import): Setup list of Makefile.am edits before emitting the
92759         Makefile.ams, not at the end.
92760         (func_create_testdir): Update.
92761         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
92763 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
92765         * gnulib-tool (func_import): Store the --tests-base option in the
92766         comment in gnulib-cache.m4.
92768 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
92770         * NEWS: Document increased portability that sys_select now provides.
92772         * lib/sys_select.in.h: Install select wrapper.
92773         * lib/sys_socket.in.h: Use more descriptive name when there is no
92774         select wrapper.
92775         * lib/winsock-select.c: New.
92776         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
92777         Require gl_HEADER_SYS_SOCKET.
92778         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
92779         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
92780         * tests/test-sys_select.c: Add functional tests.
92782 2008-09-24  Eric Blake  <ebb9@byu.net>
92784         open, fopen: close fd leak in last patch
92785         * lib/open.c (rpl_open): Close fd before returning error.
92786         * lib/fopen.c (rpl_fopen): Close fd before returning error.
92787         * doc/posix-functions/open.texi (open): Document that Irix also
92788         has the bug.
92789         * doc/posix-functions/fopen.texi (fopen): Likewise.
92790         Reported by Paolo Bonzini.
92792 2008-09-24  Bruno Haible  <bruno@clisp.org>
92794         Ensure that a filename ending in a slash cannot be used to access a
92795         non-directory.
92796         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
92797         to check whether it's really a directory.
92798         * lib/fopen.c: Include fcntl.h, unistd.h.
92799         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
92800         and fdopen().
92801         * modules/fopen (Depends-on): Add unistd.
92802         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
92803         * tests/test-fopen.c (main): Likewise.
92804         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
92805         * doc/posix-functions/fopen.texi: Likewise.
92806         Reported by Eric Blake.
92808 2008-09-23  Eric Blake  <ebb9@byu.net>
92810         c-stack: avoid compiler optimizations when provoking overflow
92811         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
92812         recursion harder to optimize, to ensure a stack overflow occurs.
92813         * tests/test-c-stack.c (recurse): Likewise.
92814         Borrowed from libsigsegv.
92816         c-stack: work around Irix sigaltstack bug
92817         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
92818         whether sigaltstack uses wrong end of stack_t (copied in part from
92819         libsigsegv).
92820         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
92821         Irix bug, without requiring an over-allocation.
92822         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
92823         bug.
92825         fopen: document mingw bug on directories
92826         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
92827         not allowing a stream visiting a directory, even though reading
92828         from such a stream is not portable.
92830 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
92832         * lib/poll.c: Rewrite.
92833         * modules/poll: Depend on alloca.
92835 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
92837         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
92838         instead define prototypes for a full set of wrappers.  Ensure
92839         that Cygwin does not use the compatibility code, which is only
92840         for MinGW.
92841         * lib/winsock.c: New.
92842         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
92843         * modules/sys_socket: Add lib/winsock.c.
92845         * modules/poll-tests: Add errno and perror.
92846         * tests/test-poll.c: Use ioctl, not ioctlsocket.
92848 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
92850         * tests/test-poll.c: Downgrade minimum needed Winsock version.
92852 2008-09-23  Bruno Haible  <bruno@clisp.org>
92854         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
92855         * doc/glibc-functions/*: Likewise.
92857 2008-09-23  Simon Josefsson  <simon@josefsson.org>
92859         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
92860         success.
92862 2008-09-22  Eric Blake  <ebb9@byu.net>
92863             Bruno Haible  <bruno@clisp.org>
92865         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
92866         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
92867         supply %A but mishandle pseudo-NaN.
92868         Reported by Simon Josefsson.
92870 2008-09-21  Bruno Haible  <bruno@clisp.org>
92872         * tests/test-lock.c (main): Tweak skip message.
92873         * tests/test-tls.c (main): Likewise.
92875 2008-09-21  Bruno Haible  <bruno@clisp.org>
92877         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
92878         whether 'struct sigaction' has sa_sigaction here...
92879         (gl_PREREQ_SIG_HANDLER_H): ... not here.
92880         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
92882 2008-09-21  Bruno Haible  <bruno@clisp.org>
92884         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
92885         section.
92886         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
92887         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
92888         the new section.
92889         (Support for obsolete systems lacking POSIX:2001): New section.
92890         (String handling <string.h>): Move strdup to the new section.
92891         Suggested by Simon Josefsson and Paolo Bonzini.
92893 2008-09-21  Bruno Haible  <bruno@clisp.org>
92895         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
92896         exponents in %e and %g results on 'long double'. Needed for mingw's
92897         improved *printf functions.
92898         * tests/test-vasprintf-posix.c (test_function): Likewise.
92899         * tests/test-snprintf-posix.h (test_function): Likewise.
92900         * tests/test-sprintf-posix.h (test_function): Likewise.
92901         Reported by Eric Blake.
92903 2008-09-21  Bruno Haible  <bruno@clisp.org>
92905         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
92906         * tests/test-sprintf-posix.h (test_function): Likewise.
92908 2008-09-21  Bruno Haible  <bruno@clisp.org>
92910         * modules/getpass (Depends-on): Add strdup-posix.
92912         New module 'strdup-posix'.
92913         * modules/strdup-posix: New file.
92914         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
92915         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
92916         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
92917         REPLACE_STRDUP.
92918         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
92919         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
92920         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
92921         strdup-posix.
92923         * modules/strdup (Depends-on): Remove malloc-posix.
92925 2008-09-20  Bruno Haible  <bruno@clisp.org>
92927         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
92928         Wildenhues.
92930 2008-09-20  Bruno Haible  <bruno@clisp.org>
92932         Ensure that wint_t gets defined on IRIX 5.3.
92933         * lib/wchar.in.h (wint_t): Define if not defined by the system.
92934         * lib/wctype.in.h (wint_t): Likewise.
92935         (__wctype_wint_t): Remove type.
92936         (isw*): Use wint_t instead of __wctype_wint_t.
92937         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
92938         * modules/wchar (Files): Add m4/wint_t.m4.
92939         (Makefile.am): Substitute HAVE_WINT_T.
92940         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
92941         * tests/test-wctype.c: Check that wint_t is defined.
92942         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
92943         * doc/posix-headers/wctype.texi: Likewise.
92944         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
92946 2008-09-18  Bruno Haible  <bruno@clisp.org>
92948         * gnulib-tool (func_exit): Update comment.
92950 2008-09-18  Simon Josefsson  <simon@josefsson.org>
92952         * modules/getaddrinfo (Depends-on): Remove strdup, this module
92953         assumes strdup exists and does not depend on strdup to return
92954         ENOMEM on out of memory conditions.
92956 2008-09-18  Bruno Haible  <bruno@clisp.org>
92958         * lib/vasnprintf.c (VASNPRINTF): When printing ±0.0L in
92959         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
92960         digits for the exponent.
92962 2008-09-18  Jim Meyering  <meyering@redhat.com>
92963             Bruno Haible  <bruno@clisp.org>
92965         * lib/vasnprintf.c (decimal_point_char): Define also if
92966         NEED_PRINTF_INFINITE_LONG_DOUBLE.
92968 2008-09-16  Bruno Haible  <bruno@clisp.org>
92969         and Eric Blake  <ebb9@byu.net>
92971         vasnprintf: support Irix 5.3
92972         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
92973         that mishandle long double infinity.
92974         Reported by Tom G. Christensen.
92976 2008-09-16  Bruno Haible  <bruno@clisp.org>
92978         * doc/glibc-functions/scandir.texi: Mention the function is missing on
92979         Solaris 9.
92980         * doc/glibc-functions/alphasort.texi: Likewise.
92981         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
92983 2008-09-16  Jim Meyering  <meyering@redhat.com>
92985         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
92986         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
92987         a umask modification leak out of a subshell.  Otherwise, the
92988         opensolaris /bin/sh would be accepted and thus cause unwarranted
92989         failures in the coreutils test suite.
92991 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
92993         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
92994         to succeed.
92996 2008-09-16  Jim Meyering  <meyering@redhat.com>
92998         avoid spurious test failure when library is built without ACL support
92999         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
93000         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
93001         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
93002         * tests/test-copy-acl.sh: Likewise.
93004 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
93006         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
93007         based on character occurrence counts.
93009 2008-09-15  Eric Blake  <ebb9@byu.net>
93011         tests: avoid some compiler warnings
93012         * tests/test-memchr.c (main): Pass NULL indirectly.
93013         * tests/test-closein.c (main): Avoid unused variable.
93015 2008-09-15  Bruno Haible  <bruno@clisp.org>
93017         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
93018         are missing on OpenBSD 4.0 individually.
93019         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
93021 2008-09-15  Bruno Haible  <bruno@clisp.org>
93023         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
93024         * doc/posix-functions/strerror.texi: Mention also Cygwin.
93025         * doc/posix-functions/perror.texi: Likewise.
93026         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
93027         is missing.
93028         Reported by Eric Blake.
93030         * lib/errno.in.h: Use replacement values >= 2000.
93031         Reported by Eric Blake.
93033 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
93035         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
93036         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
93037         limit.
93038         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
93039         compareseq was aborted.
93041 2008-09-14  Bruno Haible  <bruno@clisp.org>
93043         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
93044         yvec_edit_count.
93045         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
93046         (fstrcmp_bounded): Simplify result computation accordingly.
93048 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
93050         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
93051         (fstrcmp): Define in terms of fstrcmp_bounded.
93052         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
93053         lower_bound argument.
93054         Return quickly if the result is certainly < lower_bound.
93055         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
93057 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
93059         * lib/diffseq.h (EARLY_ABORT): New macro.
93060         (compareseq): Change return type to bool. Return true when EARLY_ABORT
93061         evaluates to true.
93063 2008-09-14  Bruno Haible  <bruno@clisp.org>
93065         * modules/perror-tests: New file.
93066         * tests/test-perror.sh: New file.
93067         * tests/test-perror.c: New file.
93069         New module 'perror'.
93070         * lib/stdio.in.h (perror): New declaration.
93071         * lib/perror.c: New file.
93072         * m4/perror.m4: New file.
93073         * modules/perror: New file.
93074         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
93075         * doc/posix-functions/perror.texi: Mention the perror module.
93076         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
93077         REPLACE_PERROR.
93078         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
93079         REPLACE_PERROR.
93081 2008-09-14  Bruno Haible  <bruno@clisp.org>
93083         * modules/stdio (Makefile.am): Reorder to match the order in
93084         lib/stdio.in.h.
93085         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
93087 2008-09-13  Bruno Haible  <bruno@clisp.org>
93089         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
93091 2008-09-13  Bruno Haible  <bruno@clisp.org>
93093         Extend strerror to cover the added errno values.
93094         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
93095         (rpl_strerror): Provide error messages for the added errno values and
93096         for the WSA* values.
93097         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
93098         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
93099         strerror.
93100         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
93101         * modules/strerror (Depends-on): Add errno.
93102         * doc/posix-functions/strerror.texi: Document the change.
93103         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
93104         and EOVERFLOW.
93106 2008-09-13  Bruno Haible  <bruno@clisp.org>
93108         * modules/EOVERFLOW: Remove file.
93109         * m4/eoverflow.m4: Remove file.
93110         * modules/EOVERFLOW-tests: Remove file.
93111         * tests/test-EOVERFLOW.c: Remove file.
93112         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
93113         * modules/ftell (Depends-on): Likewise.
93114         * modules/getdelim (Depends-on): Likewise.
93115         * modules/getugroups (Depends-on): Likewise.
93116         * modules/poll (Depends-on): Likewise.
93117         * modules/snprintf (Depends-on): Likewise.
93118         * modules/sprintf-posix (Depends-on): Likewise.
93119         * modules/vasnprintf (Depends-on): Likewise.
93120         * modules/vasprintf (Depends-on): Likewise.
93121         * modules/vfprintf-posix (Depends-on): Likewise.
93122         * modules/vsnprintf (Depends-on): Likewise.
93123         * modules/vsprintf-posix (Depends-on): Likewise.
93124         * modules/xvasprintf (Depends-on): Likewise.
93125         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
93126         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
93127         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
93128         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
93129         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
93130         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
93131         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
93132         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
93133         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
93134         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
93135         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
93136         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
93137         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
93138         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
93139         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
93140         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
93141         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
93142         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
93143         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
93144         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
93145         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
93146         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
93147         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
93148         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
93149         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
93150         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
93151         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
93152         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
93153         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
93154         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
93155         * MODULES.html.sh: Remove EOVERFLOW.
93156         * NEWS: Mention the change.
93158 2008-09-13  Bruno Haible  <bruno@clisp.org>
93160         * modules/errno-tests: New file.
93161         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
93163         * lib/errno.in.h: New file.
93164         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
93165         * modules/errno: New file.
93166         * doc/posix-headers/errno.texi: Update documentation.
93167         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
93169 2008-09-13  Bruno Haible  <bruno@clisp.org>
93171         * tests/test-poll.c: Use #if for native Windows, rather than testing
93172         __MSVCRT__.
93174 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
93175             Bruno Haible  <bruno@clisp.org>
93177         * lib/glob.c: Don't include <pwd.h> on native Windows.
93178         (WINDOWS32): New macro.
93179         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
93181 2008-09-13  Bruno Haible  <bruno@clisp.org>
93183         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
93184         (ETIMEDOUT): Remove macro.
93185         (glthread_cond_timedwait_multithreaded): New declaration.
93186         (glthread_cond_timedwait): Use it.
93187         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
93188         (glthread_cond_timedwait_multithreaded): New function.
93190 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
93192         * modules/poll-tests: Do not check for io.h.
93193         * tests/test-poll.c: Check for __MSVCRT__ instead.
93195 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
93197         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
93198         * modules/poll-tests: Add inet_pton, stdbool, sockets.
93199         * tests/test-poll.c: Use them.  Use _pipe on Windows.
93201 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
93203         * modules/poll-tests: New.
93204         * tests/test-poll.c: New.
93206 2008-09-12  Eric Blake  <ebb9@byu.net>
93208         frexp: test for NetBSD failure on -0.0
93209         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
93210         not all, bugs from NetBSD 3.0 have been fixed.
93211         * doc/posix-functions/frexp.texi (frexp): Document bug.
93212         Reported by Thomas Klausner.
93214         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
93215         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
93216         literal -0.0.
93217         Reported by Jonathan C. Patschke <jp@centtech.com>.
93219 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
93221         * lib/glthread/cond.h: Use dummy implementation also if
93222         USE_WIN32_THREADS.
93224 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
93226         * modules/fnmatch-posix (License): Change to LGPLv2+.
93227         * modules/fnmatch-gnu (License): Likewise.
93229 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
93231         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
93233 2008-09-11  Jim Meyering  <meyering@redhat.com>
93235         * users.txt: Add gtk-vnc.
93237 2008-09-08  Simon Josefsson  <simon@josefsson.org>
93239         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
93240         rotate amounts.
93242         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
93243         required for 16-bit and 8-bit rotates.
93244         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
93245         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
93246         UINT8_MAX instead of hard-coded constants.
93247         Suggested by Paul Eggert.
93249 2008-09-07  Bruno Haible  <bruno@clisp.org>
93251         * tests/test-striconveh.c (main): Check behaviour when converting from
93252         UTF-7.
93254         Make striconveh work better with stateful encodings.
93255         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
93256         that iconv does not increment the inptr when returning -1/EINVAL.
93258 2008-09-07  Bruno Haible  <bruno@clisp.org>
93260         * build-aux/config.rpath: Update according to libtool-2.2.6.
93261         * build-aux/config.libpath: Likewise.
93263 2008-09-06  Bruno Haible  <bruno@clisp.org>
93265         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
93266         * lib/freadptr.c (freadptr): Likewise.
93267         * lib/freadseek.c (freadptrinc): Likewise.
93268         Reported by Simon Josefsson.
93270 2008-09-06  Bruno Haible  <bruno@clisp.org>
93272         * modules/freadptr (License): Change to LGPLv2+.
93273         * modules/freadseek (License): Likewise.
93274         Suggested by Eric Blake.
93276         * modules/memchr2 (License): Change to LGPLv2+.
93277         Approved by Eric Blake.
93279 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
93280             Bruno Haible  <bruno@clisp.org>
93282         Make gnulib-tool work with native 'sed' on AIX.
93283         * gnulib-tool (sed_noop): New variable.
93284         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
93285         func_add_or_update, func_create_testdir): Use it to initialize sed
93286         script variables.
93287         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
93289 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
93290             Bruno Haible  <bruno@clisp.org>
93292         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
93293         also works after #include directives.
93295 2008-09-04  Ondřej Vašík  <ovasik@redhat.com>
93297         getdate.y: reject an out-of-range timezone value
93298         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
93299         the range [-24...+24].  When specified with only one or two digits,
93300         * tests/test-getdate.c: Tests for the fix.
93301         * doc/getdate.texi: Document this change.
93303 2008-09-03  Bruno Haible  <bruno@clisp.org>
93305         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
93307 2008-09-02  Simon Josefsson  <simon@josefsson.org>
93309         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
93310         <bruce.korb@gmail.com> with ideas from Ben Pfaff
93311         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
93312         Blake <ebb9@byu.net>.
93314         * tests/test-bitrotate.c: Add more test vectors.
93316 2008-09-02  Eric Blake  <ebb9@byu.net>
93318         vasnprintf-posix: handle large precision via %.*d
93319         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
93320         when handling it ourselves.
93321         * tests/test-vasnprintf-posix.c (test_function): Add test.
93322         * tests/test-snprintf-posix.h (test_function): Likewise.
93323         * tests/test-sprintf-posix.h (test_function): Likewise.
93324         * tests/test-vasprintf-posix.c (test_function): Likewise.
93325         Reported by Alain Guibert.
93327 2008-09-01  Eric Blake  <ebb9@byu.net>
93329         c-stack: make configure-time check more robust
93330         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
93331         successful sigaction call.
93332         Reported by Tom G. Christensen.
93334 2008-09-01  Bruno Haible  <bruno@clisp.org>
93336         New module 'findprog-lgpl'.
93337         * modules/findprog-lgpl: New file.
93338         * lib/findprog-lgpl.c: New file.
93339         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
93340         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
93341         to decide whether to use strdup or xstrdup, concatenated_filename or
93342         xconcatenated_filename.
93344 2008-09-01  Bruno Haible  <bruno@clisp.org>
93346         Split module 'concat-filename' into 'concat-filename' (LGPL) and
93347         'xconcat-filename' (GPL).
93348         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
93349         (License): Change to LGPLv2+.
93350         * modules/xconcat-filename: New file.
93351         * lib/concat-filename.h (concatenated_filename): Change specification.
93352         (xconcatenated_filename): New declaration.
93353         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
93354         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
93355         memory situations.
93356         * lib/xconcat-filename.c: New file.
93357         * NEWS: Mention the change.
93358         * lib/findprog.c: Include concat-filename.h, not filename.h.
93359         (find_in_path): Use xconcatenated_filename instead of
93360         concatenated_filename.
93361         * lib/javacomp.c: Include concat-filename.h, not filename.h.
93362         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
93363         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
93364         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
93365         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
93366         instead of concatenated_filename.
93367         * lib/javaexec.c: Include concat-filename.h, not filename.h.
93368         (execute_java_class): Use xconcatenated_filename instead of
93369         concatenated_filename.
93370         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
93371         * modules/javacomp (Depends-on): Likewise.
93372         * modules/javaexec (Depends-on): Likewise.
93374 2008-09-01  Bruno Haible  <bruno@clisp.org>
93376         Split module 'filename' into 'filename' and 'concat-filename'.
93377         * modules/filename: Keep only lib/filename.h.
93378         (License): Change to LGPLv2+.
93379         * modules/concat-filename: New file, extracted from modules/filename.
93380         * lib/filename.h (concatenated_filename): Remove declaration.
93381         * lib/concat-filename.h: New file, extracted from lib/filename.h.
93382         * lib/concat-filename.c: Include concat-filename.h.
93383         * NEWS: Mention the change.
93385 2008-09-01  Simon Josefsson  <simon@josefsson.org>
93387         * lib/bitrotate.h (rotl8, rotr8): Add.
93389         * modules/bitrotate (configure.ac): Need
93390         AC_REQUIRE([AC_C_INLINE]).
93391         (Description): Mention stdint.h.  Reported by Bruno Haible
93392         <bruno@clisp.org>.
93394         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
93395         Paolo Bonzini <bonzini@gnu.org>.
93397 2008-08-31  Bruno Haible  <bruno@clisp.org>
93399         Assume Solaris specific bi-arch conventions on Solaris systems.
93400         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
93401         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
93402         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
93403         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
93404         like acl_libdirstem.
93405         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
93406         acl_libdirstem.
93407         * NEWS: Mention the change.
93408         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
93410 2008-08-31  Jim Meyering  <meyering@redhat.com>
93412         * lib/strftime.h: Add comments describing the two added arguments.
93414         remove duplicate #include directives
93415         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
93416         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
93418 2008-08-31  Bruno Haible  <bruno@clisp.org>
93420         New module 'sigpipe-die'.
93421         * modules/sigpipe-die: New file.
93422         * lib/sigpipe-die.h: New file.
93423         * lib/sigpipe-die.c: New file.
93424         * MODULES.html.sh (Signal handling): Add sigpipe-die.
93426 2008-08-31  Bruno Haible  <bruno@clisp.org>
93428         Don't override previously installed signal handlers.
93429         * lib/fatal-signal.c (saved_sigactions): New variable.
93430         (uninstall_handlers): Reset the signal to the saved handler, not
93431         to SIG_DFL (except when ignored).
93432         (install_handlers): Save the previous handlers.
93434 2008-08-30  Bruno Haible  <bruno@clisp.org>
93436         * gnulib-tool (func_reset_sigpipe): New function.
93437         (func_get_automake_snippet, func_modules_transitive_closure,
93438         func_import): Invoke it before a join command that reads from stdin,
93439         to avoid "echo: write error: Broken pipe" error messages on stderr.
93440         Reported by Sam Steingold <sds@gnu.org>.
93442 2008-08-30  Bruno Haible  <bruno@clisp.org>
93444         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
93445         Code copied from m4/open.m4.
93446         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
93447         access and the filename ends in a slash. Code copied from lib/open.c.
93448         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
93449         * tests/test-fopen.c (main): Check against bug with trailing slash.
93451 2008-08-29  Bruno Haible  <bruno@clisp.org>
93453         Avoid some "gcc -pedantic" warnings.
93454         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
93455         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
93456         * lib/dirent.in.h: Likewise.
93457         * lib/fcntl.in.h: Likewise.
93458         * lib/float.in.h: Likewise.
93459         * lib/iconv.in.h: Likewise.
93460         * lib/inttypes.in.h: Likewise.
93461         * lib/locale.in.h: Likewise.
93462         * lib/math.in.h: Likewise.
93463         * lib/netinet_in.in.h: Likewise.
93464         * lib/search.in.h: Likewise.
93465         * lib/signal.in.h: Likewise.
93466         * lib/stdarg.in.h: Likewise.
93467         * lib/stdint.in.h: Likewise.
93468         * lib/stdio.in.h: Likewise.
93469         * lib/stdlib.in.h: Likewise.
93470         * lib/string.in.h: Likewise.
93471         * lib/strings.in.h: Likewise.
93472         * lib/sys_select.in.h: Likewise.
93473         * lib/sys_socket.in.h: Likewise.
93474         * lib/sys_stat.in.h: Likewise.
93475         * lib/sys_time.in.h: Likewise.
93476         * lib/sysexits.in.h: Likewise.
93477         * lib/time.in.h: Likewise.
93478         * lib/unistd.in.h: Likewise.
93479         * lib/wchar.in.h: Likewise.
93480         * lib/wctype.in.h: Likewise.
93481         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
93482         * modules/fchdir (Makefile.am): Likewise.
93483         * modules/fcntl (Makefile.am): Likewise.
93484         * modules/float (Makefile.am): Likewise.
93485         * modules/iconv_open (Makefile.am): Likewise.
93486         * modules/inttypes (Makefile.am): Likewise.
93487         * modules/locale (Makefile.am): Likewise.
93488         * modules/math (Makefile.am): Likewise.
93489         * modules/netinet_in (Makefile.am): Likewise.
93490         * modules/search (Makefile.am): Likewise.
93491         * modules/signal (Makefile.am): Likewise.
93492         * modules/stdarg (Makefile.am): Likewise.
93493         * modules/stdint (Makefile.am): Likewise.
93494         * modules/stdio (Makefile.am): Likewise.
93495         * modules/stdlib (Makefile.am): Likewise.
93496         * modules/string (Makefile.am): Likewise.
93497         * modules/strings (Makefile.am): Likewise.
93498         * modules/sys_select (Makefile.am): Likewise.
93499         * modules/sys_socket (Makefile.am): Likewise.
93500         * modules/sys_stat (Makefile.am): Likewise.
93501         * modules/sys_time (Makefile.am): Likewise.
93502         * modules/sysexits (Makefile.am): Likewise.
93503         * modules/time (Makefile.am): Likewise.
93504         * modules/unistd (Makefile.am): Likewise.
93505         * modules/wchar (Makefile.am): Likewise.
93506         * modules/wctype (Makefile.am): Likewise.
93507         Reported by Reuben Thomas <rrt@sc3d.org>.
93509 2008-08-29  Bruno Haible  <bruno@clisp.org>
93511         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
93512         any more.
93514 2008-08-29  Simon Josefsson  <simon@josefsson.org>
93516         * MODULES.html.sh (Misc): Add bitrotate.
93518         * modules/bitrotate: New file.
93520         * lib/bitrotate.h: New file.
93522         * modules/bitrotate-tests: New file.
93524         * tests/test-bitrotate.c: New file.
93526         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
93527         on the bitrotate module.
93529         * lib/arctwo.c: Use new bitrotate module.
93531 2008-08-29  Jim Meyering  <meyering@redhat.com>
93533         bootstrap: merge changes from coreutils
93534         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
93535         of copied files.  Remove a kludge, now that this is fixed.
93536         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
93537         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
93538         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
93540 2008-08-29  Bruno Haible  <bruno@clisp.org>
93542         * MODULES.html.sh: Remove --cvs-urls option.
93544 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
93546         maint.mk: adjust to file name change
93547         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
93549 2008-08-28  Jim Meyering  <meyering@redhat.com>
93551         * modules/getndelim2 (License): Relicense to LGPLv2+.
93552         Approved by Richard Stallman for the version of 1995, and by
93553         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
93555 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
93557         * lib/getdelim.c (flockfile, funlockfile): Make all of them
93558         dummy if one is not available.  Do not touch them if
93559         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
93560         (getc_maybe_unlocked): New.
93561         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
93563 2008-08-26  Eric Blake  <ebb9@byu.net>
93565         doc/INSTALL: resync from autoconf
93566         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
93567         (INSTALL_PRELUDE): Delete; this is done more efficiently by
93568         moving...
93569         * install.texi [!autoconf]: ...here.  Resync from autoconf.
93570         * INSTALL: Regenerate.
93571         * INSTALL.ISO: New file.
93572         * INSTALL.UTF-8: Likewise.
93574 2008-08-26  Jim Meyering  <meyering@redhat.com>
93576         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
93577         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
93578         these definitions conditional, so that they may be overridden, too.
93580 2008-08-26  Bruno Haible  <bruno@clisp.org>
93582         Generate INSTALL file variants with prettier quotes.
93583         * doc/Makefile (INSTALL_PRELUDE): New macro.
93584         (INSTALL): Use it.
93585         (INSTALL.ISO, INSTALL.UTF-8): New rules.
93587 2008-08-26  Bruno Haible  <bruno@clisp.org>
93589         Run makeinfo in an English locale.
93590         * doc/Makefile (MAKEINFO): New variable.
93592 2008-08-26  Bruno Haible  <bruno@clisp.org>
93594         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
93595         Suggested by Eric Blake.
93597 2008-08-25  Bruno Haible  <bruno@clisp.org>
93599         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
93601 2008-08-25  Eric Blake  <ebb9@byu.net>
93603         c-stack: test that stack overflow can be caught
93604         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
93605         that platform allows handling stack overflow; at least OS/2 EMX
93606         has sigaltstack, but crashes before transferring control to
93607         handler on stack overflow.
93608         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
93609         check for HAVE_STACK_OVERFLOW_HANDLING.
93610         Reported by Elbert Pol.
93612 2008-08-25  Bruno Haible  <bruno@clisp.org>
93614         * doc/posix-functions/strftime.texi: Fix description of strftime
93615         module.
93617 2008-08-24  Bruno Haible  <bruno@clisp.org>
93619         * tests/uniwidth/test-uc_width2.c: New file.
93620         * tests/uniwidth/test-uc_width2.sh: New file.
93621         * modules/uniwidth/width-tests (Files): Add the new files.
93622         (TESTS): Add uniwidth/test-uc_width2.sh.
93623         (TESTS_ENVIRONMENT): New variable.
93624         (check_PROGRAMS): Add test-uc_width2.
93625         (test_uc_width2_SOURCES): New variable.
93627         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
93628         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
93629         not 0x00AB.
93630         Reported by Alexander V. Lukyanov <lav@netis.ru>.
93632 2008-08-22  Eric Blake  <ebb9@byu.net>
93634         test-lock, test-tls: mention why a test is skipped
93635         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
93636         skipped.
93637         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
93639         count-one-bits: relax license
93640         * modules/count-one-bits (License): Relicense to LGPLv2+.
93641         Suggested by Ludovic Courtès, approved by Ben Pfaff.
93643 2008-08-22  Andreas Schwab  <schwab@suse.de>
93645         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
93646         Remove spurious space in assignment.
93648 2008-08-21  Simon Josefsson  <simon@josefsson.org>
93650         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
93651         Paul Eggert <eggert@CS.UCLA.EDU>.
93653 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
93655         * modules/gettext: Add m4/threadlib.m4.
93657 2008-08-19  Eric Blake  <ebb9@byu.net>
93659         test-c-stack: fix compilation failure on FreeBSD 5.0
93660         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
93661         headers before <sys/resource.h>.
93662         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
93663         the bug.
93664         Reported by Nelson H. F. Beebe.
93666         strverscmp: migrate from "strverscmp.h" to <string.h>
93667         * modules/string (Makefile.am): Add new hooks.
93668         * modules/strverscmp (Files): Remove strverscmp.h.
93669         (Depends-on): Add string.
93670         (configure.ac): Add indicator.
93671         (Include): Mention new header.
93672         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
93673         defaults.
93674         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
93675         results.
93676         * lib/strverscmp.h: Delete.
93677         * lib/string.in.h (strverscmp): Provide declaration, when needed.
93678         * tests/test-strverscmp.c (includes): Adjust client.
93679         * lib/check-version.c (includes): Likewise.
93680         * NEWS: Document the change.
93682         strverscmp: add unit test
93683         * modules/strverscmp-tests: New file.
93684         * tests/test-strverscmp.c: Likewise.
93686 2008-08-19  Simon Josefsson  <simon@josefsson.org>
93688         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
93689         regarding Windows crypto stuff, from Mono.
93691 2008-08-19  Adam Strzelecki  <ono@java.pl>  (tiny change)
93693         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
93694         if present, for intel RND.  Return error on failures.
93696 2008-08-18  Ben Pfaff  <blp@gnu.org>
93698         gitlog-to-changelog: give better diagnostic for failed pipe-open
93699         * build-aux/gitlog-to-changelog: Improve error message: suggest
93700         that the version of Git may be too old.
93702 2008-08-18  Simon Josefsson  <simon@josefsson.org>
93704         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
93705         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
93707 2008-08-18  Bruno Haible  <bruno@clisp.org>
93709         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
93710         pthread_in_use().
93712 2008-08-18  Bruno Haible  <bruno@clisp.org>
93714         * lib/glthread/threadlib.c: Include <pthread.h>.
93716 2008-08-18  Bruno Haible  <bruno@clisp.org>
93718         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
93719         glthread_recursive_lock_* macros.
93720         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
93721         Fix syntax error.
93723 2008-08-18  Bruno Haible  <bruno@clisp.org>
93725         * lib/glthread/thread.c: Avoid forcing a context switch right after
93726         thread creation.
93728 2008-08-17  Bruno Haible  <bruno@clisp.org>
93730         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
93731         * lib/glthread/thread.h: Provide Win32 specific implementation.
93732         * modules/thread (Files): Add lib/glthread/thread.c.
93733         (Depends-on): Add lock.
93734         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
93736 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
93738         New module 'yield'.
93739         * modules/yield: New file.
93740         * lib/glthread/yield.h: New file.
93741         * m4/yield.m4: New file.
93742         * MODULES.html.sh (Multithreading): Add yield.
93744 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
93746         New module 'thread'.
93747         * modules/thread: New file.
93748         * lib/glthread/thread.h: New file.
93749         * m4/thread.m4: New file.
93750         * MODULES.html.sh (Multithreading): Add thread.
93752 2008-08-17  Bruno Haible  <bruno@clisp.org>
93754         * lib/glthread/lock.h: Include <stdlib.h> always.
93755         * lib/glthread/tls.h: Likewise.
93756         * lib/glthread/cond.h: Likewise.
93758 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
93760         New module 'cond'.
93761         * modules/cond: New file.
93762         * lib/glthread/cond.h: New file.
93763         * lib/glthread/cond.c: New file.
93764         * m4/cond.m4: New file.
93765         * MODULES.html.sh (Multithreading): Add cond.
93767 2008-08-16  Eric Blake  <ebb9@byu.net>
93769         c-stack: fix regression on Irix 5.3 from 2008-06-21
93770         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
93771         sa_sigaction...
93772         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
93773         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
93774         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
93775         * modules/signal (Makefile.am): Use the value.
93776         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
93777         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
93778         * doc/posix-headers/signal.texi (signal.h): Document this
93779         portability issue.
93780         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
93781         Reported by Tom G. Christensen.
93783 2008-08-17  Bruno Haible  <bruno@clisp.org>
93785         New module 'threadlib'.
93786         * modules/threadlib: New file.
93787         * lib/glthread/threadlib.c: New file, extracted from
93788         lib/glthread/lock.c.
93789         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
93790         functions.
93791         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
93792         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
93793         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
93794         macros.
93795         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
93796         (gl_DISABLE_THREADS): Remove macro.
93797         * modules/lock (Files): Remove build-aux/config.rpath.
93798         (Depends-on): Remove havelib. Add threadlib.
93799         (configure.ac-early): Remove section.
93800         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
93801         * modules/tls (Depends-on): Remove lock. Add threadlib.
93802         (Link): New section, copied from threadlib.
93803         * MODULES.html.sh (Multithreading): Add threadlib.
93805 2008-08-14  Bruno Haible  <bruno@clisp.org>
93807         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
93808         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
93809         glthread_rwlock_unlock, glthread_rwlock_destroy,
93810         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
93811         glthread_recursive_lock_destroy): Define as macros always.
93812         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
93813         glthread_lock_lock.
93814         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
93815         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
93816         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
93817         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
93818         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
93819         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
93820         (glthread_recursive_lock_lock_func): Renamed from
93821         glthread_recursive_lock_lock.
93822         (glthread_recursive_lock_unlock_func): Renamed from
93823         glthread_recursive_lock_unlock.
93824         (glthread_recursive_lock_destroy_func): Renamed from
93825         glthread_recursive_lock_destroy.
93827 2008-08-14  Bruno Haible  <bruno@clisp.org>
93829         * lib/glthread/lock.h: Renamed from lib/lock.h.
93830         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
93831         * lib/glthread/tls.h: Renamed from lib/tls.h.
93832         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
93833         * lib/fstrcmp.c: Update includes.
93834         * lib/strsignal.c: Update includes.
93835         * modules/lock (Files, Makefile.am): Update.
93836         (Include): Change to "glthread/lock.h".
93837         * modules/tls (Files, Makefile.am): Update.
93838         (Include): Change to "glthread/tls.h".
93839         * tests/test-lock.c: Update includes.
93840         * tests/test-tls.c: Update includes.
93841         * NEWS: Mention the renamed header files.
93843 2008-08-11  Jim Meyering  <meyering@redhat.com>
93845         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
93847 2008-08-11  Eric Blake  <ebb9@byu.net>
93849         test-c-stack: avoid C99-ism
93850         * tests/test-c-stack.c (main): Fix whitespace, move declaration
93851         before statement.
93852         Reported by Alain Guibert.
93854 2008-08-10  Jim Meyering  <meyering@redhat.com>
93856         ensure that return value of uinttostr et al are not ignored
93857         * lib/inttostr.h (__GNUC_PREREQ): Define.
93858         (__attribute_warn_unused_result__): Define.
93859         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
93861 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
93863         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
93864         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
93866 2008-08-07  Jim Meyering  <meyering@redhat.com>
93868         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
93870         * modules/mkstemp (License): Relicense under LGPLv2+.
93871         * modules/tempname (License): Likewise.
93873 2008-08-06  Bruno Haible  <bruno@clisp.org>
93875         * lib/poll.c (poll): Further micro-optimization.
93877 2008-08-06  Jim Meyering  <meyering@redhat.com>
93879         inet_pton.c: use locale-independent tolower
93880         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
93881         (inet_pton6): Use c_tolower rather than tolower.
93882         * modules/inet_pton (Depends-on): Add c-ctype.
93884 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
93886         * lib/poll.c (poll): Avoid division when timeout is 0, cache
93887         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
93889 2008-08-06  Jim Meyering  <meyering@redhat.com>
93891         * modules/inet_pton (License): Relicense under LGPLv2+.
93893 2008-08-03  Bruno Haible  <bruno@clisp.org>
93895         Additional non-aborting API for lock and tls.
93896         * lib/lock.h: Include <errno.h>.
93897         (glthread_lock_init): New macro/function.
93898         (gl_lock_init): Define as wrapper around glthread_lock_init.
93899         (glthread_lock_lock): New macro/function.
93900         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
93901         (glthread_lock_unlock): New macro/function.
93902         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
93903         (glthread_lock_destroy): New macro/function.
93904         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
93905         (glthread_rwlock_init): New macro/function.
93906         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
93907         (glthread_rwlock_rdlock): New macro/function.
93908         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
93909         (glthread_rwlock_wrlock): New macro/function.
93910         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
93911         (glthread_rwlock_unlock): New macro/function.
93912         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
93913         (glthread_rwlock_destroy): New macro/function.
93914         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
93915         (glthread_recursive_lock_init): New macro/function.
93916         (gl_recursive_lock_init): Define as wrapper around
93917         glthread_recursive_lock_init.
93918         (glthread_recursive_lock_lock): New macro/function.
93919         (gl_recursive_lock_lock): Define as wrapper around
93920         glthread_recursive_lock_lock.
93921         (glthread_recursive_lock_unlock): New macro/function.
93922         (gl_recursive_lock_unlock): Define as wrapper around
93923         glthread_recursive_lock_unlock.
93924         (glthread_recursive_lock_destroy): New macro/function.
93925         (gl_recursive_lock_destroy): Define as wrapper around
93926         glthread_recursive_lock_destroy.
93927         (glthread_once): New macro/function.
93928         (gl_once): Define as wrapper around glthread_once.
93929         Update function declarations.
93930         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
93931         glthread_rwlock_init. Return error code.
93932         (glthread_rwlock_rdlock_multithreaded): Renamed from
93933         glthread_rwlock_rdlock. Return error code.
93934         (glthread_rwlock_wrlock_multithreaded): Renamed from
93935         glthread_rwlock_wrlock. Return error code.
93936         (glthread_rwlock_unlock_multithreaded): Renamed from
93937         glthread_rwlock_unlock. Return error code.
93938         (glthread_rwlock_destroy_multithreaded): Renamed from
93939         glthread_rwlock_destroy. Return error code.
93940         (glthread_recursive_lock_init_multithreaded): Renamed from
93941         glthread_recursive_lock_init. Return error code.
93942         (glthread_recursive_lock_lock_multithreaded): Renamed from
93943         glthread_recursive_lock_lock. Return error code.
93944         (glthread_recursive_lock_unlock_multithreaded): Renamed from
93945         glthread_recursive_lock_unlock. Return error code.
93946         (glthread_recursive_lock_destroy_multithreaded): Renamed from
93947         glthread_recursive_lock_destroy. Return error code.
93948         (glthread_once_call): Make static.
93949         (glthread_once_multithreaded): Renamed from glthread_once.
93950         * lib/tls.h: Include <errno.h>.
93951         (glthread_tls_key_init): New macro/function.
93952         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
93953         (glthread_tls_set): New macro/function.
93954         (gl_tls_set): Define as wrapper around glthread_tls_set.
93955         (glthread_tls_key_destroy): New macro/function.
93956         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
93957         Update function declarations.
93958         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
93959         glthread_tls_get.
93960         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
93962 2008-08-04  Eric Blake  <ebb9@byu.net>
93964         gnumakefile: use space, not TAB, outside of targets
93965         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
93967 2008-08-02  Jim Meyering  <meyering@redhat.com>
93969         getdate.y: avoid locale-dependent date parsing failure
93970         In Turkish locales, getdate would fail to recognize keywords
93971         containing a lowercase "i".  The solution is not to rely on
93972         locale-sensitive case-conversion.
93973         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
93974         (lookup_word): Use c_toupper in place of toupper.
93975         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
93976         Reported by Vefa Bicakci <bicave@superonline.com> in
93977         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
93978         * modules/getdate (Depends-on): Add c-ctype.
93980 2008-08-02  Bruno Haible  <bruno@clisp.org>
93982         * gnulib-tool (func_import): When updating or creating a .gitignore
93983         file, prepend each added line with a slash, and ignore leading slashes
93984         from the existing lines.
93985         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
93987 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
93989         Portability fix for GNU make 3.79.1.
93990         * top/GNUmakefile: Avoid 'else COND', which older GNU make
93991         versions do not understand.
93993 2008-08-01  Bruno Haible  <bruno@clisp.org>
93995         Work around bug of HP-UX 10.20 cc with -0.0 literal.
93996         * tests/test-isnanf.h (zero): New variable.
93997         (main): Avoid literal -0.0f.
93998         * tests/test-isnand.h (zero): New variable.
93999         (main): Avoid literal -0.0.
94000         * tests/test-isnanl.h (zero): New variable.
94001         (main): Avoid literal -0.0L.
94002         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
94003         (test_float, test_double, test_long_double): Avoid literals -0.0f,
94004         -0.0, -0.0L.
94005         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
94006         (test_signbitd): Avoid literal -0.0.
94007         (test_signbitl): Avoid literal -0.0L.
94008         * tests/test-ceilf1.c (zero): New variable.
94009         (main): Avoid literal -0.0f.
94010         * tests/test-ceill.c (zero): New variable.
94011         (main): Avoid literal -0.0L.
94012         * tests/test-floorf1.c (zero): New variable.
94013         (main): Avoid literal -0.0f.
94014         * tests/test-floorl.c (zero): New variable.
94015         (main): Avoid literal -0.0L.
94016         * tests/test-roundf1.c (zero): New variable.
94017         (main): Avoid literal -0.0f.
94018         * tests/test-round1.c (zero): New variable.
94019         (main): Avoid literal -0.0.
94020         * tests/test-roundl.c (zero): New variable.
94021         (main): Avoid literal -0.0L.
94022         * tests/test-truncf1.c (zero): New variable.
94023         (main): Avoid literal -0.0f.
94024         * tests/test-trunc1.c (zero): New variable.
94025         (main): Avoid literal -0.0.
94026         * tests/test-truncl.c (zero): New variable.
94027         (main): Avoid literal -0.0L.
94028         * tests/test-frexp.c (zero): New variable.
94029         (main): Avoid literal -0.0.
94030         * tests/test-frexpl.c (zero): New variable.
94031         (main): Avoid literal -0.0L.
94032         * tests/test-ldexpl.c (zero): New variable.
94033         (main): Avoid literal -0.0L.
94034         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
94035         (zerod, zerol): New variables.
94036         (test_function): Avoid literals -0.0, -0.0L.
94037         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
94038         (zerod, zerol): New variables.
94039         (test_function): Avoid literals -0.0, -0.0L.
94040         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
94041         (zerod, zerol): New variables.
94042         (test_function): Avoid literals -0.0, -0.0L.
94043         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
94044         (zerod, zerol): New variables.
94045         (test_function): Avoid literals -0.0, -0.0L.
94046         * tests/test-strtod.c (zero): New variable.
94047         (main): Avoid literal -0.0.
94048         Reported by Jonathan C. Patschke <jp@centtech.com>.
94050 2008-07-31  Jim Meyering  <meyering@redhat.com>
94052         sha256.h: correct definition of SHA224_DIGEST_SIZE
94053         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
94054         Reported by Paulie Pena IV <paulie4@gmail.com>.
94055         Define as 224 / 8, rather than as a literal.
94056         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
94057         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
94058         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
94060 2008-07-31  Bruno Haible  <bruno@clisp.org>
94062         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
94063         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
94064         Reported by Jonathan Patschke <jp@centtech.com>.
94066 2008-07-31  Bruno Haible  <bruno@clisp.org>
94068         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
94069         Reported by Paolo Bonzini <bonzini@gnu.org>.
94071 2008-07-30  Eric Blake  <ebb9@byu.net>
94073         test-strtod: allow compilation without -lm
94074         * tests/test-strtod.c (main): Avoid link dependence on fabs.
94075         Reported by Dennis Clarke <blastwave@gmail.com>.
94077 2008-07-28  Jim Meyering  <meyering@redhat.com>
94079         bootstrap: work also when there are no .po files in po/
94080         * build-aux/bootstrap (update_po_files): Complete the change
94081         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
94083 2008-07-27  Jim Meyering  <meyering@redhat.com>
94085         * users.txt: Add zile.
94087 2008-07-26  Ben Pfaff  <blp@gnu.org>
94089         Add missing dependencies on new m4/exponent[fdl].m4 files.
94090         * modules/isnanf-nolibm: Add m4/exponentf.m4.
94091         * modules/isnand-nolibm: Add m4/exponentd.m4.
94092         * modules/isnanl-nolibm: Add m4/exponentl.m4.
94093         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
94094         m4/isnan[fdl].m4, because the macros actually used moved.
94095         Reported by Jim Meyering.
94097 2008-07-14  Ben Pfaff  <blp@gnu.org>
94099         Add isinf module.
94100         * lib/isinf.c: New file.
94101         * lib/math.in.h: Define isinf macro if we have decided to replace
94102         it.
94103         * m4/isinf.m4: New file.
94104         * m4/math_h.m4: Initialize and substitute variables for isinf
94105         module.
94106         * modules/isinf: New file.
94107         * modules/isinf-tests: New file.
94108         * modules/math: Add substitutions for new module.
94109         * tests/test-isinf.c: New file.
94110         * doc/posix-functions/isinf.texi: Mention new module.
94111         * MODULES.html.sh: Mention new module.
94113 2008-07-14  Ben Pfaff  <blp@gnu.org>
94115         Factor out some macros for use by additional modules.
94116         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
94117         exponentf.m4.
94118         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
94119         exponentd.m4.
94120         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
94121         file exponentl.m4.
94122         * m4/exponentf.m4: New file.
94123         * m4/exponentd.m4: New file.
94124         * m4/exponentl.m4: New file.
94125         * modules/isnanf: Use new file m4/exponentf.m4.
94126         * modules/isnand: Use new file m4/exponentd.m4.
94127         * modules/isnanl: Use new file m4/exponentl.m4.
94129 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
94131         mktime.c: normalize tp->tm_isdst value to -1/0/1.
94132         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
94133         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
94134         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
94136         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
94137         readlink on platforms without PATH_MAX.
94139 2008-07-21  Eric Blake  <ebb9@byu.net>
94141         Warn, not fail, on stale version.
94142         * top/GNUmakefile (_curr-ver): Tone down previous patch.
94144         Don't allow installation with stale devel version number.
94145         * top/GNUmakefile (_is-install-target): New macro.
94146         (_curr-ver): Forbid installation with stale version number.
94148 2008-07-20  Bruno Haible  <bruno@clisp.org>
94150         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
94151         TESTS_ENVIRONMENT.
94152         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
94154 2008-07-20  Bruno Haible  <bruno@clisp.org>
94156         * lib/c-stack.h (c_stack_action): Add documentation.
94157         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
94159 2008-07-20  Bruno Haible  <bruno@clisp.org>
94161         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
94162         * modules/readlink (License): Likewise.
94164 2008-07-17  Eric Blake  <ebb9@byu.net>
94166         * modules/c-stack (Link): Fix typo.
94168         Make c-stack use libsigsegv, when available.
94169         * modules/c-stack (Depends-on): Add libsigsegv.
94170         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
94171         needed.
94172         * lib/c-stack.c (SIGSTKSZ): Define fallback.
94173         (segv_handler, overflow_handler, c_stack_action)
94174         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
94175         implementation when libsigsegv is available, but only when using
94176         the library is necessary.
94177         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
94178         comment, explaining why XSI check fails on Linux.
94179         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
94180         * tests/test-c-stack2.sh: Tweak skip message.
94181         * NEWS: Document new link-time requirements.
94183 2008-07-16  Eric Blake  <ebb9@byu.net>
94185         c-stack: Expose false positives when not using libsigsegv.
94186         * modules/c-stack-tests (Files): Expand test.
94187         * tests/test-c-stack.c (main): Add means to conditionally trigger
94188         non-overflow SIGSEGV.
94189         * tests/test-c-stack2.sh: New file.
94191 2008-07-14  Bruno Haible  <bruno@clisp.org>
94193         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
94194         Reported by Eric Blake.
94196 2008-07-14  Sam Steingold  <sds@gnu.org>
94197             Bruno Haible  <bruno@clisp.org>
94199         New module libsigsegv.
94200         * modules/libsigsegv: New file.
94201         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
94202         modifications.
94203         * MODULES.html.sh (Signal handling): New section.
94205 2008-07-14  Bruno Haible  <bruno@clisp.org>
94207         * modules/unictype/ctype-* (Description): Add the word "function".
94208         Improves the resulting doc in MODULES.html.
94210 2008-07-12  Ben Pfaff  <blp@gnu.org>
94212         Add longlong module.
94213         * modules/longlong: New file.
94215 2008-07-12  Bruno Haible  <bruno@clisp.org>
94217         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
94218         to empty.
94220 2008-07-10  Ben Pfaff  <blp@gnu.org>
94222         Add isnan module.
94223         * doc/posix-functions/isnan.texi: Mention new module.
94224         * lib/math.in.h: Define isnan macro if we have decided to replace
94225         it.
94226         * m4/isnan.m4: New file.
94227         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
94228         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
94229         also.
94230         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
94231         redundancy.
94232         * m4/math_h.m4: Initialize and substitute variables for isnan
94233         module.
94234         * modules/isnan: New file.
94235         * modules/isnan-tests: New file.
94236         * modules/math: Add substitutions for new module.
94237         * tests/test-isnan.c: New file.
94238         * MODULES.html.sh: Mention new module.
94240 2008-07-10  Ben Pfaff  <blp@gnu.org>
94242         Add isnanf module.
94243         * lib/isnanf.m4: New file.
94244         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
94245         (gl_HAVE_ISNANF_IN_LIBM): New macro.
94246         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
94247         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
94248         * modules/isnanf: New file.
94249         * modules/isnanf-tests: New file.
94250         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
94251         files.
94252         * tests/test-isnanf-nolibm.c: factored most of its contents into
94253         new file tests/test-isnanf.h.
94254         * tests/test-isnanf.h: New file.
94255         * tests/test-isnanf.c: New file.
94256         * MODULES.html.sh: Mention new module.
94257         * doc/glibc-functions/isnanf.texi: Mention new module.
94259 2008-07-10  Ben Pfaff  <blp@gnu.org>
94261         Add isnand module.
94262         * lib/isnand.h: New file.
94263         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
94264         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
94265         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
94266         functionality also.
94267         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
94268         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
94269         (gl_HAVE_ISNAND_IN_LIBM): New macro.
94270         * modules/isnand: New file.
94271         * modules/isnand-tests: New file.
94272         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
94273         files.
94274         * tests/test-isnand-nolibm.c: factored most of its contents into
94275         new file tests/test-isnand.h.
94276         * tests/test-isnand.h: New file.
94277         * tests/test-isnand.c: New file.
94278         * MODULES.html.sh: Mention new module.
94280 2008-07-10  Ben Pfaff  <blp@gnu.org>
94282         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
94283         * lib/isnand.h: Rename lib/isnand-nolibm.h.
94284         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
94285         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
94286         * modules/isnanf-nolibm: Update references to renamed files.
94287         * modules/isnand-nolibm: Likewise.
94288         * modules/isnanf-nolibm-tests: Likewise.
94289         * modules/isnand-nolibm-tests: Likewise.
94290         * lib/frexp.c: Likewise.
94291         * lib/isfinite.c: Likewise.
94292         * lib/signbitd.c: Likewise.
94293         * lib/signbitf.c: Likewise.
94294         * lib/vasnprintf.c: Likewise.
94295         * tests/test-ceilf1.c: Likewise.
94296         * tests/test-ceilf2.c: Likewise.
94297         * tests/test-floorf1.c: Likewise.
94298         * tests/test-floorf2.c: Likewise.
94299         * tests/test-frexp.c: Likewise.
94300         * tests/test-round1.c: Likewise.
94301         * tests/test-round2.c: Likewise.
94302         * tests/test-roundf1.c: Likewise.
94303         * tests/test-strtod.c: Likewise.
94304         * tests/test-trunc1.c: Likewise.
94305         * tests/test-trunc2.c: Likewise.
94306         * tests/test-truncf1.c: Likewise.
94307         * tests/test-truncf2.c: Likewise.
94308         * NEWS: Mention the renamed header files.
94310 2008-07-11  Jim Meyering  <meyering@redhat.com>
94312         vc-list-files: make the last-resort awk code more portable
94313         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
94314         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
94315         does not support it.
94317 2008-07-10  Eric Blake  <ebb9@byu.net>
94319         Work with tar's bootstrap.
94320         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
94321         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
94322         an m4 comment.
94324 2008-07-09  Jim Meyering  <meyering@redhat.com>
94326         posix-shell.m4: fix typo that made this test malfunction
94327         * m4/posix-shell.m4: Remove capitalization in variable name.
94329 2008-07-08  Bruno Haible  <bruno@clisp.org>
94331         * m4/onceonly.m4: Update comments.
94332         Reported by Ben Pfaff <blp@cs.stanford.edu>.
94334 2008-07-04  Jim Meyering  <meyering@redhat.com>
94336         * users.txt: Add vc-dwim.
94337         (bison, coreutils): Use the gitweb URL.
94339 2008-07-03  Jim Meyering  <meyering@redhat.com>
94341         * users.txt: Add libffcall.  From Sam Steingold.
94343 2008-07-03  Ondřej Vašík  <ovasik@redhat.com>
94345         getdate.y: do not ignore TZ with relative day, month or year offset
94346         * lib/getdate.y (get_date): Move the tz-handling block to follow the
94347         relative-date-handling, since otherwise, the latter would clobber the
94348         sole output (an updated Start value) of the tz-handling block.
94349         * tests/test-getdate.c: Tests for the fix
94351 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
94353         Recognize 'foo_LIBRARIES += libgnu.a'.
94354         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
94355         makefile snippet has already specified an installation location,
94356         also using '+='.
94358 2008-07-02  Ondřej Vašík  <ovasik@redhat.com>
94360         getdate.y: factor out common actions
94361         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
94362         Use them in place of open-coded actions.
94364 2008-07-01  Simon Josefsson  <simon@josefsson.org>
94366         Add self-test for getdate module.
94367         * modules/getdate-tests: New file.
94368         * tests/test-getdate.c: New file.
94370 2008-06-29  Bruno Haible  <bruno@clisp.org>
94372         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
94373         .gitignore.
94374         Reported by Sylvain Beucler <beuc@beuc.net>.
94376 2008-06-29  Bruno Haible  <bruno@clisp.org>
94378         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
94379         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
94381 2008-06-29  Bruno Haible  <bruno@clisp.org>
94383         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
94384         EXTRA_DIST.
94385         Reported by Sylvain Beucler <beuc@beuc.net>.
94387 2008-06-26  Jim Meyering  <meyering@redhat.com>
94389         make several modules depend on the "open" module
94390         This provides slightly increased consistency when opening-for-write
94391         the name of a non-directory spelled with a trailing slash.
94392         * modules/chdir-safer: Likewise.
94393         * modules/chown: Likewise.
94394         * modules/clean-temp: Likewise.
94395         * modules/copy-file: Likewise.
94396         * modules/fchdir: Likewise.
94397         * modules/fcntl-safer: Likewise.
94398         * modules/pipe: Likewise.
94399         * modules/utime: Likewise.
94400         Prompted by Eric Blake and Bruno Haible.
94402 2008-06-24  Andreas Schwab  <schwab@suse.de>
94404         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
94405         literals can be used as initializers for global variables.
94407 2008-06-23  Eric Blake  <ebb9@byu.net>
94409         Make gnulib-cache.m4 easier to diff.
94410         * gnulib-tool (func_import): Allow newlines when reading cached
94411         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
94413 2008-06-23  Bruno Haible  <bruno@clisp.org>
94415         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
94416         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
94417         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
94418         m4/signalblocking.m4.
94419         (gl_PREREQ_SIGACTION): Don't invoke it.
94420         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
94421         gl_PREREQ_SIG_HANDLER_H.
94422         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
94423         Don't check for sigaction here.
94425 2008-06-23  Bruno Haible  <bruno@clisp.org>
94427         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
94428         (install_handlers): Don't set the SA_RESETHAND flag.
94430 2008-06-23  Bruno Haible  <bruno@clisp.org>
94432         * m4/sigaction.m4: Comment fixes.
94433         * lib/signal.in.h: Likewise.
94435 2008-06-23  Eric Blake  <ebb9@byu.net>
94437         Fix typo.
94438         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
94440         Avoid SA_ namespace.
94441         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
94442         Reported by Ralf Wildenhues.
94444         Avoid test failure due to SA_RESTORER.
94445         * tests/test-sigaction.c (SA_MASK): New macro.
94446         (main): Avoid failing due to extension flags being set.
94447         Reported by Jim Meyering.
94449         Revert use of sig-handler.h in sigprocmask.c.
94450         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
94451         it requires the existence of struct sigaction.
94452         * lib/sigprocmask.c (handler_t): Restore typedef.
94453         (rpl_signal, old_handlers): Use local type.
94455 2008-06-22  Bruno Haible  <bruno@clisp.org>
94457         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
94458         conditionally.
94459         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
94461 2008-06-22  Bruno Haible  <bruno@clisp.org>
94463         * doc/posix-functions/siginterrupt.texi: Move note.
94465         * lib/signal.in.h (SA_RESTART): New macro.
94466         * lib/sigaction.c: Update comment.
94468         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
94470         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
94471         (gl_PREREQ_SIGPROCMASK): Invoke it.
94472         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
94474         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
94476         * lib/sigprocmask.c: Update a comment.
94478 2008-06-21  Eric Blake  <ebb9@byu.net>
94480         Use sigaction module rather than signal().
94481         * modules/c-stack (Depends-on): Add sigaction.
94482         * modules/fatal-signal (Depends-on): Likewise.
94483         * modules/nanosleep (Depends-on): Likewise.
94484         * modules/sigprocmask (Files): Add sig-handler.h.
94485         * modules/sigaction (Files): Likewise.
94486         * lib/sig-handler.h (get_handler): New file, suggested by Paul
94487         Eggert.
94488         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
94489         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
94490         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
94491         (init_fatal_signals): Likewise.
94492         * lib/nanosleep.c (rpl_nanosleep): Likewise.
94493         (siginterrupt): Delete fallback.
94494         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
94495         instead.
94496         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
94497         siginterrupt.
94499         New module sigaction, for mingw.
94500         * modules/sigaction: New module...
94501         * modules/sigaction-tests: ...and its test.
94502         * m4/sigaction.m4: New file.
94503         * lib/sigaction.c: Likewise.
94504         * tests/test-sigaction.c: Likewise.
94505         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
94506         * modules/signal (Makefile.am): Likewise.
94507         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
94508         needed.
94509         * doc/posix-headers/signal.texi (signal.h): Mention provided
94510         types.
94511         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
94512         that sigaction is preferable.
94513         * doc/posix-functions/sigaction.texi (sigaction): Mention new
94514         module.
94515         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
94516         sigaction.
94518         Improve robustness of sigprocmask by overriding signal.
94519         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
94520         is in use.
94521         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
94522         (SIGKILL, SIGSTOP): Provide fallbacks.
94523         (rpl_signal): Implement.
94524         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
94525         signal can be called inside handlers.
94527         Fix nanosleep module on mingw.
94528         * modules/nanosleep (Depends-on): Add sys_select.
94529         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
94531         Fix licensing of sigprocmask.
94532         * modules/raise (License): Relicense as LGPL.
94534 2008-06-21  Bruno Haible  <bruno@clisp.org>
94536         * lib/propername.c (proper_name_utf8): Don't use the transliterated
94537         result if it contains question marks.
94538         Reported by Michael Geng <linux@michaelgeng.de>.
94540 2008-06-19  Bruno Haible  <bruno@clisp.org>
94542         Fix CVS-ism.
94543         * doc/gnulib.texi: Include updated-stamp.texi.
94544         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
94545         (updated-stamp.texi): New rule.
94546         (gnulib.info): Depend on it.
94547         * doc/.gitignore: Add updated-stamp.texi.
94548         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
94550 2008-06-19  Bruno Haible  <bruno@clisp.org>
94552         * doc/Makefile (gnulib.info): Update and simplify dependencies.
94553         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
94555 2008-06-19  Eric Blake  <ebb9@byu.net>
94557         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
94558         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
94559         Reported by Stepan Kasal.
94561 2008-06-18  Bruno Haible  <bruno@clisp.org>
94563         * lib/fatal-signal.c (init_fatal_signals): Add comment.
94564         Reported by Eric Blake.
94566 2008-06-18  Eric Blake  <ebb9@byu.net>
94568         Work around cygwin 1.5.25 strsignal bug.
94569         * tests/test-strsignal.c: Allow for const char *.
94570         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
94572 2008-06-18  Simon Josefsson  <simon@josefsson.org>
94574         * users.txt: Update URL to article and add author/date
94575         information.
94577 2008-06-17  Bruno Haible  <bruno@clisp.org>
94579         New macro gl_DISABLE_THREADS.
94580         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
94581         if the user did not pass --enable-threads or --disable-threads option.
94582         (gl_DISABLE_THREADS): New macro.
94583         Reported by Eric Blake <ebb9@byu.net>.
94585 2008-06-17  Bruno Haible  <bruno@clisp.org>
94587         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
94588         when the macro ignores it.
94589         Based on a patch by Eric Blake <ebb9@byu.net>.
94591 2008-06-17  Bruno Haible  <bruno@clisp.org>
94593         * modules/tls (License): Change to LGPLv2+.
94594         Reported by Eric Blake.
94596 2008-06-17  Eric Blake  <ebb9@byu.net>
94598         Simplify c-stack prerequisites.
94599         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
94600         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
94601         no longer requires <ucontext.h> to exist.  Optimize setrlimit
94602         check.
94603         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
94604         <sys/resource.h>.
94606         Move c-stack test into testsuite.
94607         * modules/c-stack-tests: New file.
94608         * lib/c-stack.c [DEBUG]: Move test program...
94609         * tests/test-c-stack.c: ...into this new file.  Skip rather than
94610         fail test if sigaltstack is lacking.
94611         * tests/test-c-stack.sh: New driver file.
94613 2008-06-16  Eric Blake  <ebb9@byu.net>
94615         Use raise module consistently.
94616         * modules/fatal-signal (Depends-on): Add raise.
94617         * modules/sigprocmask (Depends-on): Likewise.
94618         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
94619         * lib/sigprocmask.c (sigprocmask): Likewise.
94620         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
94621         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
94623         Fix compliance bug in sigpending.
94624         * lib/sigprocmask.c (sigpending): Return pending array via
94625         parameter, not return value.
94627 2008-06-14  Eric Blake  <ebb9@byu.net>
94629         Improve obstack-printf test code.
94630         * tests/test-obstack-printf.c (test_function): Fix comment, and
94631         simplify usage of obstack_* in macros.  Add a test for coverage.
94632         Reported by Bruno Haible.
94634 2008-06-14  Bruno Haible  <bruno@clisp.org>
94636         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
94637         array size as a constant, not as a const variable.
94638         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
94639         AC_USE_SYSTEM_EXTENSIONS.
94640         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
94641         Test whether the obstack_printf function actually exists.
94642         * modules/obstack-printf (Depends-on): Add extensions.
94643         (Include): Remove obstack.h.
94644         * modules/obstack-printf-posix (Depends-on): Add extensions.
94645         (Include): Remove obstack.h.
94647 2008-06-13  Eric Blake  <ebb9@byu.net>
94649         Add obstack-printf and obstack-printf-posix modules.
94650         * modules/obstack-printf: New file.
94651         * modules/obstack-printf-posix: Likewise.
94652         * MODULES.html.sh (Misc): Mention them.
94653         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
94654         Likewise.
94655         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
94656         Likewise.
94657         * modules/stdio (Makefile.am): Accomodate new modules.
94658         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
94659         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
94660         Declare.
94661         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
94662         functions.
94663         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
94664         (gl_REPLACE_OBSTACK_PRINTF): New macros
94665         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
94666         * tests/test-obstack-printf.c: New file.
94667         * modules/obstack-printf-tests: Likewise.
94668         * modules/obstack-printf-posix-tests: Likewise.
94670 2008-06-11  Bruno Haible  <bruno@clisp.org>
94672         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
94673         * lib/open.c: Include errno.h.
94674         (open): Fail when attempting to write to a file that has a trailing
94675         slash.
94676         * tests/test-open.c (main): Test against trailing slash bug.
94677         * doc/posix-functions/open.texi: Mention the trailing slash bug.
94679 2008-06-10  Bruno Haible  <bruno@clisp.org>
94681         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
94682         for $? to work inside the trap command, with various /bin/sh-s.
94683         * tests/test-vc-list-files-cvs.sh: Likewise.
94685 2008-06-10  Bruno Haible  <bruno@clisp.org>
94687         * lib/acl-internal.h: Don't include gettext.h here.
94688         * lib/set-mode-acl.c: Include gettext.h here.
94689         * lib/copy-acl.c: Likewise.
94691 2008-06-10  Bruno Haible  <bruno@clisp.org>
94693         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
94694         * lib/wait-process.c (wait_subprocess): Likewise.
94695         * lib/execute.h (execute): Add termsigp argument.
94696         * lib/execute.c (execute): Likewise.
94697         * lib/csharpcomp.c (compile_csharp_using_pnet,
94698         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
94699         * lib/csharpexec.c (execute_csharp_using_pnet,
94700         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
94701         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
94702         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
94703         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
94704         is_jikes_present): Update.
94705         * lib/javaexec.c (execute_java_class): Update.
94706         * lib/javaversion.c (execute_and_read_line): Update.
94707         * NEWS: Document the changes.
94708         Reported by Eric Blake.
94710 2008-06-10  Eric Blake  <ebb9@byu.net>
94712         Add missing include.
94713         * tests/test-strstr.c (includes): Add <signal.h>.
94714         * tests/test-strcasestr.c (includes): Likewise.
94715         * tests/test-memmem.c (includes): Likewise.
94717 2008-06-10  Bruno Haible  <bruno@clisp.org>
94719         * lib/wait-process.c (wait_subprocess): Add an assertion.
94721 2008-06-10  Bruno Haible  <bruno@clisp.org>
94723         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
94725 2008-06-10  Bruno Haible  <bruno@clisp.org>
94727         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
94728         using alarm().
94729         * tests/test-strcasestr.c (main): Likewise.
94730         * tests/test-strstr.c (main): Likewise.
94732 2008-06-09  Bruno Haible  <bruno@clisp.org>
94734         Work around the Solaris 10 ACE ACLs ABI change.
94735         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
94736         declare if ACL_NO_TRIVIAL is present.
94737         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
94738         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
94739         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
94740         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
94741         define if ACL_NO_TRIVIAL is present.
94742         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
94743         and use the current ABI.
94744         (file_has_acl): Use same #if condition as elsewhere.
94745         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
94746         in use, and use the current ABI.
94747         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
94748         Reported by Jim Meyering.
94750 2008-06-09  Eric Blake  <ebb9@byu.net>
94752         Work around environments that (stupidly) ignore SIGALRM.
94753         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
94754         before using alarm().
94755         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
94756         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
94757         Reported by Ian Beckwith <ianb@erislabs.net>.
94759         Produce autobuild blurb earlier in log.
94760         * modules/autobuild (configure.ac-early): Move AB_INIT here.
94762 2008-06-09  Jim Meyering  <meyering@redhat.com>
94763         and Ondřej Vašík  <ovasik@redhat.com>
94765         utimens.c: correct kernel bug work-around
94766         Ondřej Vašík found that the invalid return value of 280 indicates
94767         failure, not success, and the kernel bug we're trying to work
94768         around affects not just the utimensat call, but also the fallback
94769         futimens call.
94770         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
94771         not success.
94772         [HAVE_FUTIMENS]: Use the same work-around, here.
94774 2008-06-09  Jim Meyering  <meyering@redhat.com>
94776         add more guards around definition of ACE_-related code
94777         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
94778         ALLOW and ACE_OWNER are also defined.
94780 2008-06-08  Bruno Haible  <bruno@clisp.org>
94782         * lib/acl-internal.h: Add me as co-author.
94783         * lib/file-has-acl.c: Likewise.
94784         * lib/set-mode-acl.c: Likewise.
94785         * lib/copy-acl.c: Likewise.
94787 2008-06-08  Bruno Haible  <bruno@clisp.org>
94789         Add support for AIX ACLs.
94790         * lib/acl-internal.h (acl_nontrivial): New declaration.
94791         * lib/file-has-acl.c (acl_nontrivial): New function.
94792         (file_has_acl): Add implementation using AIX 4 ACL API.
94793         * lib/set-mode-acl.c (qset_acl): Likewise.
94794         * lib/copy-acl.c (qcopy_acl): Likewise.
94796 2008-06-08  Bruno Haible  <bruno@clisp.org>
94798         Add support for HP-UX ACLs.
94799         * lib/acl-internal.h (acl_nontrivial): New declaration.
94800         * lib/file-has-acl.c (acl_nontrivial): New function.
94801         (file_has_acl): Add implementation using HP-UX 11 ACL API.
94802         * lib/set-mode-acl.c (qset_acl): Likewise.
94803         * lib/copy-acl.c (qcopy_acl): Likewise.
94805 2008-06-08  Bruno Haible  <bruno@clisp.org>
94807         Add support for Cygwin ACLs.
94808         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
94809         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
94810         the chmod_or_fchmod call.
94811         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
94813 2008-06-08  Bruno Haible  <bruno@clisp.org>
94815         Fix bug with setuid modes in Solaris 10+ code.
94816         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
94817         succeeded, when the mode contains some special bits.
94819 2008-06-08  Bruno Haible  <bruno@clisp.org>
94821         Add support for Solaris 7..10 ACLs.
94822         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
94823         declarations.
94824         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
94825         functions.
94826         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
94827         * lib/set-mode-acl.c (qset_acl): Likewise.
94828         * lib/copy-acl.c (qcopy_acl): Likewise.
94830 2008-06-08  Bruno Haible  <bruno@clisp.org>
94832         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
94833         declaration.
94834         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
94835         (acl_access_nontrivial): Remove MacOS X case.
94836         (file_has_acl): Use acl_extended_nontrivial.
94837         * lib/copy-acl.c (qcopy_acl): Likewise.
94839 2008-06-08  Bruno Haible  <bruno@clisp.org>
94841         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
94843 2008-06-08  Jim Meyering  <meyering@redhat.com>
94845         * modules/acl (Maintainer): Add Bruno Haible.
94847 2008-06-07  Bruno Haible  <bruno@clisp.org>
94849         Improve support for Tru64 ACLs.
94850         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
94851         ACL on OSF/1.
94853 2008-06-07  Bruno Haible  <bruno@clisp.org>
94855         Add support for MacOS X ACLs.
94856         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
94857         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
94858         * lib/set-mode-acl.c (qset_acl): Likewise.
94859         * lib/copy-acl.c (qcopy_acl): Likewise.
94861 2008-06-07  Bruno Haible  <bruno@clisp.org>
94863         Fix memory leak introduced on 2008-05-22.
94864         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
94865         use.
94867 2008-06-07  Bruno Haible  <bruno@clisp.org>
94869         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
94870         to construct an empty ACL.
94872 2008-06-07  Bruno Haible  <bruno@clisp.org>
94874         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
94875         precisely.
94876         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
94878 2008-06-07  Bruno Haible  <bruno@clisp.org>
94880         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
94881         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
94883 2008-06-07  Bruno Haible  <bruno@clisp.org>
94885         * doc/posix-functions/_setjmp.texi: Explain the use of this function
94886         regardless of POSIX.
94887         * doc/posix-functions/_longjmp.texi: Likewise.
94888         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
94889         SystemV platform in this case.
94891 2008-06-06  Eric Blake  <ebb9@byu.net>
94893         Document abort() bugs.
94894         * doc/posix-functions/abort.texi (abort): Mention anomalies.
94896         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
94897         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
94898         sigsetjmp.
94899         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
94900         siglongjmp, but only as a macro.
94901         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
94902         is obsolete.
94903         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
94905         Tweak documentation to cover cygwin argz bugs.
94906         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
94907         argz bug fix; no code change needed since no cygwin releases
94908         occurred between the last fix and the bug being tested.
94909         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
94910         module and recently fixed cygwin bugs.
94911         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
94912         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
94913         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
94914         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
94915         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
94916         Likewise.
94917         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
94918         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
94919         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
94920         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
94921         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
94922         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
94923         Likewise.
94925         Avoid gcc warning on cygwin.
94926         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
94927         !ACL_NO_TRIVIAL]: Avoid unused variable.
94929 2008-06-05  Eric Blake  <ebb9@byu.net>
94931         Be tolerant of UNKNOWN version in gnulib-tool test dir.
94932         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
94933         git-version-gen fails to come up with a version.
94934         Reported by Simon Josefsson.
94936 2008-06-05  Jim Meyering  <meyering@redhat.com>
94937             Paul Eggert  <eggert@cs.ucla.edu>
94939         utimens.c: work around a probable Linux kernel bug
94940         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
94941         appears to be a kernel bug that causes utimensat to return 280
94942         instead of 0, indicating success.
94944 2008-06-04  Bruno Haible  <bruno@clisp.org>
94946         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
94947         2008-06-01 commit.
94949 2008-06-04  Bruno Haible  <bruno@clisp.org>
94951         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
94952         * lib/file-has-acl.c (acl_access_nontrivial): New function.
94953         (file_has_acl): Use it. Save errno afterwards.
94954         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
94956 2008-06-03  Bruno Haible  <bruno@clisp.org>
94958         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
94959         draft code. Simplify #ifs.
94960         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
94961         Put Solaris code after POSIX-draft code. Fix comments regarding
94962         Solaris 10, HP-UX. Mention Cygwin.
94963         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
94965 2008-06-03  Eric Blake  <ebb9@byu.net>
94967         Provide fallback for older kernels.
94968         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
94969         Provide runtime fallback if kernel lacks support.
94970         Reported by Mike Frysinger.
94972 2008-06-02  Bruno Haible  <bruno@clisp.org>
94974         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
94975         it exists.
94977 2008-06-02  Bruno Haible  <bruno@clisp.org>
94979         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
94980         * lib/copy-acl.c (qcopy_acl): Update comment.
94982 2008-06-02  Bruno Haible  <bruno@clisp.org>
94984         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
94985         like ACL APIs.
94987 2008-06-02  Bruno Haible  <bruno@clisp.org>
94989         * tests/test-file-has-acl.sh: Use different code for Cygwin.
94990         * tests/test-set-mode-acl.sh: Likewise.
94991         * tests/test-copy-acl.sh: Likewise.
94992         * tests/test-copy-file.sh: Likewise.
94994 2008-06-02  Bruno Haible  <bruno@clisp.org>
94996         * tests/test-file-has-acl.sh: Remove unused code.
94998 2008-06-01  Bruno Haible  <bruno@clisp.org>
95000         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
95001         (copy_acl): Just a wrapper around qcopy_acl that emits the error
95002         messages.
95003         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
95005 2008-06-01  Bruno Haible  <bruno@clisp.org>
95007         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
95008         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
95009         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
95010         APIs.
95011         * modules/acl-tests (configure.ac): Remove tests now contained in
95012         m4/acl.m4.
95014 2008-06-02  Jim Meyering  <meyering@redhat.com>
95016         announce-gen: use a better key-server host name
95017         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
95018         it may be more consistently reliable.  Suggested by Werner Koch
95019         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
95021 2008-06-01  Bruno Haible  <bruno@clisp.org>
95023         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
95024         Reported by Voroskoi Andras <voroskoi@gmail.com>.
95026 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
95028         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
95030 2008-06-01  Bruno Haible  <bruno@clisp.org>
95032         New ACL tests.
95033         * tests/test-file-has-acl.sh: New file.
95034         * tests/test-file-has-acl.c: New file.
95035         * tests/test-set-mode-acl.sh: New file.
95036         * tests/test-set-mode-acl.c: New file.
95037         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
95038         * tests/test-copy-acl.c: New file.
95039         * modules/acl-tests: New file, based on modules/copy-file-tests.
95040         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
95041         (Depends-on): Add acl-tests.
95042         (configure.ac): Remove checks.
95043         (Makefile.am): Don't create test-sameacls program here any more.
95045 2008-06-01  Bruno Haible  <bruno@clisp.org>
95047         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
95048         * tests/test-sameacls.c: Include progname.h.
95049         (main): Invoke set_program_name. Portability fixes for MacOS X,
95050         Solaris, HP-UX.
95052 2008-06-01  Bruno Haible  <bruno@clisp.org>
95054         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
95055         function.
95056         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
95058 2008-06-01  Bruno Haible  <bruno@clisp.org>
95060         * modules/rpmatch (Depends-on): Add strdup.
95062 2008-06-01  Bruno Haible  <bruno@clisp.org>
95064         * lib/pipe.c: Include unistd-safer.h.
95065         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
95066         * modules/pipe (Depends-on): Add unistd-safer.
95068 2008-05-30  Simon Josefsson  <simon@josefsson.org>
95070         * modules/autobuild (configure.ac): Call AB_INIT.
95072 2008-05-30  Simon Josefsson  <simon@josefsson.org>
95074         * tests/test-getaddrinfo.c: Don't print debug messages by default.
95075         Suggested by Bruno Haible <bruno@clisp.org>.
95077 2008-05-30  Simon Josefsson  <simon@josefsson.org>
95079         * tests/test-base64.c: Cast size_t to unsigned long when invoking
95080         printf.  Use %lu instead of %d.  Reported by Bruno Haible
95081         <bruno@clisp.org>.
95083 2008-05-29  Eric Blake  <ebb9@byu.net>
95085         Prefer new POSIX 200x interfaces over futimesat.
95086         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
95087         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
95088         when available.
95089         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
95091 2008-05-28  Bruno Haible  <bruno@clisp.org>
95093         * modules/stpcpy (License): Change to LGPLv2+.
95094         Requested by David Lutterkort <dlutter@redhat.com>.
95096 2008-05-27  Bruno Haible  <bruno@clisp.org>
95098         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
95099         current mingw.
95100         Reported by Jose E. Marchesi <jemarch@gnu.org>.
95102 2008-05-27  Bruno Haible  <bruno@clisp.org>
95104         * modules/iconv_open (Link): New section, from module 'iconv'.
95105         * modules/striconv (Link): Likewise.
95106         * modules/striconveh (Link): Likewise.
95107         * modules/xstriconv (Link): Likewise.
95108         * modules/unicodeio (Link): Likewise.
95109         * modules/propername (Link): Likewise.
95110         Reported by Jim Meyering.
95112 2008-05-26  Jim Meyering  <meyering@redhat.com>
95114         sha256: do not artificially restrict buffer length to be < 2^32
95115         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
95116         uint32_t to size_t.
95117         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
95118         to match.
95120         avoid unaligned access errors, e.g., on sparc
95121         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
95122         direct access through a possibly-unaligned uint64* pointer.
95123         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
95124         direct access through a possibly-unaligned uint32* pointer.
95125         Prompted by this patch from Tom "spot" Callaway:
95126         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
95128         sha512.c: fix typo in comment
95129         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
95131 2008-05-25  Bruno Haible  <bruno@clisp.org>
95133         * lib/set-mode-acl.c: Renamed from lib/acl.c.
95134         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
95135         (Makefile.am): Update lib_SOURCES.
95137 2008-05-25  Bruno Haible  <bruno@clisp.org>
95139         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
95141 2008-05-25  Jim Meyering  <meyering@redhat.com>
95143         useless-if-before-free: freed expr may have white-space differences
95144         * build-aux/useless-if-before-free: Recognize cases in which the
95145         freed expression differs from the tested one in embedded white
95146         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
95147         $1 was used, so we can't make any regexp shy.  Improved tests now
95148         detect this.
95150         useless-if-before-free: accept white space in the expression.
95151         * build-aux/useless-if-before-free: For now, any white space
95152         in the expression must be identical in the free argument.
95154         useless-if-before-free: efficiency tweak
95155         * build-aux/useless-if-before-free: Make the expression-matching
95156         regexp "shy".
95157         Make the *outer* regexp shy, not the expr-matching one.
95159         update code-in-comment to accept cast of free arg
95160         * build-aux/useless-if-before-free: Update regexp.
95162 2008-05-25  Bruno Haible  <bruno@clisp.org>
95164         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
95165         * modules/copy-file-tests (Files, Makefile.am): Update.
95166         * tests/test-copy-file.c (func_test_copy): Update.
95168 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
95170         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
95172 2008-05-23  Bruno Haible  <bruno@clisp.org>
95174         Improve support for ACLs on OSF/1.
95175         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
95176         Remove fallback for unknown flavors of ACLs.
95178 2008-05-22  Bruno Haible  <bruno@clisp.org>
95180         Add support for ACLs on OSF/1.
95181         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
95182         replacements.
95183         (acl_free_text): New macro fallback.
95184         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
95185         acl_free.
95186         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
95187         acl_free_text function. Require AC_C_INLINE.
95189 2008-05-22  Bruno Haible  <bruno@clisp.org>
95191         Make copy_acl work on MacOS X 10.5.
95192         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
95193         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
95194         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
95195         If MODE_INSIDE_ACL, don't assume that every system has the same text
95196         representation for ACLs as FreeBSD.
95197         * lib/copy-acl.c (copy_acl): Add support for platforms with
95198         !MODE_INSIDE_ACL.
95199         * lib/file-has-acl.c (file_has_acl): Likewise.
95200         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
95201         FreeBSD, MacOS X, or IRIX, respectively.
95203 2008-05-22  Bruno Haible  <bruno@clisp.org>
95205         * lib/acl.h: Don't include <sys/acl.h>.
95206         (GETACLCNT): Move fallback to lib/acl-internal.h.
95207         * lib/acl-internal.h: Include <sys/acl.h> here.
95208         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
95210 2008-05-22  Bruno Haible  <bruno@clisp.org>
95212         Split off copy_acl function to separate file.
95213         * lib/copy-acl.c: New file, extracted from lib/acl.c.
95214         * lib/acl.c (copy_acl): Moved function to separate file.
95215         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
95216         * modules/acl (Files): Add lib/copy-acl.c.
95217         (Makefiles.am): Augment lib_SOURCES.
95219 2008-05-22  Bruno Haible  <bruno@clisp.org>
95221         * modules/copy-file-tests: New file.
95222         * tests/test-copy-file.sh: New file.
95223         * tests/test-copy-file.c: New file.
95224         * tests/test-copy-file-sameacls.c: New file.
95226 2008-05-22  Eric Blake  <ebb9@byu.net>
95228         Avoid gcc warning.
95229         * tests/test-memcmp.c (main): Pass NULL indirectly.
95231 2008-05-21  Bruno Haible  <bruno@clisp.org>
95233         Add reference doc about ACLs.
95234         * doc/acl-resources.txt: New file.
95235         * doc/acl-cygwin.txt: New file.
95237 2008-05-21  Bruno Haible  <bruno@clisp.org>
95239         Avoid one more warning from gcc.
95240         * lib/vasnprintf.c (IF_LINT): Update comments.
95241         (VASNPRINTF): Use it also for the 'prefix' array initializer.
95243 2008-05-21  Jim Meyering  <meyering@redhat.com>
95245         avoid a warning from gcc
95246         * lib/vasnprintf.c (IF_LINT): Define.
95247         (scale10_round_decimal_long_double):
95248         Use it to avoid a "may be used uninitialized" warning.
95249         (scale10_round_decimal_double): Likewise.
95251 2008-05-21  Simon Josefsson  <simon@josefsson.org>
95253         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
95254         declared.
95256 2008-05-20  Bruno Haible  <bruno@clisp.org>
95258         * tests/test-memcmp.c (main): Test also the sign of the result. Test
95259         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
95261 2008-05-20  Simon Josefsson  <simon@josefsson.org>
95263         * modules/memcmp-tests: New file.
95264         * tests/test-memcmp.c: New file.
95266 2008-05-19  Bruno Haible  <bruno@clisp.org>
95268         * modules/propername (Notice, configure.ac): Put quoted "..." into
95269         --keyword option.
95270         * lib/propername.h: Update comments accordingly.
95271         Reported by Eric Blake.
95273 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
95275         * modules/getpass-gnu (Depends-on): Add fseeko.
95277 2008-05-19  Simon Josefsson  <simon@josefsson.org>
95279         * modules/base64-tests: New file.
95281 2008-05-19  Bo Borgerson  <gigabo@gmail.com>
95283         * lib/base64.c (base64_decode_ctx): If a decode context structure
95284         was passed in use it to ignore newlines.  If a context structure
95285         was _not_ passed in, continue to treat newlines as garbage (this
95286         is the historical behavior).  Formerly base64_decode.
95287         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
95288         takes a decode context structure.
95289         * lib/base64.h (base64_decode): Macro for four-argument calls.
95290         (base64_decode_alloc): Likewise.
95291         * lib/base64.c (base64_decode_ctx): If a decode context structure
95292         was passed in use it to ignore newlines.  If a context structure
95293         was _not_ passed in, continue to treat newlines as garbage (this
95294         is the historical behavior).  Formerly base64_decode.
95295         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
95296         takes a decode context structure.
95297         * lib/base64.h (base64_decode): Macro for four-argument calls.
95298         (base64_decode_alloc): Likewise.
95300 2008-05-19  Jim Meyering  <meyering@redhat.com>
95302         avoid a warning from gcc
95303         * lib/trim.c (IF_LINT): Define.
95304         (trim2): Use it to avoid a "may be used uninitialized" warning.
95306         Fix doc typo.
95307         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
95309 2008-05-19  Bruno Haible  <bruno@clisp.org>
95311         * doc/glibc-functions/getpass.texi: Document limits of other
95312         implementations.
95314 2008-05-19  Simon Josefsson  <simon@josefsson.org>
95315             Bruno Haible <bruno@clisp.org>
95317         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
95319 2008-05-18  Bruno Haible  <bruno@clisp.org>
95321         * modules/propername: New file, from GNU gettext.
95322         * lib/propername.h: New file, from GNU gettext.
95323         * lib/propername.c: New file, from GNU gettext.
95324         * MODULES.html.sh (Internationalization functions): Add propername.
95326 2008-05-16  Jim Meyering  <meyering@redhat.com>
95327             Bruno Haible  <bruno@clisp.org>
95329         Avoid some warnings from "gcc -Wshadow".
95330         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
95332 2008-05-15  Eric Blake  <ebb9@byu.net>
95334         Extend previous patch to cygwin 1.7.0.
95335         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
95336         fast implementation in cygwin >= 1.7.0.
95337         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
95338         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
95340 2008-05-15  Bruno Haible  <bruno@clisp.org>
95342         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
95343         implementation in glibc >= 2.9.
95344         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
95345         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
95347 2008-05-15  Bruno Haible  <bruno@clisp.org>
95349         * MODULES.html.sh (Internationalization functions): Remove linebreak.
95350         (Unicode string functions): Add unilbrk/*.
95351         Reported by Karl Berry.
95353 2008-05-15  Eric Blake  <ebb9@byu.net>
95355         Fix violation of <stdbool.h> replacement in regex.
95356         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
95357         * lib/regexec.c (re_search_internal): Likewise.
95358         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
95360 2008-05-15  Jim Meyering  <meyering@redhat.com>
95362         avoid distracting test output when git or cvs is not found
95363         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
95364         * tests/test-vc-list-files-git.sh: Likewise.
95366 2008-05-15  Eric Blake  <ebb9@byu.net>
95368         Glibc finally accepted the memmem speedup code, bugzilla #5514.
95369         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
95370         glibc version.
95371         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
95372         * doc/posix-functions/strstr.texi (strstr): Likewise.
95373         * lib/str-two-way.h (MAX): Sychronize with glibc.
95375 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
95377         * lib/regcomp.c (optimize_utf8): Add a note on why we test
95378         opr.ctx_type.
95379         (calc_first): Initialize constraint field.
95380         (duplicate_node_closure): Use it instead of special casing ANCHORS.
95381         Fix grammar.
95382         (duplicate_node): Merge constraint field for all node types.
95383         (calc_eclosure_iter): Look at constraint field for all node types.
95384         * lib/regex_internal.c (create_cd_newstate): Don't look at
95385         opr.ctx_type.
95387 2008-05-14  Bruno Haible  <bruno@clisp.org>
95389         Help GCC to do better code generation.
95390         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
95391         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
95392         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
95393         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
95394         Declare with attribute 'malloc' if supported.
95396 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
95398         use "echo STR|wc -c" rather than unportable "expr length STR"
95399         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
95400         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
95402 2008-05-14  Jim Meyering  <meyering@redhat.com>
95404         use dd ibs=$n count=1 ... rather than less-portable head -c$n
95405         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
95406         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
95407         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
95408         via Collin Lasse.
95410 2008-05-14  Eric Blake  <ebb9@byu.net>
95412         Avoid quadratic growth in gl_LIBSOURCES.
95413         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
95414         Suggested by Bruno Haible.
95416         Test xmemdup0.
95417         * modules/xmemdup0-tests: New file.
95418         * tests/test-xmemdup0.c: Likewise.
95420 2008-05-13  Eric Blake  <ebb9@byu.net>
95422         Split xmemdup0 into its own module.
95423         * modules/xmemdup0: New file.
95424         * lib/xmemdup0.h: Likewise.
95425         * lib/xmemdup0.c: Likewise.
95426         * MODULES.html.sh (Memory management functions): Add xmemdup0.
95427         * lib/xalloc.h (xmemdup0): Remove.
95428         * lib/xmalloc.c (xmemdup0): Likewise.
95430 2008-05-13  Eric Blake  <ebb9@byu.net>
95431             Bruno Haible  <bruno@clisp.org>
95433         Reduce number of forks required during autoconf.
95434         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
95435         and gl_LIBSOURCES_DIR.
95436         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
95437         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
95438         m4_syscmd per file.
95439         <m4_foreach_w>: Move...
95440         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
95442 2008-05-13  Eric Blake  <ebb9@byu.net>
95444         * gnulib-tool: Fix various comment typos.
95446 2008-05-12  Bruno Haible  <bruno@clisp.org>
95448         Tailor the linebreaking algorithm.
95449         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
95451 2008-05-12  Bruno Haible  <bruno@clisp.org>
95453         Update to Unicode 5.0.0.
95454         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
95455         LBP_JV, LBP_JT. Redistribute values.
95456         (unilbrk_table): Change size.
95457         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
95458         Unicode TR#14 rev. 22.
95459         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
95460         LBP_JV, LBP_JT. Redistribute values.
95461         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
95462         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
95463         Update.
95464         * lib/unilbrk/lbrkprop1.h: Regenerated.
95465         * lib/unilbrk/lbrkprop2.h: Regenerated.
95466         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
95467         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
95468         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
95469         Likewise.
95470         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
95471         Likewise.
95472         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
95473         result.
95474         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
95475         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
95476         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
95477         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
95478         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
95479         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
95481 2008-05-11  Bruno Haible  <bruno@clisp.org>
95483         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
95485 2008-05-11  Bruno Haible  <bruno@clisp.org>
95487         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
95488         * modules/unilbrk/gen-lbrk: New file.
95490 2008-05-11  Bruno Haible  <bruno@clisp.org>
95492         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
95493         * m4/sha512.m4 (gl_SHA512): Likewise.
95495 2008-05-11  Jim Meyering  <meyering@redhat.com>
95497         New modules: crypto/sha256, crypto/sha512 (from coreutils)
95498         * modules/crypto/sha256: New file.
95499         * modules/crypto/sha512: Likewise.
95500         * lib/sha256.c: Likewise.
95501         * lib/sha256.h: Likewise.
95502         * lib/sha512.c: Likewise.
95503         * lib/sha512.h: Likewise.
95504         * lib/u64.h: Likewise.
95505         * m4/sha256.m4: Likewise.
95506         * m4/sha512.m4: Likewise.
95507         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
95509 2008-05-10  Bruno Haible  <bruno@clisp.org>
95511         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
95512         (Input/Output <stdio.h>): Add xprintf.
95513         (Signal handling <signal.h>): Add strsignal.
95514         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
95515         (Core language properties): Add func.
95516         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
95517         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
95518         strings.
95519         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
95520         (Input/output): New section.
95521         (File system functions): Add openat-die, stat-macros.
95522         (Networking functions): Add sockets.
95523         (Unicode string functions): Add unictype/*.
95524         (Support for building libraries and executables): Add gperf.
95525         (Support for building documentation): Add agpl-3.0.
95526         (Misc): Add nocrash.
95528 2008-05-10  Bruno Haible  <bruno@clisp.org>
95530         * modules/unictype/gen-ctype: New file.
95532 2008-05-10  Jim Meyering  <meyering@redhat.com>
95534         Make chdir-safer.c more efficient on a system with no symlinks.
95535         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
95536         also if ELOOP is zero.  Suggested by Bruno Haible.
95538         Make chdir-safer.c slightly safer.
95539         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
95540         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
95542         Avoid compile failure on systems without ELOOP (like mingw).
95543         * lib/chdir-safer.c (ELOOP): Define if not already defined.
95544         Reported by Bruno Haible.
95546 2008-05-10  Bruno Haible  <bruno@clisp.org>
95548         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
95549         (is_utf8_encoding): Use a case-insensitive comparison.
95550         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
95551         streq.
95553 2008-05-10  Bruno Haible  <bruno@clisp.org>
95555         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
95556         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
95557         * lib/unilbrk/ulc-common.h (iconv_string_length,
95558         iconv_string_keeping_offsets): Remove declarations.
95559         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
95560         Don't include <iconv.h>, streq.h, xsize.h.
95561         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
95562         conversion.
95563         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
95564         <iconv.h>, streq.h, xsize.h.
95565         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
95566         conversion.
95567         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
95568         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
95569         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
95570         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
95572 2008-05-10  Bruno Haible  <bruno@clisp.org>
95574         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
95575         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
95577         * modules/unilbrk/u32-width-linebreaks-tests: New file.
95578         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
95580         * modules/unilbrk/u16-width-linebreaks-tests: New file.
95581         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
95583         * modules/unilbrk/u8-width-linebreaks-tests: New file.
95584         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
95586         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
95587         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
95589         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
95590         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
95592         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
95593         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
95595         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
95596         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
95598 2008-05-10  Bruno Haible  <bruno@clisp.org>
95600         Split up 'linebreak' module.
95601         * lib/unilbrk.h: New file, based on lib/linebreak.h.
95602         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
95603         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
95604         modifications.
95605         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
95606         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
95607         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
95608         lib/linebreak.c.
95609         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
95610         lib/linebreak.c.
95611         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
95612         lib/linebreak.c.
95613         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
95614         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
95615         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
95616         lib/linebreak.c.
95617         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
95618         lib/linebreak.c.
95619         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
95620         lib/linebreak.c.
95621         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
95622         lib/linebreak.c.
95623         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
95624         lib/linebreak.c.
95625         * modules/unilbrk/base: New file.
95626         * modules/unilbrk/tables: New file.
95627         * modules/unilbrk/u8-possible-linebreaks: New file.
95628         * modules/unilbrk/u16-possible-linebreaks: New file.
95629         * modules/unilbrk/u32-possible-linebreaks: New file.
95630         * modules/unilbrk/ulc-common: New file.
95631         * modules/unilbrk/ulc-possible-linebreaks: New file.
95632         * modules/unilbrk/u8-width-linebreaks: New file.
95633         * modules/unilbrk/u16-width-linebreaks: New file.
95634         * modules/unilbrk/u32-width-linebreaks: New file.
95635         * modules/unilbrk/ulc-width-linebreaks: New file.
95636         * lib/linebreak.h: Remove file.
95637         * lib/linebreak.c: Remove file.
95638         * m4/linebreak.m4: Remove file.
95639         * modules/linebreak: Remove file.
95640         * NEWS: Mention the changes.
95642 2008-05-09  Eric Blake  <ebb9@byu.net>
95644         Add xmemdup0.
95645         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
95646         implementation.
95647         * lib/xmalloc.c (xmemdup0): New C implementation.
95649 2008-05-08  Bruno Haible  <bruno@clisp.org>
95651         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
95653 2008-05-07  Eric Blake  <ebb9@byu.net>
95655         Support cross-compilation of <wctype.h>.
95656         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
95657         AC_CACHE_CHECK.
95659 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
95661         * build-aux/vc-list-files: Add support for bzr.
95663 2008-05-03  Jim Meyering  <meyering@redhat.com>
95665         avoid failed assertion with tight malloc
95666         * tests/test-getndelim2.c: Correct an off-by-one assertion.
95668 2008-05-03  Simon Josefsson  <simon@josefsson.org>
95670         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
95671         are needed from arpa/inet.h.
95672         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
95673         Reported by Bruno Haible.
95675 2008-05-02  Jim Meyering  <meyering@redhat.com>
95677         avoid compilation error on FreeBSD 6
95678         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
95680 2008-05-01  Jim Meyering  <meyering@redhat.com>
95682         useless-if-before-free: correct --help's exit status description
95683         * build-aux/useless-if-before-free (usage): Like grep, exit 0
95684         for one or more matches, etc.  Reported by Bruno Haible.
95686         vc-list-files: make the stand-alone gnulib test work
95687         * modules/vc-list-files-tests (configure.ac):
95688         Define and AC_SUBST abs_aux_dir.
95689         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
95690         $(abs_top_srcdir) to each script and having each of them
95691         duplicate the work of setting PATH, set PATH here, using
95692         the new variable, abs_aux_dir instead.
95693         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
95694         * tests/test-vc-list-files-git.sh: Likewise.
95695         Reported by Bruno Haible.
95697 2008-05-01  Bruno Haible  <bruno@clisp.org>
95699         * lib/getndelim2.c (getndelim2): Fix newsize computation during
95700         reallocation. Rename 'done' to 'found_delimiter'.
95702 2008-05-01  Jim Meyering  <meyering@redhat.com>
95704         vc-list-files: accommodate /bin/sh like the one from Solaris 10
95705         * build-aux/vc-list-files: Use `...`, not $(...).
95707 2008-04-30  Jim Meyering  <meyering@redhat.com>
95709         add tests for vc-list-files
95710         * modules/vc-list-files-tests: New module.
95711         * tests/test-vc-list-files-cvs.sh: New file.
95712         * tests/test-vc-list-files-git.sh: New file.
95714         avoid a warning from gcc
95715         * lib/getndelim2.c (IF_LINT): Define.
95716         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
95718         vc-list-files: work properly with build-aux/cvsu, too
95719         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
95720         to all cvs-based clauses.
95722         vc-list-files: work properly in the CVS+awk case, too
95723         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
95725         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
95726         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
95727         take more than one file argument, so .  Add quotes, just in case $dir
95728         ever contains a shell meta-character.  Prompted by Soren Hansen in
95729         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
95731 2008-04-29  Eric Blake  <ebb9@byu.net>
95733         Optimize getndelim2 to use block operations when possible.
95734         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
95735         freadseek, and memchr2.
95736         * lib/getndelim2.c (getndelim2): Use them for block reads.
95738 2008-04-29  Bruno Haible  <bruno@clisp.org>
95740         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
95741         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
95742         * modules/inet_ntop (Depends-on): Add extensions.
95743         * modules/inet_pton (Depends-on): Likewise.
95744         Reported by Simon Josefsson.
95746 2008-04-29  Jim Meyering  <meyering@redhat.com>
95748         When the is more than one match in a block, match all of them.
95749         * build-aux/useless-if-before-free: Iterate through each block
95750         until there are no more matches.
95752         Fix broken useless-if-before-free script.
95753         * build-aux/useless-if-before-free: Fix typo: missing "?" after
95754         the expression to match cast of argument to free-like function.
95756 2008-04-29  Eric Blake  <ebb9@byu.net>
95758         Use new header.
95759         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
95761 2008-04-29  Jim Meyering  <meyering@redhat.com>
95763         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
95764         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
95765         by gnulib to exist and to declare e.g., inet_ntop.
95766         Don't include "inet_ntop.h", now removed.
95768         * m4/arpa_inet_h.m4: Remove trailing blanks.
95770 2008-04-29  Eric Blake  <ebb9@byu.net>
95772         Silence valgrind on safe reads beyond potential array bounds.
95773         * lib/rawmemchr.valgrind: New file.
95774         * lib/strchrnul.valgrind: Likewise.
95775         * modules/rawmemchr (Files): Distribute new file.
95776         * modules/strchrnul (Files): Likewise.
95777         Suggested by Bruno Haible.
95779 2008-04-29  Bruno Haible  <bruno@clisp.org>
95781         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
95782         (inet_ntop, inet_pton): Change portability warning's wording.
95783         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
95784         Invoke gl_CHECK_NEXT_HEADERS.
95785         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
95786         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
95787         set ARPA_INET_H.
95788         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
95789         * modules/arpa_inet (Description): No longer only for systems that
95790         lack it.
95791         (Depends-on): Add include_next.
95792         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
95793         HAVE_ARPA_INET_H.
95795 2008-04-29  Jim Meyering  <meyering@redhat.com>
95797         * modules/mkdir (License): Re-license as LGPLv2+.
95799 2008-04-29  Bruno Haible  <bruno@clisp.org>
95801         * modules/rawmemchr (Maintainer): Set to Eric.
95802         * modules/strchrnul (Maintainer): Likewise.
95804 2008-04-29  Simon Josefsson  <simon@josefsson.org>
95806         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
95807         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
95809         * modules/arpa_inet (arpa/inet.h): Use them.
95811 2008-04-28  Eric Blake  <ebb9@byu.net>
95813         Test getndelim2.
95814         * modules/getndelim2-tests: New file.
95815         * tests/test-getndelim2.c: Likewise.
95816         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
95817         stream.
95818         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
95820         * MODULES.html.sh: Document new module.
95822 2008-04-20  Bruno Haible  <bruno@clisp.org>
95824         * lib/c-stack.c (die): Use raise.
95825         * modules/c-stack (Depends-on): Add raise.
95827 2008-04-28  Bruno Haible  <bruno@clisp.org>
95829         Expect rpmatch to be declared.
95830         * lib/yesno.c (rpmatch): Remove declaration.
95832         Declare rpmatch.
95833         * lib/stdlib.in.h (rpmatch): New declaration.
95834         * lib/rpmatch.c: Include <stdlib.h> first.
95835         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
95836         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
95837         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
95838         HAVE_RPMATCH.
95839         * modules/rpmatch (Depends-on): Add stdlib, extensions.
95840         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
95841         (Include): Set to <stdlib.h>.
95842         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
95843         HAVE_RPMATCH.
95844         * NEWS: Document the change.
95846 2008-04-28  Bruno Haible  <bruno@clisp.org>
95848         Change rpmatch to use nl_langinfo when appropriate.
95849         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
95850         (N_): New macro.
95851         (localized_pattern): New function/macro.
95852         (try): Remove match, nomatch arguments. Copy the pattern into safe
95853         memory before caching it.
95854         (rpmatch): Use localized_pattern. Add translator comments.
95855         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
95856         Suggested by Eric Blake.
95857         * modules/rpmatch (Depends-on): Add stdbool.
95859 2008-04-28  Eric Blake  <ebb9@byu.net>
95861         Add rawmemchr module, matching glibc.
95862         * modules/string (Makefile.am): New indicator.
95863         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
95864         * lib/string.in.h (rawmemchr): Declare when appropriate.
95865         * modules/rawmemchr: New file.
95866         * m4/rawmemchr.m4: Likewise.
95867         * lib/rawmemchr.c: Likewise.
95868         * modules/rawmemchr-tests: Likewise.
95869         * tests/test-rawmemchr.c: Likewise.
95870         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
95871         module.
95872         * modules/strchrnul (Depends-on): Add rawmemchr.
95873         * lib/strchrnul.c (strchrnul): Optimize a corner case.
95875         Whitespace cleanup.
95876         * tests/test-strchrnul.c: Reindent.
95877         * lib/strchrnul.c: Likewise.
95879         Optimize and test strchrnul.
95880         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
95881         * modules/strchrnul-tests: New file.
95882         * tests/test-strchrnul.c: Likewise.
95884         Remove intprops dependency.
95885         * modules/memchr (Depends-on): Remove intprops.
95886         * modules/memrchr (Depends-on): Likewise.
95887         * modules/memchr2 (Depends-on): Likewise.
95888         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
95889         * lib/memrchr.c (__memrchr): Likewise.
95890         * lib/memrchr2.c (memchr2): Likewise.
95891         Reported by Simon Josefsson.
95893 2008-04-28  Simon Josefsson  <simon@josefsson.org>
95895         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
95896         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
95898 2008-04-28  Simon Josefsson  <simon@josefsson.org>
95900         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
95902         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
95904         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
95906         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
95907         declarations.
95908         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
95910         * m4/inet_pton.m4: Don't check for header files.
95912         * m4/inet_ntop.m4: Don't check for header files.
95914 2008-04-28  Simon Josefsson  <simon@josefsson.org>
95916         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
95917         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
95918         trigger for cygwin).
95919         Reported by Bruno Haible  <bruno@clisp.org>.
95921 2008-04-28  Bruno Haible  <bruno@clisp.org>
95923         * doc/posix-functions/strdup.texi: Mention mingw problem.
95925 2008-04-27  Bruno Haible  <bruno@clisp.org>
95927         * modules/stat-time-tests (Depends-on): Add sleep.
95928         * tests/test-stat-time.c (force_unlink): New function.
95929         (cleanup): Use it.
95930         (test_mtime): Remove the ctime related tests.
95931         (test_ctime): New function, containing the ctime related tests.
95932         (main): Call test_ctime, except on native Windows platforms.
95934 2008-04-27  Bruno Haible  <bruno@clisp.org>
95936         * lib/rpmatch.c (rpmatch): Add some comments.
95937         Reported by James Youngman <jay@gnu.org>.
95939 2008-04-27  Bruno Haible  <bruno@clisp.org>
95941         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
95942         quiet NaNs.
95944 2008-04-27  Bruno Haible  <bruno@clisp.org>
95946         Make test-yesno.sh work on mingw.
95947         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
95948         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
95949         (main): Set stdin to binary mode.
95950         * modules/yesno-tests (Depends-on): Add binary-io.
95952 2008-04-27  Bruno Haible  <bruno@clisp.org>
95954         Fix 'isfinite' on x86, x86_64, ia64 platforms.
95955         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
95956         argument that lie outside the IEEE 854 domain.
95957         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
95958         (gl_ISFINITE): Use it.
95959         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
95961 2008-04-27  Bruno Haible  <bruno@clisp.org>
95963         Allow local renaming in config.h.
95964         * lib/memrchr.c (memrchr): Don't undefine outside libc.
95966 2008-04-27  Bruno Haible  <bruno@clisp.org>
95968         * lib/memchr.c (__memchr): Change type of 'i'.
95969         * lib/memchr2.c (memchr2): Likewise.
95971 2008-04-26  Eric Blake  <ebb9@byu.net>
95972         and Bruno Haible  <bruno@clisp.org>
95974         Optimize and test memrchr.
95975         * modules/memrchr (Depends-on): Add intprops.
95976         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
95977         * modules/memrchr-tests: New file.
95978         * tests/test-memrchr.c: New file.
95980 2008-04-26  Bruno Haible  <bruno@clisp.org>
95982         Add tentative support for DragonFly BSD.
95983         * lib/stdio-impl.h: Add macros for DragonFly BSD.
95984         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
95985         fp.
95986         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
95987         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
95988         * lib/fpurge.c (fpurge): Likewise.
95989         * lib/freadable.c (freaadable): Likewise.
95990         * lib/freadahead.c (freadahead): Likewise.
95991         * lib/freading.c (freading): Likewise.
95992         * lib/freadptr.c (freadptr): Likewise.
95993         * lib/freadseek.c (freadptrinc): Likewise.
95994         * lib/fseeko.c (fseeko): Likewise.
95995         * lib/fseterr.c (fseterr): Likewise.
95996         * lib/fwritable.c (fwritable): Likewise.
95997         * lib/fwriting.c (fwriting): Likewise.
95999 2008-04-26  Bruno Haible  <bruno@clisp.org>
96001         * lib/stdio-impl.h: New file.
96002         * lib/fbufmode.c: Include stdio-impl.h.
96003         (fbufmode): Use fp_, remove redundant #defines.
96004         * lib/fflush.c: Include stdio-impl.h.
96005         (clear_ungetc_buffer): Remove redundant #defines.
96006         * lib/fpurge.c: Include stdio-impl.h.
96007         (fpurge): Remove redundant #defines.
96008         * lib/freadable.c: Include stdio-impl.h.
96009         (freadable): Remove redundant #defines.
96010         * lib/freadahead.c: Include stdio-impl.h.
96011         (freadahead): Remove redundant #defines.
96012         * lib/freading.c: Include stdio-impl.h.
96013         (freading): Remove redundant #defines.
96014         * lib/freadptr.c: Include stdio-impl.h.
96015         (freadptr): Remove redundant #defines.
96016         * lib/freadseek.c: Include stdio-impl.h.
96017         (freadptrinc): Remove redundant #defines.
96018         * lib/fseeko.c: Include stdio-impl.h.
96019         (rpl_fseeko): Remove redundant #defines.
96020         * lib/fseterr.c: Include stdio-impl.h.
96021         (fseterr): Remove redundant #defines.
96022         * lib/fwritable.c: Include stdio-impl.h.
96023         (fwritable: Remove redundant #defines.
96024         * lib/fwriting.c: Include stdio-impl.h.
96025         (fwriting): Remove redundant #defines.
96026         * modules/fbufmode (Files): Add lib/stdio-impl.h.
96027         * modules/fflush (Files): Likewise.
96028         * modules/fpurge (Files): Likewise.
96029         * modules/freadable (Files): Likewise.
96030         * modules/freadahead (Files): Likewise.
96031         * modules/freading (Files): Likewise.
96032         * modules/freadptr (Files): Likewise.
96033         * modules/freadseek (Files): Likewise.
96034         * modules/fseeko (Files): Likewise.
96035         * modules/fseterr (Files): Likewise.
96036         * modules/fwritable (Files): Likewise.
96037         * modules/fwriting (Files): Likewise.
96039 2008-04-26  Bruno Haible  <bruno@clisp.org>
96041         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
96042         restore_seek_optimization, update_fpos_cache): New functions, extracted
96043         from rpl_fflush.
96044         (rpl_fflush): Use them.
96045         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
96046         (gl_REPLACE_FFLUSH): Use it.
96048 2008-04-26  Bruno Haible  <bruno@clisp.org>
96050         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
96051         on Solaris.
96052         * tests/test-xstrtoimax.sh: Likewise.
96053         * tests/test-xstrtoumax.sh: Likewise.
96054         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
96056 2008-04-26  Bruno Haible  <bruno@clisp.org>
96058         * modules/memchr-tests: New file.
96059         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
96061 2008-04-26  Eric Blake  <ebb9@byu.net>
96062             Bruno Haible  <bruno@clisp.org>
96064         * lib/memchr.c: Include intprops.h.
96065         (__memchr): Optimize parallel detection of matching bytes. Rename local
96066         variables. Add explanatory comments.
96068 2008-04-26  Bruno Haible  <bruno@clisp.org>
96070         Fix module 'memchr', broken since 2000-10-28.
96071         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
96073 2008-04-26  Bruno Haible  <bruno@clisp.org>
96075         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
96076         comments.
96078 2008-04-25  Eric Blake  <ebb9@byu.net>
96080         Use native fstatat on cygwin 1.7.0.
96081         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
96082         first.
96084 2008-04-23  Eric Blake  <ebb9@byu.net>
96086         Improve memchr2 performance.
96087         * lib/memchr2.c (memchr2): Further optimize parallel detection of
96088         NUL bytes.
96089         * modules/memchr2 (Depends-on): Use intprops.h.
96091 2008-04-23  Simon Josefsson  <simon@josefsson.org>
96093         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
96094         an inline function instead of a CPP macro.  Patch by Ben Pfaff
96095         <blp@cs.stanford.edu>.
96097 2008-04-23  Simon Josefsson  <simon@josefsson.org>
96099         * lib/arpa_inet.in.h: New file.
96101         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
96102         (Makefile.am): Sed in substitute header file.
96104         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
96105         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
96107         * modules/inet_ntop (configure.ac): Use
96108         gl_ARPA_INET_MODULE_INDICATOR.
96110         * modules/inet_pton (configure.ac): Use
96111         gl_ARPA_INET_MODULE_INDICATOR.
96113 2008-04-22  Jim Meyering  <meyering@redhat.com>
96115         * modules/verify (License): Re-license as LGPLv2+.
96117 2008-04-22  Simon Josefsson  <simon@josefsson.org>
96119         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
96120         parameter to void* as per POSIX standard (MinGW uses char*).
96122 2008-04-21  Bruno Haible  <bruno@clisp.org>
96124         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
96125         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
96126         Define to replacements if REPLACE_ISWCNTRL is 1.
96127         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
96128         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
96129         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
96130         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
96131         what it fixes.
96132         * doc/posix-functions/iswalpha.texi: Likewise.
96133         * doc/posix-functions/iswblank.texi: Likewise.
96134         * doc/posix-functions/iswcntrl.texi: Likewise.
96135         * doc/posix-functions/iswdigit.texi: Likewise.
96136         * doc/posix-functions/iswgraph.texi: Likewise.
96137         * doc/posix-functions/iswlower.texi: Likewise.
96138         * doc/posix-functions/iswprint.texi: Likewise.
96139         * doc/posix-functions/iswpunct.texi: Likewise.
96140         * doc/posix-functions/iswspace.texi: Likewise.
96141         * doc/posix-functions/iswupper.texi: Likewise.
96142         * doc/posix-functions/iswxdigit.texi: Likewise.
96143         Reported by Alain Guibert.
96145 2008-04-21  Bruno Haible  <bruno@clisp.org>
96147         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
96148         Patch by Alain Guibert.
96150 2008-04-21  Bruno Haible  <bruno@clisp.org>
96152         Fix test failures on mingw.
96153         * tests/test-xstrtol.c (print_no_progname): New function.
96154         (main): Install it in error_print_progname hook.
96155         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
96156         * tests/test-xstrtoimax.sh: Likewise.
96157         * tests/test-xstrtoumax.sh: Likewise.
96159 2008-04-21  Bruno Haible  <bruno@clisp.org>
96161         Fix test failure on mingw.
96162         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
96164 2008-04-21  Bruno Haible  <bruno@clisp.org>
96166         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
96167         Actually assign a value.
96169 2008-04-20  Bruno Haible  <bruno@clisp.org>
96171         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
96172         take 2.
96173         * lib/canonicalize.c (canonicalize_file_name): Elide if the
96174         'canonicalize-lgpl' module is also used.
96175         * lib/canonicalize-lgpl.c: Undo last change.
96176         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
96178 2008-04-20  Bruno Haible  <bruno@clisp.org>
96180         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
96181         config.h. Provide _mkdir based fallback for mingw.
96182         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
96183         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
96184         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
96185         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
96186         rather than defining mkdir in config.h.
96187         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
96188         (gl_SYS_STAT_H_DEFAULTS): New macro.
96189         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
96190         HAVE_IO_H any more.
96191         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
96192         HAVE_DECL_MKDIR and HAVE_IO_H.
96194 2008-04-20  Bruno Haible  <bruno@clisp.org>
96196         * lib/isapipe.c: Port to native Windows platforms.
96198 2008-04-20  Bruno Haible  <bruno@clisp.org>
96200         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
96202 2008-04-21  Eric Blake  <ebb9@byu.net>
96204         Work around preprocessors that don't handle UINTMAX_MAX.
96205         * lib/memchr2.c (memchr2): Avoid embedded #if.
96206         Reported by Alain Guibert, fix suggested by Bruno Haible.
96208 2008-04-21  Simon Josefsson  <simon@josefsson.org>
96210         * doc/posix-functions/strftime.texi (strftime): Explain better
96211         Windows incompatibility.  Suggested by Micah Cowan
96212         <micah@cowan.name>.
96214 2008-04-20  Bruno Haible  <bruno@clisp.org>
96216         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
96217         unistr/u8-mblen.
96219 2008-04-20  Bruno Haible  <bruno@clisp.org>
96221         Fix test failure on platforms with non-GNU iconv.
96222         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
96223         (U_TO_U8): Use it, rather than u16_to_u8.
96224         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
96225         units at the end of the input string.
96226         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
96228 2008-04-20  Bruno Haible  <bruno@clisp.org>
96230         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
96231         when the resulting length is 0.
96232         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
96234 2008-04-20  Bruno Haible  <bruno@clisp.org>
96236         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
96237         works.
96238         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
96240 2008-04-20  Bruno Haible  <bruno@clisp.org>
96242         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
96243         * modules/tsearch-tests (configure.ac): Test for initstate function.
96245 2008-04-20  Bruno Haible  <bruno@clisp.org>
96247         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
96248         for nlink_t if missing.
96249         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
96251 2008-04-19  Bruno Haible  <bruno@clisp.org>
96253         Work around snprintf bug on Linux libc5.
96254         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
96255         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
96256         gl_SNPRINTF_SIZE1.
96257         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
96258         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
96259         that test failed.
96260         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
96261         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
96262         * modules/snprintf (Files): Add m4/printf.m4.
96263         * modules/vsnprintf (Files): Likewise.
96264         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
96265         * doc/posix-functions/vsnprintf.texi: Likewise.
96267 2008-04-19  Bruno Haible  <bruno@clisp.org>
96269         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
96270         from 0.0058 to less than 10^-7.
96272 2008-04-19  Bruno Haible  <bruno@clisp.org>
96274         Fix rounding when a precision is given.
96275         * lib/vasnprintf.c (is_borderline): New function.
96276         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
96277         9...9x.
96278         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
96279         %e, %g.
96280         * tests/test-vasprintf-posix.c (test_function): Likewise.
96281         * tests/test-snprintf-posix.h (test_function): Likewise.
96282         * tests/test-sprintf-posix.h (test_function): Likewise.
96283         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
96284         * tests/test-printf-posix.h (test_function): Likewise.
96285         * tests/test-printf-posix.output: Update.
96286         Reported by John Darrington <john@darrington.wattle.id.au> via
96287         Ben Pfaff <blp@cs.stanford.edu>.
96289 2008-04-18  Simon Josefsson  <simon@josefsson.org>
96291         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
96292         Suggested by Bruno Haible <bruno@clisp.org>.
96294 2008-04-17  Bruno Haible  <bruno@clisp.org>
96296         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
96297         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
96298         implementation.
96299         Patch by Bruce Merry <bmerry@gmail.com>.
96301 2008-04-17  Simon Josefsson  <simon@josefsson.org>
96303         * doc/posix-functions/strftime.texi (strftime): Mention that %e
96304         doesn't work under Windows.
96306 2008-04-16  Bruno Haible  <bruno@clisp.org>
96308         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
96309         New macros.
96310         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
96311         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
96312         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
96313         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
96314         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
96315         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
96316         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
96317         macros.
96318         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
96319         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
96320         Northern Sotho, Uighur.
96322 2008-04-16  Bruno Haible  <bruno@clisp.org>
96324         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
96325         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
96326         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
96327         Reported by Daniel Bergström <daniel@octocode.com>.
96329 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
96330             Bruno Haible  <bruno@clisp.org>
96332         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
96333         function.
96334         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
96335         New functions, mostly extracted from gl_locale_name_default.
96336         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
96338 2008-04-16  Eric Blake  <ebb9@byu.net>
96340         Adjust strtod detection to catch glibc 2.7 bug.
96341         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
96342         Reported by John Gatewood Ham.
96344 2008-04-16  Bruno Haible  <bruno@clisp.org>
96346         Add tentative support for Linux libc5.
96347         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
96348         * lib/fpurge.c (fpurge): Likewise.
96349         * lib/freadable.c (freadable): Likewise.
96350         * lib/freadahead.c (freadahead): Likewise.
96351         * lib/freading.c (freading): Likewise.
96352         * lib/freadptr.c (freadptr): Likewise.
96353         * lib/freadseek.c (freadptrinc): Likewise.
96354         * lib/fseeko.c (rpl_fseeko): Likewise.
96355         * lib/fseterr.c (fseterr): Likewise.
96356         * lib/fwritable.c (fwritable): Likewise.
96357         * lib/fwriting.c (fwriting): Likewise.
96358         Reported by Alain Guibert <alguibert+bts@free.fr>.
96360 2008-04-15  Bruno Haible  <bruno@clisp.org>
96362         * modules/mathl (configure.ac): Define module indicator.
96364 2008-04-15  Bruno Haible  <bruno@clisp.org>
96366         * lib/logl.c (logl): Remove unused variables.
96368 2008-04-15  Bruno Haible  <bruno@clisp.org>
96370         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
96371         fails.
96373 2008-04-15  Bruno Haible  <bruno@clisp.org>
96375         * lib/trim.c (trim2): Fix argument of isspace() macro.
96377 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
96379         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
96380         to 0.
96381         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
96383 2008-04-14  Bruno Haible  <bruno@clisp.org>
96385         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
96386         AC_LANG_PROGRAM argument.
96387         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
96388         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
96389         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
96390         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
96391         * m4/math_h.m4 (gl_MATH_H): Likewise.
96392         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
96393         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
96394         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
96395         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
96396         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
96397         * m4/regex.m4 (gl_REGEX): Likewise.
96398         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
96399         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
96400         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
96401         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
96402         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
96403         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
96404         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
96405         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
96407 2008-04-14  Jim Meyering  <meyering@redhat.com>
96409         test-strtod: fix typos: s/abs/fabs/
96410         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
96412 2008-04-13  Bruno Haible  <bruno@clisp.org>
96414         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
96415         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
96416         module is also used and while not building the reloc-wrapper.
96418 2008-04-13  Bruno Haible  <bruno@clisp.org>
96420         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
96422 2008-04-13  Bruno Haible  <bruno@clisp.org>
96424         Fix AIX compilation failure introduced on 2008-04-02.
96425         * tests/test-frexp.c (exp): Undefine before redefining.
96426         * tests/test-frexpl.c (exp): Likewise.
96428 2008-04-13  Bruno Haible  <bruno@clisp.org>
96430         Work around a HP-UX stdio bug.
96431         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
96432         * tests/test-ftello.c (main): Likewise.
96433         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
96434         * doc/posix-functions/ftello.texi: Likewise.
96436 2008-04-13  Bruno Haible  <bruno@clisp.org>
96438         Make test-signbit pass on HP-UX/hppa.
96439         * tests/test-signbit.c (minus_zerol): New variable.
96440         (test_signbitl): Use it.
96442 2008-04-13  Bruno Haible  <bruno@clisp.org>
96444         Make truncl work on OSF/1 4.0.
96445         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
96446         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
96447         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
96448         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
96449         HAVE_DECL_TRUNCL.
96450         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
96451         HAVE_DECL_TRUNCL.
96452         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
96454 2008-04-13  Bruno Haible  <bruno@clisp.org>
96456         * lib/unictype.h: Remove trailing comma from enumeration definitions.
96458 2008-04-13  Bruno Haible  <bruno@clisp.org>
96460         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
96461         expression, so as to avoid HP-UX 11 cc compiler bug.
96463 2008-04-13  Bruno Haible  <bruno@clisp.org>
96465         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
96467 2008-04-13  Bruno Haible  <bruno@clisp.org>
96469         * lib/git-merge-changelog.c: Remove empty declaration outside of
96470         functions.
96472 2008-04-13  Bruno Haible  <bruno@clisp.org>
96474         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
96476 2008-04-13  Bruno Haible  <bruno@clisp.org>
96478         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
96479         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
96480         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
96481         also if it exists but lacks definitions of the SHUT_* macros.
96482         * modules/sys_socket (Description): Update.
96483         Reported by Elbert Pol <e.pol@chello.nl>.
96485 2008-04-13  Bruno Haible  <bruno@clisp.org>
96487         * lib/localcharset.c (OS2): Don't redefine if already defined.
96488         Reported by Elbert Pol <e.pol@chello.nl>.
96490 2008-04-13  Bruno Haible  <bruno@clisp.org>
96492         * lib/binary-io.h [__EMX__]: Include <io.h>.
96493         Reported by Elbert Pol <e.pol@chello.nl>.
96495 2008-04-12  Bruno Haible  <bruno@clisp.org>
96497         * lib/fpucw.h: Enable the definitions also for x86_64.
96498         Needed for NetBSD/x86_64.
96499         Reported by Thomas Klausner <tk@giga.or.at>.
96501 2008-04-12  Bruno Haible  <bruno@clisp.org>
96503         * tests/test-strtod.c: Include isnand.h.
96504         (main): Use isnand instead of isnan.
96505         Reported by Jim Meyering.
96507 2008-04-12  Bruno Haible  <bruno@clisp.org>
96509         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
96510         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
96512 2008-04-12  Jim Meyering  <meyering@redhat.com>
96514         * m4/math_h.m4 (gl_MATH_H): Fix typos.
96516 2008-04-12  Bruno Haible  <bruno@clisp.org>
96518         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
96519         Reported by Elbert Pol <e.pol@chello.nl>.
96521 2008-04-12  Eric Blake  <ebb9@byu.net>
96523         Work around Solaris 10 math.h bug.
96524         * m4/math_h.m4 (gl_MATH_H): Check for bug.
96525         (gl_MATH_H_DEFAULTS): Set up default.
96526         * modules/math (Makefile.am): Replace new indicators.
96527         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
96528         * tests/test-math.c (main): Test this.
96529         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
96530         * doc/posix-headers/math.texi (math.h): Mention bug.
96531         Reported by Nelson H. F. Beebe and Jim Meyering.
96533 2008-04-11  Bruno Haible  <bruno@clisp.org>
96535         Adapt to future versions of Apple GCC.
96536         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
96537         Reported by Peter O'Gorman <peter@pogma.com>.
96539 2008-04-11  Bruno Haible  <bruno@clisp.org>
96541         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
96543 2008-04-11  Bruno Haible  <bruno@clisp.org>
96545         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
96547         * modules/getaddrinfo-tests (Makefile.am): Define
96548         test_getaddrinfo_LDADD.
96550 2008-04-11  Bruno Haible  <bruno@clisp.org>
96552         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
96553         (init): Fix syntax error.
96554         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
96555         is declared.
96557 2008-04-11  Bruno Haible  <bruno@clisp.org>
96559         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
96560         * modules/glob (Depends-on): Add stdbool.
96562 2008-04-11  Bruno Haible  <bruno@clisp.org>
96564         * lib/trim.c: Include <string.h>.
96566 2008-04-11  Eric Blake  <ebb9@byu.net>
96568         Avoid compile failure on OS/2.
96569         * lib/regex_internal.h (internal_function): Disable optimization
96570         on OS/2 (__EMX__), where it caused compiler error.
96571         Reported by Elbert Pol.
96573 2008-04-11  Bruno Haible  <bruno@clisp.org>
96575         Flush the standard error stream before aborting. Needed on mingw.
96576         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
96577         * tests/test-array_list.c (ASSERT): Likewise.
96578         * tests/test-array_oset.c (ASSERT): Likewise.
96579         * tests/test-avltree_list.c (ASSERT): Likewise.
96580         * tests/test-avltree_oset.c (ASSERT): Likewise.
96581         * tests/test-avltreehash_list.c (ASSERT): Likewise.
96582         * tests/test-binary-io.c (ASSERT): Likewise.
96583         * tests/test-byteswap.c (ASSERT): Likewise.
96584         * tests/test-c-ctype.c (ASSERT): Likewise.
96585         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
96586         * tests/test-c-strcasestr.c (ASSERT): Likewise.
96587         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
96588         * tests/test-c-strstr.c (ASSERT): Likewise.
96589         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
96590         * tests/test-canonicalize.c (ASSERT): Likewise.
96591         * tests/test-carray_list.c (ASSERT): Likewise.
96592         * tests/test-ceilf1.c (ASSERT): Likewise.
96593         * tests/test-ceilf2.c (ASSERT): Likewise.
96594         * tests/test-ceill.c (ASSERT): Likewise.
96595         * tests/test-count-one-bits.c (ASSERT): Likewise.
96596         * tests/test-fbufmode.c (ASSERT): Likewise.
96597         * tests/test-fflush2.c (ASSERT): Likewise.
96598         * tests/test-floorf1.c (ASSERT): Likewise.
96599         * tests/test-floorf2.c (ASSERT): Likewise.
96600         * tests/test-floorl.c (ASSERT): Likewise.
96601         * tests/test-fopen.c (ASSERT): Likewise.
96602         * tests/test-fpending.c (ASSERT): Likewise.
96603         * tests/test-fprintf-posix.c (ASSERT): Likewise.
96604         * tests/test-fpurge.c (ASSERT): Likewise.
96605         * tests/test-freadable.c (ASSERT): Likewise.
96606         * tests/test-freadahead.c (ASSERT): Likewise.
96607         * tests/test-freading.c (ASSERT): Likewise.
96608         * tests/test-freadptr.c (ASSERT): Likewise.
96609         * tests/test-freadptr2.c (ASSERT): Likewise.
96610         * tests/test-freadseek.c (ASSERT): Likewise.
96611         * tests/test-freopen.c (ASSERT): Likewise.
96612         * tests/test-frexp.c (ASSERT): Likewise.
96613         * tests/test-frexpl.c (ASSERT): Likewise.
96614         * tests/test-fseek.c (ASSERT): Likewise.
96615         * tests/test-fseeko.c (ASSERT): Likewise.
96616         * tests/test-fstrcmp.c (ASSERT): Likewise.
96617         * tests/test-ftell.c (ASSERT): Likewise.
96618         * tests/test-ftello.c (ASSERT): Likewise.
96619         * tests/test-func.c (ASSERT): Likewise.
96620         * tests/test-fwritable.c (ASSERT): Likewise.
96621         * tests/test-fwriting.c (ASSERT): Likewise.
96622         * tests/test-getdelim.c (ASSERT): Likewise.
96623         * tests/test-getline.c (ASSERT): Likewise.
96624         * tests/test-i-ring.c (ASSERT): Likewise.
96625         * tests/test-iconv-utf.c (ASSERT): Likewise.
96626         * tests/test-iconv.c (ASSERT): Likewise.
96627         * tests/test-isfinite.c (ASSERT): Likewise.
96628         * tests/test-isnand.c (ASSERT): Likewise.
96629         * tests/test-isnanf.c (ASSERT): Likewise.
96630         * tests/test-isnanl.h (ASSERT): Likewise.
96631         * tests/test-ldexpl.c (ASSERT): Likewise.
96632         * tests/test-linked_list.c (ASSERT): Likewise.
96633         * tests/test-linkedhash_list.c (ASSERT): Likewise.
96634         * tests/test-localename.c (ASSERT): Likewise.
96635         * tests/test-lseek.c (ASSERT): Likewise.
96636         * tests/test-mbscasecmp.c (ASSERT): Likewise.
96637         * tests/test-mbscasestr1.c (ASSERT): Likewise.
96638         * tests/test-mbscasestr2.c (ASSERT): Likewise.
96639         * tests/test-mbscasestr3.c (ASSERT): Likewise.
96640         * tests/test-mbscasestr4.c (ASSERT): Likewise.
96641         * tests/test-mbschr.c (ASSERT): Likewise.
96642         * tests/test-mbscspn.c (ASSERT): Likewise.
96643         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
96644         * tests/test-mbspbrk.c (ASSERT): Likewise.
96645         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
96646         * tests/test-mbsrchr.c (ASSERT): Likewise.
96647         * tests/test-mbsspn.c (ASSERT): Likewise.
96648         * tests/test-mbsstr1.c (ASSERT): Likewise.
96649         * tests/test-mbsstr2.c (ASSERT): Likewise.
96650         * tests/test-mbsstr3.c (ASSERT): Likewise.
96651         * tests/test-memchr2.c (ASSERT): Likewise.
96652         * tests/test-memmem.c (ASSERT): Likewise.
96653         * tests/test-open.c (ASSERT): Likewise.
96654         * tests/test-printf-frexp.c (ASSERT): Likewise.
96655         * tests/test-printf-frexpl.c (ASSERT): Likewise.
96656         * tests/test-printf-posix.c (ASSERT): Likewise.
96657         * tests/test-quotearg.c (ASSERT): Likewise.
96658         * tests/test-rbtree_list.c (ASSERT): Likewise.
96659         * tests/test-rbtree_oset.c (ASSERT): Likewise.
96660         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
96661         * tests/test-round1.c (ASSERT): Likewise.
96662         * tests/test-roundf1.c (ASSERT): Likewise.
96663         * tests/test-roundl.c (ASSERT): Likewise.
96664         * tests/test-signbit.c (ASSERT): Likewise.
96665         * tests/test-sleep.c (ASSERT): Likewise.
96666         * tests/test-snprintf-posix.c (ASSERT): Likewise.
96667         * tests/test-snprintf.c (ASSERT): Likewise.
96668         * tests/test-sprintf-posix.c (ASSERT): Likewise.
96669         * tests/test-stat-time.c (ASSERT): Likewise.
96670         * tests/test-strcasestr.c (ASSERT): Likewise.
96671         * tests/test-strerror.c (ASSERT): Likewise.
96672         * tests/test-striconv.c (ASSERT): Likewise.
96673         * tests/test-striconveh.c (ASSERT): Likewise.
96674         * tests/test-striconveha.c (ASSERT): Likewise.
96675         * tests/test-strsignal.c (ASSERT): Likewise.
96676         * tests/test-strstr.c (ASSERT): Likewise.
96677         * tests/test-strtod.c (ASSERT): Likewise.
96678         * tests/test-trunc1.c (ASSERT): Likewise.
96679         * tests/test-trunc2.c (ASSERT): Likewise.
96680         * tests/test-truncf1.c (ASSERT): Likewise.
96681         * tests/test-truncf2.c (ASSERT): Likewise.
96682         * tests/test-truncl.c (ASSERT): Likewise.
96683         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
96684         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
96685         * tests/test-vasnprintf.c (ASSERT): Likewise.
96686         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
96687         * tests/test-vasprintf.c (ASSERT): Likewise.
96688         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
96689         * tests/test-vprintf-posix.c (ASSERT): Likewise.
96690         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
96691         * tests/test-vsnprintf.c (ASSERT): Likewise.
96692         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
96693         * tests/test-wcwidth.c (ASSERT): Likewise.
96694         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
96695         * tests/test-xprintf-posix.c (ASSERT): Likewise.
96696         * tests/test-xvasprintf.c (ASSERT): Likewise.
96697         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
96698         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
96699         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
96700         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
96701         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
96702         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
96703         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
96704         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
96705         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
96706         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
96707         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
96708         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
96709         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
96710         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
96711         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
96712         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
96713         * tests/unictype/test-block_list.c (ASSERT): Likewise.
96714         * tests/unictype/test-block_of.c (ASSERT): Likewise.
96715         * tests/unictype/test-block_test.c (ASSERT): Likewise.
96716         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
96717         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
96718         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
96719         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
96720         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
96721         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
96722         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
96723         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
96724         * tests/unictype/test-combining.c (ASSERT): Likewise.
96725         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
96726         * tests/unictype/test-digit.c (ASSERT): Likewise.
96727         * tests/unictype/test-mirror.c (ASSERT): Likewise.
96728         * tests/unictype/test-numeric.c (ASSERT): Likewise.
96729         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
96730         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
96731         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
96732         * tests/unictype/test-scripts.c (ASSERT): Likewise.
96733         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
96734         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
96735         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
96736         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
96737         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
96738         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
96739         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
96740         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
96741         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
96742         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
96743         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
96744         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
96745         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
96746         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
96747         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
96748         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
96749         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
96750         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
96751         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
96752         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
96753         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
96754         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
96755         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
96756         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
96757         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
96758         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
96759         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
96760         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
96761         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
96762         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
96763         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
96764         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
96765         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
96766         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
96767         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
96768         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
96769         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
96770         Reported by Eric Blake.
96772 2008-04-11  Bruno Haible  <bruno@clisp.org>
96774         * lib/wchar.in.h: Tweak comment.
96776 2008-04-11  Bruno Haible  <bruno@clisp.org>
96778         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
96779         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
96780         gl_COMMON.
96781         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
96783 2008-04-11  Bruno Haible  <bruno@clisp.org>
96785         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
96787 2008-04-11  Simon Josefsson  <simon@josefsson.org>
96789         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
96790         of attempting to use non-existing /dev/*random.  Based on patch
96791         from Adam Strzelecki <ono@java.pl> in
96792         <http://lists.gnu.org/r/help-gsasl/2008-02/msg00000.html>.
96794 2008-04-08  Bruno Haible  <bruno@clisp.org>
96796         Add tentative support for emx+gcc.
96797         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
96798         * lib/fpurge.c (fpurge): Likewise.
96799         * lib/freadable.c (freadable): Likewise.
96800         * lib/freadahead.c (freadahead): Likewise.
96801         * lib/freading.c (freading): Likewise.
96802         * lib/freadptr.c (freadptr): Likewise.
96803         * lib/freadseek.c (freadptrinc): Likewise.
96804         * lib/fseeko.c (rpl_fseeko): Likewise.
96805         * lib/fseterr.c (fseterr): Likewise.
96806         * lib/fwritable.c (fwritable): Likewise.
96807         * lib/fwriting.c (fwriting): Likewise.
96808         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
96810 2008-04-09  Eric Blake  <ebb9@byu.net>
96812         Avoid some autoconf warnings.
96813         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
96814         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
96815         * m4/afs.m4 (gl_AFS): Likewise.
96816         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
96817         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
96818         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
96819         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
96820         (gl_INTEGER_TYPE_SUFFIX): Likewise.
96821         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
96822         (AC_CHECK_DECLS_ONCE): Likewise.
96823         Rename file...
96824         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
96825         gnulib-tool requires autoconf 2.59 or better.
96826         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
96828 2008-04-08  Eric Blake  <ebb9@byu.net>
96830         Use 'git describe --match' if present (added in git 1.5.5).
96831         * build-aux/git-version-gen: Limit result to tags that match 'v*'
96832         if possible.
96834 2008-04-08  Bruno Haible  <bruno@clisp.org>
96836         Add tentative support for OpenServer.
96837         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
96838         _ptr, _cnt.
96839         * lib/fpurge.c (fpurge): Likewise.
96840         * lib/freadable.c (freadable): Likewise.
96841         * lib/freadahead.c (freadahead): Likewise.
96842         * lib/freading.c (freading): Likewise.
96843         * lib/freadptr.c (freadptr): Likewise.
96844         * lib/freadseek.c (freadptrinc): Likewise.
96845         * lib/fseeko.c (rpl_fseeko): Likewise.
96846         * lib/fseterr.c (fseterr): Likewise.
96847         * lib/fwritable.c (fwritable): Likewise.
96848         * lib/fwriting.c (fwriting): Likewise.
96849         Reported by Roger Cornelius <rac@tenzing.org> and
96850         Brian K. White <brian@aljex.com>.
96852 2008-04-06  Jim Meyering  <meyering@redhat.com>
96854         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
96856 2008-04-06  Bruno Haible  <bruno@clisp.org>
96858         Avoid possible error with non-ASCII bytes in UTF-8 locales.
96859         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
96860         * tests/test-printf-posix.sh: Likewise.
96861         * tests/test-vfprintf-posix.sh: Likewise.
96862         * tests/test-vprintf-posix.sh: Likewise.
96863         * tests/test-xprintf-posix.sh: Likewise.
96865 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
96867         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
96868         hide error from 'ls', needed on OS/2.
96869         Report by Elbert Pol <elbert.pol@gmail.com>.
96871 2008-04-04  Eric Blake  <ebb9@byu.net>
96873         Make test-fseeko.c failures meaningful.
96874         * tests/test-fseeko.c: Print line number on failure.
96875         * tests/test-fseek.c: Likewise.
96876         Reported by Nelson H. F. Beebe.
96878         Improve strtod bug detection check.
96879         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
96880         required for Solaris 10.
96881         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
96883 2008-04-04  Bruno Haible  <bruno@clisp.org>
96885         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
96886         by m4/setenv.m4.
96888 2008-04-03  Eric Blake  <ebb9@byu.net>
96890         Ensure sane .version contents.
96891         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
96892         version string.
96893         * build-aux/git-version-gen: Improve documentation.
96895         Make GNU make output nicer.
96896         * top/GNUmakefile [!_have-Makefile]: Add dependency on
96897         MAKECMDGOALS to enforce message for all command line targets.  Set
96898         srcdir for use in maint.mk.
96900         Another maintainer tweak.
96901         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
96902         a target that regenerates version.
96904 2008-04-03  Jim Meyering  <meyering@redhat.com>
96906         vc-list-files: don't cause coreutils "make po-check" failure
96907         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
96909 2008-04-03  Eric Blake  <ebb9@byu.net>
96911         Allow VPATH usage of vc-list-files.
96912         * build-aux/vc-list-files (scriptversion): Add timestamp.
96913         (options): Add --help, --version, -C.
96914         (CVS): Support installed cvsu.
96916 2008-04-02  Bruno Haible  <bruno@clisp.org>
96918         Avoid some "statement with no effect" warnings from gcc.
96919         * tests/test-wctype.c (main): Explicitly ignore unused values.
96920         Reported by Jim Meyering.
96922 2008-04-02  Jim Meyering  <meyering@redhat.com>
96924         Avoid some warnings from "gcc -Wshadow".
96925         * tests/test-frexp.c (exp): Define to a different identifier.
96926         * tests/test-frexpl.c (exp): Likewise.
96928 2008-04-03  Jim Meyering  <meyering@redhat.com>
96930         bootstrap: remove dangling *.[ch] symlinks from lib
96931         * build-aux/bootstrap [dangling symlink removal]: Move find's
96932         -depth option to precede all others, to avoid a warning.
96933         Remove *.[ch] files too, and from "$source_base" (usually lib/).
96935 2008-04-02  Bruno Haible  <bruno@clisp.org>
96937         Avoid some warnings from "gcc -Wshadow".
96938         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
96939         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
96940         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
96941         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
96942         Reported by Jim Meyering.
96944 2008-04-01  Bruno Haible  <bruno@clisp.org>
96946         Fix test to work on IRIX 6.5 with cc.
96947         * tests/test-math.c (numeric_equal): New function.
96948         (main): Use it.
96950 2008-04-01  Bruno Haible  <bruno@clisp.org>
96952         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
96954 2008-04-01  Bruno Haible  <bruno@clisp.org>
96956         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
96957         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
96958         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
96959         (Depends-on): Remove math.
96961         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
96962         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
96963         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
96964         (Depends-on): Remove math.
96966         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
96967         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
96968         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
96969         (Depends-on): Remove math.
96970         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
96971         (Depends-on): Remove math.
96973         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
96974         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
96975         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
96976         (Depends-on): Remove math.
96977         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
96978         (Depends-on): Remove math.
96980         * tests/test-round1.c: Include nan.h.
96981         (main): Use NaNd instead of NAN.
96982         * modules/round-tests (Files): Add tests/nan.h.
96984         * tests/test-trunc1.c: Include nan.h.
96985         (main): Use NaNd instead of NAN.
96986         * modules/trunc-tests (Files): Add tests/nan.h.
96988         * tests/test-roundf1.c: Include nan.h.
96989         (main): Use NaNf instead of NAN.
96990         * modules/roundf-tests (Files): Add tests/nan.h.
96992         * tests/test-truncf1.c: Include nan.h.
96993         (main): Use NaNf instead of NAN.
96994         * modules/truncf-tests (Files): Add tests/nan.h.
96996         * tests/test-ceilf1.c: Include nan.h.
96997         (main): Use NaNf instead of NAN.
96998         * modules/ceilf-tests (Files): Add tests/nan.h.
97000         * tests/test-floorf1.c: Include nan.h.
97001         (main): Use NaNf instead of NAN.
97002         * modules/floorf-tests (Files): Add tests/nan.h.
97004         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
97005         (main): Use NaNf instead of NAN.
97006         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
97008         * tests/test-isnand.c: Include nan.h instead of <math.h>.
97009         (main): Use NaNd instead of NAN.
97010         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
97012         * tests/test-frexp.c: Include nan.h.
97013         (main): Use NaNd instead of NAN.
97014         * modules/frexp-tests (Files): Add tests/nan.h.
97016         * lib/isnan.c: Don't include <math.h>.
97017         (FUNC): Don't use NAN macro.
97018         * modules/isnand-nolibm (Depends-on): Remove math.
97019         * modules/isnanf-nolibm (Depends-on): Remove math.
97020         * modules/isnanl (Depends-on): Remove math.
97021         * modules/isnanl-nolibm (Depends-on): Remove math.
97023         * tests/nan.h: New file.
97025 2008-04-01  Eric Blake  <ebb9@byu.net>
97027         Fix typos.
97028         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
97029         values to be the right type.
97031         For now, cater to gnulib strtod inaccuracies.
97032         * tests/test-strtod.c (main): Allow 1-ulp error on expected
97033         fractional results.  While not as nice from a QoI perspective, it
97034         is a quicker patch than correctly implementing decimal to binary
97035         rounding.
97037 2008-03-31  Eric Blake  <ebb9@byu.net>
97039         Guarantee a definition of NAN.
97040         * lib/math.in.h (NAN): Define if missing.
97041         * tests/test-math.c (main): Test it.
97042         * doc/posix-headers/math.texi (math.h): Document this.
97043         * lib/isnan.c (rpl_isnand): Use it.
97044         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
97045         * tests/test-floorf1.c (NaN): Likewise.
97046         * tests/test-frexp.c (NaN): Likewise.
97047         * tests/test-isnand.c (NaN): Likewise.
97048         * tests/test-isnanf.c (NaN): Likewise.
97049         * tests/test-round1.c (NaN): Likewise.
97050         * tests/test-roundf1.c (NaN): Likewise.
97051         * tests/test-snprintf-posix.h (NaN): Likewise.
97052         * tests/test-sprintf-posix.h (NaN): Likewise.
97053         * tests/test-trunc1.c (NaN): Likewise.
97054         * tests/test-truncf1.c (NaN): Likewise.
97055         * tests/test-vasnprintf-posix.c (NaN): Likewise.
97056         * tests/test-vasprintf-posix.c (NaN): Likewise.
97057         * modules/isnand-nolibm (Depends-on): Add math.
97058         * modules/isnanf-nolibm (Depends-on): Likewise.
97059         * modules/isnanl (Depends-on): Likewise.
97060         * modules/isnanl-nolibm (Depends-on): Likewise.
97061         * modules/snprintf-posix-tests (Depends-on): Likewise.
97062         * modules/sprintf-posix-tests (Depends-on): Likewise.
97063         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
97064         * modules/vsprintf-posix-tests (Depends-on): Likewise.
97065         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
97066         * modules/vasprintf-posix-tests (Depends-on): Likewise.
97068 2008-03-31  Bruno Haible  <bruno@clisp.org>
97070         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
97071         * doc/posix-functions/strtod.texi: Likewise.
97073 2008-03-31  Bruno Haible  <bruno@clisp.org>
97075         * tests/test-strtod.c (main): Don't use C99 syntax.
97077 2008-03-31  Bruno Haible  <bruno@clisp.org>
97079         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
97080         Reported by Eric Blake.
97082 2008-03-31  Jim Meyering  <meyering@redhat.com>
97084         Don't compare actual signbit return values.
97085         * tests/test-strtod.c (main): Rather, compare only their
97086         zero/non-zero nature.
97088 2008-03-31  Eric Blake  <ebb9@byu.net>
97090         More strtod documentation.
97091         * doc/posix-functions/strtod.texi (strtod): Interpret more test
97092         failures as distinct bugs.
97094 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
97096         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
97097         Problem reported by Erik Benada in
97098         <http://lists.gnu.org/r/bug-gnulib/2008-03/msg00249.html>.
97100 2008-03-30  Bruno Haible  <bruno@clisp.org>
97102         * tests/test-strtod.c: Add comments about which assertion fails on which
97103         platform.
97104         * doc/posix-functions/strtod.texi: Add info about many more platforms.
97106 2008-03-30  Eric Blake  <ebb9@byu.net>
97108         Test signbit behavior on zeros.
97109         * tests/test-signbit.c (test_signbitf): Add tests for zero.
97110         (test_signbitd, test_signbitl): Likewise.
97112         More strtod touchups.
97113         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
97114         sign of negative underflow, for now.  Use .5, not .1.
97115         * doc/posix-functions/strtod.texi (strtod): Mention these
97116         limitations.
97117         Reported by Jim Meyering.
97119 2008-03-30  Bruno Haible  <bruno@clisp.org>
97121         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
97122         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
97124 2008-03-30  Bruno Haible  <bruno@clisp.org>
97126         Avoid failure when attempting to return empty iconv results on some
97127         platforms.
97128         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
97129         allocation, don't report ENOMEM when the resulting string is empty.
97131 2008-03-30  Bruno Haible  <bruno@clisp.org>
97133         Fix buffer overrun.
97134         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
97135         Don't consider the width for tmp_length. Check count against tmp_length
97136         before doing the padding. Ensure enough allocation during padding.
97138 2008-03-30  Eric Blake  <ebb9@byu.net>
97140         strtod touchups.
97141         * lib/strtod.c (strtod): Avoid compiler warnings.
97142         Reported by Jim Meyering.
97144 2008-03-30  Bruno Haible  <bruno@clisp.org>
97146         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
97147         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
97148         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
97149         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
97150         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
97151         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
97152         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
97153         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
97155         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
97156         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
97157         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
97158         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
97159         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
97160         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
97161         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
97162         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
97164         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
97165         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
97166         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
97167         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
97168         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
97169         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
97170         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
97171         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
97173         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
97174         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
97176         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
97177         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
97179         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
97180         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
97182         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
97183         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
97184         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
97186         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
97187         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
97188         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
97190         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
97191         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
97192         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
97194         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
97195         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
97196         * modules/vasprintf (Depends-on): Add EOVERFLOW.
97198         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
97199         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
97200         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
97201         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
97202         (Depends-on): Add EOVERFLOW.
97203         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
97204         (Depends-on): Add EOVERFLOW.
97205         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
97206         (Depends-on): Add EOVERFLOW.
97207         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
97208         (Depends-on): Add EOVERFLOW.
97209         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
97210         (Depends-on): Add EOVERFLOW.
97211         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
97212         (Depends-on): Add EOVERFLOW.
97213         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
97214         (Depends-on): Add EOVERFLOW.
97215         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
97216         (Depends-on): Add EOVERFLOW.
97218         * lib/sprintf.c (EOVERFLOW): Remove fallback.
97219         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
97220         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
97222         * lib/snprintf.c (EOVERFLOW): Remove fallback.
97223         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
97224         * modules/snprintf (Depends-on): Add EOVERFLOW.
97226         * lib/poll.c (EOVERFLOW): Remove fallback.
97227         * modules/poll (Depends-on): Add EOVERFLOW.
97229         * lib/getugroups.c (EOVERFLOW): Remove fallback.
97230         * modules/getugroups (Depends-on): Add EOVERFLOW.
97232         * lib/getdelim.c (EOVERFLOW): Remove fallback.
97233         * modules/getdelim (Depends-on): Add EOVERFLOW.
97235         * lib/ftell.c (EOVERFLOW): Remove fallback.
97236         * modules/ftell (Depends-on): Add EOVERFLOW.
97238         * lib/fprintf.c (EOVERFLOW): Remove fallback.
97239         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
97240         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
97242         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
97244         * modules/EOVERFLOW-tests: New file.
97245         * tests/test-EOVERFLOW.c: New file.
97247         * modules/EOVERFLOW: New file.
97248         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
97250 2008-03-30  Bruno Haible  <bruno@clisp.org>
97252         Fix bug introduced on 2007-06-10.
97253         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
97254         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
97256 2008-03-30  Bruno Haible  <bruno@clisp.org>
97258         Improve freadseek's efficiency after ungetc.
97259         * lib/freadseek.c: Include freadahead.h.
97260         (freadptrinc): New function, extracted from freadseek.
97261         (freadseek): Use it in a loop. Use freadahead to determine the number
97262         of loop iterations.
97263         * modules/freadseek (Depends-on): Add freadahead.
97264         (configure.ac): Require AC_C_INLINE.
97266 2008-03-30  Bruno Haible  <bruno@clisp.org>
97268         * lib/freadseek.c (freadseek): Don't ignore the return value of
97269         freadptr.
97271 2008-03-29  Eric Blake  <ebb9@byu.net>
97273         Add hex float support.
97274         * modules/strtod (Depends-on): Add c-ctype.
97275         (Link): Mention POW_LIB.
97276         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
97277         whitespace between 'e' and exponent.
97278         * tests/test-strtod.c (main): Enable hex float tests.
97279         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
97280         now provides.
97282         Document various strtod bugs, with some fixes.
97283         * doc/posix-functions/strtod.texi (strtod): Document bugs with
97284         "-0x", "inf", "nan", and hex constants.
97285         * doc/posix-functions/atof.texi (atof): Likewise.
97286         * modules/stdlib (Makefile.am): Support strtod.
97287         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
97288         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
97289         detect additional strtod bugs.
97290         * lib/stdlib.in.h (rpl_strtod): Add declarations.
97291         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
97292         bool where appropriate.  Parse 'inf' and 'nan'.
97293         * tests/test-strtod.c: New file.
97294         * modules/strtod (Depends-on): Add stdbool, stdlib.
97295         (configure.ac): Turn on module indicator.
97296         * modules/strtod-tests: New module.
97298 2008-03-29  Eric Blake  <ebb9@byu.net>
97300         Fix ftell on mingw.
97301         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
97302         * modules/ftell-tests (Depends-on): Add binary-io.
97303         * modules/ftello-tests (Depends-on): Likewise.
97304         * tests/test-ftell.c (main): Enhance test to cover behavior after
97305         ungetc.  Enforce binary mode.
97306         * tests/test-ftello.c (main): Likewise.
97308         Pass test-freadseek on cygwin.
97309         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
97310         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
97311         ungetc buffer.
97313         * tests/test-fflush2.c (main): Fix typo.
97315 2008-03-29  Bruno Haible  <bruno@clisp.org>
97317         * tests/test-fflush2.c (main): Temporarily disable the contents of
97318         this test.
97319         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
97320         Reported by Eric Blake.
97322 2008-03-28  Simon Josefsson  <simon@josefsson.org>
97324         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
97325         (GC_SHA224_DIGEST_SIZE): Add.
97327         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
97328         (gc_hash_digest_length): Likewise.
97329         (gc_hash_buffer): Likewise.
97331 2008-03-25  Bruno Haible  <bruno@clisp.org>
97333         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
97334         detail which gettext release to use.
97335         Reported by Simon Josefsson.
97337 2008-03-26  Jim Meyering  <meyering@redhat.com>
97339         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
97340         * modules/gnumakefile (clean-GNUmakefile): Also, use
97341         test ... && ... || : syntax rather than if-then ... fi.
97343         gnumakefile: Don't double-quote-expand $(VPATH) value.
97344         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
97346 2008-03-24  Eric Blake  <ebb9@byu.net>
97348         Alter GNUmakefile to install into top directory.
97349         * modules/maintainer-makefile: Split, and add dependency...
97350         * modules/gnumakefile: to this new module.
97351         * build-aux/GNUmakefile: Move...
97352         * top/GNUmakefile: ...here.
97353         * build-aux/maint.mk: Move...
97354         * top/maint.mk: ...here.
97355         * MODULES.html.sh (Support for maintaining...): Document new
97356         module.
97358 2008-03-23  Bruno Haible  <bruno@clisp.org>
97360         * gnulib-tool: New options --vc-files, --no-vc-files.
97361         (func_usage): Document them.
97362         (vc_files): New variable.
97363         (func_import): Consider vc_files.
97364         (func_create_testdir): Set vc_files to empty.
97365         Suggested by Jim Meyering and Karl Berry.
97367 2008-03-23  Bruno Haible  <bruno@clisp.org>
97369         Fix regex compilation error on HP-UX 11.
97370         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
97371         * modules/regex (Files): Add m4/mbstate_t.m4.
97372         Reported by Ton Voon <ton.voon@altinity.com>.
97374 2008-03-23  Bruno Haible  <bruno@clisp.org>
97376         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
97378 2008-03-23  Eric Blake  <ebb9@byu.net>
97379             Bruno Haible  <bruno@clisp.org>
97381         Install files from top/ in the destination directory.
97382         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
97383         augmentation also for the files from top/.
97384         (func_import, func_create_testdir): Rewrite file names:
97385         top/filename -> filename.
97387 2008-03-23  Bruno Haible  <bruno@clisp.org>
97389         Tweak "gnulib --version" output.
97390         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
97392 2008-03-23  Bruno Haible  <bruno@clisp.org>
97394         Tweak "gnulib --version" output.
97395         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
97396         rather than contents of ChangeLog, when possible.
97398 2008-03-21  Eric Blake  <ebb9@byu.net>
97400         More --version tweaks.
97401         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
97402         date of last ChangeLog entry.
97404 2008-03-21  Jim Meyering  <meyering@redhat.com>
97406         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
97408 2008-03-20  Eric Blake  <ebb9@byu.net>
97410         VPATH fix.
97411         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
97413 2008-03-20  Simon Josefsson  <simon@josefsson.org>
97415         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
97416         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
97418 2008-03-20  Eric Blake  <ebb9@byu.net>
97420         Sync GNUmakefile with coreutils.
97421         * build-aux/GNUmakefile (have-Makefile): Rename...
97422         (_have-Makefile): ...to this, for namespace consideration.
97423         (GNUmakefile.cfg): Include, if present.
97424         (_autoreconf): Define a default.
97425         (_is-dist-target): New rule for rebuilds to pick up intra-release
97426         version.
97427         (maint-cfg.mk): Rename...
97428         (cfg.mk): ...to this.
97430 2008-03-18  Jim Meyering  <meyering@redhat.com>
97432         New script and module: mktempd
97433         * MODULES.html.sh (maint+release support): Add mktempd.
97434         * build-aux/mktempd: New file.
97435         * modules/mktempd: New file.
97437 2008-03-15  Jim Meyering  <meyering@redhat.com>
97439         Undo last change.
97440         * lib/sha1.c, lib/md5.c: 63 != ~63.
97441         Reported by Andreas Schwab.
97443         sha1.c, md5.c: Hoist a redundant expression.
97444         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
97445         "ctx->buflen" only once, before calling *_process_block.
97446         * lib/md5.c (md5_process_bytes): Likewise.
97448 2008-03-14  Eric Blake  <ebb9@byu.net>
97450         Bump copyright year in files generated by gnulib-tool.
97451         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
97452         gnulib-tool, rather than hard-coding it.
97454         Fix 'gnulib-tool --version' output to work with git.
97455         * gnulib-tool (func_gnulib_dir): New function, extracted from...
97456         (startup): ...here.
97457         (func_version): Use it to invoke git-version-gen, rather than
97458         relying on CVS keyword expansion.  Modernize wording.
97459         (cvsdatestamp, last_checkin_date, version): Kill unused
97460         variables.
97462 2008-03-12  Jim Meyering  <meyering@redhat.com>
97464         Recognize optional cast of the argument to free.
97465         * build-aux/useless-if-before-free: Update regexps.
97467         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
97469 2008-03-11  Bruno Haible  <bruno@clisp.org>
97471         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
97472         by a single package.
97473         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
97474         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
97475         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
97476         Reported by Sam Steingold <sds@gnu.org>.
97478 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
97480         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
97481         repositories.
97483 2008-03-11  Bruno Haible  <bruno@clisp.org>
97485         Avoid conflicts between local macro definitions.
97486         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
97487         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
97489 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
97490             Bruno Haible  <bruno@clisp.org>
97492         Make va_copy work with some version of xlc on AIX 5.1.
97493         * lib/stdarg.in.h: New file.
97494         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
97495         On AIX, use a <stdarg.h> file substitute.
97496         * modules/stdarg (Files): Add lib/stdarg.in.h.
97497         (Depends-on): Add include_next.
97498         (Makefile.am): Build a stdarg.h substitute if requested.
97499         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
97501 2008-03-10  Bruno Haible  <bruno@clisp.org>
97503         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
97504         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
97505         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
97507 2008-03-10  Bruno Haible  <bruno@clisp.org>
97509         * modules/stdlib (Depends-on): Add include_next, remove
97510         absolute-header.
97512 2008-03-09  Bruno Haible  <bruno@clisp.org>
97514         * lib/freadahead.h (freadahead): Document more precisely.
97515         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
97516         the sum of both buffer sizes.
97517         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
97518         * NEWS: Document the change.
97520 2008-03-09  Bruno Haible  <bruno@clisp.org>
97522         Extend freadptr to return also the buffer size.
97523         * lib/freadptr.h (freadptr): Add sizep argument.
97524         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
97525         (freadptr): Add sizep argument. Determine buffer size like freadahead
97526         does.
97527         * tests/test-freadptr.c: Don't include freadahead.h.
97528         (main): Adapt for new calling convention of freadptr.
97529         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
97530         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
97531         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
97532         tests/test-freadptr2.sh.
97533         (Depends): Remove freadahead.
97534         (TESTS): Add test-freadptr2.sh.
97535         (check_PROGRAMS): Add test-freadptr2.
97537 2008-03-09  Bruno Haible  <bruno@clisp.org>
97539         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
97540         Report and solution by Simon Josefsson.
97542 2008-03-06  Bruno Haible  <bruno@clisp.org>
97544         Make fflush after ungetc work on BSD platforms.
97545         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
97546         * tests/test-fflush2.c: New file.
97547         * tests/test-fflush2.sh: New file.
97548         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
97549         tests/test-fflush2.c.
97550         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
97551         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
97553 2008-03-06  Eric Blake  <ebb9@byu.net>
97555         Likewise for ftello.
97556         * modules/ftello (Dependencies): Add extensions.
97557         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
97559 2008-03-06  Bruno Haible  <bruno@clisp.org>
97561         * modules/fseeko (Dependencies): Add extensions.
97562         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
97563         Needed on glibc systems.
97565 2008-03-06  Bruno Haible  <bruno@clisp.org>
97567         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
97568         email address.
97569         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
97571 2008-03-06  Bruno Haible  <bruno@clisp.org>
97573         * users.txt: Add libgnupdf.
97575 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
97577         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
97578         (Header File Substitutes, Function Substitutes,
97579         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
97580         (Build robot for gnulib): Fix typo.
97582 2008-03-06  Bruno Haible  <bruno@clisp.org>
97584         * doc/gnulib-tool.texi (VCS Issues): Small updates.
97585         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
97587 2008-03-06  Bruno Haible  <bruno@clisp.org>
97589         * doc/func.texi: New file, extracted from doc/gnulib.texi.
97590         * doc/gnulib.texi: Include it.
97592 2008-03-06  Simon Josefsson  <simon@josefsson.org>
97594         * modules/func (License): Change license to unlimited; there was
97595         no LGPL parts in the module anyway.
97597 2008-03-06  Simon Josefsson  <simon@josefsson.org>
97599         * modules/__func__: Renamed to modules/func.
97600         * modules/__func__-tests: Renamed to modules/func-tests.
97601         * tests/test-__func__.c: Renamed to tests/test-func.c.
97602         * m4/__func__.m4: Renamed to m4/func.m4.
97603         * doc/gnulib.texi (__func__): Section renamed to func.
97604         Suggested by Eric Blake <ebb9@byu.net>.
97606 2008-03-06  Simon Josefsson  <simon@josefsson.org>
97608         * doc/gnulib.texi (__func__): Use C99 terminology when talking
97609         about __func__.  Make example self-contained.  Suggested by Eric
97610         Blake <ebb9@byu.net>.
97612         * tests/test-__func__.c (main): Avoid extraneous () around __func.
97613         Suggested by Eric Blake <ebb9@byu.net>.
97615 2008-03-06  Simon Josefsson  <simon@josefsson.org>
97617         * modules/__func__: New file.
97618         * modules/__func__-tests: New file.
97619         * tests/test-__func__.c: New file.
97620         * m4/__func__.m4: New file.
97621         * doc/gnulib.texi (__func__): Document __func__ module.
97623 2008-03-05  Simon Josefsson  <simon@josefsson.org>
97625         * modules/byteswap (License): Re-license as LGPLv2+.
97627 2008-03-05  Simon Josefsson  <simon@josefsson.org>
97629         * doc/Makefile: Add pdf target.
97631 2008-03-05  Simon Josefsson  <simon@josefsson.org>
97633         * modules/inline (License): Use 'unlimited', since there are only
97634         *.m4 files in this module.
97636 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
97637             Bruno Haible  <bruno@clisp.org>
97639         Add support for HP C 7.1 on OpenVMS 8.3.
97640         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
97642 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
97644         Update VMS specifics.
97645         * lib/getopt.c [VMS]: Remove include of unixlib.h.
97647 2008-03-02  Jim Meyering  <meyering@redhat.com>
97649         Remove the last dependency on the "free" module.
97650         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
97651         Reported by Bob Proulx.
97653         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
97655         Remove useless "if" tests before free.  Deprecate "free" module.
97656         * doc/posix-functions/free.texi: Mention that this
97657         module is no longer useful.
97658         * modules/free (Notice): Say this module is obsolete.
97659         * modules/readutmp (Depends-on): Remove free.
97660         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
97661         * lib/putenv.c (putenv): Likewise.
97662         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
97663         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
97664         * tests/test-c-strcasestr.c (main): Likewise.
97665         * tests/test-c-strstr.c (main): Likewise.
97666         * tests/test-mbscasestr1.c (main): Likewise.
97667         * tests/test-mbscasestr2.c (main): Likewise.
97668         * tests/test-mbsstr1.c (main): Likewise.
97669         * tests/test-mbsstr2.c (main): Likewise.
97670         * tests/test-memmem.c (main): Likewise.
97671         * tests/test-strcasestr.c (main): Likewise.
97672         * tests/test-striconv.c (main): Likewise.
97673         * tests/test-striconveh.c (main): Likewise.
97674         * tests/test-striconveha.c (main): Likewise.
97675         * tests/test-strstr.c (main): Likewise.
97677         * build-aux/git-version-gen: Adjust a comment and the Usage string.
97679         bootstrap: sync from coreutils again
97680         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
97682 2008-03-01  Jim Meyering  <meyering@redhat.com>
97684         bootstrap: sync from coreutils
97685         * build-aux/bootstrap (update_po_files): Copy a .po file into place
97686         also when the target doesn't exist.
97688 2008-03-01  Eric Blake  <ebb9@byu.net>
97690         Fix bugs in last patch.
97691         * lib/memchr2.c (memchr2): Fix typo.
97692         * tests/test-memchr2.c: Test previous bug, and don't use GNU
97693         extension.
97694         Reported by Bruce Korb.
97696         New module 'memchr2'.
97697         * modules/memchr2: New file.
97698         * modules/memchr2-tests: Likewise.
97699         * lib/memchr2.h: Likewise.
97700         * lib/memchr2.c: Likewise, based on memchr.c.
97701         * tests/test-memchr2.c: New test.
97702         * MODULES.html.sh (String handling): Add memchr2.
97704 2008-02-29  Bruno Haible  <bruno@clisp.org>
97706         * modules/freadseek-tests: New file.
97707         * tests/test-freadseek.sh: New file.
97708         * tests/test-freadseek.c: New file.
97710         New module 'freadseek'.
97711         * modules/freadseek: New file.
97712         * lib/freadseek.h: New file.
97713         * lib/freadseek.c: New file.
97714         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
97716 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
97718         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
97719         wydawca.
97721         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
97722         program_invocation_name and program_invocation_short_name are
97723         present.
97725 2008-02-28  Bruno Haible  <bruno@clisp.org>
97727         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
97728         * tests/test-freadptr.sh: Also test non-seekable stdin.
97730 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
97732         * build-aux/bootstrap (source_base, m4_base)
97733         (doc_base, tests_base): New variables.
97734         (gnulib_tool_options): Do not hardcode base directories, use
97735         the above variables instead.
97737 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
97739         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
97741 2008-02-28  Bruno Haible  <bruno@clisp.org>
97743         * modules/freadptr-tests: New file.
97744         * tests/test-freadptr.sh: New file.
97745         * tests/test-freadptr.c: New file.
97747         New module 'freadptr'.
97748         * modules/freadptr: New file.
97749         * lib/freadptr.h: New file.
97750         * lib/freadptr.c: New file.
97751         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
97753 2008-02-26  Karl Berry  <karl@freefriends.org>
97755         Sync from Libtool:
97756         * libltdl/argz.c (argz_add, argz_count): New functions.
97757         * libltdl/argz.in.h: Declare them.
97758         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
97760 2008-02-22  Bruno Haible  <bruno@clisp.org>
97762         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
97763         is a pointer type.  Needed for HP-UX 10.
97764         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
97765         * doc/posix-functions/gmtime_r.texi: Likewise.
97766         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
97768 2008-02-24  Bruno Haible  <bruno@clisp.org>
97770         * modules/environ-tests: New file.
97771         * tests/test-environ.c: New file.
97773         New module 'environ'.
97774         * modules/environ: New file.
97775         * lib/unistd.in.h (environ): New declaration.
97776         * m4/environ.m4: New file.
97777         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
97778         after use.
97779         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
97780         HAVE_DECL_ENVIRON.
97781         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
97782         HAVE_DECL_ENVIRON.
97783         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
97784         wrong claim that 'environ' is missing on some systems.
97785         * modules/execute (Depends-on): Add environ.
97786         * lib/execute.c (environ): Remove fallback declaration.
97787         * modules/pipe (Depends-on): Add environ.
97788         * lib/pipe.c (environ): Remove fallback declaration.
97789         * modules/setenv (Depends-on): Add environ.
97790         * lib/setenv.c (environ): Remove fallback declaration.
97791         * modules/unsetenv (Depends-on): Add environ.
97792         * lib/unsetenv.c (environ): Remove fallback declaration.
97793         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
97794         m4/environ.m4.
97795         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
97796         (gl_PREREQ_UNSETENV): Likewise.
97798 2008-02-24  Bruno Haible  <bruno@clisp.org>
97800         * doc/posix-functions/environ.texi: Document the MacOS X problem.
97802 2008-02-20  Bob Proulx  <bob@proulx.com>
97804         Enable use of older two part flavor 'git describe'.
97805         * build-aux/git-version-gen: If using the older two part flavor of
97806         git version then recreate the third part now present in the
97807         newer three part flavor of git describe.
97809 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
97811         * lib/fts.c (fts_build): Typo correction to comment.
97813 2008-02-17  Bruno Haible  <bruno@clisp.org>
97815         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
97816         generating no-op conflicts.
97818 2008-02-17  Bruno Haible  <bruno@clisp.org>
97820         Speed up by 10%.
97821         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
97822         result_entries, rather than an index-based loop.
97824 2008-02-17  Bruno Haible  <bruno@clisp.org>
97826         Speed up by 25%.
97827         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
97828         'hashcode_cached'.
97829         (entry_create): New function.
97830         (entry_hashcode): Use the cached hashcode if possible.
97831         (read_changelog_file, try_split_merged_entry): Use entry_create.
97833 2008-02-17  Bruno Haible  <bruno@clisp.org>
97835         Speed up from O(n^2) to O(n) for long ChangeLog files.
97836         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
97837         (read_changelog_file): Change implementation of entries_reversed list
97838         to rbtreehash.
97839         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
97841 2008-02-17  Bruno Haible  <bruno@clisp.org>
97843         New option --split-merged-entry.
97844         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
97845         (find_paragraph_end, try_split_merged_entry): New functions.
97846         (long_options): Add option --split-merged-entry.
97847         (usage): Document option --split-merged-entry.
97848         (main): Implement option --split-merged-entry.
97849         Reported by Eric Blake.
97851 2008-02-17  Bruno Haible  <bruno@clisp.org>
97853         * lib/git-merge-changelog.c: Include c-strstr.h.
97854         (main): Support the "git pull --rebase" situation.
97855         * modules/git-merge-changelog (Depends-on): Add c-strstr.
97856         Reported by Eric Blake.
97858 2008-02-16  Eric Blake  <ebb9@byu.net>
97860         Avoid doubling \ in common case of "c-maybe" quoting style.
97861         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
97862         eliding outer quotes.
97863         * lib/quotearg.h: Document this.
97864         * tests/test-quotearg.c (result_strings, inputs, results_g)
97865         (flag_results, locale_results): Test it by adding a new string to
97866         each test group.
97867         (compare_strings): Test new string.
97869 2008-02-13  Eric Blake  <ebb9@byu.net>
97871         Avoid trigraph quoting in default output.
97872         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
97873         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
97874         unless explicitly requested.
97875         * tests/test-quotearg.c (flag_results, main): Add additional tests.
97877 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
97879         Don't rely on signed integer overflowing to negative value.
97880         * lib/getugroups.c (getugroups): Include <limits.h>.
97881         Instead, compare against INT_MAX, and increment only if the test passes.
97883 2008-02-13  Jim Meyering  <meyering@redhat.com>
97884         and Eric Blake  <ebb9@byu.net>
97886         Avoid shadowing warning and compile errors on Linux.
97887         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
97888         forwarding macros on Linux.
97889         (dcgettext): Define a stub, for Linux.
97890         (results_g, main): Avoid warnings.
97892 2008-02-12  Eric Blake  <ebb9@byu.net>
97894         Silence warning in last patch.
97895         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
97897         Quotearg part 4: add tests, fix c-maybe colon quoting.
97898         * lib/quotearg.h: Improve documentation.
97899         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
97900         escapes when adding outer quotes.  When quoting trigraphs, use
97901         valid C notation.  When quoting NUL, omit extra characters if next
97902         character is not digit.  Alter prototype.
97903         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
97904         callers.
97905         * modules/quotearg-tests: New module.
97906         * tests/test-quotearg.c: New test.
97908 2008-02-07  Eric Blake  <ebb9@byu.net>
97910         Quotearg part 3: add flag to control outer quote elision.
97911         * lib/quotearg.h (c_maybe_quoting_style): New style.
97912         (enum quoting_flags): Better documentation of flags.
97913         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
97914         c-maybe style.
97915         (quotearg_buffer_restyled): Handle new flag to elide outer
97916         quotes.
97918         Quotearg part 2: add flag that can control NUL elision.
97919         * lib/quotearg.h (set_quoting_flags): New prototype.
97920         * lib/quotearg.c (struct quoting_options): Add flag field.
97921         (set_quoting_flags): New function.
97922         (quotearg_buffer_restyled): Add flags parameter.
97923         (quotearg_alloc_mem): Set the flag if length cannot be returned.
97924         (quotearg_n_options): Set the flag, since length cannot be
97925         returned.
97926         (quoting_options_from_style): Default flags correctly.
97928         Quotearg part 1: more wrappers, restore quotearg_char state.
97929         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
97930         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
97931         (quotearg_colon_mem): New wrappers.
97932         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
97933         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
97934         functions.
97935         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
97936         (quotearg_colon_mem): New functions.
97938 2008-02-11  Bruno Haible  <bruno@clisp.org>
97940         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
97941         library in the current directory: it does not work with parallel make.
97942         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
97944 2008-02-11  Bruno Haible  <bruno@clisp.org>
97946         * .gitattributes: New file.
97948 2008-02-11  Jim Meyering  <meyering@redhat.com>
97950         useless-if-before-free: Fix reversed exit values.
97951         * build-aux/useless-if-before-free: Use correct values
97952         for EXIT_MATCH and EXIT_NO_MATCH.
97954         * build-aux/useless-if-before-free: Close stdout carefully.
97956 2008-02-10  Bruno Haible  <bruno@clisp.org>
97958         New module 'git-merge-changelog'.
97959         * modules/git-merge-changelog: New file.
97960         * lib/git-merge-changelog.c: New file.
97962 2008-02-10  Jim Meyering  <meyering@redhat.com>
97964         useless-if-before-free: New option: --list (-l).
97966         useless-if-before-free: Don't exit immediately upon open failure.
97967         * build-aux/useless-if-before-free: Exit 2 for errors.
97968         Upon failure to open a file, don't exit immediately.
97969         Rather, just warn and continue with any remaining files.
97971 2008-02-10  Bruno Haible  <bruno@clisp.org>
97973         New abstract list operation 'node_set_value'.
97974         * lib/gl_list.h (gl_list_node_set_value): New function.
97975         (struct gl_list_implementation): New field node_set_value.
97976         * lib/gl_list.c (gl_list_node_set_value): New function.
97977         * lib/gl_array_list.c (gl_array_node_set_value): New function.
97978         (gl_array_list_implementation): Update.
97979         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
97980         (gl_carray_list_implementation): Update.
97981         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
97982         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
97983         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
97984         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
97985         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
97986         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
97987         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
97988         Update.
97989         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
97990         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
97991         (gl_sublist_list_implementation): Update.
97993 2008-02-10  Bruno Haible  <bruno@clisp.org>
97995         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
97996         Needed when ELEMENT is #defined to 'some_type *'.
97998 2008-02-10  Jim Meyering  <meyering@redhat.com>
98000         New script and module: useless-if-before-free
98001         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
98002         * build-aux/useless-if-before-free: New file.
98003         * modules/useless-if-before-free: New file.
98005         * build-aux/gitlog-to-changelog: Use committer date, not author date.
98007         xstrtol_error: Fix typo.
98008         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
98009         s/exit_failure/exit_status/.
98011 2008-02-09  Jim Meyering  <meyering@redhat.com>
98013         New script and module: gitlog-to-changelog
98014         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
98015         * modules/gitlog-to-changelog: New file.
98016         * build-aux/gitlog-to-changelog: New file.
98018 2008-02-08  Jim Meyering  <meyering@redhat.com>
98020         Avoid two "parameter unused" warnings.
98021         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
98022         Mark "st" as used.
98024         Use "git COMMAND", not "git-COMMAND".
98025         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
98026         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
98027         * build-aux/git-version-gen: Use "git status", not "git-status".
98029 2008-02-07  Bruno Haible  <bruno@clisp.org>
98031         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
98032         Avoids a crash on Windows Vista.
98033         Reported by Adam Strzelecki <ono@java.pl> via
98034         Simon Josefsson <simon@josefsson.org>.
98036 2008-02-06  Bruno Haible  <bruno@clisp.org>
98038         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
98039         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
98040         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
98041         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
98042         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
98043         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
98044         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
98045         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
98046         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
98047         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
98048         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
98049         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
98050         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
98051         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
98052         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
98053         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
98054         left-adjust flag.
98055         * tests/test-snprintf-posix.h (test_function): Likewise.
98056         * tests/test-sprintf-posix.h (test_function): Likewise.
98057         * tests/test-vasprintf-posix.c (test_function): Likewise.
98058         * doc/posix-functions/fprintf.texi: Update.
98059         * doc/posix-functions/printf.texi: Update.
98060         * doc/posix-functions/snprintf.texi: Update.
98061         * doc/posix-functions/sprintf.texi: Update.
98062         * doc/posix-functions/vfprintf.texi: Update.
98063         * doc/posix-functions/vprintf.texi: Update.
98064         * doc/posix-functions/vsnprintf.texi: Update.
98065         * doc/posix-functions/vsprintf.texi: Update.
98066         Reported by Peter Fales <psfales@alcatel-lucent.com>.
98068 2008-02-06  Bruno Haible  <bruno@clisp.org>
98070         Fix bug introduced on 2008-01-26.
98071         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
98073 2008-02-06  Bruno Haible  <bruno@clisp.org>
98075         Fix bug introduced on 2007-06-10.
98076         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
98077         !NEED_PRINTF_FLAG_ZERO.
98079 2008-02-05  Peter O'Gorman  <pogma@thewrittenword.com>
98081         getloadavg: use libperfstat on AIX5
98082         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
98084 2008-02-03  Bruno Haible  <bruno@clisp.org>
98086         * lib/diffseq.h: Add comments about required #includes.
98087         Reported by Michael Biggs <gnulib@doubleplum.net>.
98089 2008-02-01  Bruno Haible  <bruno@clisp.org>
98091         * users.txt: Add gnuit.
98093 2008-01-31  Bruno Haible  <bruno@clisp.org>
98095         * lib/md4.c (set_uint32): Mark as inline.
98096         * lib/md5.c (set_uint32): Likewise.
98097         * lib/sha1.c (set_uint32): Likewise.
98098         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
98099         * m4/md5.m4 (gl_MD5): Likewise.
98100         * m4/sha1.m4 (gl_SHA1): Likewise.
98102 2008-01-31  Jim Meyering  <meyering@redhat.com>
98104         Use "sizeof VAR", rather than a literal "4".
98105         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
98106         * lib/md4.c (md4_read_ctx): Likewise.
98107         * lib/sha1.c (sha1_read_ctx): Likewise.
98109 2008-01-31  Simon Josefsson  <simon@josefsson.org>
98111         * tests/test-sha1.c: New file, based on test-md5.c.
98113         * modules/crypto/sha1-tests: New file.
98115 2008-01-31  Simon Josefsson  <simon@josefsson.org>
98117         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
98119 2008-01-31  Jim Meyering  <meyering@redhat.com>
98121         Prefer "sizeof v" over the equivalent "4".
98122         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
98123         * lib/md5.c (set_uint32): Likewise.
98124         * lib/sha1.c (set_uint32): Likewise.
98126 2008-01-31  Simon Josefsson  <simon@josefsson.org>
98128         * lib/sha1.c (set_uint32): Mark function as static.
98130 2008-01-31  Simon Josefsson  <simon@josefsson.org>
98132         md2: clarify comments to say that alignment is not required.
98133         * lib/md2.h: Remove warning about alignment in comment.
98134         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
98135         never been required.
98137 2008-01-31  Simon Josefsson  <simon@josefsson.org>
98139         md4: adapt alignment constraint fix from sha1.
98140         * lib/md4.c (set_uint32): New function, from sha1.c
98141         (md4_read_ctx): Use it.
98142         (md4_finish_ctx): Doc fix.
98143         * lib/md4.h: Doc fix.
98145 2008-01-31  Simon Josefsson  <simon@josefsson.org>
98147         md5: adapt alignment constraint fix from sha1.
98148         * lib/md5.c (set_uint32): New function, from sha1.c
98149         (md5_read_ctx): Use it.
98150         (md5_finish_ctx): Doc fix.
98151         * lib/md5.h: Doc fix.
98153 2008-01-30  Peter Palfrader  <weasel@debian.org>
98155         sha1: remove the result buffer alignment constraint
98156         * lib/sha1.c (set_uint32): New function.
98157         (sha1_read_ctx): Rewrite to remove the result buffer alignment
98158         constraint.
98159         (sha1_finish_ctx): Remove comment warning about alignment constraint.
98160         * lib/sha1.h: Likewise.
98162 2008-01-30  Andreas Schwab  <schwab@suse.de>
98163             Bruno Haible  <bruno@clisp.org>
98165         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
98166         correct definition of LDBL_MIN_EXP.
98168 2008-01-30  Karl Berry  <karl@gnu.org>
98170         * config/srclist-update: try to preserve x bit on updates.
98171         * config/srclistvars.sh: update for karl.
98173 2008-01-29  Jim Meyering  <meyering@redhat.com>
98175         vasnprintf.c: Avoid warning about unused label
98176         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
98177         "overflow" label definition and associated code with the
98178         same cpp condition that guards the sole use of that label.
98180 2008-01-26  Bruno Haible  <bruno@clisp.org>
98182         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
98183         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
98184         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
98185         * lib/isnanl-nolibm.h (isnanl): Likewise.
98186         Reported by Paul Eggert <eggert@cs.ucla.edu>.
98188 2008-01-26  Bruno Haible  <bruno@clisp.org>
98190         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
98191         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
98193 2008-01-26  Bruno Haible  <bruno@clisp.org>
98195         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
98196         GCC >= 4.0 built-in.
98197         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
98199 2008-01-26  Bruno Haible  <bruno@clisp.org>
98201         Rename isnan, applicable to 'double' only, to isnand.
98202         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
98203         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
98204         (configure.ac): Update.
98205         (Include): Replace "isnan.h" with "isnand.h".
98206         * m4/isnand.m4: Renamed from m4/isnan.m4.
98207         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
98208         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
98209         instead of isnan.c.
98210         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
98211         instead of HAVE_ISNAN_IN_LIBC.
98212         (isnand): Renamed from isnan.
98213         * lib/isnand.c: New file.
98214         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
98215         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
98216         (Makefile.am): Update.
98217         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
98218         Include isnand.h instead of isnan.h.
98219         (main): Test isnand instead of isnan.
98220         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
98221         isnan-nolibm.
98222         * modules/frexp (Depends-on): Likewise.
98223         * modules/frexp-tests (Depends-on): Likewise.
98224         * modules/frexp-nolibm (Depends-on): Likewise.
98225         * modules/frexp-nolibm-tests (Depends-on): Likewise.
98226         * modules/isfinite (Depends-on): Likewise.
98227         * modules/round-tests (Depends-on): Likewise.
98228         * modules/signbit (Depends-on): Likewise.
98229         * modules/signbit-tests (Depends-on): Likewise.
98230         * modules/snprintf-posix (Depends-on): Likewise.
98231         * modules/sprintf-posix (Depends-on): Likewise.
98232         * modules/trunc-tests (Depends-on): Likewise.
98233         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
98234         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
98235         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
98236         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
98237         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
98238         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
98239         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
98240         * modules/vasnprintf-posix (Depends-on): Likewise.
98241         * modules/vasprintf-posix (Depends-on): Likewise.
98242         * modules/vfprintf-posix (Depends-on): Likewise.
98243         * modules/vsnprintf-posix (Depends-on): Likewise.
98244         * modules/vsprintf-posix (Depends-on): Likewise.
98245         * lib/frexp.c: Include isnand.h instead of isnan.h.
98246         (ISNAN): Set to isnand instead of isnan.
98247         * lib/isfinite.c: Include isnand.h instead of isnan.h.
98248         (gl_isfinited): Use isnand instead of isnan.
98249         * lib/signbitd.c: Include isnand.h instead of isnan.h.
98250         (gl_signbitd): Use isnand instead of isnan.
98251         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
98252         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
98253         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
98254         (main): Use isnand instead of isnan.
98255         * tests/test-round1.c: Include isnand.h.
98256         (main): Use isnand instead of isnan.
98257         * tests/test-round2.c: Include isnand.h instead of isnan.h.
98258         (ISNAN): Set to isnand instead of isnan.
98259         * tests/test-trunc1.c: Include isnand.h.
98260         (main): Use isnand instead of isnan.
98261         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
98262         (equal): Use isnand instead of isnan.
98263         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
98264         isnand-nolibm.
98265         * NEWS: Mention the change.
98267 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
98268             Bruno Haible  <bruno@clisp.org>
98270         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
98271         the GCC builtins for signbits are present and set
98272         REPLACE_SIGNBIT_USING_GCC if so.
98273         * lib/math.in.h (signbit): Define using GCC builtins if
98274         REPLACE_SIGNBIT_USING_GCC is set.
98275         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
98276         REPLACE_SIGNBIT_USING_GCC.
98277         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
98279 2008-01-25  Jim Meyering  <meyering@redhat.com>
98281         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
98282         * lib/poll.c: Include <config.h>, not "config.h".
98283         * tests/test-getaddrinfo.c: Likewise.
98285 2008-01-25  Simon Josefsson  <simon@josefsson.org>
98287         * modules/sockets-tests: New file.
98289 2008-01-24  Simon Josefsson  <simon@josefsson.org>
98291         * modules/sockets: New module, can be used to call WSA_Startup and
98292         WSA_Cleanup when needed.
98294         * lib/sockets.h, lib/sockets.c: New files.
98296         * m4/sockets.m4: New file.
98298         * tests/test-sockets.c: New file.
98300 2008-01-19  Bruno Haible  <bruno@clisp.org>
98302         * doc/posix-headers: Renamed from doc/headers.
98303         * doc/posix-functions: Renamed from doc/functions.
98304         * doc/gnulib.texi: Update.
98306 2008-01-19  Bruno Haible  <bruno@clisp.org>
98308         * doc/glibc-functions/strcasestr.texi: Include contents of
98309         doc/functions/strcasestr.texi, fixing the list of platforms.
98310         * doc/functions/strcasestr.texi: Remove file.
98312 2008-01-19  Bruno Haible  <bruno@clisp.org>
98314         * doc/glibc-functions/memmem.texi: Include contents of
98315         doc/functions/memmem.texi.
98316         * doc/functions/memmem.texi: Remove file.
98318 2008-01-18  Bruno Haible  <bruno@clisp.org>
98320         * doc/glibc-functions/*.texi: New files.
98321         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
98322         to use the new files.
98324 2008-01-17  Bruno Haible  <bruno@clisp.org>
98326         * tests/test-gethostname.c (main): Fix printf statement.
98328 2008-01-17  Simon Josefsson  <simon@josefsson.org>
98330         * modules/gethostname-tests: New file.
98332         * tests/test-gethostname.c: New file.
98334 2008-01-17  Simon Josefsson  <simon@josefsson.org>
98336         * lib/gethostname.c: Include string.h unconditionally, strncpy is
98337         used by the UNAME case.  Reported by Bruno Haible
98338         <bruno@clisp.org>.
98340 2008-01-17  Eric Blake  <ebb9@byu.net>
98342         Convert c-strcasestr to be more efficient.
98343         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
98344         (Depends-on): Add c-strcase, remove malloca, strnlen.
98345         * tests/test-c-strcasestr.c (main): Enhance test.
98346         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
98348 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
98350         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
98351         Use it in creating po/Makevars.
98353 2008-01-15  Simon Josefsson  <simon@josefsson.org>
98355         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
98356         Applications that requires it should initialize libgcrypt
98357         manually.
98359 2008-01-16  Simon Josefsson  <simon@josefsson.org>
98361         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
98363 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
98365         Fix problem with getdate on mingw32 reported by Simon Josefsson
98366         in <http://lists.gnu.org/r/bug-gnulib/2008-01/msg00192.html>.
98367         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
98368         tzname", when deciding whether to declare tzname.
98369         * lib/strftime.c (tzname): Likewise.
98371 2008-01-15  Bruno Haible  <bruno@clisp.org>
98373         Work around a MacOS X 10.5 bug in frexpl().
98374         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
98375         * doc/functions/frexpl.texi: Document the bug.
98376         Reported by Elias Pipping <pipping@gentoo.org>.
98378 2008-01-14  Eric Blake  <ebb9@byu.net>
98380         Touch up previous patch.
98381         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
98382         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
98384         Convert strcasestr module to use Two-Way algorithm.
98385         * modules/strcasestr-simple: New module, based on the old
98386         strcasestr, but with Two-Way rather than KMP.
98387         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
98388         * lib/string.in.h (rpl_strcasestr): Declare.
98389         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
98390         performance.
98391         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
98392         * modules/string (Makefile.am): Support strcasestr.
98393         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
98394         * modules/strcasestr-tests (Depends-on): Check for alarm.
98395         * tests/test-strcasestr.c: Augment test.
98396         * lib/str-two-way.h: Clean up stray macro.
98397         * NEWS: Document new module.
98398         * MODULES.html.sh (string handling): Likewise.
98399         * doc/functions/strcasestr.texi: New file.
98400         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
98401         here, since it is not a POSIX function.
98403 2008-01-14  Colin Watson  <cjwatson@debian.org>
98404             Bruno Haible  <bruno@clisp.org>
98406         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
98407         works fine; if not, set REPLACE_STRSIGNAL.
98408         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
98409         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
98410         REPLACE_STRSIGNAL.
98411         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
98412         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
98413         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
98415 2008-01-14  Bruno Haible  <bruno@clisp.org>
98417         * modules/strsignal (Include): Change to <string.h>.
98419 2008-01-14  Colin Watson  <cjwatson@debian.org>
98421         * modules/argp (Notice): Add a notice recommending to change
98422         XGETTEXT_OPTIONS.
98423         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
98425 2008-01-13  Colin Watson  <cjwatson@debian.org>
98427         * modules/strsignal-tests: New file.
98428         * tests/test-strsignal.c: New file.
98430         * lib/strsignal.c: New file, from glibc with modifications.
98431         * lib/siglist.h: New file, from glibc with modifications.
98432         * lib/string.in.h (strsignal): New declaration.
98433         * m4/strsignal.m4: New file.
98434         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
98435         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
98436         * modules/strsignal: New file.
98437         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
98438         HAVE_DECL_STRSIGNAL.
98440 2008-01-13  Bruno Haible  <bruno@clisp.org>
98442         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
98443         locale encoding is not ASCII. Needed for OpenBSD 4.0.
98444         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
98445         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
98447 2008-01-13  Bruno Haible  <bruno@clisp.org>
98449         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
98450         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
98451         * lib/argp.h (__attribute__): Likewise.
98452         * lib/c-stack.c (__attribute__): Likewise.
98453         * lib/error.h (__attribute__): Likewise.
98454         * lib/fts.c (__attribute__): Likewise.
98455         * lib/openat.h (__attribute__): Likewise.
98456         * lib/stdio.in.h (__attribute__): Likewise.
98457         * lib/string.in.h (__attribute__): Likewise.
98458         * lib/utimens.c (__attribute__): Likewise.
98459         * lib/vasnprintf.h (__attribute__): Likewise.
98460         * lib/xalloc.h (__attribute__): Likewise.
98461         * lib/xprintf.h (__attribute__): Likewise.
98462         * lib/xstrtol.h (__attribute__): Likewise.
98463         * lib/xvasprintf.h (__attribute__): Likewise.
98465 2008-01-12  Bruno Haible  <bruno@clisp.org>
98467         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
98468         * doc/glibc-headers/a.out.texi: New file.
98469         * doc/glibc-headers/aliases.texi: New file.
98470         * doc/glibc-headers/alloca.texi: New file.
98471         * doc/glibc-headers/ar.texi: New file.
98472         * doc/glibc-headers/argp.texi: New file.
98473         * doc/glibc-headers/argz.texi: New file.
98474         * doc/glibc-headers/byteswap.texi: New file.
98475         * doc/glibc-headers/crypt.texi: New file.
98476         * doc/glibc-headers/endian.texi: New file.
98477         * doc/glibc-headers/envz.texi: New file.
98478         * doc/glibc-headers/err.texi: New file.
98479         * doc/glibc-headers/error.texi: New file.
98480         * doc/glibc-headers/execinfo.texi: New file.
98481         * doc/glibc-headers/fpu_control.texi: New file.
98482         * doc/glibc-headers/fstab.texi: New file.
98483         * doc/glibc-headers/fts.texi: New file.
98484         * doc/glibc-headers/getopt.texi: New file.
98485         * doc/glibc-headers/ieee754.texi: New file.
98486         * doc/glibc-headers/ifaddrs.texi: New file.
98487         * doc/glibc-headers/libintl.texi: New file.
98488         * doc/glibc-headers/mcheck.texi: New file.
98489         * doc/glibc-headers/mntent.texi: New file.
98490         * doc/glibc-headers/obstack.texi: New file.
98491         * doc/glibc-headers/paths.texi: New file.
98492         * doc/glibc-headers/printf.texi: New file.
98493         * doc/glibc-headers/pty.texi: New file.
98494         * doc/glibc-headers/resolv.texi: New file.
98495         * doc/glibc-headers/shadow.texi: New file.
98496         * doc/glibc-headers/sysexits.texi: New file.
98497         * doc/glibc-headers/ttyent.texi: New file.
98499 2008-01-12  Jim Meyering  <meyering@redhat.com>
98501         announce-gen: emit Gnulib's git-based version string.
98502         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
98503         New option --gnulib-version=V, where V is expected to be
98504         the output of running git describe in the gnulib directory.
98505         (get_tool_versions): Request feedback on xdelta.  I suspect it's
98506         not useful, and plan to stop publishing an xdelta file with each
98507         coreutils release.
98509         * build-aux/announce-gen: Also check for lzma-compressed files.
98511 2008-01-11  Bruno Haible  <bruno@clisp.org>
98513         * tests/test-memmem.c (main): Increase maximum allowed time.
98514         * tests/test-strstr.c (main): Likewise.
98516 2008-01-11  Bruno Haible  <bruno@clisp.org>
98518         * doc/functions/memmem.texi: Add more precisions about platforms.
98519         * doc/functions/strstr.texi: Likewise.
98521 2008-01-10  Eric Blake  <ebb9@byu.net>
98523         * m4/strstr.m4: Delete cruft from copy-n-paste.
98524         Reported by Bruno Haible.
98526 2008-01-10  Bruno Haible  <bruno@clisp.org>
98528         Make c-strstr rely on strstr.
98529         * lib/c-strstr.c: Don't include str-kmp.h.
98530         (c_strstr): Define in terms of strstr.
98531         * modules/c-strstr (Files): Remove lib/str-kmp.h.
98532         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
98534 2008-01-10  Bruno Haible  <bruno@clisp.org>
98536         * doc/gnulib.texi (String Functions in C Locale): New section.
98537         * doc/c-ctype.texi: New file.
98538         * doc/c-strcase.texi: New file.
98539         * doc/c-strcaseeq.texi: New file.
98540         * doc/c-strcasestr.texi: New file.
98541         * doc/c-strstr.texi: New file.
98542         * doc/c-strtod.texi: New file.
98543         * doc/c-strtold.texi: New file.
98545 2008-01-10  Eric Blake  <ebb9@byu.net>
98547         * lib/relocatable.h: Fix a comment.
98549 2008-01-10  Eric Blake  <ebb9@byu.net>
98551         Share two-way algorithm.
98552         * lib/str-two-way.h: New file, merged from...
98553         * lib/memmem.c: ...here...
98554         * lib/strstr.c: ...and here.
98555         * modules/memmem (Files): Use it.
98556         * modules/strstr (Files): Likewise.
98558         Avoid quadratic strstr implementations.
98559         * lib/strstr.c: New file.
98560         * m4/strstr.m4: Likewise.
98561         * modules/strstr: Likewise.
98562         * modules/strstr-tests: Likewise.
98563         * tests/test-strstr.c: Likewise.
98564         * lib/string.in.h (rpl_strstr): Declare.
98565         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
98566         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
98567         * modules/string (Makefile.am): Likewise.
98568         * MODULES.html.sh (string handling): Mention new module.
98569         * doc/functions/strstr.texi (strstr): Document the bug.
98571 2008-01-10  Bruno Haible  <bruno@clisp.org>
98573         * lib/relocatable.h (relocate): State whether result is freshly
98574         allocated or not.
98575         * lib/relocatable.c (relocate): Return a freshly allocated string
98576         instead of a pointer to a privately held string.
98577         Reported by Sylvain Beucler <beuc@gnu.org>.
98579 2008-01-10  Colin Watson  <cjwatson@debian.org>
98581         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
98582         s/S_ISNLK/S_ISLNK/.
98584 2008-01-09  Bruno Haible  <bruno@clisp.org>
98586         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
98587         and other files.
98588         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
98589         if it's only a guess.
98590         * modules/memmem: Simplify by depending on memmem-simple.
98592 2008-01-09  Bruno Haible  <bruno@clisp.org>
98594         Work around OpenBSD 4.0 tdelete() bug.
98595         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
98596         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
98597         macros and don't redefine the enum values.
98598         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
98599         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
98600         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
98602 2008-01-09  Bruno Haible  <bruno@clisp.org>
98604         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
98605         (main): Don't perform the tests if setlocale did not install a UTF-8
98606         locale. Needed on OpenBSD 4.0.
98607         * modules/wcwidth-tests (Depends-on): Add localcharset.
98609 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
98611         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
98612         See <http://lists.gnu.org/r/bug-gnulib/2007-12/msg00149.html>.
98613         * NEWS: announce this.
98614         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
98616 2008-01-09  Simon Josefsson  <simon@josefsson.org>
98617         and Eric Blake  <ebb9@byu.net>
98619         Add memmem-simple module.
98620         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
98621         (gl_FUNC_MEMMEM): Separate performance from presence checks.
98622         * modules/memmem-simple: New file.
98623         * modules/memmem (Description): Tweak.
98624         * MODULES.html.sh (string handling): Mention new module.
98625         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
98626         addressed by memmem-simple.
98627         * NEWS: Document the difference.
98629 2008-01-09  Eric Blake  <ebb9@byu.net>
98631         Give gcc some memmem optimization hints.
98632         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
98633         (strcasestr): Declare as pure.
98634         * modules/memmem (Maintainer): Claim my implementation.
98636 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
98638         Support AIX 6.1 and higher.
98639         * build-aux/config.libpath: Likewise.
98640         * build-aux/config.rpath: Likewise.
98642 2008-01-08  Jim Meyering  <meyering@redhat.com>
98643             Bruno Haible  <bruno@clisp.org>
98645         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
98646         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
98647         Reported by Peter Fales in
98648         <http://lists.gnu.org/r/bug-coreutils/2007-12/msg00148.html>.
98650 2008-01-08  Bruno Haible  <bruno@clisp.org>
98652         * modules/unictype/category-of (Depends-on): Add
98653         unictype/category-none.
98654         * modules/unictype/category-and-tests (Depends-on): Add
98655         unictype/category-{L,N,Lu,Nd}.
98656         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
98657         * modules/unictype/category-or-tests (Depends-on): Add
98658         unictype/category-{L,N}.
98659         * modules/unictype/category-name-tests (Depends-on): Add
98660         unictype/category-{Z,Nl}.
98661         Reported by Simon Josefsson.
98663 2008-01-08  Bruno Haible  <bruno@clisp.org>
98665         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
98666         convention better.
98667         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
98668         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
98669         Reported by Peter Miller <millerp@canb.auug.org.au>.
98671 2008-01-08  Eric Blake  <ebb9@byu.net>
98673         Rewrite memmem to guarantee linear complexity without malloc.
98674         * lib/memmem.c (memmem): Use Two-Way rather than
98675         Knuth-Morris-Pratt, to allow O(1) space usage.
98676         (critical_factorization, two_way_short_needle)
98677         (two_way_long_needle): New functions.
98678         (knuth_morris_pratt): Delete.
98679         * modules/memmem (Depends-on): No longer need malloca or stdbool.
98680         Add stdint.
98681         * tests/test-memmem.c (main): Add tests for periodic needle and
98682         sublinear performance.
98683         * doc/functions/memmem.texi (memmem): Document other deficiencies
98684         in cygwin and older glibc.
98686 2008-01-08  Bruno Haible  <bruno@clisp.org>
98688         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
98689         augmentation.
98691 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
98693         Add a configure time option: --disable-acl.
98694         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
98695         AC_ARG_ENABLE(acl).
98697 2008-01-06  Simon Josefsson  <simon@josefsson.org>
98699         * tests/test-localename.c: Don't include obsolete "setenv.h".
98701         * modules/localename-tests (Depends-on): Need unsetenv.
98703 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
98705         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
98707 2008-01-06  Colin Watson  <cjwatson@debian.org>
98709         * users.txt: Add man-db.
98711 2008-01-07  Bruno Haible  <bruno@clisp.org>
98713         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
98714         previous section name.
98716 2008-01-07  Bruno Haible  <bruno@clisp.org>
98718         * lib/progname.c (set_program_name): Don't strip off a leading
98719         "lt-" prefix outside a .libs directory.
98720         Suggested by Paul Eggert.
98722 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
98723             Bruno Haible  <bruno@clisp.org>
98725         Improve memory cleanup in 'relocatable' module.
98726         * lib/relocatable.h (compute_curr_prefix): Change return type to
98727         'char *'.
98728         * lib/relocatable.c (compute_curr_prefix): Change return type to
98729         'char *'. Free curr_installdir after use.
98730         (relocate): Free curr_prefix_better after use.
98731         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
98733 2008-01-01  Bruno Haible  <bruno@clisp.org>
98735         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
98736         failure on older glibc systems.
98737         Reported by Peter Fales <psfales@alcatel-lucent.com>.
98739 2008-01-05  Eric Blake  <ebb9@byu.net>
98741         Avoid quadratic system memmem.
98742         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
98743         Reported by Ralf Wildenhues.
98745         Fix memmem test for mingw.
98746         * modules/memmem-tests (configure.ac): Check for alarm.
98747         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
98748         it.
98749         * doc/functions/memmem.texi: New file.
98750         * doc/gnulib.texi (Function Substitutes): Add memmem.
98751         Reported by Bruno Haible.
98753 2008-01-04  Bruno Haible  <bruno@clisp.org>
98755         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
98756         Require gl_HEADER_STRINGS_H_DEFAULTS, not
98757         gl_HEADER_STRING_H_DEFAULTS.
98759 2008-01-04  Eric Blake  <ebb9@byu.net>
98761         Shorten duration of memmem test.
98762         * tests/test-memmem.c (main): Use alarm to declare failure if test
98763         is taking too long.
98764         Reported by Ralf Wildenhues.
98766 2007-12-21  Simon Josefsson  <simon@josefsson.org>
98768         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
98769         string, needed by strerror.
98771 2008-01-03  Colin Watson  <cjwatson@debian.org>
98772             Bruno Haible  <bruno@clisp.org>
98774         * doc/gnulib-tool.texi (Localization): New section.
98776 2008-01-02  Bruno Haible  <bruno@clisp.org>
98778         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
98779         variables to 'unsigned char *' type.
98780         Reported by Paul Eggert.
98782 2008-01-02  Jim Meyering  <jim@meyering.net>
98784         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
98786 2007-12-31  Jim Meyering  <jim@meyering.net>
98788         Avoid use of private FTS type name.
98789         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
98791 2007-12-30  Karl Berry  <karl@gnu.org>
98793         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
98794         work around defect in Texinfo and/or the standalone Info browser.
98796 2007-12-30  Bruno Haible  <bruno@clisp.org>
98798         Unify 5 copies of the KMP code.
98799         * lib/str-kmp.h: New file.
98800         * lib/c-strcasestr.c: Include str-kmp.h.
98801         (knuth_morris_pratt): Remove function.
98802         (c_strcasestr): Update.
98803         * lib/c-strstr.c: Include str-kmp.h.
98804         (knuth_morris_pratt): Remove function.
98805         (c_strcasestr): Update.
98806         * lib/mbscasestr.c: Include str-kmp.h.
98807         (knuth_morris_pratt_unibyte): Remove function.
98808         * lib/mbsstr.c: Include str-kmp.h.
98809         (knuth_morris_pratt_unibyte): Remove function.
98810         * lib/strcasestr.c: Include str-kmp.h.
98811         (knuth_morris_pratt): Remove function.
98812         (strcasestr): Update.
98813         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
98814         * modules/c-strstr (Files): Likewise.
98815         * modules/mbscasestr (Files): Likewise.
98816         * modules/mbsstr (Files): Likewise.
98817         * modules/strcasestr (Files): Likewise.
98818         Suggested by Paul Eggert.
98820 2007-12-30  Bruno Haible  <bruno@clisp.org>
98822         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
98823         defined.
98825 2007-12-30  Bruno Haible  <bruno@clisp.org>
98827         * lib/xmalloca.h: Include xalloc.h.
98828         (xnmalloca): New macro.
98830 2007-12-30  Bruno Haible  <bruno@clisp.org>
98832         * lib/malloca.h (nmalloca): New macro.
98833         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
98834         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
98835         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
98836         knuth_morris_pratt_multibyte): Likewise.
98837         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
98838         knuth_morris_pratt_multibyte): Likewise.
98839         * lib/memmem.c (knuth_morris_pratt): Likewise.
98840         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
98842 2007-12-25  Bruno Haible  <bruno@clisp.org>
98844         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
98845         * lib/glob.c: Don't include openat.h.
98846         (link_exists2_p): Add back the code that deals with the
98847         !GLOB_ALTDIRFUNC case.
98848         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
98849         let it do the filename concatenation.
98850         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
98851         * modules/glob (Depends-on): Remove openat.
98853 2007-12-31  Bruno Haible  <bruno@clisp.org>
98855         * modules/dirfd (License): Change to LGPLv2+.
98856         Approved by Jim Meyering.
98858 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
98860         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
98861         when multiplying M by sizeof (size_t).
98863 2007-12-10  Martin Lambers  <marlam@marlam.de>
98865         Override getpagesize on mingw.
98866         * lib/getpagesize.c: New file.
98867         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
98868         * modules/getpagesize (Files): Add lib/getpagesize.c.
98869         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
98870         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
98871         REPLACE_GETPAGESIZE.
98872         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
98874 2007-12-25  Bruno Haible  <bruno@clisp.org>
98876         * modules/localcharset (Notice): New field.
98877         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
98878         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
98880 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
98881             Bruno Haible  <bruno@clisp.org>
98883         Avoid using the syntax symbol() in formatted documentation.
98884         * MODULES.html.sh (func_module): When replacing symbol() with a
98885         hyperlink, remove the parentheses. Show an error if some remain.
98886         Recognize and render the '...' syntax.
98887         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
98888         Rework. Add paragraph about GCC's inlining.
98889         * doc/alloca.texi: Likewise.
98890         * doc/error.texi: Remove parentheses from symbol reference.
98891         * doc/gnulib-intro.texi: Likewise.
98892         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
98893         * modules/fnmatch (Description): Reword to say "the ... function".
98894         * modules/full-read (Description): Likewise.
98895         * modules/full-write (Description): Likewise.
98896         * modules/safe-read (Description): Likewise.
98897         * modules/safe-write (Description): Likewise.
98898         * modules/strchrnul (Description): Likewise.
98899         * modules/trim (Description): Likewise.
98900         * modules/error (Description): Remove parentheses from symbol
98901         references.
98902         * modules/verror (Description): Likewise.
98903         Reported by Karl Berry.
98905 2007-12-25  Bruno Haible  <bruno@clisp.org>
98907         Fixup after 2007-10-16 commit.
98908         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
98910 2007-12-24  Bruno Haible  <bruno@clisp.org>
98912         Make --enable-relocatable work with DESTDIR.
98913         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
98914         to compute installdir from destprog.
98915         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
98916         also set the RELOC_DESTDIR variable.
98917         Reported by Левашев Иван <octagram@bluebottle.com>.
98919 2007-12-24  Bruno Haible  <bruno@clisp.org>
98921         Fix link error due to xalloc_die().
98922         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
98923         of xreadlink.
98924         * lib/relocwrapper.c: Update comments.
98925         * build-aux/install-reloc: Remove xreadlink.c from file list.
98926         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
98927         xreadlink.c.
98928         Reported by Левашев Иван <octagram@bluebottle.com>.
98930 2007-12-24  Bruno Haible  <bruno@clisp.org>
98932         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
98933         * lib/setenv.h: Remove file.
98934         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
98935         lib/setenv.h.
98936         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
98937         (Depends-on): Add stdlib.
98938         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
98939         gl_FUNC_UNSETENV.
98940         (Include): Replace setenv.h with <stdlib.h>.
98941         * modules/unsetenv: New file.
98942         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
98943         * lib/unsetenv.c: Include <stdlib.h> first.
98944         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
98945         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
98946         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
98947         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
98948         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
98949         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
98950         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
98951         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
98952         * doc/functions/unsetenv.texi: Update.
98953         * modules/xsetenv (Depends-on): Add unsetenv.
98954         * modules/getdate (Depends-on): Likewise.
98955         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
98956         * lib/xsetenv.c: Don't include setenv.h.
98957         * lib/getdate.y: Likewise.
98958         * lib/relocwrapper.c: Likewise.
98959         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
98960         (Depends-on): Add stdlib.
98961         * NEWS: Mention the changes.
98962         Reported by Левашев Иван <octagram@bluebottle.com>.
98964 2007-12-23  Bruno Haible  <bruno@clisp.org>
98966         * lib/memmem.c (memmem): Use lowercase variable names. Tab
98967         indentation.
98969 2007-12-23  Bruno Haible  <bruno@clisp.org>
98971         * lib/c-strcasestr.c: Add more comments.
98972         * lib/c-strstr.c: Likewise.
98973         * lib/mbscasestr.c: Likewise.
98974         * lib/mbsstr.c: Likewise.
98975         * lib/strcasestr.c: Likewise.
98976         * lib/memmem.c: Likewise.
98978 2007-12-23  Bruno Haible  <bruno@clisp.org>
98980         * tests/test-memmem.c: Include <string.h> first.
98982 2007-12-22  Bruno Haible  <bruno@clisp.org>
98984         * gnulib-tool (func_create_testdir): Change $auxdir while generating
98985         the contents of $testsbase.
98986         Reported by Ralf Wildenhues.
98988 2007-12-22  Bruno Haible  <bruno@clisp.org>
98990         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
98991         two variables local_ldadd_before, local_ldadd_last.
98993 2007-12-20  Eric Blake  <ebb9@byu.net>
98995         Work around circular library issue when cross-compiling.
98996         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
98997         that progname.o does not need to pull in rpl_memcmp.
98999 2007-12-19  Eric Blake  <ebb9@byu.net>
99001         Fix memmem to avoid O(n^2) worst-case complexity.
99002         * lib/memmem.c (knuth_morris_pratt): New function.
99003         (memmem): Use it if first few naive iterations fail.
99004         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
99005         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
99006         * modules/memchr (License): Likewise.
99007         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
99008         malloca.
99009         * tests/test-memmem.c: Rewrite, borrowing ideas from
99010         test-mbsstr1.c; the old version wouldn't even compile!
99011         * modules/memmem-tests: New file.
99012         * lib/string.in.h (rpl_memmem): Add declaration.
99013         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
99014         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
99015         REPLACE_MEMMEM.
99017 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
99019         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
99020         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
99021         before any system include files, and undef after them all.  This
99022         should fix a problem on VMS reported by John E. Malmberg in
99023         <http://lists.gnu.org/r/bug-gnulib/2007-12/msg00118.html>.
99025 2007-12-17  Eric Blake  <ebb9@byu.net>
99027         Revert addition of verify, for BSD/OS.
99028         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
99029         can't handle large files, for the sake of obsolete platforms.
99030         * modules/fseeko (Depends-on): Remove verify.
99031         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
99032         * doc/functions/ftello.texi (ftello): Likewise.
99033         * doc/functions/fgetpos.texi (fgetpos): Likewise.
99034         Reported by Larry Jones.
99036 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
99038         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
99039         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
99041 2007-12-17  Jim Meyering  <meyering@redhat.com>
99043         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
99044         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
99045         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
99046         * modules/getcwd (Depends-on): Add openat.
99047         Reported by Petr Salinger.
99049 2007-12-17  Bruno Haible  <bruno@clisp.org>
99051         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
99052         avoid a segmentation fault of the configure test on x86_64 systems.
99054 2007-12-15  Jim Meyering  <meyering@redhat.com>
99056         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
99058 2007-12-13  Eric Blake  <ebb9@byu.net>
99060         Another fseek test.
99061         * tests/test-fseek.c (main): Also test ungetc handling.
99062         * tests/test-fseeko.c (main): Likewise.
99063         * modules/fseeko (Depends-on): Add verify.
99064         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
99065         large.
99066         Reported by Larry Jones.
99068         Fix fseeko on mingw.
99069         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
99070         seek.
99072         Beef up fseek tests.
99073         * tests/test-fseek.c (main): Also test eof handling.
99074         * tests/test-fseeko.c (main): Likewise.
99075         Reported by Larry Jones.
99077 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
99079         Fix fseeko on BSD-based platforms.
99080         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
99081         successful seek.
99083 2007-12-12  Eric Blake  <ebb9@byu.net>
99085         Allow circular dependency of separate libtests.a
99086         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
99087         when use_libtests.
99089 2007-12-11  Eric Blake  <ebb9@byu.net>
99091         Fix bug with -0.0L in previous patch.
99092         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
99093         * tests/test-isnan.c (main): Also test on zeroes.
99094         * tests/test-isnanf.c (main): Likewise.
99095         * tests/test-isnanl.h (main): Likewise.
99097         Detect pseudo-denormals on x86 even when cross-compiling.
99098         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
99099         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
99100         invalid bit patterns that happen to satisfy ==.
99102         Avoid link failures with separate libtests.a.
99103         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
99104         last, to satisfy circular dependencies.
99106 2007-12-11  Eric Blake  <ebb9@byu.net>
99107         and Bruno Haible  <bruno@clisp.org>
99109         Fix OpenBSD 4.0 <float.h> handling of long double.
99110         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
99111         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
99112         * doc/headers/float.texi (float.h): Document OpenBSD bug.
99114 2007-12-11  Jim Meyering  <meyering@redhat.com>
99116         * users.txt: Add libvirt.
99118         Support versions of autoconf prior to 2.59c.
99119         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
99120         if it is not already defined.
99122 2007-12-09  Bruno Haible  <bruno@clisp.org>
99124         Let 'gnulib-tool --import' collect sources needed for the tests in
99125         tests/ rather than in lib/.
99126         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
99127         argument. If true, add rules to generate libtests.a, and put libtests.a
99128         into $(LDADD). Consider source files in subdirectories and set
99129         uses_subdirs.
99130         (func_emit_initmacro_start, func_emit_initmacro_end,
99131         func_emit_initmacro_done): Pass all arguments explicitly.
99132         (func_import): Determine two module lists main_modules,
99133         testsrelated_modules. Determine use_libtests. Determine two variables
99134         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
99135         instead of just sed_transform_lib_file. Determine two variables
99136         main_files and testsrelated_files. Compute 'files' as the union of
99137         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
99138         func_add_or_update. In the generated gnulib-comp.m4, collect the
99139         object files for tests/ in different variables than those for lib/.
99140         Substitute LIBTESTS_LIBDEPS.
99141         (func_create_testdir): Combine the uses_subdirs results from
99142         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
99144 2007-12-09  Bruno Haible  <bruno@clisp.org>
99146         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
99147         the build-aux directory.
99149 2007-12-09  Bruno Haible  <bruno@clisp.org>
99151         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
99152         introduced on 2006-09-09.
99154 2007-12-07  Jim Meyering  <meyering@redhat.com>
99156         Let these macros work also with autoconf-2.59.
99157         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
99158         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
99159         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
99161 2007-12-06  Jim Meyering  <meyering@redhat.com>
99163         Avoid a configure-time syntax error in gl_FUNC_ACL.
99164         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
99165         function in each branch, before testing the cache variable.
99167 2007-12-04  Eric Blake  <ebb9@byu.net>
99169         Make scripts executable.
99170         * build-aux/config.guess: Add execute permissions.
99171         * build-aux/config.sub: Likewise.
99172         * build-aux/gendocs.sh: Likewise.
99174         Fix frexp on mingw.
99175         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
99176         cross-compiling.
99177         * doc/functions/frexp.texi (frexp): Document the bug.
99179         Make cygwin fseeko check more reliable.
99180         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
99181         version numbers, rather than unrelated feature check.
99182         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
99183         * doc/functions/ftello.texi (ftello): Likewise.
99184         Reported by Bruno Haible.
99186         * m4/strerror.m4: Bump version number.
99188 2007-12-03  Bruno Haible  <bruno@clisp.org>
99190         * doc/functions/mprotect.texi: Mention the mingw problem.
99192 2007-12-03  Eric Blake  <ebb9@byu.net>
99194         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
99195         REPLACE_STRERROR is initialized before this macro.
99197 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
99199         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
99200         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
99201         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
99202         put -lsec in even for programs other than 'ls'.  This fixes a problem
99203         for gettext reported by Bruno Haible in
99204         <http://lists.gnu.org/r/bug-gnulib/2007-12/msg00007.html>.
99205         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
99206         Add support for Solaris 10.  This isn't efficient, but should get the
99207         job done for now.
99209 2007-12-03  James Youngman  <jay@gnu.org>
99211         * doc/regexprops-generic.texi: change "an close-group" to "a
99212         close-group" and "illegal" to "not allowed".
99214 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
99216         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
99217         pr_byname.h. Needed for the rare case when the maintainer has done
99218         "make maintainer-clean" in the source directory and then attempts a
99219         build outside the source directory.
99220         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
99221         scripts_byname.h.
99223 2007-12-02  Martin Lambers  <marlam@marlam.de>
99224             Bruno Haible  <bruno@clisp.org>
99226         * lib/getpagesize.h: Remove file.
99227         * lib/unistd.in.h: Include declaration of getpagesize here.
99228         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
99229         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
99230         HAVE_SYS_PARAM_H.
99231         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
99232         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
99233         * modules/getpagesize (Files): Remove lib/getpagesize.h.
99234         (Depends-on): Add unistd.
99235         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
99236         (Include): Use <unistd.h> instead of getpagesize.h.
99237         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
99238         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
99239         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
99240         gl_GETPAGESIZE invocation, already handled by module dependency.
99241         * lib/pagealign_alloc.c: Don't include getpagesize.h.
99243 2007-12-02  Bruno Haible  <bruno@clisp.org>
99245         * modules/strings-tests: New file.
99246         * tests/test-strings.c: New file.
99248         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
99249         * lib/strings.in.h: New file.
99250         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
99251         * m4/strings_h.m4: New file.
99252         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
99253         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
99254         * modules/strings: New file.
99255         * modules/string (Makefile.am): Update.
99256         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
99257         Reported by Karl Berry.
99259 2007-12-01  Eric Blake  <ebb9@byu.net>
99261         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
99262         accommodate fix in cygwin 1.5.25.
99264 2007-12-01  Jim Meyering  <meyering@redhat.com>
99266         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
99267         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
99268         that would inhibit utf8-optimization of a regexp containing line-
99269         or buffer-anchors, e.g., `^', `$'.
99271 2007-11-30  Bruno Haible  <bruno@clisp.org>
99273         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
99274         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
99275         glthread_recursive_lock_init.
99276         * lib/lock.c (glthread_recursive_lock_init)
99277         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
99278         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
99280 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
99282         New function qset_acl, like set_acl but with syscall semantics.
99283         * lib/acl.h (qset_acl): New decl.
99284         * lib/acl.c (qset_acl): New function.
99285         (set_acl): Use new function.  Use more-consistent diagnostics.
99287 2007-11-28  Jim Meyering  <meyering@redhat.com>
99289         * modules/physmem (License): Change from GPL to LGPLv2+.
99291 2007-11-26  Bruno Haible  <bruno@clisp.org>
99293         * lib/vasnprintf.c (decode_long_double): Don't abort if the
99294         'long double' type has excess precision.
99295         Reported by Jim Meyering in
99296         <http://lists.gnu.org/r/bug-gnulib/2007-11/msg00120.html>.
99298 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
99300         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
99301         Sync from <http://gnu.org/licenses>.
99302         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
99303         with license text from same location.
99304         * doc/maintain.texi, doc/standards.texi:  Sync from
99305         <http://savannah.gnu.org/projects/gnustandards>.
99307 2007-11-22  Ondřej Vašík  <ovasik@redhat.com>
99308         and Jim Meyering  <meyering@redhat.com>
99310         Adjust getdate' grammar to accept a slightly more regular language.
99311         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
99312         Before, the former was rejected.
99313         * lib/getdate.y (digits_to_date_time): New function, factored
99314         out of ...
99315         (number): ...here.  Just call digits_to_date_time.
99316         (hybrid): New non-terminal to handle an <unsigned number,
99317         signed relative offset> sequence consistently.
99319 2007-11-18  Jim Meyering  <meyering@redhat.com>
99321         Pull my changes from coreutils:
99322         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
99323         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
99324         use of $gnulib_tool_option_extras, so that it's separated from the
99325         preceding argument.
99327         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
99328         * build-aux/bootstrap (cp_mark_as_generated): Create any required
99329         parent destination directories before copying a file into place.
99331 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
99333         bootstrap: work also with 4-argument variant of AC_INIT
99334         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
99336 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
99338         Port test-getaddrinfo to Solaris.
99339         Problem reported by Bruno Haible in
99340         <http://lists.gnu.org/r/bug-gnulib/2007-03/msg00171.html>.
99341         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
99342         explanation of setting 'hints'.
99343         Don't reject an implementation merely because it returns EAI_SERVICE.
99344         (EAI_SERVICE): Define to 0 if not defined.
99346 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
99348         The license of gnu-make and posix-shell is now "GPLed build tool".
99349         * modules/gnu-make (License): Likewise.
99350         * modules/posix-shell (License): Likewise.
99352         New module posix-shell, for determining a POSIX shell
99353         or perhaps something that is close enough to a POSIX shell.
99354         * m4/posix-shell.m4: New file.
99355         * modules/posix-shell: New file.
99357         * MODULES.html.sh: Mention new module.
99359         New module gnu-make, for determining whether we're using GNU Make.
99360         * m4/gnu-make.m4: New file.
99361         * modules/gnu-make: New file.
99362         * MODULES.html.sh: Mention new module.
99364 2007-11-14  Jim Meyering  <meyering@redhat.com>
99366         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
99367         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
99368         use this macro to create a function _definition_.
99369         Remove useless "#undef ARGMATCH_DIE".
99371 2007-11-14  Bruno Haible  <bruno@clisp.org>
99373         * lib/config.charset: Update for OpenBSD 4.1.
99374         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
99376 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
99378         Document 64-bit #if problems in stdint.texi.
99379         * doc/headers/stdint.texi (stdint.h): Mention problems with
99380         64-bit-#if, and how to work around them.
99382         Don't insist on 'long long int' support in the preprocessor.  It
99383         breaks too many things.  For example, PRIdMAX still uses a 'long
99384         long int' format with the latest Sun compiler, even though
99385         HAVE_LONG_LONG_INT isn't defined due to that compiler's
99386         preprocessor problem.  This causes the latest coreutils to dump
99387         core on Solaris 10 sparc with the Sun C compiler.
99388         Instead, fix the 2007-10-16 problem in a different way, by evaluating
99389         the troublesome expressions at configure-time, not at #if-time.
99390         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
99391         preprocessor.
99392         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
99393         compile-time C checks, done at 'configure'-time.
99394         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
99395         * modules/inttypes (Makefile): Substitute the new symbols that
99396         gl_INTTYPES_H now generates.
99397         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
99399 2007-11-12  Bruno Haible  <bruno@clisp.org>
99401         Tests for Unicode character classification functions.
99403         * modules/unictype/bidicategory-byname-tests: New file.
99404         * modules/unictype/bidicategory-name-tests: New file.
99405         * modules/unictype/bidicategory-of-tests: New file.
99406         * modules/unictype/bidicategory-test-tests: New file.
99407         * modules/unictype/block-list-tests: New file.
99408         * modules/unictype/block-of-tests: New file.
99409         * modules/unictype/block-test-tests: New file.
99410         * modules/unictype/category-C-tests: New file.
99411         * modules/unictype/category-Cc-tests: New file.
99412         * modules/unictype/category-Cf-tests: New file.
99413         * modules/unictype/category-Cn-tests: New file.
99414         * modules/unictype/category-Co-tests: New file.
99415         * modules/unictype/category-Cs-tests: New file.
99416         * modules/unictype/category-L-tests: New file.
99417         * modules/unictype/category-Ll-tests: New file.
99418         * modules/unictype/category-Lm-tests: New file.
99419         * modules/unictype/category-Lo-tests: New file.
99420         * modules/unictype/category-Lt-tests: New file.
99421         * modules/unictype/category-Lu-tests: New file.
99422         * modules/unictype/category-M-tests: New file.
99423         * modules/unictype/category-Mc-tests: New file.
99424         * modules/unictype/category-Me-tests: New file.
99425         * modules/unictype/category-Mn-tests: New file.
99426         * modules/unictype/category-N-tests: New file.
99427         * modules/unictype/category-Nd-tests: New file.
99428         * modules/unictype/category-Nl-tests: New file.
99429         * modules/unictype/category-No-tests: New file.
99430         * modules/unictype/category-P-tests: New file.
99431         * modules/unictype/category-Pc-tests: New file.
99432         * modules/unictype/category-Pd-tests: New file.
99433         * modules/unictype/category-Pe-tests: New file.
99434         * modules/unictype/category-Pf-tests: New file.
99435         * modules/unictype/category-Pi-tests: New file.
99436         * modules/unictype/category-Po-tests: New file.
99437         * modules/unictype/category-Ps-tests: New file.
99438         * modules/unictype/category-S-tests: New file.
99439         * modules/unictype/category-Sc-tests: New file.
99440         * modules/unictype/category-Sk-tests: New file.
99441         * modules/unictype/category-Sm-tests: New file.
99442         * modules/unictype/category-So-tests: New file.
99443         * modules/unictype/category-Z-tests: New file.
99444         * modules/unictype/category-Zl-tests: New file.
99445         * modules/unictype/category-Zp-tests: New file.
99446         * modules/unictype/category-Zs-tests: New file.
99447         * modules/unictype/category-and-not-tests: New file.
99448         * modules/unictype/category-and-tests: New file.
99449         * modules/unictype/category-byname-tests: New file.
99450         * modules/unictype/category-name-tests: New file.
99451         * modules/unictype/category-none-tests: New file.
99452         * modules/unictype/category-of-tests: New file.
99453         * modules/unictype/category-or-tests: New file.
99454         * modules/unictype/category-test-withtable-tests: New file.
99455         * modules/unictype/combining-class-tests: New file.
99456         * modules/unictype/ctype-alnum-tests: New file.
99457         * modules/unictype/ctype-alpha-tests: New file.
99458         * modules/unictype/ctype-blank-tests: New file.
99459         * modules/unictype/ctype-cntrl-tests: New file.
99460         * modules/unictype/ctype-digit-tests: New file.
99461         * modules/unictype/ctype-graph-tests: New file.
99462         * modules/unictype/ctype-lower-tests: New file.
99463         * modules/unictype/ctype-print-tests: New file.
99464         * modules/unictype/ctype-punct-tests: New file.
99465         * modules/unictype/ctype-space-tests: New file.
99466         * modules/unictype/ctype-upper-tests: New file.
99467         * modules/unictype/ctype-xdigit-tests: New file.
99468         * modules/unictype/decimal-digit-tests: New file.
99469         * modules/unictype/digit-tests: New file.
99470         * modules/unictype/mirror-tests: New file.
99471         * modules/unictype/numeric-tests: New file.
99472         * modules/unictype/property-alphabetic-tests: New file.
99473         * modules/unictype/property-ascii-hex-digit-tests: New file.
99474         * modules/unictype/property-bidi-arabic-digit-tests: New file.
99475         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
99476         * modules/unictype/property-bidi-block-separator-tests: New file.
99477         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
99478         * modules/unictype/property-bidi-common-separator-tests: New file.
99479         * modules/unictype/property-bidi-control-tests: New file.
99480         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
99481         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
99482         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
99483         * modules/unictype/property-bidi-european-digit-tests: New file.
99484         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
99485         * modules/unictype/property-bidi-left-to-right-tests: New file.
99486         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
99487         * modules/unictype/property-bidi-other-neutral-tests: New file.
99488         * modules/unictype/property-bidi-pdf-tests: New file.
99489         * modules/unictype/property-bidi-segment-separator-tests: New file.
99490         * modules/unictype/property-bidi-whitespace-tests: New file.
99491         * modules/unictype/property-byname-tests: New file.
99492         * modules/unictype/property-combining-tests: New file.
99493         * modules/unictype/property-composite-tests: New file.
99494         * modules/unictype/property-currency-symbol-tests: New file.
99495         * modules/unictype/property-dash-tests: New file.
99496         * modules/unictype/property-decimal-digit-tests: New file.
99497         * modules/unictype/property-default-ignorable-code-point-tests: New file.
99498         * modules/unictype/property-deprecated-tests: New file.
99499         * modules/unictype/property-diacritic-tests: New file.
99500         * modules/unictype/property-extender-tests: New file.
99501         * modules/unictype/property-format-control-tests: New file.
99502         * modules/unictype/property-grapheme-base-tests: New file.
99503         * modules/unictype/property-grapheme-extend-tests: New file.
99504         * modules/unictype/property-grapheme-link-tests: New file.
99505         * modules/unictype/property-hex-digit-tests: New file.
99506         * modules/unictype/property-hyphen-tests: New file.
99507         * modules/unictype/property-id-continue-tests: New file.
99508         * modules/unictype/property-id-start-tests: New file.
99509         * modules/unictype/property-ideographic-tests: New file.
99510         * modules/unictype/property-ids-binary-operator-tests: New file.
99511         * modules/unictype/property-ids-trinary-operator-tests: New file.
99512         * modules/unictype/property-ignorable-control-tests: New file.
99513         * modules/unictype/property-iso-control-tests: New file.
99514         * modules/unictype/property-join-control-tests: New file.
99515         * modules/unictype/property-left-of-pair-tests: New file.
99516         * modules/unictype/property-line-separator-tests: New file.
99517         * modules/unictype/property-logical-order-exception-tests: New file.
99518         * modules/unictype/property-lowercase-tests: New file.
99519         * modules/unictype/property-math-tests: New file.
99520         * modules/unictype/property-non-break-tests: New file.
99521         * modules/unictype/property-not-a-character-tests: New file.
99522         * modules/unictype/property-numeric-tests: New file.
99523         * modules/unictype/property-other-alphabetic-tests: New file.
99524         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
99525         * modules/unictype/property-other-grapheme-extend-tests: New file.
99526         * modules/unictype/property-other-id-continue-tests: New file.
99527         * modules/unictype/property-other-id-start-tests: New file.
99528         * modules/unictype/property-other-lowercase-tests: New file.
99529         * modules/unictype/property-other-math-tests: New file.
99530         * modules/unictype/property-other-uppercase-tests: New file.
99531         * modules/unictype/property-paired-punctuation-tests: New file.
99532         * modules/unictype/property-paragraph-separator-tests: New file.
99533         * modules/unictype/property-pattern-syntax-tests: New file.
99534         * modules/unictype/property-pattern-white-space-tests: New file.
99535         * modules/unictype/property-private-use-tests: New file.
99536         * modules/unictype/property-punctuation-tests: New file.
99537         * modules/unictype/property-quotation-mark-tests: New file.
99538         * modules/unictype/property-radical-tests: New file.
99539         * modules/unictype/property-sentence-terminal-tests: New file.
99540         * modules/unictype/property-soft-dotted-tests: New file.
99541         * modules/unictype/property-space-tests: New file.
99542         * modules/unictype/property-terminal-punctuation-tests: New file.
99543         * modules/unictype/property-test-tests: New file.
99544         * modules/unictype/property-titlecase-tests: New file.
99545         * modules/unictype/property-unassigned-code-value-tests: New file.
99546         * modules/unictype/property-unified-ideograph-tests: New file.
99547         * modules/unictype/property-uppercase-tests: New file.
99548         * modules/unictype/property-variation-selector-tests: New file.
99549         * modules/unictype/property-white-space-tests: New file.
99550         * modules/unictype/property-xid-continue-tests: New file.
99551         * modules/unictype/property-xid-start-tests: New file.
99552         * modules/unictype/property-zero-width-tests: New file.
99553         * modules/unictype/scripts-tests: New file.
99554         * modules/unictype/syntax-c-ident-tests: New file.
99555         * modules/unictype/syntax-c-whitespace-tests: New file.
99556         * modules/unictype/syntax-java-ident-tests: New file.
99557         * modules/unictype/syntax-java-whitespace-tests: New file.
99558         * tests/unictype/test-bidi_byname.c: New file.
99559         * tests/unictype/test-bidi_name.c: New file.
99560         * tests/unictype/test-bidi_of.c: New file.
99561         * tests/unictype/test-bidi_test.c: New file.
99562         * tests/unictype/test-block_list.c: New file.
99563         * tests/unictype/test-block_of.c: New file.
99564         * tests/unictype/test-block_test.c: New file.
99565         * tests/unictype/test-categ_and.c: New file.
99566         * tests/unictype/test-categ_and_not.c: New file.
99567         * tests/unictype/test-categ_byname.c: New file.
99568         * tests/unictype/test-categ_name.c: New file.
99569         * tests/unictype/test-categ_none.c: New file.
99570         * tests/unictype/test-categ_of.c: New file.
99571         * tests/unictype/test-categ_or.c: New file.
99572         * tests/unictype/test-categ_test_withtable.c: New file.
99573         * tests/unictype/test-combining.c: New file.
99574         * tests/unictype/test-decdigit.c: New file.
99575         * tests/unictype/test-digit.c: New file.
99576         * tests/unictype/test-mirror.c: New file.
99577         * tests/unictype/test-numeric.c: New file.
99578         * tests/unictype/test-pr_byname.c: New file.
99579         * tests/unictype/test-pr_test.c: New file.
99580         * tests/unictype/test-predicate-part1.h: New file.
99581         * tests/unictype/test-predicate-part2.h: New file.
99582         * tests/unictype/test-scripts.c: New file.
99583         * tests/unictype/test-sy_c_ident.c: New file.
99584         * tests/unictype/test-sy_java_ident.c: New file.
99586         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
99587         for Unicode 5.0.0.
99588         * tests/unictype/test-categ_Cc.c: Likewise.
99589         * tests/unictype/test-categ_Cf.c: Likewise.
99590         * tests/unictype/test-categ_Cn.c: Likewise.
99591         * tests/unictype/test-categ_Co.c: Likewise.
99592         * tests/unictype/test-categ_Cs.c: Likewise.
99593         * tests/unictype/test-categ_L.c: Likewise.
99594         * tests/unictype/test-categ_Ll.c: Likewise.
99595         * tests/unictype/test-categ_Lm.c: Likewise.
99596         * tests/unictype/test-categ_Lo.c: Likewise.
99597         * tests/unictype/test-categ_Lt.c: Likewise.
99598         * tests/unictype/test-categ_Lu.c: Likewise.
99599         * tests/unictype/test-categ_M.c: Likewise.
99600         * tests/unictype/test-categ_Mc.c: Likewise.
99601         * tests/unictype/test-categ_Me.c: Likewise.
99602         * tests/unictype/test-categ_Mn.c: Likewise.
99603         * tests/unictype/test-categ_N.c: Likewise.
99604         * tests/unictype/test-categ_Nd.c: Likewise.
99605         * tests/unictype/test-categ_Nl.c: Likewise.
99606         * tests/unictype/test-categ_No.c: Likewise.
99607         * tests/unictype/test-categ_P.c: Likewise.
99608         * tests/unictype/test-categ_Pc.c: Likewise.
99609         * tests/unictype/test-categ_Pd.c: Likewise.
99610         * tests/unictype/test-categ_Pe.c: Likewise.
99611         * tests/unictype/test-categ_Pf.c: Likewise.
99612         * tests/unictype/test-categ_Pi.c: Likewise.
99613         * tests/unictype/test-categ_Po.c: Likewise.
99614         * tests/unictype/test-categ_Ps.c: Likewise.
99615         * tests/unictype/test-categ_S.c: Likewise.
99616         * tests/unictype/test-categ_Sc.c: Likewise.
99617         * tests/unictype/test-categ_Sk.c: Likewise.
99618         * tests/unictype/test-categ_Sm.c: Likewise.
99619         * tests/unictype/test-categ_So.c: Likewise.
99620         * tests/unictype/test-categ_Z.c: Likewise.
99621         * tests/unictype/test-categ_Zl.c: Likewise.
99622         * tests/unictype/test-categ_Zp.c: Likewise.
99623         * tests/unictype/test-categ_Zs.c: Likewise.
99624         * tests/unictype/test-ctype_alnum.c: Likewise.
99625         * tests/unictype/test-ctype_alpha.c: Likewise.
99626         * tests/unictype/test-ctype_blank.c: Likewise.
99627         * tests/unictype/test-ctype_cntrl.c: Likewise.
99628         * tests/unictype/test-ctype_digit.c: Likewise.
99629         * tests/unictype/test-ctype_graph.c: Likewise.
99630         * tests/unictype/test-ctype_lower.c: Likewise.
99631         * tests/unictype/test-ctype_print.c: Likewise.
99632         * tests/unictype/test-ctype_punct.c: Likewise.
99633         * tests/unictype/test-ctype_space.c: Likewise.
99634         * tests/unictype/test-ctype_upper.c: Likewise.
99635         * tests/unictype/test-ctype_xdigit.c: Likewise.
99636         * tests/unictype/test-decdigit.h: Likewise.
99637         * tests/unictype/test-digit.h: Likewise.
99638         * tests/unictype/test-numeric.h: Likewise.
99639         * tests/unictype/test-pr_alphabetic.c: Likewise.
99640         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
99641         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
99642         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
99643         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
99644         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
99645         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
99646         * tests/unictype/test-pr_bidi_control.c: Likewise.
99647         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
99648         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
99649         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
99650         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
99651         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
99652         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
99653         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
99654         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
99655         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
99656         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
99657         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
99658         * tests/unictype/test-pr_combining.c: Likewise.
99659         * tests/unictype/test-pr_composite.c: Likewise.
99660         * tests/unictype/test-pr_currency_symbol.c: Likewise.
99661         * tests/unictype/test-pr_dash.c: Likewise.
99662         * tests/unictype/test-pr_decimal_digit.c: Likewise.
99663         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
99664         * tests/unictype/test-pr_deprecated.c: Likewise.
99665         * tests/unictype/test-pr_diacritic.c: Likewise.
99666         * tests/unictype/test-pr_extender.c: Likewise.
99667         * tests/unictype/test-pr_format_control.c: Likewise.
99668         * tests/unictype/test-pr_grapheme_base.c: Likewise.
99669         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
99670         * tests/unictype/test-pr_grapheme_link.c: Likewise.
99671         * tests/unictype/test-pr_hex_digit.c: Likewise.
99672         * tests/unictype/test-pr_hyphen.c: Likewise.
99673         * tests/unictype/test-pr_id_continue.c: Likewise.
99674         * tests/unictype/test-pr_id_start.c: Likewise.
99675         * tests/unictype/test-pr_ideographic.c: Likewise.
99676         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
99677         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
99678         * tests/unictype/test-pr_ignorable_control.c: Likewise.
99679         * tests/unictype/test-pr_iso_control.c: Likewise.
99680         * tests/unictype/test-pr_join_control.c: Likewise.
99681         * tests/unictype/test-pr_left_of_pair.c: Likewise.
99682         * tests/unictype/test-pr_line_separator.c: Likewise.
99683         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
99684         * tests/unictype/test-pr_lowercase.c: Likewise.
99685         * tests/unictype/test-pr_math.c: Likewise.
99686         * tests/unictype/test-pr_non_break.c: Likewise.
99687         * tests/unictype/test-pr_not_a_character.c: Likewise.
99688         * tests/unictype/test-pr_numeric.c: Likewise.
99689         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
99690         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
99691         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
99692         * tests/unictype/test-pr_other_id_continue.c: Likewise.
99693         * tests/unictype/test-pr_other_id_start.c: Likewise.
99694         * tests/unictype/test-pr_other_lowercase.c: Likewise.
99695         * tests/unictype/test-pr_other_math.c: Likewise.
99696         * tests/unictype/test-pr_other_uppercase.c: Likewise.
99697         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
99698         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
99699         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
99700         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
99701         * tests/unictype/test-pr_private_use.c: Likewise.
99702         * tests/unictype/test-pr_punctuation.c: Likewise.
99703         * tests/unictype/test-pr_quotation_mark.c: Likewise.
99704         * tests/unictype/test-pr_radical.c: Likewise.
99705         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
99706         * tests/unictype/test-pr_soft_dotted.c: Likewise.
99707         * tests/unictype/test-pr_space.c: Likewise.
99708         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
99709         * tests/unictype/test-pr_titlecase.c: Likewise.
99710         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
99711         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
99712         * tests/unictype/test-pr_uppercase.c: Likewise.
99713         * tests/unictype/test-pr_variation_selector.c: Likewise.
99714         * tests/unictype/test-pr_white_space.c: Likewise.
99715         * tests/unictype/test-pr_xid_continue.c: Likewise.
99716         * tests/unictype/test-pr_xid_start.c: Likewise.
99717         * tests/unictype/test-pr_zero_width.c: Likewise.
99718         * tests/unictype/test-sy_c_whitespace.c: Likewise.
99719         * tests/unictype/test-sy_java_whitespace.c: Likewise.
99721 2007-11-12  Bruno Haible  <bruno@clisp.org>
99723         Unicode character classification functions.
99724         * lib/unictype.h: New file.
99725         * modules/unictype/base: New file.
99726         * modules/unictype/category-L: New file.
99727         * modules/unictype/category-Lu: New file.
99728         * modules/unictype/category-Ll: New file.
99729         * modules/unictype/category-Lt: New file.
99730         * modules/unictype/category-Lm: New file.
99731         * modules/unictype/category-Lo: New file.
99732         * modules/unictype/category-M: New file.
99733         * modules/unictype/category-Mn: New file.
99734         * modules/unictype/category-Mc: New file.
99735         * modules/unictype/category-Me: New file.
99736         * modules/unictype/category-N: New file.
99737         * modules/unictype/category-Nd: New file.
99738         * modules/unictype/category-Nl: New file.
99739         * modules/unictype/category-No: New file.
99740         * modules/unictype/category-P: New file.
99741         * modules/unictype/category-Pc: New file.
99742         * modules/unictype/category-Pd: New file.
99743         * modules/unictype/category-Ps: New file.
99744         * modules/unictype/category-Pe: New file.
99745         * modules/unictype/category-Pi: New file.
99746         * modules/unictype/category-Pf: New file.
99747         * modules/unictype/category-Po: New file.
99748         * modules/unictype/category-S: New file.
99749         * modules/unictype/category-Sm: New file.
99750         * modules/unictype/category-Sc: New file.
99751         * modules/unictype/category-Sk: New file.
99752         * modules/unictype/category-So: New file.
99753         * modules/unictype/category-Z: New file.
99754         * modules/unictype/category-Zs: New file.
99755         * modules/unictype/category-Zl: New file.
99756         * modules/unictype/category-Zp: New file.
99757         * modules/unictype/category-C: New file.
99758         * modules/unictype/category-Cc: New file.
99759         * modules/unictype/category-Cf: New file.
99760         * modules/unictype/category-Cs: New file.
99761         * modules/unictype/category-Co: New file.
99762         * modules/unictype/category-Cn: New file.
99763         * modules/unictype/category-or: New file.
99764         * modules/unictype/category-of: New file.
99765         * modules/unictype/category-test: New file.
99766         * modules/unictype/category-test-withtable: New file.
99767         * modules/unictype/category-byname: New file.
99768         * modules/unictype/category-none: New file.
99769         * modules/unictype/category-and: New file.
99770         * modules/unictype/category-and-not: New file.
99771         * modules/unictype/category-name: New file.
99772         * modules/unictype/combining-class: New file.
99773         * modules/unictype/category-all: New file.
99774         * modules/unictype/bidicategory-all: New file.
99775         * modules/unictype/bidicategory-byname: New file.
99776         * modules/unictype/bidicategory-name: New file.
99777         * modules/unictype/bidicategory-of: New file.
99778         * modules/unictype/bidicategory-test: New file.
99779         * modules/unictype/decimal-digit: New file.
99780         * modules/unictype/digit: New file.
99781         * modules/unictype/numeric: New file.
99782         * modules/unictype/mirror: New file.
99783         * modules/unictype/property-white-space: New file.
99784         * modules/unictype/property-alphabetic: New file.
99785         * modules/unictype/property-other-alphabetic: New file.
99786         * modules/unictype/property-not-a-character: New file.
99787         * modules/unictype/property-default-ignorable-code-point: New file.
99788         * modules/unictype/property-other-default-ignorable-code-point: New
99789         file.
99790         * modules/unictype/property-deprecated: New file.
99791         * modules/unictype/property-logical-order-exception: New file.
99792         * modules/unictype/property-variation-selector: New file.
99793         * modules/unictype/property-private-use: New file.
99794         * modules/unictype/property-unassigned-code-value: New file.
99795         * modules/unictype/property-uppercase: New file.
99796         * modules/unictype/property-other-uppercase: New file.
99797         * modules/unictype/property-lowercase: New file.
99798         * modules/unictype/property-other-lowercase: New file.
99799         * modules/unictype/property-titlecase: New file.
99800         * modules/unictype/property-soft-dotted: New file.
99801         * modules/unictype/property-id-start: New file.
99802         * modules/unictype/property-other-id-start: New file.
99803         * modules/unictype/property-id-continue: New file.
99804         * modules/unictype/property-other-id-continue: New file.
99805         * modules/unictype/property-xid-start: New file.
99806         * modules/unictype/property-xid-continue: New file.
99807         * modules/unictype/property-pattern-white-space: New file.
99808         * modules/unictype/property-pattern-syntax: New file.
99809         * modules/unictype/property-join-control: New file.
99810         * modules/unictype/property-grapheme-base: New file.
99811         * modules/unictype/property-grapheme-extend: New file.
99812         * modules/unictype/property-other-grapheme-extend: New file.
99813         * modules/unictype/property-grapheme-link: New file.
99814         * modules/unictype/property-bidi-control: New file.
99815         * modules/unictype/property-bidi-left-to-right: New file.
99816         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
99817         * modules/unictype/property-bidi-arabic-right-to-left: New file.
99818         * modules/unictype/property-bidi-european-digit: New file.
99819         * modules/unictype/property-bidi-eur-num-separator: New file.
99820         * modules/unictype/property-bidi-eur-num-terminator: New file.
99821         * modules/unictype/property-bidi-arabic-digit: New file.
99822         * modules/unictype/property-bidi-common-separator: New file.
99823         * modules/unictype/property-bidi-block-separator: New file.
99824         * modules/unictype/property-bidi-segment-separator: New file.
99825         * modules/unictype/property-bidi-whitespace: New file.
99826         * modules/unictype/property-bidi-non-spacing-mark: New file.
99827         * modules/unictype/property-bidi-boundary-neutral: New file.
99828         * modules/unictype/property-bidi-pdf: New file.
99829         * modules/unictype/property-bidi-embedding-or-override: New file.
99830         * modules/unictype/property-bidi-other-neutral: New file.
99831         * modules/unictype/property-hex-digit: New file.
99832         * modules/unictype/property-ascii-hex-digit: New file.
99833         * modules/unictype/property-ideographic: New file.
99834         * modules/unictype/property-unified-ideograph: New file.
99835         * modules/unictype/property-radical: New file.
99836         * modules/unictype/property-ids-binary-operator: New file.
99837         * modules/unictype/property-ids-trinary-operator: New file.
99838         * modules/unictype/property-zero-width: New file.
99839         * modules/unictype/property-space: New file.
99840         * modules/unictype/property-non-break: New file.
99841         * modules/unictype/property-iso-control: New file.
99842         * modules/unictype/property-format-control: New file.
99843         * modules/unictype/property-dash: New file.
99844         * modules/unictype/property-hyphen: New file.
99845         * modules/unictype/property-punctuation: New file.
99846         * modules/unictype/property-line-separator: New file.
99847         * modules/unictype/property-paragraph-separator: New file.
99848         * modules/unictype/property-quotation-mark: New file.
99849         * modules/unictype/property-sentence-terminal: New file.
99850         * modules/unictype/property-terminal-punctuation: New file.
99851         * modules/unictype/property-currency-symbol: New file.
99852         * modules/unictype/property-math: New file.
99853         * modules/unictype/property-other-math: New file.
99854         * modules/unictype/property-paired-punctuation: New file.
99855         * modules/unictype/property-left-of-pair: New file.
99856         * modules/unictype/property-combining: New file.
99857         * modules/unictype/property-composite: New file.
99858         * modules/unictype/property-decimal-digit: New file.
99859         * modules/unictype/property-numeric: New file.
99860         * modules/unictype/property-diacritic: New file.
99861         * modules/unictype/property-extender: New file.
99862         * modules/unictype/property-ignorable-control: New file.
99863         * modules/unictype/property-test: New file.
99864         * modules/unictype/property-byname: New file.
99865         * modules/unictype/property-all: New file.
99866         * modules/unictype/scripts: New file.
99867         * modules/unictype/scripts-all: New file.
99868         * modules/unictype/block-of: New file.
99869         * modules/unictype/block-test: New file.
99870         * modules/unictype/block-list: New file.
99871         * modules/unictype/block-all: New file.
99872         * modules/unictype/syntax-c-whitespace: New file.
99873         * modules/unictype/syntax-java-whitespace: New file.
99874         * modules/unictype/syntax-c-ident: New file.
99875         * modules/unictype/syntax-java-ident: New file.
99876         * modules/unictype/ctype-alnum: New file.
99877         * modules/unictype/ctype-alpha: New file.
99878         * modules/unictype/ctype-cntrl: New file.
99879         * modules/unictype/ctype-digit: New file.
99880         * modules/unictype/ctype-graph: New file.
99881         * modules/unictype/ctype-lower: New file.
99882         * modules/unictype/ctype-print: New file.
99883         * modules/unictype/ctype-punct: New file.
99884         * modules/unictype/ctype-space: New file.
99885         * modules/unictype/ctype-upper: New file.
99886         * modules/unictype/ctype-xdigit: New file.
99887         * modules/unictype/ctype-blank: New file.
99888         * lib/unictype/bidi_byname.c: New file.
99889         * lib/unictype/bidi_name.c: New file.
99890         * lib/unictype/bidi_of.c: New file.
99891         * lib/unictype/bidi_test.c: New file.
99892         * lib/unictype/bitmap.h: New file.
99893         * lib/unictype/block_test.c: New file.
99894         * lib/unictype/blocks.c: New file.
99895         * lib/unictype/categ_C.c: New file.
99896         * lib/unictype/categ_Cc.c: New file.
99897         * lib/unictype/categ_Cf.c: New file.
99898         * lib/unictype/categ_Cn.c: New file.
99899         * lib/unictype/categ_Co.c: New file.
99900         * lib/unictype/categ_Cs.c: New file.
99901         * lib/unictype/categ_L.c: New file.
99902         * lib/unictype/categ_Ll.c: New file.
99903         * lib/unictype/categ_Lm.c: New file.
99904         * lib/unictype/categ_Lo.c: New file.
99905         * lib/unictype/categ_Lt.c: New file.
99906         * lib/unictype/categ_Lu.c: New file.
99907         * lib/unictype/categ_M.c: New file.
99908         * lib/unictype/categ_Mc.c: New file.
99909         * lib/unictype/categ_Me.c: New file.
99910         * lib/unictype/categ_Mn.c: New file.
99911         * lib/unictype/categ_N.c: New file.
99912         * lib/unictype/categ_Nd.c: New file.
99913         * lib/unictype/categ_Nl.c: New file.
99914         * lib/unictype/categ_No.c: New file.
99915         * lib/unictype/categ_P.c: New file.
99916         * lib/unictype/categ_Pc.c: New file.
99917         * lib/unictype/categ_Pd.c: New file.
99918         * lib/unictype/categ_Pe.c: New file.
99919         * lib/unictype/categ_Pf.c: New file.
99920         * lib/unictype/categ_Pi.c: New file.
99921         * lib/unictype/categ_Po.c: New file.
99922         * lib/unictype/categ_Ps.c: New file.
99923         * lib/unictype/categ_S.c: New file.
99924         * lib/unictype/categ_Sc.c: New file.
99925         * lib/unictype/categ_Sk.c: New file.
99926         * lib/unictype/categ_Sm.c: New file.
99927         * lib/unictype/categ_So.c: New file.
99928         * lib/unictype/categ_Z.c: New file.
99929         * lib/unictype/categ_Zl.c: New file.
99930         * lib/unictype/categ_Zp.c: New file.
99931         * lib/unictype/categ_Zs.c: New file.
99932         * lib/unictype/categ_and.c: New file.
99933         * lib/unictype/categ_and_not.c: New file.
99934         * lib/unictype/categ_byname.c: New file.
99935         * lib/unictype/categ_name.c: New file.
99936         * lib/unictype/categ_none.c: New file.
99937         * lib/unictype/categ_of.c: New file.
99938         * lib/unictype/categ_or.c: New file.
99939         * lib/unictype/categ_test.c: New file.
99940         * lib/unictype/combining.c: New file.
99941         * lib/unictype/ctype_alnum.c: New file.
99942         * lib/unictype/ctype_alpha.c: New file.
99943         * lib/unictype/ctype_blank.c: New file.
99944         * lib/unictype/ctype_cntrl.c: New file.
99945         * lib/unictype/ctype_digit.c: New file.
99946         * lib/unictype/ctype_graph.c: New file.
99947         * lib/unictype/ctype_lower.c: New file.
99948         * lib/unictype/ctype_print.c: New file.
99949         * lib/unictype/ctype_punct.c: New file.
99950         * lib/unictype/ctype_space.c: New file.
99951         * lib/unictype/ctype_upper.c: New file.
99952         * lib/unictype/ctype_xdigit.c: New file.
99953         * lib/unictype/decdigit.c: New file.
99954         * lib/unictype/digit.c: New file.
99955         * lib/unictype/identsyntaxmap.h: New file.
99956         * lib/unictype/mirror.c: New file.
99957         * lib/unictype/numeric.c: New file.
99958         * lib/unictype/pr_alphabetic.c: New file.
99959         * lib/unictype/pr_ascii_hex_digit.c: New file.
99960         * lib/unictype/pr_bidi_arabic_digit.c: New file.
99961         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
99962         * lib/unictype/pr_bidi_block_separator.c: New file.
99963         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
99964         * lib/unictype/pr_bidi_common_separator.c: New file.
99965         * lib/unictype/pr_bidi_control.c: New file.
99966         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
99967         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
99968         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
99969         * lib/unictype/pr_bidi_european_digit.c: New file.
99970         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
99971         * lib/unictype/pr_bidi_left_to_right.c: New file.
99972         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
99973         * lib/unictype/pr_bidi_other_neutral.c: New file.
99974         * lib/unictype/pr_bidi_pdf.c: New file.
99975         * lib/unictype/pr_bidi_segment_separator.c: New file.
99976         * lib/unictype/pr_bidi_whitespace.c: New file.
99977         * lib/unictype/pr_byname.c: New file.
99978         * lib/unictype/pr_byname.gperf: New file.
99979         * lib/unictype/pr_combining.c: New file.
99980         * lib/unictype/pr_composite.c: New file.
99981         * lib/unictype/pr_currency_symbol.c: New file.
99982         * lib/unictype/pr_dash.c: New file.
99983         * lib/unictype/pr_decimal_digit.c: New file.
99984         * lib/unictype/pr_default_ignorable_code_point.c: New file.
99985         * lib/unictype/pr_deprecated.c: New file.
99986         * lib/unictype/pr_diacritic.c: New file.
99987         * lib/unictype/pr_extender.c: New file.
99988         * lib/unictype/pr_format_control.c: New file.
99989         * lib/unictype/pr_grapheme_base.c: New file.
99990         * lib/unictype/pr_grapheme_extend.c: New file.
99991         * lib/unictype/pr_grapheme_link.c: New file.
99992         * lib/unictype/pr_hex_digit.c: New file.
99993         * lib/unictype/pr_hyphen.c: New file.
99994         * lib/unictype/pr_id_continue.c: New file.
99995         * lib/unictype/pr_id_start.c: New file.
99996         * lib/unictype/pr_ideographic.c: New file.
99997         * lib/unictype/pr_ids_binary_operator.c: New file.
99998         * lib/unictype/pr_ids_trinary_operator.c: New file.
99999         * lib/unictype/pr_ignorable_control.c: New file.
100000         * lib/unictype/pr_iso_control.c: New file.
100001         * lib/unictype/pr_join_control.c: New file.
100002         * lib/unictype/pr_left_of_pair.c: New file.
100003         * lib/unictype/pr_line_separator.c: New file.
100004         * lib/unictype/pr_logical_order_exception.c: New file.
100005         * lib/unictype/pr_lowercase.c: New file.
100006         * lib/unictype/pr_math.c: New file.
100007         * lib/unictype/pr_non_break.c: New file.
100008         * lib/unictype/pr_not_a_character.c: New file.
100009         * lib/unictype/pr_numeric.c: New file.
100010         * lib/unictype/pr_other_alphabetic.c: New file.
100011         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
100012         * lib/unictype/pr_other_grapheme_extend.c: New file.
100013         * lib/unictype/pr_other_id_continue.c: New file.
100014         * lib/unictype/pr_other_id_start.c: New file.
100015         * lib/unictype/pr_other_lowercase.c: New file.
100016         * lib/unictype/pr_other_math.c: New file.
100017         * lib/unictype/pr_other_uppercase.c: New file.
100018         * lib/unictype/pr_paired_punctuation.c: New file.
100019         * lib/unictype/pr_paragraph_separator.c: New file.
100020         * lib/unictype/pr_pattern_syntax.c: New file.
100021         * lib/unictype/pr_pattern_white_space.c: New file.
100022         * lib/unictype/pr_private_use.c: New file.
100023         * lib/unictype/pr_punctuation.c: New file.
100024         * lib/unictype/pr_quotation_mark.c: New file.
100025         * lib/unictype/pr_radical.c: New file.
100026         * lib/unictype/pr_sentence_terminal.c: New file.
100027         * lib/unictype/pr_soft_dotted.c: New file.
100028         * lib/unictype/pr_space.c: New file.
100029         * lib/unictype/pr_terminal_punctuation.c: New file.
100030         * lib/unictype/pr_test.c: New file.
100031         * lib/unictype/pr_titlecase.c: New file.
100032         * lib/unictype/pr_unassigned_code_value.c: New file.
100033         * lib/unictype/pr_unified_ideograph.c: New file.
100034         * lib/unictype/pr_uppercase.c: New file.
100035         * lib/unictype/pr_variation_selector.c: New file.
100036         * lib/unictype/pr_white_space.c: New file.
100037         * lib/unictype/pr_xid_continue.c: New file.
100038         * lib/unictype/pr_xid_start.c: New file.
100039         * lib/unictype/pr_zero_width.c: New file.
100040         * lib/unictype/scripts.c: New file.
100041         * lib/unictype/sy_c_ident.c: New file.
100042         * lib/unictype/sy_c_whitespace.c: New file.
100043         * lib/unictype/sy_java_ident.c: New file.
100044         * lib/unictype/sy_java_whitespace.c: New file.
100046         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
100047         Unicode 5.0.0.
100048         * lib/unictype/blocks.h: Likewise.
100049         * lib/unictype/categ_C.h: Likewise.
100050         * lib/unictype/categ_Cc.h: Likewise.
100051         * lib/unictype/categ_Cf.h: Likewise.
100052         * lib/unictype/categ_Cn.h: Likewise.
100053         * lib/unictype/categ_Co.h: Likewise.
100054         * lib/unictype/categ_Cs.h: Likewise.
100055         * lib/unictype/categ_L.h: Likewise.
100056         * lib/unictype/categ_Ll.h: Likewise.
100057         * lib/unictype/categ_Lm.h: Likewise.
100058         * lib/unictype/categ_Lo.h: Likewise.
100059         * lib/unictype/categ_Lt.h: Likewise.
100060         * lib/unictype/categ_Lu.h: Likewise.
100061         * lib/unictype/categ_M.h: Likewise.
100062         * lib/unictype/categ_Mc.h: Likewise.
100063         * lib/unictype/categ_Me.h: Likewise.
100064         * lib/unictype/categ_Mn.h: Likewise.
100065         * lib/unictype/categ_N.h: Likewise.
100066         * lib/unictype/categ_Nd.h: Likewise.
100067         * lib/unictype/categ_Nl.h: Likewise.
100068         * lib/unictype/categ_No.h: Likewise.
100069         * lib/unictype/categ_P.h: Likewise.
100070         * lib/unictype/categ_Pc.h: Likewise.
100071         * lib/unictype/categ_Pd.h: Likewise.
100072         * lib/unictype/categ_Pe.h: Likewise.
100073         * lib/unictype/categ_Pf.h: Likewise.
100074         * lib/unictype/categ_Pi.h: Likewise.
100075         * lib/unictype/categ_Po.h: Likewise.
100076         * lib/unictype/categ_Ps.h: Likewise.
100077         * lib/unictype/categ_S.h: Likewise.
100078         * lib/unictype/categ_Sc.h: Likewise.
100079         * lib/unictype/categ_Sk.h: Likewise.
100080         * lib/unictype/categ_Sm.h: Likewise.
100081         * lib/unictype/categ_So.h: Likewise.
100082         * lib/unictype/categ_Z.h: Likewise.
100083         * lib/unictype/categ_Zl.h: Likewise.
100084         * lib/unictype/categ_Zp.h: Likewise.
100085         * lib/unictype/categ_Zs.h: Likewise.
100086         * lib/unictype/categ_of.h: Likewise.
100087         * lib/unictype/combining.h: Likewise.
100088         * lib/unictype/ctype_alnum.h: Likewise.
100089         * lib/unictype/ctype_alpha.h: Likewise.
100090         * lib/unictype/ctype_blank.h: Likewise.
100091         * lib/unictype/ctype_cntrl.h: Likewise.
100092         * lib/unictype/ctype_digit.h: Likewise.
100093         * lib/unictype/ctype_graph.h: Likewise.
100094         * lib/unictype/ctype_lower.h: Likewise.
100095         * lib/unictype/ctype_print.h: Likewise.
100096         * lib/unictype/ctype_punct.h: Likewise.
100097         * lib/unictype/ctype_space.h: Likewise.
100098         * lib/unictype/ctype_upper.h: Likewise.
100099         * lib/unictype/ctype_xdigit.h: Likewise.
100100         * lib/unictype/decdigit.h: Likewise.
100101         * lib/unictype/digit.h: Likewise.
100102         * lib/unictype/mirror.h: Likewise.
100103         * lib/unictype/numeric.h: Likewise.
100104         * lib/unictype/pr_alphabetic.h: Likewise.
100105         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
100106         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
100107         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
100108         * lib/unictype/pr_bidi_block_separator.h: Likewise.
100109         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
100110         * lib/unictype/pr_bidi_common_separator.h: Likewise.
100111         * lib/unictype/pr_bidi_control.h: Likewise.
100112         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
100113         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
100114         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
100115         * lib/unictype/pr_bidi_european_digit.h: Likewise.
100116         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
100117         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
100118         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
100119         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
100120         * lib/unictype/pr_bidi_pdf.h: Likewise.
100121         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
100122         * lib/unictype/pr_bidi_whitespace.h: Likewise.
100123         * lib/unictype/pr_combining.h: Likewise.
100124         * lib/unictype/pr_composite.h: Likewise.
100125         * lib/unictype/pr_currency_symbol.h: Likewise.
100126         * lib/unictype/pr_dash.h: Likewise.
100127         * lib/unictype/pr_decimal_digit.h: Likewise.
100128         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
100129         * lib/unictype/pr_deprecated.h: Likewise.
100130         * lib/unictype/pr_diacritic.h: Likewise.
100131         * lib/unictype/pr_extender.h: Likewise.
100132         * lib/unictype/pr_format_control.h: Likewise.
100133         * lib/unictype/pr_grapheme_base.h: Likewise.
100134         * lib/unictype/pr_grapheme_extend.h: Likewise.
100135         * lib/unictype/pr_grapheme_link.h: Likewise.
100136         * lib/unictype/pr_hex_digit.h: Likewise.
100137         * lib/unictype/pr_hyphen.h: Likewise.
100138         * lib/unictype/pr_id_continue.h: Likewise.
100139         * lib/unictype/pr_id_start.h: Likewise.
100140         * lib/unictype/pr_ideographic.h: Likewise.
100141         * lib/unictype/pr_ids_binary_operator.h: Likewise.
100142         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
100143         * lib/unictype/pr_ignorable_control.h: Likewise.
100144         * lib/unictype/pr_iso_control.h: Likewise.
100145         * lib/unictype/pr_join_control.h: Likewise.
100146         * lib/unictype/pr_left_of_pair.h: Likewise.
100147         * lib/unictype/pr_line_separator.h: Likewise.
100148         * lib/unictype/pr_logical_order_exception.h: Likewise.
100149         * lib/unictype/pr_lowercase.h: Likewise.
100150         * lib/unictype/pr_math.h: Likewise.
100151         * lib/unictype/pr_non_break.h: Likewise.
100152         * lib/unictype/pr_not_a_character.h: Likewise.
100153         * lib/unictype/pr_numeric.h: Likewise.
100154         * lib/unictype/pr_other_alphabetic.h: Likewise.
100155         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
100156         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
100157         * lib/unictype/pr_other_id_continue.h: Likewise.
100158         * lib/unictype/pr_other_id_start.h: Likewise.
100159         * lib/unictype/pr_other_lowercase.h: Likewise.
100160         * lib/unictype/pr_other_math.h: Likewise.
100161         * lib/unictype/pr_other_uppercase.h: Likewise.
100162         * lib/unictype/pr_paired_punctuation.h: Likewise.
100163         * lib/unictype/pr_paragraph_separator.h: Likewise.
100164         * lib/unictype/pr_pattern_syntax.h: Likewise.
100165         * lib/unictype/pr_pattern_white_space.h: Likewise.
100166         * lib/unictype/pr_private_use.h: Likewise.
100167         * lib/unictype/pr_punctuation.h: Likewise.
100168         * lib/unictype/pr_quotation_mark.h: Likewise.
100169         * lib/unictype/pr_radical.h: Likewise.
100170         * lib/unictype/pr_sentence_terminal.h: Likewise.
100171         * lib/unictype/pr_soft_dotted.h: Likewise.
100172         * lib/unictype/pr_space.h: Likewise.
100173         * lib/unictype/pr_terminal_punctuation.h: Likewise.
100174         * lib/unictype/pr_titlecase.h: Likewise.
100175         * lib/unictype/pr_unassigned_code_value.h: Likewise.
100176         * lib/unictype/pr_unified_ideograph.h: Likewise.
100177         * lib/unictype/pr_uppercase.h: Likewise.
100178         * lib/unictype/pr_variation_selector.h: Likewise.
100179         * lib/unictype/pr_white_space.h: Likewise.
100180         * lib/unictype/pr_xid_continue.h: Likewise.
100181         * lib/unictype/pr_xid_start.h: Likewise.
100182         * lib/unictype/pr_zero_width.h: Likewise.
100183         * lib/unictype/scripts.h: Likewise.
100184         * lib/unictype/scripts_byname.gperf: Likewise.
100185         * lib/unictype/sy_c_ident.h: Likewise.
100186         * lib/unictype/sy_c_whitespace.h: Likewise.
100187         * lib/unictype/sy_java_ident.h: Likewise.
100188         * lib/unictype/sy_java_whitespace.h: Likewise.
100190         * lib/unictype/Makefile: New file.
100191         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
100192         glibc.
100193         * lib/unictype/3level.h: New file, copied from glibc.
100194         * lib/unictype/3levelbit.h: New file.
100196 2007-11-11  Bruno Haible  <bruno@clisp.org>
100198         * modules/gperf: New file.
100199         * modules/iconv_open (Depends-on): Add it.
100200         (Makefile.am): Remove the GPERF definition.
100202 2007-11-11  Bruno Haible  <bruno@clisp.org>
100204         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
100205         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
100207 2007-11-11  Bruno Haible  <bruno@clisp.org>
100209         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
100210         (usage): Remove function.
100212 2007-11-11  Bruno Haible  <bruno@clisp.org>
100214         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
100215         gl_FUNC_CEILF_LIBS.
100216         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
100217         gl_FUNC_CEIL_LIBS.
100218         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
100219         gl_FUNC_CEILL_LIBS.
100220         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
100221         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
100222         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
100224 2007-11-11  Bruno Haible  <bruno@clisp.org>
100226         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
100227         roundf were declared but do not exist on functions.
100228         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
100229         roundl were declared but do not exist on functions.
100230         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
100231         HAVE_FLOORL_AND_CEILL, respectively.
100232         Needed for Sun C on Solaris 10.
100234 2007-11-11  Bruno Haible  <bruno@clisp.org>
100236         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
100237         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
100238         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
100239         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
100240         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
100241         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
100242         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
100243         HAVE_DECL_ROUNDF.
100244         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
100245         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
100246         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
100247         of HAVE_DECL_ROUND*.
100248         * modules/math (Makefile.am): Update.
100250 2007-11-10  Bruno Haible  <bruno@clisp.org>
100252         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
100253         ptrdiff_t as m4/intl.m4.
100255 2007-11-10  Jim Meyering  <meyering@redhat.com>
100257         Avoid link failure for the argmatch test.
100258         * tests/test-argmatch.c (usage): Define function to avoid a link
100259         failure: argmatch_die requires a usage function.
100261 2007-11-09  Bruno Haible  <bruno@clisp.org>
100263         * doc/functions/snprintf.texi: Mention BeOS deficiency.
100264         * doc/functions/vsnprintf.texi: Likewise.
100265         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
100266         with a size argument < 2.
100268 2007-11-09  Bruno Haible  <bruno@clisp.org>
100270         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
100271         buffer. Fixes an inefficiency introduced on 2007-11-03.
100273 2007-11-09  Bruno Haible  <bruno@clisp.org>
100275         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
100276         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
100278 2007-11-08  Jim Meyering  <meyering@redhat.com>
100280         Change cache variable name prefix "jm_" to "gl_" everywhere.
100281         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
100282         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
100283         * m4/uptime.m4: s/gl_/jm_/
100285 2007-11-07  Bruno Haible  <bruno@clisp.org>
100287         Update to GNU gettext 0.17.
100288         * m4/intl.m4: Update to GNU gettext 0.17.
100289         * m4/po.m4: Likewise.
100290         * modules/gettext (Files): Remove m4/ulonglong.m4.
100291         (configure.ac): Require gettext infrastructure from version 0.17.
100293 2007-11-06  Bruno Haible  <bruno@clisp.org>
100295         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
100296         symbolic values are not defined in a public header.
100297         * lib/freadable.c (freadable) [QNX]: Likewise.
100298         * lib/freadahead.c (freadahead) [QNX]: Likewise.
100299         * lib/freading.c (freading) [QNX]: Likewise.
100300         * lib/fseterr.c (fseterr) [QNX]: Likewise.
100301         * lib/fwritable.c (fwritable) [QNX]: Likewise.
100302         * lib/fwriting.c (fwriting) [QNX]: Likewise.
100303         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
100304         Reported by Alain Magloire.
100306         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
100308 2007-11-05  Bruno Haible  <bruno@clisp.org>
100310         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
100311         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
100312         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
100313         Reported by Eric Blake.
100315 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
100316             Bruno Haible  <bruno@clisp.org>
100318         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
100319         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
100320         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
100321         (malloc): Undefine also before including <stdlib.h>.
100322         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
100323         Needed on OSF/1 4.0.
100325 2007-11-05  Jim Meyering  <meyering@redhat.com>
100327         git-version-gen: sync from coreutils.
100328         * build-aux/git-version-gen: Add comments.
100329         Change the first '-' to '.' in the snapshot version string,
100330         e.g., 6.9-377-08144 -> 6.9.377-08144
100331         Remove first parameter.
100332         Don't declare a version "-dirty" merely because a time
100333         stamp has changed.
100335 2007-11-04  Bruno Haible  <bruno@clisp.org>
100337         * lib/lock.h: Protect all macro definitions containing an 'if'
100338         statement through a "do { ... } while (0)".
100339         * lib/tls.h: Likewise.
100341 2007-11-04  Bruno Haible  <bruno@clisp.org>
100343         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
100345 2007-11-04  Bruno Haible  <bruno@clisp.org>
100347         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
100348         * modules/fprintf-posix (Depends-on): Add nocrash.
100349         * modules/snprintf-posix (Depends-on): Likewise.
100350         * modules/sprintf-posix (Depends-on): Likewise.
100351         * modules/vasnprintf-posix (Depends-on): Likewise.
100352         * modules/vasprintf-posix (Depends-on): Likewise.
100353         * modules/vfprintf-posix (Depends-on): Likewise.
100354         * modules/vsnprintf-posix (Depends-on): Likewise.
100355         * modules/vsprintf-posix (Depends-on): Likewise.
100356         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
100357         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
100358         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
100359         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
100360         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
100361         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
100362         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
100364 2007-11-04  Bruno Haible  <bruno@clisp.org>
100366         * modules/nocrash: New file.
100367         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
100368         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
100370 2007-11-04  Bruno Haible  <bruno@clisp.org>
100372         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
100373         precision handling.
100374         * tests/test-vasprintf-posix.c (test_function): Likewise.
100375         * tests/test-snprintf-posix.h (test_function): Likewise.
100376         * tests/test-sprintf-posix.h (test_function): Likewise.
100378         Fix *printf behaviour for large precisions on mingw and BeOS.
100379         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
100380         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
100381         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
100382         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
100383         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
100384         gl_PRINTF_PRECISION and test its result. Invoke
100385         gl_PREREQ_VASNPRINTF_PRECISION.
100386         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
100387         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
100388         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
100389         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
100390         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
100391         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
100392         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
100393         * doc/functions/fprintf.texi: Update.
100394         * doc/functions/printf.texi: Update.
100395         * doc/functions/snprintf.texi: Update.
100396         * doc/functions/sprintf.texi: Update.
100397         * doc/functions/vfprintf.texi: Update.
100398         * doc/functions/vprintf.texi: Update.
100399         * doc/functions/vsnprintf.texi: Update.
100400         * doc/functions/vsprintf.texi: Update.
100402 2007-11-04  Bruno Haible  <bruno@clisp.org>
100404         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
100406 2007-11-04  Bruno Haible  <bruno@clisp.org>
100408         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
100409         Reported by Sylvain Beucler <beuc@gnu.org>.
100411 2007-11-03  Bruno Haible  <bruno@clisp.org>
100413         * tests/test-fprintf-posix2.sh: New file.
100414         * tests/test-fprintf-posix2.c: New file.
100415         * modules/fprintf-posix-tests (Files): Add them.
100416         (TESTS): Add test-fprintf-posix2.sh.
100417         (configure.ac): Check for getrlimit and setrlimit.
100418         (check_PROGRAMS): Add test-fprintf-posix2.
100420         * tests/test-printf-posix2.sh: New file.
100421         * tests/test-printf-posix2.c: New file.
100422         * modules/printf-posix-tests (Files): Add them.
100423         (TESTS): Add test-printf-posix2.sh.
100424         (configure.ac): Check for getrlimit and setrlimit.
100425         (check_PROGRAMS): Add test-printf-posix2.
100427         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
100428         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
100429         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
100430         (decode_double): New function, copied from decode_long_double.
100431         (scale10_round_decimal_decoded): New function, extracted from
100432         scale10_round_decimal_long_double.
100433         (scale10_round_decimal_long_double): Use it.
100434         (scale10_round_decimal_double): New function.
100435         (floorlog10): New function.
100436         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
100437         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
100438         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
100439         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
100440         gl_PRINTF_ENOMEM and test its result. Invoke
100441         gl_PREREQ_VASNPRINTF_ENOMEM.
100442         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
100443         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
100444         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
100445         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
100446         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
100447         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
100448         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
100449         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
100450         * modules/snprintf-posix (Depends-on): Likewise.
100451         * modules/sprintf-posix (Depends-on): Likewise.
100452         * modules/vasnprintf-posix (Depends-on): Likewise.
100453         * modules/vasprintf-posix (Depends-on): Likewise.
100454         * modules/vfprintf-posix (Depends-on): Likewise.
100455         * modules/vsnprintf-posix (Depends-on): Likewise.
100456         * modules/vsprintf-posix (Depends-on): Likewise.
100457         * doc/functions/fprintf.texi: Update.
100458         * doc/functions/printf.texi: Update.
100459         * doc/functions/snprintf.texi: Update.
100460         * doc/functions/sprintf.texi: Update.
100461         * doc/functions/vfprintf.texi: Update.
100462         * doc/functions/vprintf.texi: Update.
100463         * doc/functions/vsnprintf.texi: Update.
100464         * doc/functions/vsprintf.texi: Update.
100466 2007-11-03  Bruno Haible  <bruno@clisp.org>
100468         * modules/frexp-nolibm-tests: New file.
100470         * modules/frexp-nolibm: New file.
100471         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
100473 2007-11-03  Bruno Haible  <bruno@clisp.org>
100475         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
100476         value is C99 compliant.
100477         Needed for OSF/1 5.1.
100479 2007-11-03  Bruno Haible  <bruno@clisp.org>
100481         Fix out-of-memory handling of vasnprintf.
100482         * lib/printf-parse.c: Include <errno.h>.
100483         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
100484         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
100485         is already set.
100487 2007-11-02  Eric Blake  <ebb9@byu.net>
100489         Fix tests on cygwin.
100490         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
100492 2007-11-01  Bruno Haible  <bruno@clisp.org>
100494         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
100495         warning.
100496         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
100497         needed for POSIX compatibility.
100499 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
100501         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
100502         for compatibility with GNU.
100504 2007-11-01  Bruno Haible  <bruno@clisp.org>
100506         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
100507         (putenv): Renamed from rpl_putenv. Change argument type from
100508         'const char *' to 'char *'.
100509         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
100510         of defining putenv in config.h, just set REPLACE_PUTENV.
100511         * modules/putenv (Depends-on): Add stdlib.
100512         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
100513         (Include): Use <stdlib.h>.
100514         * lib/stdlib.in.h (putenv): New declaration.
100515         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
100516         REPLACE_PUTENV.
100517         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
100518         REPLACE_PUTENV.
100519         Needed for MacOS X 10.5.0.
100520         Reported by Peter O'Gorman <peter@pogma.com>.
100522 2007-11-01  Jim Meyering  <meyering@redhat.com>
100524         Treat an empty date string exactly like "0".
100525         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
100526         if the remaining date string (to be parsed) is empty, use "0".
100527         Reported by Mischa Molhoek and discussed in this thread:
100528         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
100530 2007-10-31  Bruno Haible  <bruno@clisp.org>
100532         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
100533         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
100534         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
100535         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
100536         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
100537         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
100539 2007-10-31  Bruno Haible  <bruno@clisp.org>
100541         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
100542         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
100543         (AC_TYPE_LONG_LONG_INT): Use it.
100544         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
100545         it as well.
100546         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
100547         to m4/longlong.m4.
100548         * modules/stdint (Files): Remove m4/ulonglong.m4.
100549         * modules/strtoull (Files): Use m4/longlong.m4 instead of
100550         m4/ulonglong.m4.
100551         * modules/strtoumax (Files): Likewise.
100553 2007-10-30  Bruno Haible  <bruno@clisp.org>
100555         * modules/xvasprintf-posix: New file.
100556         Suggested by Eric Blake.
100558 2007-10-30  Bruno Haible  <bruno@clisp.org>
100560         * modules/xprintf-posix-tests: New file.
100561         * tests/test-xprintf-posix.sh: New file.
100562         * tests/test-xprintf-posix.c: New file.
100563         * tests/test-xfprintf-posix.c: New file.
100565         * modules/xprintf-posix: New file.
100567 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
100569         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
100570         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
100571         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
100573 2007-10-29  Bruno Haible  <bruno@clisp.org>
100575         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
100576         contain the special marker '_cv_'.
100577         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
100578         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
100579         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
100580         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
100581         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
100582         Reported by Ralf Wildenhues.
100584 2007-10-29  Bruno Haible  <bruno@clisp.org>
100586         * gnulib-tool (func_import): When --lgpl is not specified, set
100587         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
100588         GPLv3.
100589         Reported by Simon Josefsson.
100591 2007-10-28  Bruno Haible  <bruno@clisp.org>
100593         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
100594         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
100595         HAVE_DECL_ISFINITE.
100596         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
100597         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
100598         HAVE_DECL_ISFINITE.
100600 2007-10-28  Bruno Haible  <bruno@clisp.org>
100602         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
100603         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
100605 2007-10-28  Bruno Haible  <bruno@clisp.org>
100607         Fix link errors with Sun C 5.0 on Solaris 10.
100608         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
100609         function is declared but not present in the compiler's libm.
100610         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
100611         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
100612         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
100613         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
100614         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
100615         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
100616         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
100617         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
100618         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
100619         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
100620         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
100621         HAVE_DECL_FLOORL.
100623 2007-10-28  Bruno Haible  <bruno@clisp.org>
100625         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
100626         gl_FUNC_FLOORL. Cache the result.
100627         (gl_FUNC_FLOORL): Use it.
100628         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
100629         gl_FUNC_CEILL. Cache the result.
100630         (gl_FUNC_CEILL): Use it.
100632         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
100633         gl_FUNC_FLOOR. Cache the result.
100634         (gl_FUNC_FLOOR): Use it.
100635         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
100636         gl_FUNC_CEIL. Cache the result.
100637         (gl_FUNC_CEIL): Use it.
100639         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
100640         gl_FUNC_FLOORF. Cache the result.
100641         (gl_FUNC_FLOORF): Use it.
100642         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
100643         gl_FUNC_CEILF. Cache the result.
100644         (gl_FUNC_CEILF): Use it.
100646 2007-10-28  Bruno Haible  <bruno@clisp.org>
100648         * gnulib-tool: Allow specifying the LGPL version number through
100649         --lgpl=2 or --lgpl=3.
100650         (func_usage): Document --lgpl with argument.
100651         Handle --lgpl=... arguments.
100652         (func_import): Recognize also gl_LGPL calls with an argument. When
100653         --lgpl=2 is used and the module's license is just LGPL, report an
100654         error. Set sed_transform_lib_file according to the lgpl variable. In
100655         the generated files, use --lgpl or gl_LGPL invocations with argument,
100656         if necessary.
100657         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
100658         an LGPv2+ license.
100659         * doc/gnulib-tool.texi (Modified imports): Update explanation of
100660         gl_LGPL macro.
100662 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
100663             Bruno Haible  <bruno@clisp.org>
100665         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
100666         (u16_uctomb_aux): Likewise.
100667         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
100668         !HAVE_INLINE.
100669         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
100671 2007-10-28  Bruno Haible  <bruno@clisp.org>
100673         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
100674         Invoke AM_GETTEXT_OPTION if it exists.
100675         * modules/vasprintf: Likewise.
100676         * modules/verror: Likewise.
100677         * modules/xprintf: Likewise.
100678         * modules/xvasprintf: Likewise.
100680 2007-10-27  Ben Pfaff  <blp@gnu.org>
100682         * lib/math.in.h: Define isfinite macro and prototypes for
100683         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
100684         implementations.
100685         * m4/math_h.m4: New substitutions for isfinite module.
100686         * lib/isfinite.c: New file.
100687         * m4/isfinite.m4: New file.
100688         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
100689         * modules/isfinite: New file.
100690         * modules/isfinite-tests: New file.
100691         * tests/tests-isfinite.c: New file.
100692         * doc/functions/isfinite.texi: Mention isfinite module.
100693         * MODULES.html.sh: Mention new module.
100695 2007-10-27  Ben Pfaff  <blp@gnu.org>
100697         Ralf Wildenhues reported that Tru64 4.0D declares the round
100698         functions but does not have definitions.
100699         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
100700         cannot be found in any library, set the output variable to
100701         "missing" instead of "".
100702         * m4/round.m4: Also use our substitute if we cannot find round in
100703         any library, even if it is declared.
100704         * m4/roundf.m4: Likewise for roundf.
100705         * m4/roundl.m4: Likewise for roundl.
100706         * lib/math.in.h: Undefine roundf, round, roundl before defining
100707         their replacements, to allow for hypothetical systems where these
100708         may be defined as macros but not available in libraries.
100710 2007-10-27  Bruno Haible  <bruno@clisp.org>
100712         * doc/gnulib.texi: Invoke @firstparagraphindent.
100713         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
100714         changes in gnulib.
100715         (Source changes): New section.
100717 2007-10-26  Bruno Haible  <bruno@clisp.org>
100719         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
100720         borrowed from autoconf.
100722 2007-10-26  Bruno Haible  <bruno@clisp.org>
100724         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
100725         strerror returned the empty string. Needed on HP-UX 11.00.
100727 2007-10-24  Micah Cowan  <micah@cowan.name>
100729         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
100730         * build-aux/bootstrap: Remove support for now-unnecessary option,
100731         --cvs-user, and envvars CVS_USER, CVS_RSH.
100733 2007-10-24  Jim Meyering  <meyering@redhat.com>
100735         Avoid diagnostics from sha1sum when there is no cached checksum.
100736         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
100737         if the po.s1 file hasn't been created yet.
100739         * build-aux/bootstrap: Sync from coreutils:
100740         2007-10-24  Jim Meyering  <meyering@redhat.com>
100741         Get gnulib from the git repository, not from an obsolete cvs one.
100742         * build-aux/bootstrap: Suggestion from Micah Cowan.
100743         2007-10-04  Jim Meyering  <jim@meyering.net>
100744         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
100745         (update_po_files): Work also when there are no .po files in po/.
100747 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
100749         * README: Append ".git" to git and cg examples.
100750         Problem reported by Benoit Sigoure.
100752 2007-10-23  Micah Cowan  <micah@cowan.name>
100754         * users.txt: Add wget.
100756 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
100758         Fix linking of some unistdio tests on FreeBSD.
100759         * modules/unistdio/u16-vsnprintf-tests
100760         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
100761         * modules/unistdio/u16-vsprintf-tests
100762         (test_u16_vsnprintf1_LDADD): Likewise.
100763         * modules/unistdio/u32-vsnprintf-tests
100764         (test_u32_vsnprintf1_LDADD): Likewise.
100765         * modules/unistdio/u32-vsprintf-tests
100766         (test_u32_vsprintf1_LDADD): Likewise.
100767         * modules/unistdio/u8-vsnprintf-tests
100768         (test_u8_vsnprintf1_LDADD): Likewise.
100769         * modules/unistdio/u8-vsprintf-tests
100770         (test_u8_vsprintf1_LDADD): Likewise.
100771         * modules/unistdio/ulc-vsnprintf-tests
100772         (test_ulc_vsnprintf1_LDADD): Likewise.
100773         * modules/unistdio/ulc-vsprintf-tests
100774         (test_ulc_vsprintf1_LDADD): Likewise.
100776         Fix linking of some uniconv tests on FreeBSD.
100777         * modules/uniconv/u16-conv-from-enc-tests
100778         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
100779         * modules/uniconv/u16-conv-to-enc-tests
100780         (test_u16_conv_to_enc_LDADD): Likewise.
100781         * modules/uniconv/u16-strconv-from-enc-tests
100782         (test_u16_strconv_from_enc_LDADD): Likewise.
100783         * modules/uniconv/u16-strconv-to-enc-tests
100784         (test_u16_strconv_to_enc_LDADD): Likewise.
100785         * modules/uniconv/u32-conv-from-enc-tests
100786         (test_u32_conv_from_enc_LDADD): Likewise.
100787         * modules/uniconv/u32-conv-to-enc-tests
100788         (test_u32_conv_to_enc_LDADD): Likewise.
100789         * modules/uniconv/u32-strconv-from-enc-tests
100790         (test_u32_strconv_from_enc_LDADD): Likewise.
100791         * modules/uniconv/u32-strconv-to-enc-tests
100792         (test_u32_strconv_to_enc_LDADD): Likewise.
100793         * modules/uniconv/u8-conv-from-enc-tests
100794         (test_u8_conv_from_enc_LDADD): Likewise.
100795         * modules/uniconv/u8-conv-to-enc-tests
100796         (test_u8_conv_to_enc_LDADD): Likewise.
100797         * modules/uniconv/u8-strconv-from-enc-tests
100798         (test_u8_strconv_from_enc_LDADD): Likewise.
100799         * modules/uniconv/u8-strconv-to-enc-tests
100800         (test_u8_strconv_to_enc_LDADD): Likewise.
100802 2007-10-22  Bruno Haible  <bruno@clisp.org>
100804         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
100805         size.
100807 2007-10-22  Eric Blake  <ebb9@byu.net>
100809         Tweak x*printf documentation.
100810         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
100811         variable name and comments.
100812         Suggested by Bruno Haible.
100814 2007-10-22  Bruno Haible  <bruno@clisp.org>
100816         * lib/acl.c (copy_acl): Fix file name in comment.
100818 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
100820         Fix Tru64 problem with stdbool.h.
100821         * lib/stdbool.in.h (false, true):
100822         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
100823         Don't declare as an enum in this situation; it runs afoul of Tru64.
100824         Problem reported by Steven M. Schweda in
100825         <http://lists.gnu.org/r/bug-autoconf/2007-10/msg00019.html>.
100827 2007-10-22  Eric Blake  <ebb9@byu.net>
100829         Also wrap vf?printf.
100830         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
100831         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
100832         (xvprintf, xvfprintf): New functions.
100834 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
100836         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
100837         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
100839         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
100840         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
100842 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
100844         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
100845         by Bruno Haible.
100847 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
100849         * lib/getloadavg.c
100850         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
100851         Undef `sys' after including sys/table.h, for Tru64 4.0D.
100853         * tests/test-i-ring.c: Work for C89.
100855 2007-10-22  Bruno Haible  <bruno@clisp.org>
100857         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
100858         -1u, in preprocessor expression, so that we don't test for the bug
100859         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
100860         <http://lists.gnu.org/r/bug-gnulib/2007-10/msg00329.html>.
100862 2007-10-22  Eric Blake  <ebb9@byu.net>
100864         * tests/test-yesno.sh: Silence stderr during test.
100866 2007-10-22  Simon Josefsson  <simon@josefsson.org>
100868         * modules/crypto/gc-camellia: New file.
100870         * m4/gc-camellia.m4: New file.
100872         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
100874         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
100876 2007-10-22  Simon Josefsson  <simon@josefsson.org>
100878         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
100879         --help to stdout.  Reported by sms@antinode.org (Steven
100880         M. Schweda).
100882 2007-10-22  Simon Josefsson  <simon@josefsson.org>
100884         * users.txt: Fix link to libksba.
100886 2007-10-21  Ben Pfaff  <blp@gnu.org>
100888         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
100889         round.c roundf implementation that depends on floorf and ceilf to
100890         be tested unconditionally.
100892 2007-10-21  Ben Pfaff  <blp@gnu.org>
100894         * m4/check-libm-func.m4: Removed.
100895         * m4/check-math-lib.m4: New file.
100896         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
100897         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
100898         definition and lack of AC_LIBOBJ([roundf]).
100899         * m4/roundl.m4: Ditto, and similarly for roundl.
100900         * modules/round: Reference new m4 file.
100901         * modules/roundf: Ditto.
100902         * modules/roundl: Ditto.
100903         * tests/test-round2.c (main): Use ROUND instead of round.
100904         Bug report from Bruno Haible.
100906 2007-10-21  Bruno Haible  <bruno@clisp.org>
100908         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
100909         context.
100911 2007-10-21  Bruno Haible  <bruno@clisp.org>
100913         * tests/test-wcwidth.c (main): Allow negative result for some control
100914         characters.
100916         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
100917         Needed on OSF/1 5.1.
100919 2007-10-21  Bruno Haible  <bruno@clisp.org>
100921         * tests/test-floorf1.c: Include isnanf.h.
100922         (main): Use isnanf() instead of isnan().
100923         * tests/test-ceilf1.c: Include isnanf.h.
100924         (main): Use isnanf() instead of isnan().
100925         * tests/test-truncf1.c: Include isnanf.h.
100926         (main): Use isnanf() instead of isnan().
100927         * tests/test-roundf1.c: Include isnanf.h.
100928         (main): Use isnanf() instead of isnan().
100930 2007-10-21  Eric Blake  <ebb9@byu.net>
100932         * users.txt: Update URL for m4.
100934 2007-10-21  Bruno Haible  <bruno@clisp.org>
100936         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
100938 2007-10-21  Bruno Haible  <bruno@clisp.org>
100940         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
100941         Git's management files if the CVS files are not present.
100943 2007-10-20  Bruno Haible  <bruno@clisp.org>
100945         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
100946         gcc-3.4.x.
100948 2007-10-20  Ben Pfaff  <blp@gnu.org>
100950         * lib/math.in.h: Declare round, roundf, roundl if we are providing
100951         implementations.
100952         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
100953         * lib/round.c: New file.
100954         * lib/roundf.c: New file.
100955         * lib/roundl.c: New file.
100956         * m4/round.m4: New file.
100957         * m4/roundf.m4: New file.
100958         * m4/roundl.m4: New file.
100959         * m4/check-libm-func-m4: New file.
100960         * modules/math: Replace round, roundf, roundl related @VARS@ in
100961         math.in.h.
100962         * modules/round: New file.
100963         * modules/round-tests: New file.
100964         * modules/roundf: New file.
100965         * modules/roundf-tests: New file.
100966         * modules/roundl: New file.
100967         * modules/roundl-tests: New file.
100968         * tests/test-round1.c: New file.
100969         * tests/test-round2.c: New file.
100970         * tests/test-roundf1.c: New file.
100971         * tests/test-roundf2.c: New file.
100972         * tests/test-roundl.c: New file.
100973         * doc/functions/round.texi: Mention round module.
100974         * doc/functions/roundf.texi: Mention roundf module.
100975         * doc/functions/roundl.texi: Mention roundl module.
100976         * MODULES.html.sh: Mention new modules.
100977         Thanks to Bruno Haible for suggestions.
100979 2007-10-20  Jim Meyering  <meyering@redhat.com>
100981         * lib/xprintf.c: Include <config.h> unconditionally.
100983         Change xprintf's license to GPL.
100984         * modules/xprintf (License): s/LGPL/GPL/, since this module
100985         depends on modules (exit and exitfail) which are GPL.
100986         Suggestion from Bruno Haible.
100988         xprintf fixes.
100989         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
100990         Use a clearer diagnostic.
100991         Patch from Bruno Haible.
100993 2007-10-20  Bruno Haible  <bruno@clisp.org>
100995         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
100996         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
100997         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
100999 2007-10-20  Bruno Haible  <bruno@clisp.org>
101001         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
101002         precision in the comparison result > x - 1 or similar.
101003         * tests/test-ceilf2.c (correct_result_p): Likewise.
101004         * tests/test-truncf2.c (correct_result_p): Likewise.
101005         * tests/test-trunc2.c (correct_result_p): Likewise.
101006         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
101008 2007-10-20  Bruno Haible  <bruno@clisp.org>
101010         * modules/ceil: New file.
101011         * m4/ceil.m4: New file.
101012         * doc/functions/ceil.texi: Mention the 'ceil' module.
101014 2007-10-20  Bruno Haible  <bruno@clisp.org>
101016         * modules/floor: New file.
101017         * m4/floor.m4: New file.
101018         * doc/functions/floor.texi: Mention the 'floor' module.
101020 2007-10-20  Bruno Haible  <bruno@clisp.org>
101022         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
101023         of %a.
101024         * modules/floorf-tests (Depends-on): Likewise.
101025         * modules/truncf-tests (Depends-on): Likewise.
101026         * modules/trunc-tests (Depends-on): Likewise.
101027         Reported by Ben Pfaff.
101029 2007-10-19  Jim Meyering  <meyering@redhat.com>
101031         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
101032         Don't bother testing specific errno values.  Just test ferror.
101034         New module: xprintf
101035         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
101037 2007-10-19  Bruno Haible  <bruno@clisp.org>
101039         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
101040         syntax.
101041         * modules/javaexec (Makefile.am): Likewise.
101042         * modules/relocatable-prog (Makefile.am): Likewise.
101043         Suggested by Jim Meyering.
101045 2007-10-18  Bruno Haible  <bruno@clisp.org>
101047         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
101048         Reported by Jim Meyering.
101050 2007-10-18  Eric Blake  <ebb9@byu.net>
101052         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
101054 2007-10-18  Bruno Haible  <bruno@clisp.org>
101056         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
101057         the format string into writable memory. Needed in Fortify conditions.
101059 2007-10-18  Colin Watson  <cjwatson@debian.org>  (tiny change)
101060             Bruno Haible  <bruno@clisp.org>
101062         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
101063         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
101064         * modules/trim (Depends-on): Add mbchar.
101065         (configure.ac): Add gl_FUNC_MBRTOWC.
101066         (Makefile.am): Augment lib_SOURCES.
101068 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
101070         Modify glob.c to use fstatat and dirfd, to simplify it.
101071         Suggested by Eric Blake.
101072         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
101073         Don't include <stdbool.h>; not used.
101074         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
101075         (link_exists_p): Simplify implementation, since we can now assume
101076         dirfd and fstatat.
101077         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
101079 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
101081         * gnulib-tool (func_get_dependencies): Fix sed script to
101082         match only tests.
101084 2007-10-17  Bruno Haible  <bruno@clisp.org>
101086         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
101087         allow locale names without encoding suffix.
101088         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
101089         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
101091 2007-10-16  Bruno Haible  <bruno@clisp.org>
101093         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
101094         * lib/getgroups.c (getgroups): Likewise.
101095         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
101097 2007-10-16  Bruno Haible  <bruno@clisp.org>
101099         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
101100         * modules/malloc-posix (License): Likewise.
101101         * modules/realloc-posix (License): Likewise.
101102         * modules/calloc-posix (License): Likewise.
101103         * modules/intprops (License): Change from GPL to LGPL, with
101104         Paul Eggert's approval.
101106 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
101108         Merge glibc changes into lib/glob.c.
101110         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
101111         2007-10-15 04:59:03 UTC.  Here are the changes:
101113         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
101115         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
101117         * lib/glob.c: Add some branch prediction throughout.
101119         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
101121         [BZ #5103]
101122         * lib/glob.c (glob): Recognize patterns starting \/.
101124         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
101126         [BZ #3996]
101127         * lib/glob.c (attribute_hidden): Define if not defined.
101128         (glob): Unescape dirname, filename or username when needed and not
101129         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
101130         is NULL.  Handle unescaped [ in pattern without closing ].
101131         Don't pass GLOB_CHECK down to recursive glob for directories.
101132         (__glob_pattern_type): New function.
101133         (__glob_pattern_p): Implement using __glob_pattern_type.
101134         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
101135         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
101136         Remove unreachable code.
101138         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
101140         * lib/glob.c (glob_in_dir): Add some comments and asserts to
101141         explain why there are no leaks.
101143         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
101145         [BZ #3253]
101146         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
101147         time, rather allocate increasingly bigger arrays of pointers, if
101148         possible with alloca, if too large with malloc.
101150 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
101152         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
101153         Problem reported by H.Merijn Brand in
101154         <http://lists.gnu.org/r/bug-tar/2007-10/msg00018.html>.
101155         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
101156         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
101158 2007-10-15  Bruno Haible  <bruno@clisp.org>
101160         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
101161         with explicit rpl_ prefix.
101162         * lib/fopen.c (fopen): Likewise.
101163         * lib/freopen.c (freopen): Likewise.
101164         * lib/iconv.c (iconv): Likewise.
101165         * lib/iconv_close.c (iconv_close): Likewise.
101167 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
101169         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
101171 2007-10-15  Bruno Haible  <bruno@clisp.org>
101173         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
101174         <stddef.h> instead of <stdlib.h> since we only need NULL.
101175         Reported by Ben Pfaff <blp@cs.stanford.edu>.
101177 2007-10-15  Bruno Haible  <bruno@clisp.org>
101179         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
101180         Replace paragraph talking about LIBOBJS.
101181         Reported by Colin Watson <cjwatson@debian.org>.
101183 2007-10-15  Bruno Haible  <bruno@clisp.org>
101185         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
101186         <stdlib.h> before using NULL.
101188 2007-10-15  Simon Josefsson  <simon@josefsson.org>
101190         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
101191         Reported by Albert Chin <china@thewrittenword.com>.
101193 2007-10-14  Bruno Haible  <bruno@clisp.org>
101195         * modules/iconv_open-utf-tests: New file.
101196         * tests/test-iconv-utf.c: New file.
101198         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
101199         * modules/iconv_open-utf: New file.
101200         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
101201         (iconv, iconv_close): New declarations.
101202         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
101203         be defined.
101204         (iconv_open): Add special handling of conversion between UTF-8 and
101205         UTF-{16,32}{BE,LE}.
101206         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
101207         * lib/iconv_close.c: New file.
101208         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
101209         gl_FUNC_ICONV_OPEN.
101210         (gl_FUNC_ICONV_OPEN): Use it.
101211         (gl_FUNC_ICONV_OPEN_UTF): New macro.
101212         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
101213         and REPLACE_ICONV_UTF.
101214         * modules/iconv_open (Depends-on): Add c-strcase.
101215         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
101216         ICONV_CONST.
101217         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
101219 2007-10-13  Albert Chin  <china@thewrittenword.com>
101220             Bruno Haible  <bruno@clisp.org>
101222         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
101223         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
101225 2007-10-13  Bruno Haible  <bruno@clisp.org>
101227         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
101228         defined, use the ISO C99 inline semantics.
101229         * lib/argp.h (ARGP_EI): Likewise.
101231 2007-10-13  Bruno Haible  <bruno@clisp.org>
101233         Handle 'inline' change in gcc 4.3.0.
101234         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
101235         argp_fmtstream_write, argp_fmtstream_set_lmargin,
101236         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
101237         argp_fmtstream_point): Disable 'extern' declaration if the function
101238         definition is going to be provided inline.
101239         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
101240         semantics, not the ISO C99 inline semantics.
101241         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
101242         'extern' declaration if the function definition is going to be provided
101243         inline.
101244         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
101245         the GNU C inline semantics, not the ISO C99 inline semantics. With
101246         GCC 4.2, avoid a warning.
101248 2007-10-13  Bruno Haible  <bruno@clisp.org>
101250         * lib/freading.h (freading): Enable the use of __freading for
101251         glibc >= 2.7.
101252         * lib/freading.c (freading): Likewise.
101254 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
101256         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
101257         "warning: C99 inline functions are not supported; using GNU89".
101259 2007-10-12  Bruno Haible  <bruno@clisp.org>
101261         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
101262         of 2.
101263         * tests/test-ceilf2.c: New file.
101264         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
101266         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
101267         * modules/ceilf-tests: Update.
101269 2007-10-12  Bruno Haible  <bruno@clisp.org>
101271         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
101272         of 2.
101273         * tests/test-floorf2.c: New file.
101274         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
101276         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
101277         * modules/floorf-tests: Update.
101279 2007-10-12  Bruno Haible  <bruno@clisp.org>
101281         * tests/test-trunc2.c: New file.
101282         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
101284         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
101285         * modules/trunc-tests: Update.
101287 2007-10-12  Bruno Haible  <bruno@clisp.org>
101289         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
101290         of 2.
101291         * tests/test-truncf2.c: New file.
101292         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
101294         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
101295         * modules/truncf-tests: Update.
101297 2007-10-11  Eric Blake  <ebb9@byu.net>
101299         Don't claim strerror is broken on Interix.
101300         * doc/functions/strerror.texi (strerror): Known broken systems are
101301         now Solaris 8, and not Interix.
101302         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
101303         Interix on cross-compile.
101304         Reported by Martin Koeppe in
101305         http://lists.gnu.org/r/bug-gnulib/2007-10/msg00005.html.
101307 2007-10-11  Bruno Haible  <bruno@clisp.org>
101309         * modules/i-ring-tests: New file.
101310         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
101311         instead of assert.
101313 2007-10-11  Bruno Haible  <bruno@clisp.org>
101315         * modules/filenamecat-tests: New file.
101316         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
101317         * lib/filenamecat.c: Remove test code.
101319 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
101321         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
101323         * lib/strerror.c: Include <string.h> always, to test interface,
101324         and to remove the need for the dummy.
101325         Include intprops.h to compute width instead of doing it ourselves
101326         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
101327         (strerror): Define it to return NULL if there's no system strerror.
101328         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
101329         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
101330         ancient pre-strerror Unix systems well any more.  Saying "unknown
101331         system error" is enough.
101332         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
101333         simpler strerror.c implementation.
101334         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
101335         Simplify the tests to reflect the simpler strerror implementation.
101336         * modules/strerror (Depends-on): Add intprops.
101338 2007-10-09  Eric Blake  <ebb9@byu.net>
101340         Silence test-fpending.
101341         * modules/fpending-tests (Files): Add wrapper script.
101342         * tests/test-fpending.sh: New file.
101344 2007-10-09  Bruno Haible  <bruno@clisp.org>
101346         * MODULES.html.sh (func_module): Don't create a hyperlink for
101347         function names like 'printf_frexp'.
101348         (Misc): Add crc, memxor.
101349         (Characteristics of floating types): New section.
101350         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
101351         isnanf-nolibm, signbit, trunc, truncf, truncl.
101352         (Enhancements for ISO C 99 functions): New subsection Input/output.
101353         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
101354         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
101355         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
101356         (Compatibility checks for POSIX:2001 functions): Add clock-time.
101357         (Enhancements for POSIX:2001 functions): Add chdir-long.
101358         (File system functions): Add areadlink, chdir-safer, read-file.
101359         Remove cycle-check.
101360         (File system as inode set): New section.
101361         (Date and time): Add gethrxtime.
101362         (Multithreading): Add openmp.
101363         (Internationalization functions): Add localename.
101364         (Unicode string functions): Add unistr/u*-mbsnlen.
101365         (Support for maintaining and releasing projects): Add git-version-gen.
101366         (Lone files): Remove directories.
101368 2007-10-08  Ben Pfaff  <blp@gnu.org>
101370         * lib/xmalloca.h: Fix typo in comment.
101372 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
101374         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
101375         when avoiding problems with integer overflow.  Use a portable test
101376         instead.
101378 2007-10-08  Simon Josefsson  <simon@josefsson.org>
101380         * modules/dummy (License): Change to LGPLv2+.
101381         * modules/float (License): Likewise
101382         * modules/realloc (License): Likewise
101383         * modules/stdlib (License): Likewise
101385 2007-10-07  Bruno Haible  <bruno@clisp.org>
101387         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
101388         * floor.c (TWO_MANT_DIG): Likewise.
101389         * ceil.c (TWO_MANT_DIG): Likewise.
101390         Reported by Ben Pfaff.
101392 2007-10-07  Bruno Haible  <bruno@clisp.org>
101394         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
101395         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
101396         * lib/frexp.c (FUNC): Likewise.
101397         * lib/printf-frexp.h (printf_frexp): Likewise.
101398         * lib/printf-frexpl.h (printf_frexpl): Likewise.
101399         * lib/printf-frexp.c (FUNC): Likewise.
101400         Suggested by Jim Meyering.
101402 2007-10-07  Jim Meyering  <meyering@redhat.com>
101404         Make xnanosleep's integer overflow test more robust.
101405         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
101406         so that gcc-4.3.0 doesn't optimize away this test for overflow.
101408 2007-10-07  Bruno Haible  <bruno@clisp.org>
101410         * NEWS: Mention the license change.
101412         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
101413         abbreviations in the modules files.
101415         Change copyright notice from GPLv2+ to GPLv3+.
101416         * README: Change copyright notice.
101417         * MODULES.html.sh: Likewise.
101418         * build-aux/bootstrap.conf: Likewise.
101419         * build-aux/config.libpath: Likewise.
101420         * build-aux/csharpcomp.sh.in: Likewise.
101421         * build-aux/csharpexec.sh.in: Likewise.
101422         * build-aux/install-reloc: Likewise.
101423         * build-aux/javacomp.sh.in: Likewise.
101424         * build-aux/javaexec.sh.in: Likewise.
101425         * build-aux/ldd.sh.in: Likewise.
101426         * build-aux/reloc-ldflags: Likewise.
101427         * build-aux/relocatable.sh.in: Likewise.
101428         * build-aux/x-to-1.in: Likewise.
101429         * check-module: Likewise.
101430         * config/srclistvars.sh: Likewise.
101431         * gnulib-tool: Likewise.
101432         * lib/acl-internal.h: Likewise.
101433         * lib/acl.c: Likewise.
101434         * lib/acl.h: Likewise.
101435         * lib/acl_entries.c: Likewise.
101436         * lib/areadlink-with-size.c: Likewise.
101437         * lib/areadlink.c: Likewise.
101438         * lib/areadlink.h: Likewise.
101439         * lib/argmatch.c: Likewise.
101440         * lib/argmatch.h: Likewise.
101441         * lib/argp-ba.c: Likewise.
101442         * lib/argp-eexst.c: Likewise.
101443         * lib/argp-fmtstream.c: Likewise.
101444         * lib/argp-fmtstream.h: Likewise.
101445         * lib/argp-fs-xinl.c: Likewise.
101446         * lib/argp-help.c: Likewise.
101447         * lib/argp-namefrob.h: Likewise.
101448         * lib/argp-parse.c: Likewise.
101449         * lib/argp-pin.c: Likewise.
101450         * lib/argp-pv.c: Likewise.
101451         * lib/argp-pvh.c: Likewise.
101452         * lib/argp-xinl.c: Likewise.
101453         * lib/argp.h: Likewise.
101454         * lib/at-func.c: Likewise.
101455         * lib/atanl.c: Likewise.
101456         * lib/backupfile.c: Likewise.
101457         * lib/backupfile.h: Likewise.
101458         * lib/basename.c: Likewise.
101459         * lib/binary-io.h: Likewise.
101460         * lib/byteswap.in.h: Likewise.
101461         * lib/c-stack.c: Likewise.
101462         * lib/c-stack.h: Likewise.
101463         * lib/c-strcasestr.c: Likewise.
101464         * lib/c-strcasestr.h: Likewise.
101465         * lib/c-strstr.c: Likewise.
101466         * lib/c-strstr.h: Likewise.
101467         * lib/c-strtod.c: Likewise.
101468         * lib/calloc.c: Likewise.
101469         * lib/canon-host.c: Likewise.
101470         * lib/canon-host.h: Likewise.
101471         * lib/canonicalize-lgpl.c: Likewise.
101472         * lib/canonicalize.c: Likewise.
101473         * lib/canonicalize.h: Likewise.
101474         * lib/ceil.c: Likewise.
101475         * lib/ceilf.c: Likewise.
101476         * lib/ceill.c: Likewise.
101477         * lib/chdir-long.c: Likewise.
101478         * lib/chdir-long.h: Likewise.
101479         * lib/chdir-safer.c: Likewise.
101480         * lib/chdir-safer.h: Likewise.
101481         * lib/chown.c: Likewise.
101482         * lib/classpath.c: Likewise.
101483         * lib/classpath.h: Likewise.
101484         * lib/clean-temp.c: Likewise.
101485         * lib/clean-temp.h: Likewise.
101486         * lib/cloexec.c: Likewise.
101487         * lib/close-stream.c: Likewise.
101488         * lib/closein.c: Likewise.
101489         * lib/closein.h: Likewise.
101490         * lib/closeout.c: Likewise.
101491         * lib/closeout.h: Likewise.
101492         * lib/concat-filename.c: Likewise.
101493         * lib/copy-file.c: Likewise.
101494         * lib/copy-file.h: Likewise.
101495         * lib/count-one-bits.h: Likewise.
101496         * lib/crc.c: Likewise.
101497         * lib/crc.h: Likewise.
101498         * lib/creat-safer.c: Likewise.
101499         * lib/csharpcomp.c: Likewise.
101500         * lib/csharpcomp.h: Likewise.
101501         * lib/csharpexec.c: Likewise.
101502         * lib/csharpexec.h: Likewise.
101503         * lib/cycle-check.c: Likewise.
101504         * lib/cycle-check.h: Likewise.
101505         * lib/diacrit.c: Likewise.
101506         * lib/diacrit.h: Likewise.
101507         * lib/diffseq.h: Likewise.
101508         * lib/dirchownmod.c: Likewise.
101509         * lib/dirent.in.h: Likewise.
101510         * lib/dirfd.c: Likewise.
101511         * lib/dirfd.h: Likewise.
101512         * lib/dirname.c: Likewise.
101513         * lib/dirname.h: Likewise.
101514         * lib/dummy.c: Likewise.
101515         * lib/dup-safer.c: Likewise.
101516         * lib/dup2.c: Likewise.
101517         * lib/eealloc.h: Likewise.
101518         * lib/error.c: Likewise.
101519         * lib/error.h: Likewise.
101520         * lib/euidaccess.c: Likewise.
101521         * lib/exclude.c: Likewise.
101522         * lib/exclude.h: Likewise.
101523         * lib/execute.c: Likewise.
101524         * lib/execute.h: Likewise.
101525         * lib/exitfail.c: Likewise.
101526         * lib/exitfail.h: Likewise.
101527         * lib/expl.c: Likewise.
101528         * lib/fatal-signal.c: Likewise.
101529         * lib/fatal-signal.h: Likewise.
101530         * lib/fbufmode.c: Likewise.
101531         * lib/fbufmode.h: Likewise.
101532         * lib/fchdir.c: Likewise.
101533         * lib/fchmodat.c: Likewise.
101534         * lib/fchownat.c: Likewise.
101535         * lib/fcntl--.h: Likewise.
101536         * lib/fcntl-safer.h: Likewise.
101537         * lib/fcntl.in.h: Likewise.
101538         * lib/fd-safer.c: Likewise.
101539         * lib/fflush.c: Likewise.
101540         * lib/file-has-acl.c: Likewise.
101541         * lib/file-set.c: Likewise.
101542         * lib/file-type.c: Likewise.
101543         * lib/file-type.h: Likewise.
101544         * lib/fileblocks.c: Likewise.
101545         * lib/filemode.c: Likewise.
101546         * lib/filemode.h: Likewise.
101547         * lib/filename.h: Likewise.
101548         * lib/filenamecat.c: Likewise.
101549         * lib/filenamecat.h: Likewise.
101550         * lib/findprog.c: Likewise.
101551         * lib/findprog.h: Likewise.
101552         * lib/float.in.h: Likewise.
101553         * lib/floor.c: Likewise.
101554         * lib/floorf.c: Likewise.
101555         * lib/floorl.c: Likewise.
101556         * lib/fopen-safer.c: Likewise.
101557         * lib/fopen.c: Likewise.
101558         * lib/fpending.c: Likewise.
101559         * lib/fpending.h: Likewise.
101560         * lib/fprintf.c: Likewise.
101561         * lib/fprintftime.h: Likewise.
101562         * lib/fpucw.h: Likewise.
101563         * lib/fpurge.c: Likewise.
101564         * lib/fpurge.h: Likewise.
101565         * lib/freadable.c: Likewise.
101566         * lib/freadable.h: Likewise.
101567         * lib/freadahead.c: Likewise.
101568         * lib/freadahead.h: Likewise.
101569         * lib/freading.c: Likewise.
101570         * lib/freading.h: Likewise.
101571         * lib/free.c: Likewise.
101572         * lib/freopen.c: Likewise.
101573         * lib/frexp.c: Likewise.
101574         * lib/frexpl.c: Likewise.
101575         * lib/fseek.c: Likewise.
101576         * lib/fseterr.c: Likewise.
101577         * lib/fseterr.h: Likewise.
101578         * lib/fstatat.c: Likewise.
101579         * lib/fstrcmp.c: Likewise.
101580         * lib/fstrcmp.h: Likewise.
101581         * lib/fsusage.c: Likewise.
101582         * lib/fsusage.h: Likewise.
101583         * lib/ftell.c: Likewise.
101584         * lib/ftello.c: Likewise.
101585         * lib/fts-cycle.c: Likewise.
101586         * lib/fts.c: Likewise.
101587         * lib/fts_.h: Likewise.
101588         * lib/full-read.c: Likewise.
101589         * lib/full-read.h: Likewise.
101590         * lib/full-write.c: Likewise.
101591         * lib/full-write.h: Likewise.
101592         * lib/fwritable.c: Likewise.
101593         * lib/fwritable.h: Likewise.
101594         * lib/fwriteerror.c: Likewise.
101595         * lib/fwriteerror.h: Likewise.
101596         * lib/fwriting.c: Likewise.
101597         * lib/fwriting.h: Likewise.
101598         * lib/gcd.c: Likewise.
101599         * lib/gcd.h: Likewise.
101600         * lib/getcwd.c: Likewise.
101601         * lib/getdate.h: Likewise.
101602         * lib/getdate.y: Likewise.
101603         * lib/getdomainname.c: Likewise.
101604         * lib/getdomainname.h: Likewise.
101605         * lib/getgroups.c: Likewise.
101606         * lib/gethostname.c: Likewise.
101607         * lib/gethrxtime.c: Likewise.
101608         * lib/gethrxtime.h: Likewise.
101609         * lib/getloadavg.c: Likewise.
101610         * lib/getndelim2.c: Likewise.
101611         * lib/getndelim2.h: Likewise.
101612         * lib/getnline.c: Likewise.
101613         * lib/getnline.h: Likewise.
101614         * lib/getopt.c: Likewise.
101615         * lib/getopt.in.h: Likewise.
101616         * lib/getopt1.c: Likewise.
101617         * lib/getopt_int.h: Likewise.
101618         * lib/getpagesize.h: Likewise.
101619         * lib/getsubopt.c: Likewise.
101620         * lib/gettime.c: Likewise.
101621         * lib/getugroups.c: Likewise.
101622         * lib/getugroups.h: Likewise.
101623         * lib/getusershell.c: Likewise.
101624         * lib/gl_anyavltree_list1.h: Likewise.
101625         * lib/gl_anyavltree_list2.h: Likewise.
101626         * lib/gl_anyhash_list1.h: Likewise.
101627         * lib/gl_anyhash_list2.h: Likewise.
101628         * lib/gl_anylinked_list1.h: Likewise.
101629         * lib/gl_anylinked_list2.h: Likewise.
101630         * lib/gl_anyrbtree_list1.h: Likewise.
101631         * lib/gl_anyrbtree_list2.h: Likewise.
101632         * lib/gl_anytree_list1.h: Likewise.
101633         * lib/gl_anytree_list2.h: Likewise.
101634         * lib/gl_anytree_oset.h: Likewise.
101635         * lib/gl_anytreehash_list1.h: Likewise.
101636         * lib/gl_anytreehash_list2.h: Likewise.
101637         * lib/gl_array_list.c: Likewise.
101638         * lib/gl_array_list.h: Likewise.
101639         * lib/gl_array_oset.c: Likewise.
101640         * lib/gl_array_oset.h: Likewise.
101641         * lib/gl_avltree_list.c: Likewise.
101642         * lib/gl_avltree_list.h: Likewise.
101643         * lib/gl_avltree_oset.c: Likewise.
101644         * lib/gl_avltree_oset.h: Likewise.
101645         * lib/gl_avltreehash_list.c: Likewise.
101646         * lib/gl_avltreehash_list.h: Likewise.
101647         * lib/gl_carray_list.c: Likewise.
101648         * lib/gl_carray_list.h: Likewise.
101649         * lib/gl_linked_list.c: Likewise.
101650         * lib/gl_linked_list.h: Likewise.
101651         * lib/gl_linkedhash_list.c: Likewise.
101652         * lib/gl_linkedhash_list.h: Likewise.
101653         * lib/gl_list.c: Likewise.
101654         * lib/gl_list.h: Likewise.
101655         * lib/gl_oset.c: Likewise.
101656         * lib/gl_oset.h: Likewise.
101657         * lib/gl_rbtree_list.c: Likewise.
101658         * lib/gl_rbtree_list.h: Likewise.
101659         * lib/gl_rbtree_oset.c: Likewise.
101660         * lib/gl_rbtree_oset.h: Likewise.
101661         * lib/gl_rbtreehash_list.c: Likewise.
101662         * lib/gl_rbtreehash_list.h: Likewise.
101663         * lib/gl_sublist.c: Likewise.
101664         * lib/gl_sublist.h: Likewise.
101665         * lib/group-member.c: Likewise.
101666         * lib/group-member.h: Likewise.
101667         * lib/hard-locale.c: Likewise.
101668         * lib/hard-locale.h: Likewise.
101669         * lib/hash-pjw.c: Likewise.
101670         * lib/hash-pjw.h: Likewise.
101671         * lib/hash-triple.c: Likewise.
101672         * lib/hash.c: Likewise.
101673         * lib/hash.h: Likewise.
101674         * lib/human.c: Likewise.
101675         * lib/human.h: Likewise.
101676         * lib/i-ring.c: Likewise.
101677         * lib/i-ring.h: Likewise.
101678         * lib/idcache.c: Likewise.
101679         * lib/imaxabs.c: Likewise.
101680         * lib/imaxdiv.c: Likewise.
101681         * lib/inet_pton.c: Likewise.
101682         * lib/inet_pton.h: Likewise.
101683         * lib/intprops.h: Likewise.
101684         * lib/inttostr.c: Likewise.
101685         * lib/inttostr.h: Likewise.
101686         * lib/inttypes.in.h: Likewise.
101687         * lib/isapipe.c: Likewise.
101688         * lib/isdir.c: Likewise.
101689         * lib/isnan.c: Likewise.
101690         * lib/isnan.h: Likewise.
101691         * lib/isnanf.c: Likewise.
101692         * lib/isnanf.h: Likewise.
101693         * lib/isnanl-nolibm.h: Likewise.
101694         * lib/isnanl.c: Likewise.
101695         * lib/isnanl.h: Likewise.
101696         * lib/javacomp.c: Likewise.
101697         * lib/javacomp.h: Likewise.
101698         * lib/javaexec.c: Likewise.
101699         * lib/javaexec.h: Likewise.
101700         * lib/javaversion.c: Likewise.
101701         * lib/javaversion.h: Likewise.
101702         * lib/javaversion.java: Likewise.
101703         * lib/lbrkprop.h: Likewise.
101704         * lib/lchmod.h: Likewise.
101705         * lib/lchown.c: Likewise.
101706         * lib/ldexpl.c: Likewise.
101707         * lib/linebreak.c: Likewise.
101708         * lib/linebreak.h: Likewise.
101709         * lib/linebuffer.c: Likewise.
101710         * lib/linebuffer.h: Likewise.
101711         * lib/locale.in.h: Likewise.
101712         * lib/logl.c: Likewise.
101713         * lib/long-options.c: Likewise.
101714         * lib/long-options.h: Likewise.
101715         * lib/lstat.c: Likewise.
101716         * lib/lstat.h: Likewise.
101717         * lib/math.in.h: Likewise.
101718         * lib/mbchar.c: Likewise.
101719         * lib/mbchar.h: Likewise.
101720         * lib/mbfile.h: Likewise.
101721         * lib/mbiter.h: Likewise.
101722         * lib/mbscasecmp.c: Likewise.
101723         * lib/mbscasestr.c: Likewise.
101724         * lib/mbschr.c: Likewise.
101725         * lib/mbscspn.c: Likewise.
101726         * lib/mbslen.c: Likewise.
101727         * lib/mbsncasecmp.c: Likewise.
101728         * lib/mbsnlen.c: Likewise.
101729         * lib/mbspbrk.c: Likewise.
101730         * lib/mbspcasecmp.c: Likewise.
101731         * lib/mbsrchr.c: Likewise.
101732         * lib/mbssep.c: Likewise.
101733         * lib/mbsspn.c: Likewise.
101734         * lib/mbsstr.c: Likewise.
101735         * lib/mbstok_r.c: Likewise.
101736         * lib/mbswidth.c: Likewise.
101737         * lib/mbswidth.h: Likewise.
101738         * lib/mbuiter.h: Likewise.
101739         * lib/memcasecmp.c: Likewise.
101740         * lib/memcasecmp.h: Likewise.
101741         * lib/memchr.c: Likewise.
101742         * lib/memcmp.c: Likewise.
101743         * lib/memcoll.c: Likewise.
101744         * lib/memcoll.h: Likewise.
101745         * lib/memcpy.c: Likewise.
101746         * lib/memrchr.c: Likewise.
101747         * lib/mkancesdirs.c: Likewise.
101748         * lib/mkdir-p.c: Likewise.
101749         * lib/mkdir-p.h: Likewise.
101750         * lib/mkdir.c: Likewise.
101751         * lib/mkdirat.c: Likewise.
101752         * lib/mkdtemp.c: Likewise.
101753         * lib/mkstemp-safer.c: Likewise.
101754         * lib/mkstemp.c: Likewise.
101755         * lib/modechange.c: Likewise.
101756         * lib/modechange.h: Likewise.
101757         * lib/mountlist.c: Likewise.
101758         * lib/mountlist.h: Likewise.
101759         * lib/mpsort.c: Likewise.
101760         * lib/nanosleep.c: Likewise.
101761         * lib/obstack.c: Likewise.
101762         * lib/obstack.h: Likewise.
101763         * lib/open-safer.c: Likewise.
101764         * lib/open.c: Likewise.
101765         * lib/openat-die.c: Likewise.
101766         * lib/openat-priv.h: Likewise.
101767         * lib/openat-proc.c: Likewise.
101768         * lib/openat.c: Likewise.
101769         * lib/openat.h: Likewise.
101770         * lib/pagealign_alloc.c: Likewise.
101771         * lib/pagealign_alloc.h: Likewise.
101772         * lib/physmem.c: Likewise.
101773         * lib/physmem.h: Likewise.
101774         * lib/pipe-safer.c: Likewise.
101775         * lib/pipe.c: Likewise.
101776         * lib/pipe.h: Likewise.
101777         * lib/posixtm.c: Likewise.
101778         * lib/posixtm.h: Likewise.
101779         * lib/posixver.c: Likewise.
101780         * lib/printf-frexp.c: Likewise.
101781         * lib/printf-frexp.h: Likewise.
101782         * lib/printf-frexpl.c: Likewise.
101783         * lib/printf-frexpl.h: Likewise.
101784         * lib/printf.c: Likewise.
101785         * lib/progname.c: Likewise.
101786         * lib/progname.h: Likewise.
101787         * lib/progreloc.c: Likewise.
101788         * lib/putenv.c: Likewise.
101789         * lib/quote.c: Likewise.
101790         * lib/quote.h: Likewise.
101791         * lib/quotearg.c: Likewise.
101792         * lib/quotearg.h: Likewise.
101793         * lib/raise.c: Likewise.
101794         * lib/readline.c: Likewise.
101795         * lib/readline.h: Likewise.
101796         * lib/readlink.c: Likewise.
101797         * lib/readtokens.c: Likewise.
101798         * lib/readtokens.h: Likewise.
101799         * lib/readtokens0.c: Likewise.
101800         * lib/readtokens0.h: Likewise.
101801         * lib/readutmp.c: Likewise.
101802         * lib/readutmp.h: Likewise.
101803         * lib/realloc.c: Likewise.
101804         * lib/relocwrapper.c: Likewise.
101805         * lib/rename-dest-slash.c: Likewise.
101806         * lib/rename.c: Likewise.
101807         * lib/rmdir.c: Likewise.
101808         * lib/rpmatch.c: Likewise.
101809         * lib/safe-read.c: Likewise.
101810         * lib/safe-read.h: Likewise.
101811         * lib/safe-write.c: Likewise.
101812         * lib/safe-write.h: Likewise.
101813         * lib/same-inode.h: Likewise.
101814         * lib/same.c: Likewise.
101815         * lib/same.h: Likewise.
101816         * lib/save-cwd.c: Likewise.
101817         * lib/save-cwd.h: Likewise.
101818         * lib/savedir.c: Likewise.
101819         * lib/savedir.h: Likewise.
101820         * lib/savewd.c: Likewise.
101821         * lib/savewd.h: Likewise.
101822         * lib/search.in.h: Likewise.
101823         * lib/setenv.c: Likewise.
101824         * lib/setenv.h: Likewise.
101825         * lib/settime.c: Likewise.
101826         * lib/sh-quote.c: Likewise.
101827         * lib/sh-quote.h: Likewise.
101828         * lib/sig2str.c: Likewise.
101829         * lib/sig2str.h: Likewise.
101830         * lib/signal.in.h: Likewise.
101831         * lib/signbitd.c: Likewise.
101832         * lib/signbitf.c: Likewise.
101833         * lib/signbitl.c: Likewise.
101834         * lib/sigprocmask.c: Likewise.
101835         * lib/sincosl.c: Likewise.
101836         * lib/sleep.c: Likewise.
101837         * lib/sprintf.c: Likewise.
101838         * lib/sqrtl.c: Likewise.
101839         * lib/stat-time.h: Likewise.
101840         * lib/stdio--.h: Likewise.
101841         * lib/stdio-safer.h: Likewise.
101842         * lib/stdlib--.h: Likewise.
101843         * lib/stdlib-safer.h: Likewise.
101844         * lib/stdlib.in.h: Likewise.
101845         * lib/stpcpy.c: Likewise.
101846         * lib/stpncpy.c: Likewise.
101847         * lib/strchrnul.c: Likewise.
101848         * lib/strcspn.c: Likewise.
101849         * lib/strerror.c: Likewise.
101850         * lib/strftime.c: Likewise.
101851         * lib/strftime.h: Likewise.
101852         * lib/striconveh.c: Likewise.
101853         * lib/striconveh.h: Likewise.
101854         * lib/striconveha.c: Likewise.
101855         * lib/striconveha.h: Likewise.
101856         * lib/stripslash.c: Likewise.
101857         * lib/strnlen1.c: Likewise.
101858         * lib/strnlen1.h: Likewise.
101859         * lib/strtod.c: Likewise.
101860         * lib/strtoimax.c: Likewise.
101861         * lib/strtok_r.c: Likewise.
101862         * lib/strtol.c: Likewise.
101863         * lib/strtoll.c: Likewise.
101864         * lib/strtoul.c: Likewise.
101865         * lib/strtoull.c: Likewise.
101866         * lib/sysexits.in.h: Likewise.
101867         * lib/tempname.c: Likewise.
101868         * lib/tempname.h: Likewise.
101869         * lib/timespec.h: Likewise.
101870         * lib/tls.c: Likewise.
101871         * lib/tls.h: Likewise.
101872         * lib/tmpdir.c: Likewise.
101873         * lib/tmpdir.h: Likewise.
101874         * lib/tmpfile-safer.c: Likewise.
101875         * lib/tmpfile.c: Likewise.
101876         * lib/trigl.c: Likewise.
101877         * lib/trigl.h: Likewise.
101878         * lib/trim.c: Likewise.
101879         * lib/trim.h: Likewise.
101880         * lib/trunc.c: Likewise.
101881         * lib/truncf.c: Likewise.
101882         * lib/truncl.c: Likewise.
101883         * lib/tsearch.c: Likewise.
101884         * lib/unicodeio.c: Likewise.
101885         * lib/unicodeio.h: Likewise.
101886         * lib/unistd--.h: Likewise.
101887         * lib/unistd-safer.h: Likewise.
101888         * lib/unistdio/ulc-fprintf.c: Likewise.
101889         * lib/unistdio/ulc-vfprintf.c: Likewise.
101890         * lib/unlinkdir.c: Likewise.
101891         * lib/unlinkdir.h: Likewise.
101892         * lib/unlocked-io.h: Likewise.
101893         * lib/unsetenv.c: Likewise.
101894         * lib/userspec.c: Likewise.
101895         * lib/utime.c: Likewise.
101896         * lib/utimecmp.c: Likewise.
101897         * lib/utimecmp.h: Likewise.
101898         * lib/utimens.c: Likewise.
101899         * lib/verify.h: Likewise.
101900         * lib/verror.c: Likewise.
101901         * lib/verror.h: Likewise.
101902         * lib/version-etc-fsf.c: Likewise.
101903         * lib/version-etc.c: Likewise.
101904         * lib/version-etc.h: Likewise.
101905         * lib/vfprintf.c: Likewise.
101906         * lib/vprintf.c: Likewise.
101907         * lib/vsprintf.c: Likewise.
101908         * lib/w32spawn.h: Likewise.
101909         * lib/wait-process.c: Likewise.
101910         * lib/wait-process.h: Likewise.
101911         * lib/wcwidth.c: Likewise.
101912         * lib/write-any-file.c: Likewise.
101913         * lib/xalloc-die.c: Likewise.
101914         * lib/xalloc.h: Likewise.
101915         * lib/xasprintf.c: Likewise.
101916         * lib/xgetcwd.c: Likewise.
101917         * lib/xgetcwd.h: Likewise.
101918         * lib/xgetdomainname.c: Likewise.
101919         * lib/xgetdomainname.h: Likewise.
101920         * lib/xgethostname.c: Likewise.
101921         * lib/xmalloc.c: Likewise.
101922         * lib/xmalloca.c: Likewise.
101923         * lib/xmalloca.h: Likewise.
101924         * lib/xmemcoll.c: Likewise.
101925         * lib/xnanosleep.c: Likewise.
101926         * lib/xreadlink.c: Likewise.
101927         * lib/xreadlink.h: Likewise.
101928         * lib/xsetenv.c: Likewise.
101929         * lib/xsetenv.h: Likewise.
101930         * lib/xstriconv.c: Likewise.
101931         * lib/xstriconv.h: Likewise.
101932         * lib/xstrndup.c: Likewise.
101933         * lib/xstrndup.h: Likewise.
101934         * lib/xstrtod.c: Likewise.
101935         * lib/xstrtod.h: Likewise.
101936         * lib/xstrtol-error.c: Likewise.
101937         * lib/xstrtol.c: Likewise.
101938         * lib/xstrtol.h: Likewise.
101939         * lib/xtime.h: Likewise.
101940         * lib/xvasprintf.c: Likewise.
101941         * lib/xvasprintf.h: Likewise.
101942         * lib/yesno.c: Likewise.
101943         * lib/yesno.h: Likewise.
101944         * posix-modules: Likewise.
101945         * tests/test-alloca-opt.c: Likewise.
101946         * tests/test-arcfour.c: Likewise.
101947         * tests/test-arctwo.c: Likewise.
101948         * tests/test-argmatch.c: Likewise.
101949         * tests/test-argp-2.sh: Likewise.
101950         * tests/test-argp.c: Likewise.
101951         * tests/test-arpa_inet.c: Likewise.
101952         * tests/test-array_list.c: Likewise.
101953         * tests/test-array_oset.c: Likewise.
101954         * tests/test-atexit.c: Likewise.
101955         * tests/test-avltree_list.c: Likewise.
101956         * tests/test-avltree_oset.c: Likewise.
101957         * tests/test-avltreehash_list.c: Likewise.
101958         * tests/test-base64.c: Likewise.
101959         * tests/test-binary-io.c: Likewise.
101960         * tests/test-byteswap.c: Likewise.
101961         * tests/test-c-ctype.c: Likewise.
101962         * tests/test-c-strcasecmp.c: Likewise.
101963         * tests/test-c-strcasestr.c: Likewise.
101964         * tests/test-c-strncasecmp.c: Likewise.
101965         * tests/test-c-strstr.c: Likewise.
101966         * tests/test-canonicalize-lgpl.c: Likewise.
101967         * tests/test-canonicalize.c: Likewise.
101968         * tests/test-carray_list.c: Likewise.
101969         * tests/test-ceilf.c: Likewise.
101970         * tests/test-ceill.c: Likewise.
101971         * tests/test-count-one-bits.c: Likewise.
101972         * tests/test-crc.c: Likewise.
101973         * tests/test-dirname.c: Likewise.
101974         * tests/test-fbufmode.c: Likewise.
101975         * tests/test-fcntl.c: Likewise.
101976         * tests/test-fflush.c: Likewise.
101977         * tests/test-floorf.c: Likewise.
101978         * tests/test-floorl.c: Likewise.
101979         * tests/test-fopen.c: Likewise.
101980         * tests/test-fprintf-posix.c: Likewise.
101981         * tests/test-fprintf-posix.h: Likewise.
101982         * tests/test-fpurge.c: Likewise.
101983         * tests/test-freadable.c: Likewise.
101984         * tests/test-freadahead.c: Likewise.
101985         * tests/test-freading.c: Likewise.
101986         * tests/test-freopen.c: Likewise.
101987         * tests/test-frexp.c: Likewise.
101988         * tests/test-frexpl.c: Likewise.
101989         * tests/test-fseek.c: Likewise.
101990         * tests/test-fseeko.c: Likewise.
101991         * tests/test-fseterr.c: Likewise.
101992         * tests/test-fstrcmp.c: Likewise.
101993         * tests/test-ftell.c: Likewise.
101994         * tests/test-ftello.c: Likewise.
101995         * tests/test-fwritable.c: Likewise.
101996         * tests/test-fwriting.c: Likewise.
101997         * tests/test-getaddrinfo.c: Likewise.
101998         * tests/test-getpass.c: Likewise.
101999         * tests/test-gettimeofday.c: Likewise.
102000         * tests/test-hmac-md5.c: Likewise.
102001         * tests/test-hmac-sha1.c: Likewise.
102002         * tests/test-iconv.c: Likewise.
102003         * tests/test-iconvme.c: Likewise.
102004         * tests/test-inttypes.c: Likewise.
102005         * tests/test-isnan.c: Likewise.
102006         * tests/test-isnanf.c: Likewise.
102007         * tests/test-isnanl-nolibm.c: Likewise.
102008         * tests/test-isnanl.c: Likewise.
102009         * tests/test-isnanl.h: Likewise.
102010         * tests/test-ldexpl.c: Likewise.
102011         * tests/test-linked_list.c: Likewise.
102012         * tests/test-linkedhash_list.c: Likewise.
102013         * tests/test-locale.c: Likewise.
102014         * tests/test-localename.c: Likewise.
102015         * tests/test-lock.c: Likewise.
102016         * tests/test-lseek.c: Likewise.
102017         * tests/test-malloca.c: Likewise.
102018         * tests/test-math.c: Likewise.
102019         * tests/test-mbscasecmp.c: Likewise.
102020         * tests/test-mbscasestr1.c: Likewise.
102021         * tests/test-mbscasestr2.c: Likewise.
102022         * tests/test-mbscasestr3.c: Likewise.
102023         * tests/test-mbscasestr4.c: Likewise.
102024         * tests/test-mbschr.c: Likewise.
102025         * tests/test-mbscspn.c: Likewise.
102026         * tests/test-mbsncasecmp.c: Likewise.
102027         * tests/test-mbspbrk.c: Likewise.
102028         * tests/test-mbspcasecmp.c: Likewise.
102029         * tests/test-mbsrchr.c: Likewise.
102030         * tests/test-mbsspn.c: Likewise.
102031         * tests/test-mbsstr1.c: Likewise.
102032         * tests/test-mbsstr2.c: Likewise.
102033         * tests/test-mbsstr3.c: Likewise.
102034         * tests/test-md5.c: Likewise.
102035         * tests/test-memmem.c: Likewise.
102036         * tests/test-netinet_in.c: Likewise.
102037         * tests/test-open.c: Likewise.
102038         * tests/test-printf-frexp.c: Likewise.
102039         * tests/test-printf-frexpl.c: Likewise.
102040         * tests/test-printf-posix.c: Likewise.
102041         * tests/test-printf-posix.h: Likewise.
102042         * tests/test-rbtree_list.c: Likewise.
102043         * tests/test-rbtree_oset.c: Likewise.
102044         * tests/test-rbtreehash_list.c: Likewise.
102045         * tests/test-read-file.c: Likewise.
102046         * tests/test-rijndael.c: Likewise.
102047         * tests/test-search.c: Likewise.
102048         * tests/test-signbit.c: Likewise.
102049         * tests/test-sleep.c: Likewise.
102050         * tests/test-snprintf-posix.c: Likewise.
102051         * tests/test-snprintf-posix.h: Likewise.
102052         * tests/test-snprintf.c: Likewise.
102053         * tests/test-sprintf-posix.c: Likewise.
102054         * tests/test-sprintf-posix.h: Likewise.
102055         * tests/test-stat-time.c: Likewise.
102056         * tests/test-stdbool.c: Likewise.
102057         * tests/test-stdint.c: Likewise.
102058         * tests/test-stdio.c: Likewise.
102059         * tests/test-stdlib.c: Likewise.
102060         * tests/test-stpncpy.c: Likewise.
102061         * tests/test-strcasestr.c: Likewise.
102062         * tests/test-striconv.c: Likewise.
102063         * tests/test-striconveh.c: Likewise.
102064         * tests/test-striconveha.c: Likewise.
102065         * tests/test-string.c: Likewise.
102066         * tests/test-sys_select.c: Likewise.
102067         * tests/test-sys_socket.c: Likewise.
102068         * tests/test-sys_stat.c: Likewise.
102069         * tests/test-sys_time.c: Likewise.
102070         * tests/test-sysexits.c: Likewise.
102071         * tests/test-time.c: Likewise.
102072         * tests/test-tls.c: Likewise.
102073         * tests/test-trunc.c: Likewise.
102074         * tests/test-truncf.c: Likewise.
102075         * tests/test-truncl.c: Likewise.
102076         * tests/test-unistd.c: Likewise.
102077         * tests/test-vasnprintf-posix.c: Likewise.
102078         * tests/test-vasnprintf-posix2.c: Likewise.
102079         * tests/test-vasnprintf.c: Likewise.
102080         * tests/test-vasprintf-posix.c: Likewise.
102081         * tests/test-vasprintf.c: Likewise.
102082         * tests/test-verify.c: Likewise.
102083         * tests/test-vfprintf-posix.c: Likewise.
102084         * tests/test-vprintf-posix.c: Likewise.
102085         * tests/test-vsnprintf-posix.c: Likewise.
102086         * tests/test-vsnprintf.c: Likewise.
102087         * tests/test-vsprintf-posix.c: Likewise.
102088         * tests/test-wchar.c: Likewise.
102089         * tests/test-wctype.c: Likewise.
102090         * tests/test-wcwidth.c: Likewise.
102091         * tests/test-xstrtol.c: Likewise.
102092         * tests/test-xvasprintf.c: Likewise.
102093         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
102094         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
102095         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
102096         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
102097         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
102098         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
102099         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
102100         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
102101         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
102102         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
102103         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
102104         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
102105         * tests/uniname/test-uninames.c: Likewise.
102106         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
102107         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
102108         * tests/unistdio/test-u16-printf1.h: Likewise.
102109         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
102110         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
102111         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
102112         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
102113         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
102114         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
102115         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
102116         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
102117         * tests/unistdio/test-u32-printf1.h: Likewise.
102118         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
102119         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
102120         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
102121         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
102122         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
102123         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
102124         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
102125         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
102126         * tests/unistdio/test-u8-printf1.h: Likewise.
102127         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
102128         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
102129         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
102130         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
102131         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
102132         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
102133         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
102134         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
102135         * tests/unistdio/test-ulc-printf1.h: Likewise.
102136         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
102137         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
102138         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
102139         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
102140         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
102141         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
102142         * tests/uniwidth/test-u16-strwidth.c: Likewise.
102143         * tests/uniwidth/test-u16-width.c: Likewise.
102144         * tests/uniwidth/test-u32-strwidth.c: Likewise.
102145         * tests/uniwidth/test-u32-width.c: Likewise.
102146         * tests/uniwidth/test-u8-strwidth.c: Likewise.
102147         * tests/uniwidth/test-u8-width.c: Likewise.
102148         * tests/uniwidth/test-uc_width.c: Likewise.
102149         * config/srclist-update: Likewise.
102150         (fixlicense): Update to GPLv3+.
102152         Change copyright notice from LGPLv2.1+ to LGPLv3+.
102153         * tests/test-tsearch.c: Change copyright notice.
102155         Change copyright notice from LGPLv2.0+ to LGPLv3+.
102156         * lib/c-strcaseeq.h: Change copyright notice.
102157         * lib/streq.h: Likewise.
102158         * lib/uniconv.h: Likewise.
102159         * lib/uniconv/u-conv-from-enc.h: Likewise.
102160         * lib/uniconv/u-conv-to-enc.h: Likewise.
102161         * lib/uniconv/u-strconv-from-enc.h: Likewise.
102162         * lib/uniconv/u-strconv-to-enc.h: Likewise.
102163         * lib/uniconv/u16-conv-from-enc.c: Likewise.
102164         * lib/uniconv/u16-conv-to-enc.c: Likewise.
102165         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
102166         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
102167         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
102168         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
102169         * lib/uniconv/u32-conv-from-enc.c: Likewise.
102170         * lib/uniconv/u32-conv-to-enc.c: Likewise.
102171         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
102172         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
102173         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
102174         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
102175         * lib/uniconv/u8-conv-from-enc.c: Likewise.
102176         * lib/uniconv/u8-conv-to-enc.c: Likewise.
102177         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
102178         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
102179         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
102180         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
102181         * lib/uniname.h: Likewise.
102182         * lib/uniname/uniname.c: Likewise.
102183         * lib/unistdio.h: Likewise.
102184         * lib/unistdio/u-asnprintf.h: Likewise.
102185         * lib/unistdio/u-asprintf.h: Likewise.
102186         * lib/unistdio/u-printf-args.c: Likewise.
102187         * lib/unistdio/u-printf-args.h: Likewise.
102188         * lib/unistdio/u-printf-parse.h: Likewise.
102189         * lib/unistdio/u-snprintf.h: Likewise.
102190         * lib/unistdio/u-sprintf.h: Likewise.
102191         * lib/unistdio/u-vasprintf.h: Likewise.
102192         * lib/unistdio/u-vsnprintf.h: Likewise.
102193         * lib/unistdio/u-vsprintf.h: Likewise.
102194         * lib/unistdio/u16-asnprintf.c: Likewise.
102195         * lib/unistdio/u16-asprintf.c: Likewise.
102196         * lib/unistdio/u16-printf-parse.c: Likewise.
102197         * lib/unistdio/u16-snprintf.c: Likewise.
102198         * lib/unistdio/u16-sprintf.c: Likewise.
102199         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
102200         * lib/unistdio/u16-u16-asprintf.c: Likewise.
102201         * lib/unistdio/u16-u16-snprintf.c: Likewise.
102202         * lib/unistdio/u16-u16-sprintf.c: Likewise.
102203         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
102204         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
102205         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
102206         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
102207         * lib/unistdio/u16-vasnprintf.c: Likewise.
102208         * lib/unistdio/u16-vasprintf.c: Likewise.
102209         * lib/unistdio/u16-vsnprintf.c: Likewise.
102210         * lib/unistdio/u16-vsprintf.c: Likewise.
102211         * lib/unistdio/u32-asnprintf.c: Likewise.
102212         * lib/unistdio/u32-asprintf.c: Likewise.
102213         * lib/unistdio/u32-printf-parse.c: Likewise.
102214         * lib/unistdio/u32-snprintf.c: Likewise.
102215         * lib/unistdio/u32-sprintf.c: Likewise.
102216         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
102217         * lib/unistdio/u32-u32-asprintf.c: Likewise.
102218         * lib/unistdio/u32-u32-snprintf.c: Likewise.
102219         * lib/unistdio/u32-u32-sprintf.c: Likewise.
102220         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
102221         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
102222         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
102223         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
102224         * lib/unistdio/u32-vasnprintf.c: Likewise.
102225         * lib/unistdio/u32-vasprintf.c: Likewise.
102226         * lib/unistdio/u32-vsnprintf.c: Likewise.
102227         * lib/unistdio/u32-vsprintf.c: Likewise.
102228         * lib/unistdio/u8-asnprintf.c: Likewise.
102229         * lib/unistdio/u8-asprintf.c: Likewise.
102230         * lib/unistdio/u8-printf-parse.c: Likewise.
102231         * lib/unistdio/u8-snprintf.c: Likewise.
102232         * lib/unistdio/u8-sprintf.c: Likewise.
102233         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
102234         * lib/unistdio/u8-u8-asprintf.c: Likewise.
102235         * lib/unistdio/u8-u8-snprintf.c: Likewise.
102236         * lib/unistdio/u8-u8-sprintf.c: Likewise.
102237         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
102238         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
102239         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
102240         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
102241         * lib/unistdio/u8-vasnprintf.c: Likewise.
102242         * lib/unistdio/u8-vasprintf.c: Likewise.
102243         * lib/unistdio/u8-vsnprintf.c: Likewise.
102244         * lib/unistdio/u8-vsprintf.c: Likewise.
102245         * lib/unistdio/ulc-asnprintf.c: Likewise.
102246         * lib/unistdio/ulc-asprintf.c: Likewise.
102247         * lib/unistdio/ulc-printf-parse.c: Likewise.
102248         * lib/unistdio/ulc-snprintf.c: Likewise.
102249         * lib/unistdio/ulc-sprintf.c: Likewise.
102250         * lib/unistdio/ulc-vasnprintf.c: Likewise.
102251         * lib/unistdio/ulc-vasprintf.c: Likewise.
102252         * lib/unistdio/ulc-vsnprintf.c: Likewise.
102253         * lib/unistdio/ulc-vsprintf.c: Likewise.
102254         * lib/unistr.h: Likewise.
102255         * lib/unistr/u-cpy-alloc.h: Likewise.
102256         * lib/unistr/u-cpy.h: Likewise.
102257         * lib/unistr/u-endswith.h: Likewise.
102258         * lib/unistr/u-move.h: Likewise.
102259         * lib/unistr/u-set.h: Likewise.
102260         * lib/unistr/u-startswith.h: Likewise.
102261         * lib/unistr/u-stpcpy.h: Likewise.
102262         * lib/unistr/u-stpncpy.h: Likewise.
102263         * lib/unistr/u-strcat.h: Likewise.
102264         * lib/unistr/u-strcpy.h: Likewise.
102265         * lib/unistr/u-strcspn.h: Likewise.
102266         * lib/unistr/u-strdup.h: Likewise.
102267         * lib/unistr/u-strlen.h: Likewise.
102268         * lib/unistr/u-strncat.h: Likewise.
102269         * lib/unistr/u-strncpy.h: Likewise.
102270         * lib/unistr/u-strnlen.h: Likewise.
102271         * lib/unistr/u-strpbrk.h: Likewise.
102272         * lib/unistr/u-strspn.h: Likewise.
102273         * lib/unistr/u-strstr.h: Likewise.
102274         * lib/unistr/u-strtok.h: Likewise.
102275         * lib/unistr/u16-check.c: Likewise.
102276         * lib/unistr/u16-chr.c: Likewise.
102277         * lib/unistr/u16-cmp.c: Likewise.
102278         * lib/unistr/u16-cpy-alloc.c: Likewise.
102279         * lib/unistr/u16-cpy.c: Likewise.
102280         * lib/unistr/u16-endswith.c: Likewise.
102281         * lib/unistr/u16-mblen.c: Likewise.
102282         * lib/unistr/u16-mbsnlen.c: Likewise.
102283         * lib/unistr/u16-mbtouc-aux.c: Likewise.
102284         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
102285         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
102286         * lib/unistr/u16-mbtouc.c: Likewise.
102287         * lib/unistr/u16-mbtoucr.c: Likewise.
102288         * lib/unistr/u16-move.c: Likewise.
102289         * lib/unistr/u16-next.c: Likewise.
102290         * lib/unistr/u16-prev.c: Likewise.
102291         * lib/unistr/u16-set.c: Likewise.
102292         * lib/unistr/u16-startswith.c: Likewise.
102293         * lib/unistr/u16-stpcpy.c: Likewise.
102294         * lib/unistr/u16-stpncpy.c: Likewise.
102295         * lib/unistr/u16-strcat.c: Likewise.
102296         * lib/unistr/u16-strchr.c: Likewise.
102297         * lib/unistr/u16-strcmp.c: Likewise.
102298         * lib/unistr/u16-strcpy.c: Likewise.
102299         * lib/unistr/u16-strcspn.c: Likewise.
102300         * lib/unistr/u16-strdup.c: Likewise.
102301         * lib/unistr/u16-strlen.c: Likewise.
102302         * lib/unistr/u16-strmblen.c: Likewise.
102303         * lib/unistr/u16-strmbtouc.c: Likewise.
102304         * lib/unistr/u16-strncat.c: Likewise.
102305         * lib/unistr/u16-strncmp.c: Likewise.
102306         * lib/unistr/u16-strncpy.c: Likewise.
102307         * lib/unistr/u16-strnlen.c: Likewise.
102308         * lib/unistr/u16-strpbrk.c: Likewise.
102309         * lib/unistr/u16-strrchr.c: Likewise.
102310         * lib/unistr/u16-strspn.c: Likewise.
102311         * lib/unistr/u16-strstr.c: Likewise.
102312         * lib/unistr/u16-strtok.c: Likewise.
102313         * lib/unistr/u16-to-u32.c: Likewise.
102314         * lib/unistr/u16-to-u8.c: Likewise.
102315         * lib/unistr/u16-uctomb-aux.c: Likewise.
102316         * lib/unistr/u16-uctomb.c: Likewise.
102317         * lib/unistr/u32-check.c: Likewise.
102318         * lib/unistr/u32-chr.c: Likewise.
102319         * lib/unistr/u32-cmp.c: Likewise.
102320         * lib/unistr/u32-cpy-alloc.c: Likewise.
102321         * lib/unistr/u32-cpy.c: Likewise.
102322         * lib/unistr/u32-endswith.c: Likewise.
102323         * lib/unistr/u32-mblen.c: Likewise.
102324         * lib/unistr/u32-mbsnlen.c: Likewise.
102325         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
102326         * lib/unistr/u32-mbtouc.c: Likewise.
102327         * lib/unistr/u32-mbtoucr.c: Likewise.
102328         * lib/unistr/u32-move.c: Likewise.
102329         * lib/unistr/u32-next.c: Likewise.
102330         * lib/unistr/u32-prev.c: Likewise.
102331         * lib/unistr/u32-set.c: Likewise.
102332         * lib/unistr/u32-startswith.c: Likewise.
102333         * lib/unistr/u32-stpcpy.c: Likewise.
102334         * lib/unistr/u32-stpncpy.c: Likewise.
102335         * lib/unistr/u32-strcat.c: Likewise.
102336         * lib/unistr/u32-strchr.c: Likewise.
102337         * lib/unistr/u32-strcmp.c: Likewise.
102338         * lib/unistr/u32-strcpy.c: Likewise.
102339         * lib/unistr/u32-strcspn.c: Likewise.
102340         * lib/unistr/u32-strdup.c: Likewise.
102341         * lib/unistr/u32-strlen.c: Likewise.
102342         * lib/unistr/u32-strmblen.c: Likewise.
102343         * lib/unistr/u32-strmbtouc.c: Likewise.
102344         * lib/unistr/u32-strncat.c: Likewise.
102345         * lib/unistr/u32-strncmp.c: Likewise.
102346         * lib/unistr/u32-strncpy.c: Likewise.
102347         * lib/unistr/u32-strnlen.c: Likewise.
102348         * lib/unistr/u32-strpbrk.c: Likewise.
102349         * lib/unistr/u32-strrchr.c: Likewise.
102350         * lib/unistr/u32-strspn.c: Likewise.
102351         * lib/unistr/u32-strstr.c: Likewise.
102352         * lib/unistr/u32-strtok.c: Likewise.
102353         * lib/unistr/u32-to-u16.c: Likewise.
102354         * lib/unistr/u32-to-u8.c: Likewise.
102355         * lib/unistr/u32-uctomb.c: Likewise.
102356         * lib/unistr/u8-check.c: Likewise.
102357         * lib/unistr/u8-chr.c: Likewise.
102358         * lib/unistr/u8-cmp.c: Likewise.
102359         * lib/unistr/u8-cpy-alloc.c: Likewise.
102360         * lib/unistr/u8-cpy.c: Likewise.
102361         * lib/unistr/u8-endswith.c: Likewise.
102362         * lib/unistr/u8-mblen.c: Likewise.
102363         * lib/unistr/u8-mbsnlen.c: Likewise.
102364         * lib/unistr/u8-mbtouc-aux.c: Likewise.
102365         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
102366         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
102367         * lib/unistr/u8-mbtouc.c: Likewise.
102368         * lib/unistr/u8-mbtoucr.c: Likewise.
102369         * lib/unistr/u8-move.c: Likewise.
102370         * lib/unistr/u8-next.c: Likewise.
102371         * lib/unistr/u8-prev.c: Likewise.
102372         * lib/unistr/u8-set.c: Likewise.
102373         * lib/unistr/u8-startswith.c: Likewise.
102374         * lib/unistr/u8-stpcpy.c: Likewise.
102375         * lib/unistr/u8-stpncpy.c: Likewise.
102376         * lib/unistr/u8-strcat.c: Likewise.
102377         * lib/unistr/u8-strchr.c: Likewise.
102378         * lib/unistr/u8-strcmp.c: Likewise.
102379         * lib/unistr/u8-strcpy.c: Likewise.
102380         * lib/unistr/u8-strcspn.c: Likewise.
102381         * lib/unistr/u8-strdup.c: Likewise.
102382         * lib/unistr/u8-strlen.c: Likewise.
102383         * lib/unistr/u8-strmblen.c: Likewise.
102384         * lib/unistr/u8-strmbtouc.c: Likewise.
102385         * lib/unistr/u8-strncat.c: Likewise.
102386         * lib/unistr/u8-strncmp.c: Likewise.
102387         * lib/unistr/u8-strncpy.c: Likewise.
102388         * lib/unistr/u8-strnlen.c: Likewise.
102389         * lib/unistr/u8-strpbrk.c: Likewise.
102390         * lib/unistr/u8-strrchr.c: Likewise.
102391         * lib/unistr/u8-strspn.c: Likewise.
102392         * lib/unistr/u8-strstr.c: Likewise.
102393         * lib/unistr/u8-strtok.c: Likewise.
102394         * lib/unistr/u8-to-u16.c: Likewise.
102395         * lib/unistr/u8-to-u32.c: Likewise.
102396         * lib/unistr/u8-uctomb-aux.c: Likewise.
102397         * lib/unistr/u8-uctomb.c: Likewise.
102398         * lib/unitypes.h: Likewise.
102399         * lib/uniwidth.h: Likewise.
102400         * lib/uniwidth/cjk.h: Likewise.
102401         * lib/uniwidth/u16-strwidth.c: Likewise.
102402         * lib/uniwidth/u16-width.c: Likewise.
102403         * lib/uniwidth/u32-strwidth.c: Likewise.
102404         * lib/uniwidth/u32-width.c: Likewise.
102405         * lib/uniwidth/u8-strwidth.c: Likewise.
102406         * lib/uniwidth/u8-width.c: Likewise.
102407         * lib/uniwidth/width.c: Likewise.
102409 2007-10-07  Bruno Haible  <bruno@clisp.org>
102411         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
102412         The file is still under LGPL (see modules/inttypes).
102414 2007-10-06  Bruno Haible  <bruno@clisp.org>
102416         * modules/trunc (Dependencies): Add 'extensions'.
102417         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
102418         Reported by Ben Pfaff <blp@gnu.org>.
102420 2007-10-06  Bruno Haible  <bruno@clisp.org>
102422         * modules/freopen-tests: New file.
102423         * tests/test-freopen.c: New file.
102425         * modules/fopen-tests: New file.
102426         * tests/test-fopen.c: New file.
102428         * modules/fopen: New file.
102429         * lib/fopen.c: New file.
102430         * m4/fopen.m4: New file.
102431         * modules/freopen: New file.
102432         * lib/freopen.c: New file.
102433         * m4/freopen.m4: New file.
102434         * lib/stdio.in.h (fopen, freopen): New declarations.
102435         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
102436         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
102437         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
102438         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
102439         * doc/functions/fopen.texi: Mention the 'fopen' module.
102440         * doc/functions/freopen.texi: Mention the 'freopen' module.
102442 2007-10-06  Bruno Haible  <bruno@clisp.org>
102444         * modules/open-tests: New file.
102445         * tests/test-open.c: New file.
102447         * modules/open: New file.
102448         * lib/open.c: New file.
102449         * m4/open.m4: New file.
102450         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
102451         lib/open.c does.
102452         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
102453         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
102454         macros.
102455         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
102456         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
102457         REPLACE_OPEN.
102458         * doc/functions/open.texi: Mention the 'open' module.
102460 2007-10-04  Bruno Haible  <bruno@clisp.org>
102462         * modules/ceill-tests: New file.
102463         * tests/test-ceill.c: New file.
102465         * modules/ceill: New file.
102466         * lib/ceill.c: Replace entire file.
102467         * m4/ceill.m4: New file.
102468         * lib/math.in.h (ceill): Replace declaration.
102469         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
102470         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
102471         * doc/functions/ceill.texi: Mention the 'ceill' module.
102472         * modules/mathl (Files): Remove lib/ceill.c.
102473         (Depends-on): Add ceill.
102475 2007-10-04  Bruno Haible  <bruno@clisp.org>
102477         * modules/ceilf-tests: New file.
102478         * tests/test-ceilf.c: New file.
102480         * modules/ceilf: New file.
102481         * lib/ceil.c: New file.
102482         * lib/ceilf.c: New file.
102483         * m4/ceilf.m4: New file.
102484         * lib/math.in.h (ceilf): New declaration.
102485         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
102486         HAVE_DECL_CEILF.
102487         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
102488         HAVE_DECL_CEILF.
102489         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
102491 2007-10-04  Bruno Haible  <bruno@clisp.org>
102493         * modules/floorl-tests: New file.
102494         * tests/test-floorl.c: New file.
102496         * modules/floorl: New file.
102497         * lib/floorl.c: Replace entire file.
102498         * m4/floorl.m4: New file.
102499         * lib/math.in.h (floorl): Replace declaration.
102500         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
102501         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
102502         * doc/functions/floorl.texi: Mention the 'floorl' module.
102503         * modules/mathl (Files): Remove lib/floorl.c.
102504         (Depends-on): Add floorl.
102506 2007-10-04  Bruno Haible  <bruno@clisp.org>
102508         * modules/floorf-tests: New file.
102509         * tests/test-floorf.c: New file.
102511         * modules/floorf: New file.
102512         * lib/floor.c: New file.
102513         * lib/floorf.c: New file.
102514         * m4/floorf.m4: New file.
102515         * lib/math.in.h (floorf): New declaration.
102516         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
102517         HAVE_DECL_FLOORF.
102518         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
102519         HAVE_DECL_FLOORF.
102520         * doc/functions/floorf.texi: Mention the 'floorf' module.
102522 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
102523             Bruno Haible  <bruno@clisp.org>
102525         Advertise for the Git server instead of the CVS server.
102526         * doc/gnulib-intro.texi (Steady Development): Mention the Git
102527         repository instead of the CVS one.
102528         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
102529         about all VCS systems generically.
102530         * doc/gnulib.texi (Introduction): Capitalize `Git'.
102532 2007-10-04  Bruno Haible  <bruno@clisp.org>
102534         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
102535         means.
102536         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
102538 2007-10-04  Bruno Haible  <bruno@clisp.org>
102540         * modules/truncl-tests: New file.
102541         * tests/test-truncl.c: New file.
102543         * modules/truncl: New file.
102544         * lib/truncl.c: New file.
102545         * m4/truncl.m4: New file.
102546         * lib/math.in.h (truncl): New declaration.
102547         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
102548         HAVE_DECL_TRUNCL.
102549         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
102550         HAVE_DECL_TRUNCL.
102551         * doc/functions/truncl.texi: Mention the 'truncl' module.
102553 2007-10-04  Bruno Haible  <bruno@clisp.org>
102555         * modules/truncf-tests: New file.
102556         * tests/test-truncf.c: New file.
102558         * modules/truncf: New file.
102559         * lib/trunc.c: Make paramerizable through USE_* macros.
102560         * lib/truncf.c: New file.
102561         * m4/truncf.m4: New file.
102562         * lib/math.in.h (truncf): New declaration.
102563         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
102564         HAVE_DECL_TRUNCF.
102565         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
102566         HAVE_DECL_TRUNCF.
102567         * doc/functions/truncf.texi: Mention the 'truncf' module.
102569 2007-10-03  Bruno Haible  <bruno@clisp.org>
102571         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
102572         augmentation also for tests modules.
102573         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
102574         * modules/atexit-tests (Makefile.am): Likewise.
102575         * modules/binary-io-tests (Makefile.am): Likewise.
102576         * modules/c-strcase-tests (Makefile.am): Likewise.
102577         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
102578         * modules/canonicalize-tests (Makefile.am): Likewise.
102579         * modules/closein-tests (Makefile.am): Likewise.
102580         * modules/fprintf-posix-tests (Makefile.am): Likewise.
102581         * modules/freadahead-tests (Makefile.am): Likewise.
102582         * modules/fseek-tests (Makefile.am): Likewise.
102583         * modules/fseeko-tests (Makefile.am): Likewise.
102584         * modules/ftell-tests (Makefile.am): Likewise.
102585         * modules/ftello-tests (Makefile.am): Likewise.
102586         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
102587         * modules/isnanl-tests (Makefile.am): Likewise.
102588         * modules/lseek-tests (Makefile.am): Likewise.
102589         * modules/mbscasecmp-tests (Makefile.am): Likewise.
102590         * modules/mbscasestr-tests (Makefile.am): Likewise.
102591         * modules/mbschr-tests (Makefile.am): Likewise.
102592         * modules/mbscspn-tests (Makefile.am): Likewise.
102593         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
102594         * modules/mbspbrk-tests (Makefile.am): Likewise.
102595         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
102596         * modules/mbsrchr-tests (Makefile.am): Likewise.
102597         * modules/mbsspn-tests (Makefile.am): Likewise.
102598         * modules/mbsstr-tests (Makefile.am): Likewise.
102599         * modules/printf-posix-tests (Makefile.am): Likewise.
102600         * modules/snprintf-posix-tests (Makefile.am): Likewise.
102601         * modules/sprintf-posix-tests (Makefile.am): Likewise.
102602         * modules/tsearch-tests (Makefile.am): Likewise.
102603         * modules/uniname/uniname-tests (Makefile.am): Likewise.
102604         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
102605         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
102606         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
102607         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
102608         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
102609         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
102610         * modules/vprintf-posix-tests (Makefile.am): Likewise.
102611         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
102612         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
102613         * modules/xstrtoimax-tests (Makefile.am): Likewise.
102614         * modules/xstrtol-tests (Makefile.am): Likewise.
102615         * modules/xstrtoumax-tests (Makefile.am): Likewise.
102616         * modules/yesno-tests (Makefile.am): Likewise.
102618 2007-10-03  Bruno Haible  <bruno@clisp.org>
102620         * modules/trunc-tests: New file.
102621         * tests/test-trunc.c: New file.
102623         * modules/trunc: New file.
102624         * lib/trunc.c: New file.
102625         * m4/trunc.m4: New file.
102626         * lib/math.in.h (trunc): New declaration.
102627         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
102628         HAVE_DECL_TRUNC.
102629         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
102630         HAVE_DECL_TRUNC.
102631         * doc/functions/trunc.texi: Mention the 'trunc' module.
102633 2007-10-03  Bruno Haible  <bruno@clisp.org>
102635         * tests/test-fpending.c: New file, mostly copied
102636         from coreutils/lib/t-fpending.c.
102637         * modules/fpending-tests: New file.
102639 2007-10-03  Bruno Haible  <bruno@clisp.org>
102641         Port the stdio extensions to QNX (untested).
102642         * lib/fseterr.c (fseterr): Add support for QNX.
102643         * lib/fbufmode.c (fbufmode): Likewise.
102644         * lib/freadable.c (freadable): Likewise.
102645         * lib/fwritable.c (fwritable): Likewise.
102646         * lib/freading.c (freading): Likewise.
102647         * lib/fwriting.c (fwriting): Likewise.
102648         * lib/freadahead.c (freadahed): Likewise.
102649         * lib/fpurge.c (fpurge): Likewise.
102650         * lib/fseeko.c (rpl_fseeko): Likewise.
102652 2007-10-03  Bruno Haible  <bruno@clisp.org>
102653             Jim Meyering  <jim@meyering.net>
102654             Eric Blake  <ebb9@byu.net>
102656         * doc/relocatable.texi: Use @command instead of @program.
102658 2007-10-02  Jim Meyering  <jim@meyering.net>
102660         Perform one more "_.h" -> ".in.h" substitution.
102661         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
102662         instead of unistd_.h here, too.
102664 2007-10-01  Bruno Haible  <bruno@clisp.org>
102666         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
102667         Needed for the alloca-opt module.
102669 2007-09-30  Bruno Haible  <bruno@clisp.org>
102671         * lib/alloca.in.h: Renamed from lib/alloca_.h.
102672         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
102673         alloca_.h.
102674         * lib/argz.in.h: Renamed from lib/argz_.h.
102675         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
102676         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
102677         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
102678         byteswap_.h.
102679         * lib/dirent.in.h: Renamed from lib/dirent_.h.
102680         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
102681         dirent_.h.
102682         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
102683         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
102684         fcntl_.h.
102685         * lib/float.in.h: Renamed from lib/float_.h.
102686         * modules/float (Files, Makefile.am): Use float.in.h instead of
102687         float_.h.
102688         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
102689         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
102690         fnmatch_.h.
102691         * lib/getopt.in.h: Renamed from lib/getopt_.h.
102692         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
102693         getopt_.h.
102694         * lib/glob.in.h: Renamed from lib/glob_.h.
102695         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
102696         * lib/iconv.in.h: Renamed from lib/iconv_.h.
102697         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
102698         iconv_.h.
102699         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
102700         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
102701         inttypes_.h.
102702         * lib/locale.in.h: Renamed from lib/locale_.h.
102703         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
102704         locale_.h.
102705         * lib/math.in.h: Renamed from lib/math_.h.
102706         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
102707         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
102708         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
102709         of netinet_in_.h. Add dependency.
102710         * lib/poll.in.h: Renamed from lib/poll_.h.
102711         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
102712         * lib/search.in.h: Renamed from lib/search_.h.
102713         * modules/search (Files, Makefile.am): Use search.in.h instead of
102714         search_.h.
102715         * lib/signal.in.h: Renamed from lib/signal_.h.
102716         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
102717         _signal.h.
102718         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
102719         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
102720         stdbool_.h.
102721         * lib/stdint.in.h: Renamed from lib/stdint_.h.
102722         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
102723         stdint_.h.
102724         * lib/stdio.in.h: Renamed from lib/stdio_.h.
102725         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
102726         stdio_.h.
102727         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
102728         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
102729         stdlib_.h.
102730         * lib/string.in.h: Renamed from lib/string_.h.
102731         * modules/string (Files, Makefile.am): Use string.in.h instead of
102732         string_.h.
102733         * doc/gnulib-tool.texi (Initial import): Update.
102734         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
102735         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
102736         of sys_select_.h. Add dependency.
102737         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
102738         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
102739         of sys_socket_.h.
102740         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
102741         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
102742         sys_stat_.h.
102743         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
102744         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
102745         sys_time_.h.
102746         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
102747         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
102748         sysexits_.h.
102749         * lib/time.in.h: Renamed from lib/time_.h.
102750         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
102751         * lib/unistd.in.h: Renamed from lib/unistd_.h.
102752         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
102753         unistd_.h.
102754         * lib/wchar.in.h: Renamed from lib/wchar_.h.
102755         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
102756         wchar_.h.
102757         * lib/wctype.in.h: Renamed from lib/wctype_.h.
102758         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
102759         wctype_.h.
102760         * build-aux/bootstrap (slurp): Update.
102761         * lib/.cppi-disable: Update.
102763 2007-09-30  Bruno Haible  <bruno@clisp.org>
102765         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
102766         Needed on BeOS.
102768 2007-09-30  Bruno Haible  <bruno@clisp.org>
102770         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
102772 2007-09-29  Bruno Haible  <bruno@clisp.org>
102774         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
102776 2007-09-29  Bruno Haible  <bruno@clisp.org>
102778         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
102779         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
102780         * build-aux/install-reloc: Compile also areadlink.c.
102781         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
102783 2007-09-29  Bruno Haible  <bruno@clisp.org>
102785         * gnulib-tool (func_emit_initmacro_done): Indentation.
102787 2007-09-29  Bruno Haible  <bruno@clisp.org>
102789         * README: Add CVS checkout update instructions.
102790         Info from Bob Proulx <bob@proulx.com>.
102792 2007-09-28  Eric Blake  <ebb9@byu.net>
102794         Provide move-if-change.
102795         * build-aux/move-if-change: New file, based on best practice
102796         rather than any canonical upstream location.
102798 2007-09-28  Jim Meyering  <jim@meyering.net>
102800         Fix canonicalize loop-detection corner case.
102801         Do not attempt to stat the symlink values stored via seen_triple.
102802         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
102803         on linux-2.6.18, (but not 2.6.22).
102804         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
102805         triple_compare.  The former compares dev,ino,filename, while the latter
102806         would actually stat dirname(filename) when dev and ino were equal.
102807         * lib/hash-triple.c: Install <string.h>.
102808         (STREQ): Define.
102809         (triple_compare_ino_str): New function.
102810         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
102812 2007-09-28  Eric Blake  <ebb9@byu.net>
102814         Enforce that AC_REPLACE_FUNCS files exist.
102815         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
102816         override check for typos.
102818         Fix test-closein on Solaris 10.
102819         * tests/test-closein.c (main): Don't assume stdin can be inherited
102820         closed on all systems.
102821         * tests/test-closein.sh: Likewise.
102822         Reported by Piotr Tarnowski.
102824 2007-09-28  Jim Meyering  <jim@meyering.net>
102826         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
102828 2007-09-27  Jim Meyering  <jim@meyering.net>
102830         canonicalize: Avoid a false-positive cycle failure.
102831         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
102832         Sort.  Remove cycle-check.
102833         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
102834         not cycle-check.h.
102835         (seen_triple): New function.
102836         (canonicalize_filename_mode): Use it instead of cycle-check.
102837         * tests/test-canonicalize.c: Add a test for this bug.
102838         * tests/test-canonicalize.sh: Set up and run the test.
102840         New module, file-set, from coreutils.
102841         * modules/file-set: Define it.
102842         * lib/file-set.c, lib/file-set.h: Implement.
102844         New module, hash-triple, from coreutils.
102845         * modules/hash-triple: Define it.
102846         * lib/hash-triple.c, lib/hash-triple.h: Implement.
102848 2007-09-25  Eric Blake  <ebb9@byu.net>
102850         Fix strerror on Interix.
102851         * lib/string_.h (strerror): Declare replacement.
102852         * doc/functions/strerror.texi (strerror): Document the Interix
102853         shortcoming.
102854         * modules/string (Makefile.am): Support new hooks.
102855         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
102856         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
102857         gl_FUNC_STRERROR_SEPARATE.
102858         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
102859         * lib/strerror.c (rpl_strerror): Provide replacement.
102860         * modules/strerror (Depends-on): Add string.
102861         (configure.ac): Detect use of module.
102862         * tests/test-strerror.c: New file.
102863         * modules/strerror-tests: New test module.
102864         * modules/argp (Depends-on): Add strerror.
102865         * modules/error (Depends-on): Likewise.
102866         Reported by Martin Koeppe.
102868 2007-09-24  Bruno Haible  <bruno@clisp.org>
102870         * README: Update git instructions.
102872 2007-09-24  Eric Blake  <ebb9@byu.net>
102874         Revert fpending breakage from 2007-09-08.
102875         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
102876         __fpending.c.
102878 2007-09-24  Jim Meyering  <jim@meyering.net>
102880         filenamecat.c: Add a test.
102881         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
102882         showing how the function works when DIR is the empty string.
102884 2007-09-21  Simon Josefsson  <simon@josefsson.org>
102886         * tests/test-canonicalize.sh: Turn on executable bit.
102888 2007-09-19  Eric Blake  <ebb9@byu.net>
102890         * README: Update CVS instructions.
102892 2007-09-18  Bruno Haible  <bruno@clisp.org>
102894         * modules/areadlink: New file.
102895         * lib/areadlink.h (areadlink): New declaration.
102896         * lib/areadlink.c: New file, based on lib/xreadlink.c.
102898 2007-09-17  Jim Meyering  <jim@meyering.net>
102900         * lib/savewd.c (ESTALE) [!defined]: Define.
102901         Reported to be required on Interix by Martin Koeppe.
102903 2007-09-17  Bruno Haible  <bruno@clisp.org>
102905         * gnulib-tool (func_version): Use $version.
102907 2007-09-16  Bruno Haible  <bruno@clisp.org>
102909         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
102910         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
102911         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
102912         Reported by Greg Schafer <gschafer@zip.com.au>.
102914 2007-09-15  Bruno Haible  <bruno@clisp.org>
102916         * gnulib-tool (sed): Try a little harder to make bash understand the
102917         alias.
102918         Reported by Bruce Korb <bruce.korb@gmail.com>.
102920 2007-09-13  Eric Blake  <ebb9@byu.net>
102922         * ChangeLog: Remove conflict markers.
102924 2007-09-13  Simon Josefsson  <simon@josefsson.org>
102926         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
102927         Reported by Bruno Haible <bruno@clisp.org>.
102929 2007-09-12  Bruno Haible  <bruno@clisp.org>
102931         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
102932         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
102933         is not defined.
102935 2007-09-12  Eric Blake  <ebb9@byu.net>
102937         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
102938         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
102939         Autoconf definition.
102940         * modules/euidaccess (Depends-on): Add extensions, for
102941         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
102942         * modules/fnmatch (Depends-on): Likewise.
102943         * modules/getaddrinfo (Depends-on): Likewise.
102944         * modules/getdelim (Depends-on): Likewise.
102945         * modules/getline (Depends-on): Likewise.
102946         * modules/getsubopt (Depends-on): Likewise.
102947         * modules/gettext (Depends-on): Likewise.
102948         * modules/group-member (Depends-on): Likewise.
102949         * modules/mbchar (Depends-on): Likewise.
102950         * modules/memmem (Depends-on): Likewise.
102951         * modules/mempcpy (Depends-on): Likewise.
102952         * modules/memrchr (Depends-on): Likewise.
102953         * modules/pagealign_alloc (Depends-on): Likewise.
102954         * modules/readutmp (Depends-on): Likewise.
102955         * modules/stpcpy (Depends-on): Likewise.
102956         * modules/stpncpy (Depends-on): Likewise.
102957         * modules/strchrnul (Depends-on): Likewise.
102958         * modules/strndup (Depends-on): Likewise.
102959         * modules/strsep (Depends-on): Likewise.
102960         * modules/strverscmp (Depends-on): Likewise.
102961         * modules/vasprintf (Depends-on): Likewise.
102962         * modules/wcwidth (Depends-on): Likewise.
102963         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
102964         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
102965         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
102966         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
102967         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
102968         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
102969         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
102970         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
102971         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
102972         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
102973         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
102974         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
102975         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
102976         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
102977         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
102978         * m4/readutmp.m4 (gl_READUTMP): Likewise.
102979         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
102980         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
102981         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
102982         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
102983         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
102984         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
102985         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
102986         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
102987         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
102988         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
102989         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
102990         so that lock.m4 can be used in gettext without extensions module.
102992 2007-09-11  Bruno Haible  <bruno@clisp.org>
102994         * m4/isc-posix.m4: Remove file.
102995         Suggested by Eric Blake.
102997 2007-09-11  Eric Blake  <ebb9@byu.net>
102999         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
103001 2007-09-10  Bruno Haible  <bruno@clisp.org>
103003         * posix-modules: Fix typo in error message.
103004         Reported by Matt <mkraai@beckman.com>.
103006 2007-09-09  Bruno Haible  <bruno@clisp.org>
103008         * doc/functions/getdelim.texi: Update list of platforms lacking the
103009         function.
103010         * doc/functions/getline.texi: Likewise.
103012 2007-09-09  Jim Meyering  <jim@meyering.net>
103014         * lib/hash.c (hash_initialize): Detect calloc failure.
103015         Reported by Bruno Haible.
103017 2007-09-09  Bruno Haible  <bruno@clisp.org>
103019         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
103020         malloc or realloc fails.
103022 2007-09-09  Bruno Haible  <bruno@clisp.org>
103024         * modules/getcwd (Depends-on): Add malloc-posix.
103025         * modules/glob (Depends-on): Likewise.
103026         * modules/putenv (Depends-on): Likewise.
103027         * modules/strdup (Depends-on): Likewise.
103028         * modules/getdelim (Depends-on): Add realloc-posix.
103029         * modules/read-file (Depends-on): Likewise.
103031 2007-09-09  Bruno Haible  <bruno@clisp.org>
103033         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
103034         (gl_FUNC_MALLOC_POSIX): Require it.
103035         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
103036         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
103037         * modules/realloc (Files): Add m4/malloc.m4.
103038         * modules/calloc (Files): Likewise.
103040 2007-09-09  Bruno Haible  <bruno@clisp.org>
103042         * modules/malloc-posix: New file.
103043         * modules/malloc (Depends-on): Add malloc-posix.
103044         * lib/malloc.c: Include errno.h.
103045         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
103046         and a POSIX-compatible malloc into a single function. Set ENOMEM
103047         when returning NULL.
103048         * m4/malloc.m4: New file.
103049         * doc/functions/malloc.texi: Mention the malloc-posix module.
103050         * lib/stdlib_.h (malloc): New declaration.
103051         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
103052         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
103053         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
103054         and HAVE_MALLOC_POSIX.
103056 2007-09-09  Bruno Haible  <bruno@clisp.org>
103058         * modules/realloc-posix: New file.
103059         * modules/realloc (Depends-on): Add realloc-posix.
103060         * lib/realloc.c: Include errno.h.
103061         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
103062         and a POSIX-compatible realloc into a single function. Set ENOMEM
103063         when returning NULL.
103064         * m4/realloc.m4: New file.
103065         * doc/functions/realloc.texi: Mention the realloc-posix module.
103066         * lib/stdlib_.h (realloc): New declaration.
103067         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
103068         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
103069         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
103070         and HAVE_REALLOC_POSIX.
103072 2007-09-09  Bruno Haible  <bruno@clisp.org>
103074         * modules/calloc-posix: New file.
103075         * modules/calloc (Depends-on): Add calloc-posix.
103076         * lib/calloc.c: Include errno.h.
103077         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
103078         and a POSIX-compatible calloc into a single function. Set ENOMEM
103079         when returning NULL.
103080         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
103081         * doc/functions/calloc.texi: Mention the calloc-posix module.
103082         * lib/stdlib_.h (calloc): New declaration.
103083         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
103084         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
103085         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
103086         and HAVE_CALLOC_POSIX.
103088 2007-09-09  Bruno Haible  <bruno@clisp.org>
103090         Allow for modules to show an arbitrary notice.
103091         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
103092         * gnulib-tool: New option --extract-notice.
103093         (func_usage): Document it.
103094         (sed_extract_prog): Update.
103095         (func_get_notice): New function.
103096         (func_modules_notice): New function.
103097         (func_import, func_create_testdir): Invoke it.
103098         Suggested by Jim Meyering.
103100 2007-09-09  Bruno Haible  <bruno@clisp.org>
103102         * gnulib-tool: New options --verbose, --quiet.
103103         (func_usage): Document them.
103104         (verbose): New variable.
103105         (func_execute_command): New function.
103106         (func_import): Don't show the module list and the file list if
103107         $verbose < 0.
103108         (func_create_testdir): Likewise. Use func_execute_command.
103109         (func_create_megatestdir): Use func_execute_command.
103111 2007-09-08  Bruno Haible  <bruno@clisp.org>
103113         * gnulib-tool (func_import): Prefer rsync over wget when available,
103114         for fetching the PO files.
103116 2007-09-08  Bruno Haible  <bruno@clisp.org>
103118         * posix-modules: New file. Portions copied from gnulib-tool.
103119         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
103121 2007-09-08  Jim Meyering  <jim@meyering.net>
103123         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
103124         * lib/fpending.h: Rename from __fpending.h.
103125         * lib/fpending.c: Rename from __fpending.c.
103126         Include "fpending.h", not "__fpending.h".
103127         * lib/__fpending.h, lib/__fpending.c: Remove files.
103128         * modules/fpending (Files): Reflect new file names.
103129         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
103131 2007-09-08  Bruno Haible  <bruno@clisp.org>
103133         * m4/inttypes-h.m4: Remove stub file.
103135 2007-09-07  Simon Josefsson  <simon@josefsson.org>
103137         * doc/headers/stdint.texi: Discuss #include_next issue.
103139 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
103141         * build-aux/bootstrap: Remove obsolete comment about wget --help.
103143 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
103145         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
103146         in variable name.
103148 2007-09-03  Jim Meyering  <jim@meyering.net>
103150         New module: git-version-gen.
103151         * modules/git-version-gen: New file.
103153         Import changes from coreutils for bootstrap script.
103155         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
103157         bootstrap: uses rsync to download the .po files
103158         * build-aux/bootstrap (po_download_command_format): New global.
103159         (download_po_files): Use rsync.
103160         (update_po_files): Don't remove .po files after download,
103161         so future rsync runs can take advantage of the copies.
103163         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
103165         Solve the unnecessary-.po-file-regeneration problem once and for all.
103166         * build-aux/bootstrap (download_po_files): New function, renamed from
103167         get_translations.  Now, downloads, but doesn't update LINGUAS.
103168         (update_po_files): New function.
103170         bootstrap: Ignore more.
103171         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
103172         uniwidth to e.g., lib/.gitignore.
103173         (slurp): Handle the sys_stat_.h -> sys mapping, too.
103175         * build-aux/bootstrap: New setting: vc_ignore.
103176         (insert_sorted_if_absent): Create $file if absent.
103177         Adapt to new, possibly empty, list: $vc_ignore.
103179         bootstrap: generate more ignorable names
103180         * build-aux/bootstrap (slurp): When generating ignorable names,
103181         also map .sin to .sed, .gperf to .c, and .y to .c.
103183 2007-09-03  Jim Meyering  <jim@meyering.net>
103185         * build-aux/git-version-gen: New file, from coreutils.  For details, see
103186         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
103188 2007-09-02  Bruno Haible  <bruno@clisp.org>
103190         Fix mis-recognition of 'mcs' on QNX 6.
103191         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
103192         output contains the string "Mono".
103193         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
103194         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
103196 2007-09-01  Bruno Haible  <bruno@clisp.org>
103198         Fix collision between uniwidth/* and linebreak modules.
103199         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
103200         u32_width): Remove declarations.
103201         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
103202         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
103203         streq3, streq2, streq1, streq0): Remove functions.
103204         (STREQ): Remove macro.
103205         (is_cjk_encoding): Remove function.
103206         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
103207         (uc_width, u8_width, u16_width, u32_width): Remove functions.
103208         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
103209         * NEWS: Document the change.
103211 2007-09-01  Bruno Haible  <bruno@clisp.org>
103213         * lib/streq.h: Add double-inclusion guard.
103215 2007-09-01  Karl Berry  <karl@gnu.org>
103217         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
103219 2007-08-28  Jim Meyering  <jim@meyering.net>
103221         Rename mreadlink_with_size to areadlink_with_size.
103222         * NEWS: Document the change.
103223         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
103224         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
103225         * lib/mreadlink.h: Rename this to...
103226         * lib/areadlink.h: ...this.
103227         * modules/mreadlink-with-size: Rename this to...
103228         * modules/areadlink-with-size: ...this.
103229         * lib/canonicalize.c: Reflect the renaming.
103230         * modules/canonicalize: Likewise.
103232 2007-08-26  Bruno Haible  <bruno@clisp.org>
103234         * gnulib-tool (func_import): When deciding which files to remove,
103235         consider also dangling symbolic links.
103236         Reported by Eric Blake.
103238 2007-08-26  Bruno Haible  <bruno@clisp.org>
103240         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
103242 2007-08-23  Simon Josefsson  <simon@josefsson.org>
103244         * lib/readline.c: Don't include getline.h, the prototype is now
103245         found in stdio.h.
103247 2007-08-23  Jim Meyering  <jim@meyering.net>
103249         Getdelim touchup.
103250         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
103251         around the funlockfile call, since funlockfile never sets errno.
103252         Don't set errno upon failed realloc.
103254 2007-08-22  Eric Blake  <ebb9@byu.net>
103256         Getline touchups.
103257         * lib/getdelim.c (getdelim): Revert regression that required *n to
103258         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
103259         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
103260         getdelim, rather than whether implementation is missing.
103261         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
103262         * lib/stdio_.h (getline): Also declare if replacement is
103263         required.
103264         * doc/functions/getdelim.texi: New file.
103265         * doc/functions/getline.texi: Likewise.
103266         * doc/gnulib.texi (Function Substitutes): Add new files.
103267         Reported by Bruno Haible.
103269 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
103271         * users.txt: Add Guile.
103273 2007-08-22  Eric Blake  <ebb9@byu.net>
103275         * tests/test-getdelim.c (main): Use remove, not unlink.
103276         * tests/test-getline.c (main): Likewise.
103278         Move getline and getdelim into stdio.h, per POSIX 200x.
103279         * modules/getline (Files): Remove getline.h.
103280         (Depends-on): Add stdio.
103281         (configure.ac): Add module indicator.
103282         * modules/getdelim (Files): Remove getdelim.h.
103283         (Depends-on): Add stdio.
103284         (configure.ac): Add module indicator.
103285         * modules/stdio (Makefile.am): Work with new indicators.
103286         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
103287         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
103288         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
103289         * lib/getdelim.h: Delete.
103290         * lib/getline.h: Delete.
103291         * lib/stdio_.h (getdelim, getline): Declare.
103292         * modules/getdelim-tests: New module.
103293         * modules/getline-tests: Likewise.
103294         * tests/test-getdelim.c: New file.
103295         * tests/test-getline.c: Likewise.
103296         * NEWS: Document the change.
103297         * lib/getline.c: Update choice of header.
103298         * lib/csharpcomp.c: Likewise.
103299         * lib/getpass.c: Likewise.
103300         * lib/javacomp.c: Likewise.
103301         * lib/javaversion.c: Likewise.
103302         * lib/yesno.c: Likewise.
103303         * lib/getdelim.c: Likewise.
103304         (getdelim): Set errno on failure, and avoid memory leak.
103306 2007-08-19  Bruno Haible  <bruno@clisp.org>
103308         * modules/closein (Depends-on): Add freadahead.
103309         * lib/closein.c: Include freadahead.h.
103310         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
103311         is zero.
103313 2007-08-19  Bruno Haible  <bruno@clisp.org>
103315         * modules/freadahead-tests: New file.
103316         * tests/test-freadahead.sh: New file.
103317         * tests/test-freadahead.c: New file.
103319         * modules/freadahead: New file.
103320         * lib/freadahead.h: New file.
103321         * lib/freadahead.c: New file.
103322         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
103323         fbufmode, fpurge, freadable, fwritable.
103325 2007-08-19  Eric Blake  <ebb9@byu.net>
103327         Test yesno in combination with closein.
103328         * lib/yesno.c (yesno): Document use of stdin.
103329         * modules/yesno-tests (Files): New module.
103330         * tests/test-yesno.c (main): New file.
103331         * tests/test-yesno.sh: Likewise.
103333 2007-08-19  Bruno Haible  <bruno@clisp.org>
103335         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
103336         * lib/fseeko.c (rpl_fseeko): Likewise.
103337         * lib/fseterr.c (fseterr): Likewise.
103339 2007-08-19  Bruno Haible  <bruno@clisp.org>
103341         * tests/test-lseek.c (main): Disable a test for BeOS.
103342         * doc/functions/lseek.texi: Document the BeOS bug.
103344 2007-08-19  Bruno Haible  <bruno@clisp.org>
103345             Eric Blake  <ebb9@byu.net>
103347         * lib/lseek.c: Include <sys/stat.h>.
103348         (rpl_lseek): Add workaround code also for Unix platforms.
103349         Needed for BeOS.
103350         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
103351         * doc/functions/lseek.texi: Document BeOS definiency.
103353 2007-08-18  Bruno Haible  <bruno@clisp.org>
103355         * modules/fstrcmp-tests: New file.
103356         * tests/test-fstrcmp.c: New file.
103358 2007-08-18  Bruno Haible  <bruno@clisp.org>
103360         * modules/fstrcmp: New file, from GNU gettext with modifications.
103361         * lib/fstrcmp.h: New file, from GNU gettext.
103362         * lib/fstrcmp.c: New file, from GNU gettext.
103363         * MODULES.html.sh (String handling): Add fstrcmp.
103365 2007-08-18  Bruno Haible  <bruno@clisp.org>
103367         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
103368         'bool'.
103369         (diag, compareseq): Remove const from the ctxt argument.
103370         (USE_HEURISTIC): Undefine at the end.
103372 2007-08-18  Jim Meyering  <jim@meyering.net>
103374         New file: lib/idcache.h
103375         * NEWS: Mention the addition.
103376         * modules/idcache (Files): Add lib/idcache.h
103377         * lib/idcache.c: Include "idcache.h".
103378         Don't include <sys/types.h>.
103379         Add a FIXME comment.
103380         Move file-scoped "static" declarations to the top.
103381         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
103383 2007-08-17  Bruno Haible  <bruno@clisp.org>
103384         and Paul Eggert  <eggert@cs.ucla.edu>
103386         * MODULES.html.sh: Add diffseq.
103387         * modules/diffseq: New file.
103388         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
103389         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
103391 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
103393         Import changes from coreutils for bootstrap script.
103395         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
103397         * build-aux/bootstrap (slurp): Work even in environments where
103398         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
103399         current code does not slurp files whose names start with ".", and
103400         this looks like it might be a troublesome area.
103402         2007-07-11  Jim Meyering  <jim@meyering.net>
103404         If there's a GPL vN copyright comment, require that N == 3.
103406         2007-07-08  Jim Meyering  <jim@meyering.net>
103408         Run the coreutils-specific code only if tests/Makefile.am.in exists.
103409         * build-aux/bootstrap (mam_template): Move definition out of loop.
103411         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
103413         * build-aux/bootstrap (symlink_to_dir): Rename function from
103414         symlink_to_gnulib.  Add a directory parameter.  Update all
103415         callers.
103416         (cp_mark_as_generated): Also check for -- and link to -- files in
103417         gl/.
103419         2007-07-08  Jim Meyering  <jim@meyering.net>
103421         Adapt to deeper hierarchy in gnulib.
103422         * build-aux/bootstrap (symlink_to_dir): If the destination
103423         directory doesn't exist, create it. This is required at least for
103424         "lib/uniwidth/cjk.h".
103426         2007-05-15  Jim Meyering  <jim@meyering.net>
103428         * build-aux/bootstrap: Now that generated Makefile.am files
103429         are no longer under version control, they must be created at
103430         bootstrap time.
103432 2007-08-14  Ben Pfaff  <blp@gnu.org>
103434         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
103436 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
103438         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
103439         given the changes below.
103440         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
103441         even on hosts that have padding bits beyond the supported 64.
103443 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
103445         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
103446         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
103447         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
103448         depends on it.
103449         (xstrtol_error): Remove.
103450         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
103451         but with a different signature.
103452         (ATTRIBUTE_NORETURN, __attribute__): New macros.
103453         * lib/xstrtol-error.c: Include exitfail.h.
103454         (xstrtol_fatal): New function, with a different signature from the
103455         old xstrtol_error, so that the caller need not worry about passing
103456         in an exit status, or about storage management of the option argument.
103457         (xstrtol_error): Now a static function.  Redo signature to
103458         implement xstrtol_fatal.  Output the correct number of hyphens in
103459         front of the option so that the caller need not worry about
103460         storage management.
103461         (N_): New macro.
103462         (_): Remove; not used now.
103463         * modules/xstrtol: Depend on getopt.
103464         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
103465         of old STRTOL_FATAL_ERROR macro.
103466         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
103467         of test program.
103468         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
103469         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
103471 2007-08-08  Eric Blake  <ebb9@byu.net>
103473         * lib/xstrtol-error.c: Add missing include.
103475         Move xstrtol messages into gnulib domain, when --pobase is used.
103476         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
103477         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
103478         * modules/xstrtol (Files): Distribute new file.
103479         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
103480         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
103481         * tests/test-xstrtol.c: ...into new file.
103482         * tests/test-xstrtoul.c: Also test xstrtoul.
103483         * tests/test-xstrtoimax.c: Also test xstrtoimax.
103484         * tests/test-xstrtoumax.c: Also test xstrtoumax.
103485         * tests/test-xstrtol.sh: Drive the tests.
103486         * tests/test-xstrtoimax.sh: Likewise.
103487         * tests/test-xstrtoumax.sh: Likewise.
103488         * modules/xstrtol-tests: New module.
103489         * modules/xstrtoimax-tests: Likewise.
103490         * modules/xstrtoumax-tests: Likewise.
103492 2007-08-08  Jim Meyering  <jim@meyering.net>
103494         New function: mfile_name_concat.
103495         * lib/filenamecat.c (mfile_name_concat): New function, just like
103496         file_name_concat, but return NULL upon failure rather than exiting
103497         with a diagnostic.
103498         * lib/filenamecat.h: Declare it.
103500 2007-08-07  Bruno Haible  <bruno@clisp.org>
103502         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
103503         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
103504         warning from gcc.
103505         Reported by Eric Blake.
103507 2007-08-07  Simon Josefsson  <simon@josefsson.org>
103509         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
103510         * modules/crypto/arcfour (License): Likewise.
103511         * modules/crypto/des-tests (License): Likewise.
103512         * modules/crypto/gc-arctwo-tests (License): Likewise.
103513         * modules/crypto/gc-des-tests (License): Likewise.
103514         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
103515         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
103516         * modules/crypto/gc-md2-tests (License): Likewise.
103517         * modules/crypto/gc-md4-tests (License): Likewise.
103518         * modules/crypto/gc-md5-tests (License): Likewise.
103519         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
103520         * modules/crypto/gc-rijndael-tests (License): Likewise.
103521         * modules/crypto/gc-sha1-tests (License): Likewise.
103522         * modules/crypto/gc-tests (License): Likewise.
103523         * modules/crypto/hmac-md5 (License): Likewise.
103524         * modules/crypto/hmac-sha1 (License): Likewise.
103525         * modules/crypto/md2-tests (License): Likewise.
103526         * modules/crypto/md4-tests (License): Likewise.
103527         * modules/crypto/md5 (License): Likewise.
103528         * modules/crypto/rijndael (License): Likewise.
103529         * modules/crypto/sha1 (License): Likewise.
103530         * modules/memxor (License): Likewise.
103532 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
103533         and Bruno Haible  <bruno@clisp.org>
103535         * NEWS: Describe interface changes to human, xstrtol.
103536         * lib/human.h: Include <xstrtol.h>.
103537         (human_options): Return enum strtol_error, not int.  Remove
103538         bool arg; take int * instead.
103539         * lib/human.c: Don't include "gettext.h".
103540         (_): Remove; no longer used.
103541         Don't include <xstrtol.h>, since human.h does it.
103542         (human_options): Adjust to abovementioned interface changes.
103543         Do not report error to stderr; that's now the caller's
103544         responsibility.
103545         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
103546         interface change.
103547         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
103548         Str, Argument_type_string.  All uses changed.  Put " argument"
103549         in diagnostics to make them clearer.  Change wording of suffix
103550         message for clarity.
103551         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
103552         Argument_type_string.
103553         (STRTOL_FATAL_WARN): Remove; no longer used.
103554         * modules/human (Depends-on): Remove gettext-h.
103556 2007-08-06  Simon Josefsson  <simon@josefsson.org>
103558         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
103560 2007-07-31  Bruno Haible  <bruno@clisp.org>
103562         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
103563         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
103564         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
103566 2007-07-31  Bruno Haible  <bruno@clisp.org>
103568         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
103569         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
103571 2007-07-30  Bruno Haible  <bruno@clisp.org>
103573         * modules/base64 (License): Use the synonymous term "LGPLv2+".
103574         * modules/c-ctype (License): Likewise.
103575         * modules/c-strcase (License): Likewise.
103576         * modules/check-version (License): Likewise.
103577         * modules/iconv (License): Likewise.
103578         * modules/iconv_open (License): Likewise.
103579         * modules/read-file (License): Likewise.
103580         * modules/striconv (License): Likewise.
103581         * modules/strverscmp (License): Likewise.
103582         * modules/vasprintf (License): Likewise.
103583         * modules/crypto/des (License): Likewise.
103584         * modules/crypto/gc (License): Likewise.
103585         * modules/crypto/gc-arcfour (License): Likewise.
103586         * modules/crypto/gc-arctwo (License): Likewise.
103587         * modules/crypto/gc-des (License): Likewise.
103588         * modules/crypto/gc-hmac-md5 (License): Likewise.
103589         * modules/crypto/gc-hmac-sha1 (License): Likewise.
103590         * modules/crypto/gc-md2 (License): Likewise.
103591         * modules/crypto/gc-md4 (License): Likewise.
103592         * modules/crypto/gc-md5 (License): Likewise.
103593         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
103594         * modules/crypto/gc-random (License): Likewise.
103595         * modules/crypto/gc-rijndael (License): Likewise.
103596         * modules/crypto/gc-sha1 (License): Likewise.
103597         * modules/crypto/md2 (License): Likewise.
103598         * modules/crypto/md4 (License): Likewise.
103600 2007-07-30  Jim Meyering  <jim@meyering.net>
103602         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
103603         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
103604         it has valid stat data.  This bug would cause du not to count the
103605         sizes of inaccessible directories.
103606         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
103607         in <http://bugzilla.redhat.com/250077>.
103609 2007-07-25  Peter O'Gorman  <peter@pogma.com>
103610             Bruno Haible  <bruno@clisp.org>
103612         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
103613         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
103614         #include_next, gives a diagnostic about it, but reports no error in
103615         the exit code.
103616         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
103618 2007-07-24  Ben Pfaff  <blp@gnu.org>
103620         Improve name: "count-one-bits" is better than "popcount".
103621         * MODULES.html.sh: Update name.
103622         * lib/popcount.h: Renamed lib/count-one-bits.h.
103623         (popcount): Renamed count_one_bits.
103624         (popcountl): Renamed count_one_bits_l.
103625         (popcountll): Renamed count_one_bits_ll.
103626         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
103627         * modules/popcount: Renamed module/count-one-bits.
103628         * modules/popcount-tests: Renamed module/count-one-bits-tests.
103629         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
103631 2007-07-23  Ben Pfaff  <blp@gnu.org>
103633         * lib/popcount.h (popcount32): Reduce size of constants, to allow
103634         better code generation, and add U to large constants to avoid
103635         warnings, in non-GCC case.
103636         Suggested by Bruno Haible.
103638 2007-07-23  Ben Pfaff  <blp@gnu.org>
103640         * lib/popcount.h: Use verify_true instead of if...abort.
103641         * modules/popcount: Depend on verify module.
103642         Suggested by Jim Meyering.
103644 2007-07-23  Bruno Haible  <bruno@clisp.org>
103646         * gnulib-tool (func_import): Create a .cvsignore file also when the
103647         directory is not yet in CVS but the toplevel directory is. When
103648         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
103649         Reported by Karl Berry.
103651 2007-07-22  Ben Pfaff  <blp@gnu.org>
103653         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
103654         case.
103655         Suggested by Eric Blake.
103657 2007-07-22  Ben Pfaff  <blp@gnu.org>
103659         New module: popcount.
103660         * MODULES.html.sh: Add popcount.
103661         * modules/popcount: New file.
103662         * modules/popcount-tests: New file.
103663         * tests/test-popcount.c: New file.
103664         * lib/popcount.h: New file.
103665         * m4/popcount.m4: New file.
103667 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
103669         * build-aux/announce-gen: Update to GPLv3.
103671         * build-aux/config.guess: Update from config.
103673 2007-07-21  Bruno Haible  <bruno@clisp.org>
103675         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
103676         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
103678 2007-07-20  Jim Meyering  <jim@meyering.net>
103680         * check-module: Diagnose a self-dependency.
103682 2007-07-19  Bruno Haible  <bruno@clisp.org>
103684         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
103685         empty.
103686         Reported by Eric Blake.
103688 2007-07-18  Bruno Haible  <bruno@clisp.org>
103690         * gnulib-tool: New options --po-base, --po-domain.
103691         (func_usage): Document them.
103692         (pobase, po_domain): New variables.
103693         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
103694         DEFAULT_TEXT_DOMAIN.
103695         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
103696         (func_import): Consider pobase and po_domain. Create a po/ directory.
103697         (func_create_testdir): Set pobase and po_domain to empty.
103698         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
103699         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
103701 2007-07-18  Bruno Haible  <bruno@clisp.org>
103703         * gnulib-tool (func_get_automake_snippet): Synthesize also an
103704         EXTRA_DIST augmentation for files in build-aux/.
103706 2007-07-16  Bruno Haible  <bruno@clisp.org>
103708         * modules/lseek (License): Use the synonymous term "LGPLv2+".
103709         * modules/getdelim (License): Likewise.
103711 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
103713         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
103714         * modules/d-type (License): Likewise.
103715         * modules/extensions (License): Likewise.
103716         * modules/fnmatch (License): Likewise.
103717         * modules/fseeko (License): Likewise.
103718         * modules/getaddrinfo (License): Likewise.
103719         * modules/getline (License): Likewise.
103720         * modules/getlogin_r (License): Likewise.
103721         * modules/getpass (License): Likewise.
103722         * modules/gettimeofday (License): Likewise.
103723         * modules/glob (License): Likewise.
103724         * modules/inet_ntop (License): Likewise.
103725         * modules/malloc (License): Likewise.
103726         * modules/malloca (License): Likewise.
103727         * modules/memmem (License): Likewise.
103728         * modules/mempcpy (License): Likewise.
103729         * modules/memset (License): Likewise.
103730         * modules/minmax (License): Likewise.
103731         * modules/mktime (License): Likewise.
103732         * modules/netinet_in (License): Likewise.
103733         * modules/pathmax (License): Likewise.
103734         * modules/poll (License): Likewise.
103735         * modules/regex (License): Likewise.
103736         * modules/snprintf (License): Likewise.
103737         * modules/stdbool (License): Likewise.
103738         * modules/stdint (License): Likewise.
103739         * modules/stdio (License): Likewise.
103740         * modules/strcase (License): Likewise.
103741         * modules/strcasestr (License): Likewise.
103742         * modules/strdup (License): Likewise.
103743         * modules/string (License): Likewise.
103744         * modules/strndup (License): Likewise.
103745         * modules/strnlen (License): Likewise.
103746         * modules/strpbrk (License): Likewise.
103747         * modules/strptime (License): Likewise.
103748         * modules/strsep (License): Likewise.
103749         * modules/sys_select (License): Likewise.
103750         * modules/sys_socket (License): Likewise.
103751         * modules/sys_stat (License): Likewise.
103752         * modules/sys_time (License): Likewise.
103753         * modules/time (License): Likewise.
103754         * modules/time_r (License): Likewise.
103755         * modules/timegm (License): Likewise.
103756         * modules/unistd (License): Likewise.
103757         * modules/vsnprintf (License): Likewise.
103758         * modules/wctype (License): Likewise.
103760 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
103762         * modules/argz (License): LGPLv2+.
103764 2007-07-15  Karl Berry  <karl@gnu.org>
103766         * doc/gnulib.texi: revise node structure per new fdl.texi.
103768 2007-07-14  Bruno Haible  <bruno@clisp.org>
103770         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
103771         the output file.
103772         * lib/uniname/uninames.h: Regenerated.
103774 2007-07-14  Karl Berry  <karl@gnu.org>
103776         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
103777         omitting sectioning and index commands.
103779 2007-07-13  Bruno Haible  <bruno@clisp.org>
103781         New gnulib-tool option --more-symlinks.
103782         * gnulib-tool (func_usage): Document --more-symlinks.
103783         (do_copyrights): New variable.
103784         Recognize option --more-symlinks.
103785         (func_import): Don't add a copyright notice transform to
103786         sed_transform_lib_file if do_copyrights is empty.
103788 2007-07-13  Bruno Haible  <bruno@clisp.org>
103790         * lib/vasnprintf.c (decimal_point_char): Define also if
103791         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
103792         && !NEED_PRINTF_DIRECTIVE_A.
103793         Reported by Clemens Koller <clemens.koller@anagramm.de> via
103794         Gary V. Vaughan <gary@gnu.org>.
103796 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
103798         * lib/inttypes_.h: Undo previous change, since it was fixed
103799         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
103801 2007-07-13  Bruno Haible  <bruno@clisp.org>
103803         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
103804         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
103806 2007-07-13  Jim Meyering  <jim@meyering.net>
103808         df: Don't fail for Tru64's "file-on-file mount".
103809         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
103810         so we fall through and use statfs instead.  Details here:
103811         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
103812         Reported by Albert Chin.
103814 2007-07-13  Bruno Haible  <bruno@clisp.org>
103816         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
103817         * modules/configmake (License): Likewise.
103818         * modules/gettext (License): Likewise.
103819         * modules/gettext-h (License): Likewise.
103820         * modules/include_next (License): Likewise.
103821         * modules/link-warning (License): Likewise.
103822         * modules/localcharset (License): Likewise.
103823         * modules/localename (License): Likewise.
103824         * modules/lock (License): Likewise.
103825         * modules/relocatable-lib-lgpl (License): Likewise.
103826         * modules/size_max (License): Likewise.
103827         * modules/vasnprintf (License): Likewise.
103828         * modules/wchar (License): Likewise.
103829         * modules/xsize (License): Likewise.
103831 2007-07-13  Bruno Haible  <bruno@clisp.org>
103833         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
103834         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
103836 2007-07-12  Bruno Haible  <bruno@clisp.org>
103838         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
103839         in the modules files.
103841 2007-07-11  Karl Berry  <karl@gnu.org>
103843         * MODULES.html.sh (func_module): use
103844          sed -e '\|^'"${includefile}"'$|d'
103845          instead of /.../d, to avoid errors on $includefile's containing /.
103847 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
103849         * gnulib-tool (func_import): Avoid duplication of --avoid
103850         statements
103851         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
103852         names to `_' in variable names.
103854 2007-07-10  Eric Blake  <ebb9@byu.net>
103856         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
103857         * NEWS: Document this change.
103859 2007-07-08  Bruno Haible  <bruno@clisp.org>
103861         Update to Unicode 5.0.
103862         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
103863         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
103864         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
103865         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
103866         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
103867         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
103868         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
103869         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
103870         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
103871         U+10A3F, U+1D242..U+1D244.
103872         (nonspacing_table_ind): Update.
103873         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
103874         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
103876 2007-07-08  Bruno Haible  <bruno@clisp.org>
103878         Update to Unicode 5.0.
103879         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
103880         code transform. Extend the name index field of unicode_name_to_code and
103881         unicode_code_to_name from 16 to 24 bits.
103882         * lib/uniname/uniname.c (unicode_character_name,
103883         unicode_name_character): Add the range 0x12xxx to the code transform.
103884         * lib/uniname/uninames.h: Regenerated.
103885         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
103887 2007-07-07  Bruno Haible  <bruno@clisp.org>
103889         * modules/wcwidth-tests: New file.
103890         * tests/test-wcwidth.c: New file.
103892         Work around MacOS X wcwidth() bug.
103893         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
103894         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
103895         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
103896         original wcwidth in non-UTF-8 locales.
103897         * modules/wcwidth (Depends-on): Add localcharset, streq,
103898         uniwidth/width.
103899         * doc/functions/wcwidth.texi: Update.
103901 2007-07-07  Bruno Haible  <bruno@clisp.org>
103903         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
103904         (wcwidth): New declaration.
103905         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
103906         macros.
103907         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
103908         here. Prepare for creating <wchar.h> unconditionally.
103909         * modules/wchar (Depends-on): Add link-warning.
103910         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
103911         REPLACE_WCWIDTH, and GL_LINK_WARNING.
103912         * lib/wcwidth.h: Remove file.
103913         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
103914         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
103915         * modules/wcwidth (Files): Remove lib/wcwidth.h.
103916         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
103917         (Include): Replace wcwidth.h with <wchar.h>.
103918         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
103919         * lib/mbchar.h: Don't include wcwidth.h.
103920         * lib/mbswidth.c: Likewise.
103921         * NEWS: Mention the change.
103923 2007-07-07  Bruno Haible  <bruno@clisp.org>
103925         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
103926         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
103927         definition with an external declaration.
103928         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
103929         defined as a function. Remove AC_C_INLINE requirement.
103930         * modules/wcwidth (Files): Add lib/wcwidth.c.
103931         (Makefile.am): Remove redundant statement.
103933 2007-07-07  Bruno Haible  <bruno@clisp.org>
103935         * MODULES.html.sh (Unicode string functions): Add the new modules.
103937         * tests/uniwidth/test-u32-strwidth.c: New file.
103938         * modules/uniwidth/u32-strwidth-tests: New file.
103940         * lib/uniwidth/u32-strwidth.c: New file.
103941         * modules/uniwidth/u32-strwidth: New file.
103943         * tests/uniwidth/test-u16-strwidth.c: New file.
103944         * modules/uniwidth/u16-strwidth-tests: New file.
103946         * lib/uniwidth/u16-strwidth.c: New file.
103947         * modules/uniwidth/u16-strwidth: New file.
103949         * tests/uniwidth/test-u8-strwidth.c: New file.
103950         * modules/uniwidth/u8-strwidth-tests: New file.
103952         * lib/uniwidth/u8-strwidth.c: New file.
103953         * modules/uniwidth/u8-strwidth: New file.
103955         * tests/uniwidth/test-u32-width.c: New file.
103956         * modules/uniwidth/u32-width-tests: New file.
103958         * lib/uniwidth/u32-width.c: New file.
103959         * modules/uniwidth/u32-width: New file.
103961         * tests/uniwidth/test-u16-width.c: New file.
103962         * modules/uniwidth/u16-width-tests: New file.
103964         * lib/uniwidth/u16-width.c: New file.
103965         * modules/uniwidth/u16-width: New file.
103967         * tests/uniwidth/test-u8-width.c: New file.
103968         * modules/uniwidth/u8-width-tests: New file.
103970         * lib/uniwidth/u8-width.c: New file.
103971         * modules/uniwidth/u8-width: New file.
103973         * tests/uniwidth/test-uc_width.c: New file.
103974         * modules/uniwidth/width-tests: New file.
103976         * lib/uniwidth/width.c: New file, from GNU libiconv.
103977         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
103978         * modules/uniwidth/width: New file.
103980         * lib/uniwidth.h: New file, from GNU libiconv.
103981         * modules/uniwidth/base: New file.
103983 2007-07-07  Bruno Haible  <bruno@clisp.org>
103985         * lib/uniname.h: New file, from GNU gettext.
103986         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
103987         * lib/uniname/uninames.h: New file, from GNU gettext.
103988         * lib/uniname/uniname.c: New file, from GNU gettext.
103989         * tests/uniname/test-uninames.sh: New file.
103990         * tests/uniname/test-uninames.c: New file, from GNU gettext.
103991         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
103992         * modules/uniname/base: New file.
103993         * modules/uniname/uniname: New file.
103994         * modules/uniname/uniname-tests: New file.
103995         * MODULES.html.sh (Unicode string functions): Add the new modules.
103997 2007-07-06  Bruno Haible  <bruno@clisp.org>
103999         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
104001 2007-07-06  Bruno Haible  <bruno@clisp.org>
104003         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
104004         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
104005         includes <cygwin/sys_time.h> which includes <sys/select.h> which
104006         include <sys/time.h>.
104007         Reported by Eric Blake.
104009 2007-07-06  Eric Blake  <ebb9@byu.net>
104011         Fix testing canonicalize on cygwin.
104012         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
104013         Revert patch from 2007-06-19.
104014         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
104015         canonicalize module is also in use.
104016         * tests/test-canonicalize.c: New file.
104017         * tests/test-canonicalize.sh: Likewise.
104018         * modules/canonicalize-tests: Likewise.
104020 2007-07-06  Jim Meyering  <jim@meyering.net>
104022         * lib/getugroups.c (getugroups): Detect getgrent failure.
104023         Adjust comment to reflect reality: this function may return -1.
104025 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
104027         * build-aux/bootstrap (TP_URL,get_translations): Update to use
104028         the new TP address.
104029         (usage): Fix typo
104030         (gnulib_mk): New variable.
104032 2007-07-05  Jim Meyering  <jim@meyering.net>
104034         Don't let endgrent clobber errno, no matter how improbable.
104035         * lib/getugroups.c (getugroups): Save and restore errno around
104036         endgrent call.
104038         Close the group DB even when failing with 2^31 or more members.
104039         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
104041 2007-07-04  Jim Meyering  <jim@meyering.net>
104043         * lib/getugroups.h: New file.
104044         * lib/getugroups.c: Include "getugroups.h".
104045         Remove uses of "register" keyword.
104046         Move local variable, "cp", down into scope where used.
104047         Give "username" parameter the "const" attribute.
104048         * modules/getugroups (Files): Add lib/getugroups.h
104050 2007-07-04  Karl Berry  <karl@gnu.org>
104052         * MODULES.html.sh (func_all_modules): Complete rename of
104053         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
104055 2007-07-02  Bruno Haible  <bruno@clisp.org>
104057         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
104058         mode, when inttypes.h comes from gnulib.
104059         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
104061 2007-07-02  Simon Josefsson  <simon@josefsson.org>
104063         * NEWS: Mention lgpl module name change.
104065         * modules/lgpl-2.1: Renamed from lgpl.
104067         * NEWS: Mention gpl module name change.
104069         * modules/gpl-3.0: New file, based on gpl-2.0.
104071         * modules/gpl-2.0: Renamed from gpl.
104073         * modules/gpl: Fix filename, doc/gpl.texi is now found at
104074         doc/gpl-2.0.texi.
104076 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
104078         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
104079         #define __STDC_LIMIT_MACROS temporarily while including
104080         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
104081         Problem reported by Joel E. Denny in
104082         <http://lists.gnu.org/r/bug-gnulib/2007-07/msg00008.html>.
104084 2007-07-01  Bruno Haible  <bruno@clisp.org>
104086         * lib/unistdio.h: New file.
104087         * lib/unistdio/u-asnprintf.h: New file.
104088         * lib/unistdio/u-asprintf.h: New file.
104089         * lib/unistdio/u-printf-args.c: New file.
104090         * lib/unistdio/u-printf-args.h: New file.
104091         * lib/unistdio/u-printf-parse.h: New file.
104092         * lib/unistdio/u-snprintf.h: New file.
104093         * lib/unistdio/u-sprintf.h: New file.
104094         * lib/unistdio/u-vasprintf.h: New file.
104095         * lib/unistdio/u-vsnprintf.h: New file.
104096         * lib/unistdio/u-vsprintf.h: New file.
104097         * lib/unistdio/ulc-asnprintf.c: New file.
104098         * lib/unistdio/ulc-asprintf.c: New file.
104099         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
104100         * lib/unistdio/ulc-printf-parse.c: New file.
104101         * lib/unistdio/ulc-snprintf.c: New file.
104102         * lib/unistdio/ulc-sprintf.c: New file.
104103         * lib/unistdio/ulc-vasnprintf.c: New file.
104104         * lib/unistdio/ulc-vasprintf.c: New file.
104105         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
104106         * lib/unistdio/ulc-vsnprintf.c: New file.
104107         * lib/unistdio/ulc-vsprintf.c: New file.
104108         * lib/unistdio/u8-asnprintf.c: New file.
104109         * lib/unistdio/u8-asprintf.c: New file.
104110         * lib/unistdio/u8-printf-parse.c: New file.
104111         * lib/unistdio/u8-snprintf.c: New file.
104112         * lib/unistdio/u8-sprintf.c: New file.
104113         * lib/unistdio/u8-vasnprintf.c: New file.
104114         * lib/unistdio/u8-vasprintf.c: New file.
104115         * lib/unistdio/u8-vsnprintf.c: New file.
104116         * lib/unistdio/u8-vsprintf.c: New file.
104117         * lib/unistdio/u8-u8-asnprintf.c: New file.
104118         * lib/unistdio/u8-u8-asprintf.c: New file.
104119         * lib/unistdio/u8-u8-snprintf.c: New file.
104120         * lib/unistdio/u8-u8-sprintf.c: New file.
104121         * lib/unistdio/u8-u8-vasnprintf.c: New file.
104122         * lib/unistdio/u8-u8-vasprintf.c: New file.
104123         * lib/unistdio/u8-u8-vsnprintf.c: New file.
104124         * lib/unistdio/u8-u8-vsprintf.c: New file.
104125         * lib/unistdio/u16-asnprintf.c: New file.
104126         * lib/unistdio/u16-asprintf.c: New file.
104127         * lib/unistdio/u16-printf-parse.c: New file.
104128         * lib/unistdio/u16-snprintf.c: New file.
104129         * lib/unistdio/u16-sprintf.c: New file.
104130         * lib/unistdio/u16-vasnprintf.c: New file.
104131         * lib/unistdio/u16-vasprintf.c: New file.
104132         * lib/unistdio/u16-vsnprintf.c: New file.
104133         * lib/unistdio/u16-vsprintf.c: New file.
104134         * lib/unistdio/u16-u16-asnprintf.c: New file.
104135         * lib/unistdio/u16-u16-asprintf.c: New file.
104136         * lib/unistdio/u16-u16-snprintf.c: New file.
104137         * lib/unistdio/u16-u16-sprintf.c: New file.
104138         * lib/unistdio/u16-u16-vasnprintf.c: New file.
104139         * lib/unistdio/u16-u16-vasprintf.c: New file.
104140         * lib/unistdio/u16-u16-vsnprintf.c: New file.
104141         * lib/unistdio/u16-u16-vsprintf.c: New file.
104142         * lib/unistdio/u32-asnprintf.c: New file.
104143         * lib/unistdio/u32-asprintf.c: New file.
104144         * lib/unistdio/u32-printf-parse.c: New file.
104145         * lib/unistdio/u32-snprintf.c: New file.
104146         * lib/unistdio/u32-sprintf.c: New file.
104147         * lib/unistdio/u32-vasnprintf.c: New file.
104148         * lib/unistdio/u32-vasprintf.c: New file.
104149         * lib/unistdio/u32-vsnprintf.c: New file.
104150         * lib/unistdio/u32-vsprintf.c: New file.
104151         * lib/unistdio/u32-u32-asnprintf.c: New file.
104152         * lib/unistdio/u32-u32-asprintf.c: New file.
104153         * lib/unistdio/u32-u32-snprintf.c: New file.
104154         * lib/unistdio/u32-u32-sprintf.c: New file.
104155         * lib/unistdio/u32-u32-vasnprintf.c: New file.
104156         * lib/unistdio/u32-u32-vasprintf.c: New file.
104157         * lib/unistdio/u32-u32-vsnprintf.c: New file.
104158         * lib/unistdio/u32-u32-vsprintf.c: New file.
104159         * tests/unistdio/test-ulc-asnprintf1.c: New file.
104160         * tests/unistdio/test-ulc-asnprintf1.h: New file.
104161         * tests/unistdio/test-ulc-printf1.h: New file.
104162         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
104163         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
104164         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
104165         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
104166         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
104167         * tests/unistdio/test-ulc-vasprintf1.c: New file.
104168         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
104169         * tests/unistdio/test-ulc-vsprintf1.c: New file.
104170         * tests/unistdio/test-u8-asnprintf1.c: New file.
104171         * tests/unistdio/test-u8-asnprintf1.h: New file.
104172         * tests/unistdio/test-u8-printf1.h: New file.
104173         * tests/unistdio/test-u8-vasnprintf1.c: New file.
104174         * tests/unistdio/test-u8-vasnprintf2.c: New file.
104175         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
104176         * tests/unistdio/test-u8-vasnprintf3.c: New file.
104177         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
104178         * tests/unistdio/test-u8-vasprintf1.c: New file.
104179         * tests/unistdio/test-u8-vsnprintf1.c: New file.
104180         * tests/unistdio/test-u8-vsprintf1.c: New file.
104181         * tests/unistdio/test-u16-asnprintf1.c: New file.
104182         * tests/unistdio/test-u16-asnprintf1.h: New file.
104183         * tests/unistdio/test-u16-printf1.h: New file.
104184         * tests/unistdio/test-u16-vasnprintf1.c: New file.
104185         * tests/unistdio/test-u16-vasnprintf2.c: New file.
104186         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
104187         * tests/unistdio/test-u16-vasnprintf3.c: New file.
104188         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
104189         * tests/unistdio/test-u16-vasprintf1.c: New file.
104190         * tests/unistdio/test-u16-vsnprintf1.c: New file.
104191         * tests/unistdio/test-u16-vsprintf1.c: New file.
104192         * tests/unistdio/test-u32-asnprintf1.c: New file.
104193         * tests/unistdio/test-u32-asnprintf1.h: New file.
104194         * tests/unistdio/test-u32-printf1.h: New file.
104195         * tests/unistdio/test-u32-vasnprintf1.c: New file.
104196         * tests/unistdio/test-u32-vasnprintf2.c: New file.
104197         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
104198         * tests/unistdio/test-u32-vasnprintf3.c: New file.
104199         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
104200         * tests/unistdio/test-u32-vasprintf1.c: New file.
104201         * tests/unistdio/test-u32-vsnprintf1.c: New file.
104202         * tests/unistdio/test-u32-vsprintf1.c: New file.
104203         * modules/unistdio/base: New file.
104204         * modules/unistdio/u-printf-args: New file.
104205         * modules/unistdio/ulc-asnprintf: New file.
104206         * modules/unistdio/ulc-asprintf: New file.
104207         * modules/unistdio/ulc-fprintf: New file.
104208         * modules/unistdio/ulc-printf-parse: New file.
104209         * modules/unistdio/ulc-snprintf: New file.
104210         * modules/unistdio/ulc-sprintf: New file.
104211         * modules/unistdio/ulc-vasnprintf: New file.
104212         * modules/unistdio/ulc-vasprintf: New file.
104213         * modules/unistdio/ulc-vfprintf: New file.
104214         * modules/unistdio/ulc-vsnprintf: New file.
104215         * modules/unistdio/ulc-vsprintf: New file.
104216         * modules/unistdio/u8-asnprintf: New file.
104217         * modules/unistdio/u8-asprintf: New file.
104218         * modules/unistdio/u8-printf-parse: New file.
104219         * modules/unistdio/u8-snprintf: New file.
104220         * modules/unistdio/u8-sprintf: New file.
104221         * modules/unistdio/u8-vasnprintf: New file.
104222         * modules/unistdio/u8-vasprintf: New file.
104223         * modules/unistdio/u8-vsnprintf: New file.
104224         * modules/unistdio/u8-vsprintf: New file.
104225         * modules/unistdio/u8-u8-asnprintf: New file.
104226         * modules/unistdio/u8-u8-asprintf: New file.
104227         * modules/unistdio/u8-u8-snprintf: New file.
104228         * modules/unistdio/u8-u8-sprintf: New file.
104229         * modules/unistdio/u8-u8-vasnprintf: New file.
104230         * modules/unistdio/u8-u8-vasprintf: New file.
104231         * modules/unistdio/u8-u8-vsnprintf: New file.
104232         * modules/unistdio/u8-u8-vsprintf: New file.
104233         * modules/unistdio/u16-asnprintf: New file.
104234         * modules/unistdio/u16-asprintf: New file.
104235         * modules/unistdio/u16-printf-parse: New file.
104236         * modules/unistdio/u16-snprintf: New file.
104237         * modules/unistdio/u16-sprintf: New file.
104238         * modules/unistdio/u16-vasnprintf: New file.
104239         * modules/unistdio/u16-vasprintf: New file.
104240         * modules/unistdio/u16-vsnprintf: New file.
104241         * modules/unistdio/u16-vsprintf: New file.
104242         * modules/unistdio/u16-u16-asnprintf: New file.
104243         * modules/unistdio/u16-u16-asprintf: New file.
104244         * modules/unistdio/u16-u16-snprintf: New file.
104245         * modules/unistdio/u16-u16-sprintf: New file.
104246         * modules/unistdio/u16-u16-vasnprintf: New file.
104247         * modules/unistdio/u16-u16-vasprintf: New file.
104248         * modules/unistdio/u16-u16-vsnprintf: New file.
104249         * modules/unistdio/u16-u16-vsprintf: New file.
104250         * modules/unistdio/u32-asnprintf: New file.
104251         * modules/unistdio/u32-asprintf: New file.
104252         * modules/unistdio/u32-printf-parse: New file.
104253         * modules/unistdio/u32-snprintf: New file.
104254         * modules/unistdio/u32-sprintf: New file.
104255         * modules/unistdio/u32-vasnprintf: New file.
104256         * modules/unistdio/u32-vasprintf: New file.
104257         * modules/unistdio/u32-vsnprintf: New file.
104258         * modules/unistdio/u32-vsprintf: New file.
104259         * modules/unistdio/u32-u32-asnprintf: New file.
104260         * modules/unistdio/u32-u32-asprintf: New file.
104261         * modules/unistdio/u32-u32-snprintf: New file.
104262         * modules/unistdio/u32-u32-sprintf: New file.
104263         * modules/unistdio/u32-u32-vasnprintf: New file.
104264         * modules/unistdio/u32-u32-vasprintf: New file.
104265         * modules/unistdio/u32-u32-vsnprintf: New file.
104266         * modules/unistdio/u32-u32-vsprintf: New file.
104267         * modules/unistdio/ulc-asnprintf-tests: New file.
104268         * modules/unistdio/ulc-vasnprintf-tests: New file.
104269         * modules/unistdio/ulc-vasprintf-tests: New file.
104270         * modules/unistdio/ulc-vsnprintf-tests: New file.
104271         * modules/unistdio/ulc-vsprintf-tests: New file.
104272         * modules/unistdio/u8-asnprintf-tests: New file.
104273         * modules/unistdio/u8-vasnprintf-tests: New file.
104274         * modules/unistdio/u8-vasprintf-tests: New file.
104275         * modules/unistdio/u8-vsnprintf-tests: New file.
104276         * modules/unistdio/u8-vsprintf-tests: New file.
104277         * modules/unistdio/u16-asnprintf-tests: New file.
104278         * modules/unistdio/u16-vasnprintf-tests: New file.
104279         * modules/unistdio/u16-vasprintf-tests: New file.
104280         * modules/unistdio/u16-vsnprintf-tests: New file.
104281         * modules/unistdio/u16-vsprintf-tests: New file.
104282         * modules/unistdio/u32-asnprintf-tests: New file.
104283         * modules/unistdio/u32-vasnprintf-tests: New file.
104284         * modules/unistdio/u32-vasprintf-tests: New file.
104285         * modules/unistdio/u32-vsnprintf-tests: New file.
104286         * modules/unistdio/u32-vsprintf-tests: New file.
104287         * MODULES.html.sh (Unicode string functions): Add the new modules.
104289 2007-07-01  Bruno Haible  <bruno@clisp.org>
104291         * lib/sprintf.c (sprintf): Limit the available length estimation,
104292         to avoid address wraparound.
104293         * lib/vsprintf.c (vsprintf): Likewise.
104294         * modules/sprintf-posix (Dependencies): Add stdint.
104295         * modules/vsprintf-posix (Dependencies): Likewise.
104297 2007-07-01  Bruno Haible  <bruno@clisp.org>
104299         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
104300         Windows PATH as well. Conservative double-quoting. Comments.
104302 2007-07-01  Bruno Haible  <bruno@clisp.org>
104303             Eric Blake  <ebb9@byu.net>
104304             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
104306         * gnulib-tool (self_abspathname): Fix algorithm to cope with
104307         empty components in $PATH, denoting '.'.
104309 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
104311         * gnulib-tool: Fix indentation.
104312         (func_create_megatestdir): Likewise.
104313         Report by Bruno Haible.
104315 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
104317         Sync from Automake.
104318         * build-aux/gnupload: Fix shell portability issues with for loops.
104319         Report by Karl Berry.
104321 2007-06-29  Simon Josefsson  <simon@josefsson.org>
104323         * build-aux/maint.mk (POURL): Use translationproject.org.
104325 2007-06-27  Simon Josefsson  <simon@josefsson.org>
104326             Bruno Haible  <bruno@clisp.org>
104328         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
104329         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
104330         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
104331         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
104332         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
104334 2007-06-27  Bruno Haible  <bruno@clisp.org>
104336         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
104337         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
104339 2007-06-26  Karl Berry  <karl@gnu.org>
104341         * MODULES.html.sh: remove xreadlink-with-size.
104343 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
104345         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
104346         method that I hope also handles the double-include problem noted
104347         by Bruno Haible in
104348         <http://lists.gnu.org/r/bug-gnulib/2007-05/msg00186.html>.
104350 2007-06-23  Bruno Haible  <bruno@clisp.org>
104352         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
104353         Don't let the 'mostlyclean' target fail if the last subdirectory could
104354         not be removed.
104355         Reported by Karl Berry.
104357 2007-06-23  Bruno Haible  <bruno@clisp.org>
104359         * gnulib-tool (echo): Add a speedier workaround for ksh.
104360         * tests/test-echo.sh: Likewise.
104362 2007-06-23  Bruno Haible  <bruno@clisp.org>
104364         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
104365         * tests/test-echo.sh: Likewise.
104367 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
104369         * gnulib-tool (IFS): Initialize early, so we don't set it to
104370         empty later.
104371         (self_abspathname): Rewrite algorithm to set it, reindent.
104372         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
104373         (func_create_megatestdir): Merge some sed scripts.
104375 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
104377         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
104378         exposed by Sun Studio 11 cc on Solaris 8.
104380 2007-06-22  Bruno Haible  <bruno@clisp.org>
104382         * gnulib-tool (echo): Ensure the echo primitive does not interpret
104383         backslashes.
104384         * tests/test-echo.sh: New file.
104386 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
104388         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
104389         simplify `sed_replace_build_aux' scripts, they are portable but
104390         echoing them with `echo' is not.
104391         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
104393 2007-06-21  Karl Berry  <karl@gnu.org>
104395         * config/srclist.txt: guess we can't handle the licenses via
104396         srclist at the moment.
104398 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
104400         * MODULES.html.sh: Add include_next.
104401         * modules/include_next: New file.
104403 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
104405         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
104406         INCLUDE_NEXT.
104407         (gl_CHECK_NEXT_HEADERS): New macro.
104408         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
104409         the obsolescent gl_ABSOLUTE_HEADER.
104410         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
104411         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
104412         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
104413         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
104414         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
104415         * m4/math_h.m4 (gl_MATH_H): Likewise.
104416         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
104417         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
104418         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
104419         * m4/stdint.m4 (gl_STDINT_H): Likewise.
104420         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
104421         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
104422         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
104423         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
104424         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
104425         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
104426         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
104427         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
104428         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
104429         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
104430         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
104431         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
104432         * m4/inttypes.m4 (gl_INTTYPES_H): Define
104433         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
104434         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
104435         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
104436         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
104437         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
104438         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
104439         * lib/float_.h: Likewise.
104440         * lib/inttypes_.h: Likewise.
104441         * lib/math_.h: Likewise.
104442         * lib/search_.h: Likewise.
104443         * lib/signal_.h: Likewise.
104444         * lib/stdint_.h: Likewise.
104445         * lib/stdio_.h: Likewise.
104446         * lib/stdlib_.h: Likewise.
104447         * lib/string_.h: Likewise.
104448         * lib/sys_stat_.h: Likewise.
104449         * lib/sys_time_.h: Likewise.
104450         * lib/time_.h: Likewise.
104451         * lib/unistd_.h: Likewise.
104452         * lib/wchar_.h: Likewise.
104453         * lib/wctype_.h: Likewise.
104454         * lib/dirent_.h: Likewise.
104455         * lib/iconv_.h: Likewise.
104456         * lib/locale_.h: Likewise.
104457         * lib/netinet_in_.h: Likewise.
104458         * lib/sys_select_.h: Likewise.
104459         * lib/sys_socket_.h: Likewise.
104460         * lib/sysexits_.h: Likewise.
104461         * modules/fcntl (Depends-on): Depend on include_next, not
104462         absolute_header.
104463         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
104464         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
104465         * modules/fchdir: Likewise.
104466         * modules/float: Likewise.
104467         * modules/iconv_open: Likewise.
104468         * modules/inttypes: Likewise.
104469         * modules/locale: Likewise.
104470         * modules/math: Likewise.
104471         * modules/netinet_in: Likewise.
104472         * modules/search: Likewise.
104473         * modules/signal: Likewise.
104474         * modules/stdint: Likewise.
104475         * modules/stdio: Likewise.
104476         * modules/stdlib: Likewise.
104477         * modules/string: Likewise.
104478         * modules/sys_select: Likewise.
104479         * modules/sys_socket: Likewise.
104480         * modules/sys_stat: Likewise.
104481         * modules/sys_time: Likewise.
104482         * modules/sysexits: Likewise.
104483         * modules/time: Likewise.
104484         * modules/unistd: Likewise.
104485         * modules/wchar: Likewise.
104486         * modules/wctype: Likewise.
104487         * modules/sys_stat: Change maintainer to "all".
104488         * modules/unistd: Likewise.
104490 2007-06-20  Karl Berry  <karl@gnu.org>
104492         * config/srclist.txt: track www changes in license files.
104494 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
104496         * build-aux/bootstrap: Remove stray dot.
104497         Make sure build_aux settings are honored when linking
104498         gnulib_extra_files.
104500 2007-06-19  Eric Blake  <ebb9@byu.net>
104502         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
104503         Allow compilation on cygwin.
104505 2007-06-19  Jim Meyering  <jim@meyering.net>
104507         xreadlink-with-size: Remove module.  No longer used.
104508         Ex-callers now use xreadlink or mreadlink-with-size.
104509         * modules/xreadlink-with-size: Remove module.
104510         * lib/xreadlink-with-size.c: Remove file.
104511         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
104512         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
104513         just before the function definition *is* accurate.
104515         Eliminate one way canonicalize_filename_mode could exit.
104516         * lib/canonicalize.c (canonicalize_filename_mode):
104517         Use mreadlink_with_size, not xreadlink_with_size.
104519 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
104521         Detect porting problems to FreeBSD/arm, which has time_t wider than
104522         long int.  Original problem reported for GNU diff by Xin Li in
104523         <http://lists.gnu.org/r/bug-gnu-utils/2007-06/msg00091.html>.
104524         * modules/getdate (Depends-on): Add intprops, verify.
104525         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
104526         is an integer type no wider than long int.
104528 2007-06-18  Jim Meyering  <jim@meyering.net>
104530         New module: mreadlink-with-size.
104531         * MODULES.html.sh: Add mreadlink-with-size.
104532         * modules/mreadlink-with-size: New module
104533         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
104534         not xreadlink-with-size.
104535         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
104537 2007-06-16  Bruno Haible  <bruno@clisp.org>
104539         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
104540         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
104541         Reported by Gary V. Vaughan <gary@gnu.org>.
104543 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
104545         Revamp lchown so that it lives in unistd.h where it belongs.
104546         * lib/lchown.h: Remove.
104547         * lib/dirchownmod.c: Don't include lib/lchown.h.
104548         * lib/fchownat.c: Likewise.
104549         * lib/openat.c: Likewise.
104550         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
104551         does not follow symlinks.
104552         (EOPNOTSUPP): Define if not defined.
104553         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
104554         is defined to 0.
104555         (lchown): New decl.
104556         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
104557         Do not check for lchown decl.
104558         Set REPLACE_LCHOWN.
104559         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
104560         REPLACE_LCHOWN.
104561         * modules/chown: Make it clear it follows symlinks.
104562         * modules/lchown: Make it clear it doesn't follow symlinks.
104563         (Files): Remove lib/lchown.h
104564         (Depends-on): Add unistd.
104565         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
104566         (Include): Include <unistd.h>, not "lchown.h".
104567         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
104568         REPLACE_LCHOWN.
104570 2007-06-15  Jim Meyering  <jim@meyering.net>
104572         Change license (GPL to LGPL) of fsusage and dependents.
104573         * modules/fsusage (License): Change to LGPL.
104574         * modules/full-read (License): Likewise.
104575         * modules/full-write (License): Likewise.
104576         * modules/safe-read (License): Likewise.
104577         * modules/safe-write (License): Likewise.
104579 2007-06-14  Ben Pfaff  <blp@gnu.org>
104581         Missing part of allocsa -> malloca transition.
104582         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
104583         gl_MALLOCA.
104585 2007-06-12  Bruno Haible  <bruno@clisp.org>
104587         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
104588         to ia64, x86_64, i386.
104589         Reported by Eric Blake.
104591 2007-06-12  Bruno Haible  <bruno@clisp.org>
104593         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
104594         cross-compiling to x86_64.
104596 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
104598         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
104599         glitch reported by Ralf Wildenhues in
104600         <http://lists.gnu.org/r/bug-gnulib/2007-06/msg00114.html>.
104602         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
104603         Vin Shelton.
104605 2007-06-11  Bruno Haible  <bruno@clisp.org>
104607         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
104608         replacement string.
104609         Reported by Eric Blake.
104611 2007-06-10  Bruno Haible  <bruno@clisp.org>
104613         Prepare vasnprintf code for use with Unicode strings.
104614         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
104615         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
104616         TYPE_U32_STRING.
104617         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
104618         a_u32_string variants.
104619         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
104620         * lib/printf-args.c: Don't include config.h and the specification
104621         header if PRINTF_FETCHARGS is already defined.
104622         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
104623         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
104624         TYPE_U16_STRING, TYPE_U32_STRING.
104625         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
104626         u16_directive, u16_directives, u32_directive, u32_directives): New
104627         types.
104628         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
104629         New declarations.
104630         * lib/printf-parse.c: Don't include config.h and the specification
104631         header if PRINTF_PARSE is already defined. Eliminate the set of
104632         parameters for WIDE_CHAR_VERSION; the user of this file must provide
104633         them now. Include c-ctype.h.
104634         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
104635         directive and CHAR_T_ONLY_ASCII.
104636         * lib/vasnprintf.c: Don't include config.h and the specification header
104637         if VASNPRINTF is already defined.
104638         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
104639         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
104640         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
104641         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
104642         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
104643         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
104644         code accordingly.
104645         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
104646         pad_ourselves also in this case, with the 'c' and 's' directives, and
104647         with a different notion of "width".
104648         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
104650 2007-06-10  Bruno Haible  <bruno@clisp.org>
104652         * modules/unistr/u32-mbsnlen: New file.
104653         * lib/unistr/u32-mbsnlen.c: New file.
104655         * modules/unistr/u16-mbsnlen: New file.
104656         * lib/unistr/u16-mbsnlen.c: New file.
104658         * modules/unistr/u8-mbsnlen: New file.
104659         * lib/unistr/u8-mbsnlen.c: New file.
104661         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
104662         declarations.
104664 2007-06-10  Bruno Haible  <bruno@clisp.org>
104666         * lib/string_.h (mbsnlen): New declaration.
104667         * lib/mbsnlen.c: New file.
104668         * m4/mbsnlen.m4: New file.
104669         * modules/mbsnlen: New file.
104670         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
104671         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
104672         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
104674 2007-06-10  Bruno Haible  <bruno@clisp.org>
104676         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
104678 2007-06-10  Bruno Haible  <bruno@clisp.org>
104680         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
104681         * lib/mbuiter.h: Likewise.
104683 2007-06-10  Bruno Haible  <bruno@clisp.org>
104685         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
104686         declaration.
104688 2007-06-10  Karl Berry  <karl@gnu.org>
104690         * config/srclist.txt: remove gettext entries, Bruno prefers
104691         to update individually.
104693 2007-06-10  Bruno Haible  <bruno@clisp.org>
104695         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
104696         'maxlen'. Ensure only length + width bytes are allocated, not
104697         length + 1 + width.
104699 2007-06-09  Bruno Haible  <bruno@clisp.org>
104701         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
104702         (CHAR_T): Remove macro.
104703         (VASNPRINTF): Update.
104705 2007-06-09  Bruno Haible  <bruno@clisp.org>
104707         * MODULES.html.sh (Unicode string functions): Add the new modules.
104709         * modules/uniconv/u32-conv-to-enc: New file.
104710         * lib/uniconv/u32-conv-to-enc.c: New file.
104711         * modules/uniconv/u32-conv-to-enc-tests: New file.
104712         * tests/uniconv/test-u32-conv-to-enc.c: New file.
104714         * modules/uniconv/u16-conv-to-enc: New file.
104715         * lib/uniconv/u16-conv-to-enc.c: New file.
104716         * lib/uniconv/u-conv-to-enc.h: New file.
104717         * modules/uniconv/u16-conv-to-enc-tests: New file.
104718         * tests/uniconv/test-u16-conv-to-enc.c: New file.
104720         * modules/uniconv/u8-conv-to-enc: New file.
104721         * lib/uniconv/u8-conv-to-enc.c: New file.
104722         * modules/uniconv/u8-conv-to-enc-tests: New file.
104723         * tests/uniconv/test-u8-conv-to-enc.c: New file.
104725         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
104726         u32_conv_to_encoding): New declarations.
104728 2007-06-09  Bruno Haible  <bruno@clisp.org>
104730         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
104732 2007-06-09  Bruno Haible  <bruno@clisp.org>
104734         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
104735         * modules/malloca: Renamed from modules/allocsa, updated.
104736         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
104737         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
104738         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
104739         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
104740         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
104741         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
104742         * modules/xmalloca: Renamed from modules/xallocsa, updated.
104743         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
104744         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
104745         * modules/c-strcasestr (Depends-on): Update.
104746         * lib/c-strcasestr.c: Update.
104747         * modules/c-strstr (Depends-on): Update.
104748         * lib/c-strstr.c: Update.
104749         * modules/canonicalize-lgpl (Depends-on): Update.
104750         * lib/canonicalize-lgpl.c: Update.
104751         * modules/clean-temp (Depends-on): Update.
104752         * lib/clean-temp.c: Update.
104753         * modules/csharpcomp (Depends-on): Update.
104754         * lib/csharpcomp.c: Update.
104755         * modules/csharpexec (Depends-on): Update.
104756         * lib/csharpexec.c: Update.
104757         * modules/javacomp (Depends-on): Update.
104758         * lib/javacomp.c: Update.
104759         * modules/javaexec (Depends-on): Update.
104760         * lib/javaexec.c: Update.
104761         * modules/mbscasestr (Depends-on): Update.
104762         * lib/mbscasestr.c: Update.
104763         * modules/mbsstr (Depends-on): Update.
104764         * lib/mbsstr.c: Update.
104765         * modules/setenv (Depends-on): Update.
104766         * lib/setenv.c: Update.
104767         * modules/strcasestr (Depends-on): Update.
104768         * lib/strcasestr.c: Update.
104769         * modules/striconveha (Depends-on): Update.
104770         * lib/striconveha.c: Update.
104771         * modules/relocatable-prog-wrapper (Files): Update.
104772         * lib/relocwrapper.c: Update.
104773         * build-aux/install-reloc: Update.
104774         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
104776 2007-06-08  Bruno Haible  <bruno@clisp.org>
104778         Port to uClibc.
104779         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
104780         * lib/fpurge.c (fpurge): Likewise.
104781         * lib/freading.c (freading): Likewise.
104782         * lib/fseeko.c (rpl_fseeko): Likewise.
104783         * lib/fseterr.c (fseterr): Likewise.
104784         * lib/fwriting.c (fwriting): Likewise.
104785         * tests/test-fflush.c (main): Avoid a failure on uClibc.
104787 2007-06-08  Bruno Haible  <bruno@clisp.org>
104789         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
104790         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
104791         * modules/gettext (Files): Add m4/intlmacosx.m4.
104793 2007-06-07  Bruno Haible  <bruno@clisp.org>
104795         * modules/localename-tests: New file.
104796         * tests/test-localename.c: New file.
104798         New module 'localename'.
104799         * lib/localename.h: New file.
104800         * lib/localename.c: New file, from GNU gettext.
104801         * m4/localename.m4: New file.
104802         * modules/localename: New file.
104804 2007-06-07  Bruno Haible  <bruno@clisp.org>
104806         Work around the lack of <wchar.h> on some builds of uClibc.
104807         * doc/headers/wchar.texi: Update.
104808         * lib/wchar_.h: Include <wchar.h> only if it exists.
104809         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
104810         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
104811         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
104812         doesn't exist.
104813         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
104814         * modules/mbfile (Depends-on): Add wchar.
104815         * modules/mbiter (Depends-on): Likewise.
104816         * modules/mbuiter (Depends-on): Likewise.
104817         Reported by Simon Josefsson.
104819 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
104821         Work around problem reported by Steven M. Schweda in
104822         <http://lists.gnu.org/r/bug-tar/2007-06/msg00002.html>:
104823         Tru64 5.1B with the Compaq compiler environment installed declares
104824         an 'isblank' function but does not define it in the C library.
104825         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
104826         * lib/regex_internal.h (isblank): Likewise.
104827         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
104828         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
104830 2007-06-05  Bruno Haible  <bruno@clisp.org>
104832         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
104833         ia64.
104834         * modules/printf-safe: New file.
104835         * modules/fprintf-posix (Depends-on): Add printf-safe.
104836         * modules/printf-posix (Depends-on): Likewise.
104837         * modules/snprintf-posix (Depends-on): Likewise.
104838         * modules/sprintf-posix (Depends-on): Likewise.
104839         * modules/vasnprintf-posix (Depends-on): Likewise.
104840         * modules/vasprintf-posix (Depends-on): Likewise.
104841         * modules/vfprintf-posix (Depends-on): Likewise.
104842         * modules/vprintf-posix (Depends-on): Likewise.
104843         * modules/vsnprintf-posix (Depends-on): Likewise.
104844         * modules/vsprintf-posix (Depends-on): Likewise.
104845         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
104846         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
104847         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
104848         "no" on i386, x86_64, ia64.
104849         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
104850         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
104851         on i386, x86_64, ia64.
104852         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
104853         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
104854         on i386, x86_64, ia64.
104855         * tests/test-vasnprintf-posix.c: Include float.h.
104856         (LDBL80_WORDS): New macro.
104857         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
104858         on i386, x86_64, ia64.
104859         * tests/test-vasprintf-posix.c: Include float.h.
104860         (LDBL80_WORDS): New macro.
104861         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
104862         on i386, x86_64, ia64.
104863         * tests/test-snprintf-posix.c: Include float.h.
104864         * tests/test-sprintf-posix.c: Likewise.
104865         * tests/test-vsnprintf-posix.c: Likewise.
104866         * tests/test-vsprintf-posix.c: Likewise.
104868 2007-06-05  Bruno Haible  <bruno@clisp.org>
104870         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
104871         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
104872         non-IEEE numbers on i386, x86_64, ia64.
104873         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
104874         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
104875         * tests/test-isnanl.h: Include float.h.
104876         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
104878 2007-06-05  Bruno Haible  <bruno@clisp.org>
104880         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
104881         also the %a / %A. Handle the %a / %A code before this extra handling.
104883 2007-06-05  Bruno Haible  <bruno@clisp.org>
104885         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
104886         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
104888 2007-06-05  Bruno Haible  <bruno@clisp.org>
104890         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
104891         typo in variable name.
104893 2007-06-05  Eric Blake  <ebb9@byu.net>
104895         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
104896         Reported by Simon Josefsson.
104898 2007-06-04  Bruno Haible  <bruno@clisp.org>
104900         Avoid test failures on some PowerPC platforms.
104901         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
104902         Define differently for PowerPC.
104903         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
104904         Reported by Gary V. Vaughan <gary@gnu.org>.
104906 2007-06-02  Bruno Haible  <bruno@clisp.org>
104908         Fix test-stdint failure on FreeBSD/ia64.
104909         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
104910         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
104911         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
104912         * doc/headers/stdint.texi: Update.
104914 2007-06-01  Bruno Haible  <bruno@clisp.org>
104916         * tests/test-binary-io.c (main): Pass a third argument to open().
104917         Reported by Gary V. Vaughan <gary@gnu.org>.
104919 2007-06-01  Bruno Haible  <bruno@clisp.org>
104921         * doc/functions/frexpl.texi: Update for mingw.
104923 2007-06-01  Bruno Haible  <bruno@clisp.org>
104925         * tests/test-lseek.c (main): Disable test of errno for invalid third
104926         argument.
104927         * doc/functions/lseek.texi: Update.
104928         Reported by Gary V. Vaughan <gary@gnu.org>.
104930 2007-05-28  Bruno Haible  <bruno@clisp.org>
104932         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
104934 2007-05-31  Eric Blake  <ebb9@byu.net>
104936         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
104937         cross compiling.
104939 2007-05-30  Eric Blake  <ebb9@byu.net>
104940         and Bruno Haible  <bruno@clisp.org>
104942         Work around mingw test failures exposed by m4-1.4.9b.
104943         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
104944         * tests/test-unistd.c: Disable uid_t and git_t tests for the
104945         moment.
104947 2007-05-30  Bruno Haible  <bruno@clisp.org>
104949         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
104950         assuming that they are closed. Needed on HP-UX 11.
104952 2007-05-29  Bruno Haible  <bruno@clisp.org>
104954         Fix a problem with #include_next.
104955         * lib/dirent_.h: Split the double-inclusion guard.
104956         * lib/fcntl_.h: Likewise.
104957         * lib/float_.h: Likewise.
104958         * lib/iconv_.h: Likewise.
104959         * lib/inttypes_.h: Likewise.
104960         * lib/locale_.h: Likewise.
104961         * lib/math_.h: Likewise.
104962         * lib/netinet_in_.h: Likewise.
104963         * lib/search_.h: Likewise.
104964         * lib/signal_.h: Likewise.
104965         * lib/stdint_.h: Likewise.
104966         * lib/stdio_.h: Likewise.
104967         * lib/stdlib_.h: Likewise.
104968         * lib/string_.h: Likewise.
104969         * lib/sys_select_.h: Likewise.
104970         * lib/sys_socket_.h: Likewise.
104971         * lib/sys_stat_.h: Likewise.
104972         * lib/sys_time_.h: Likewise.
104973         * lib/sysexits_.h: Likewise.
104974         * lib/time_.h: Likewise.
104975         * lib/unistd_.h: Likewise.
104976         * lib/wchar_.h: Likewise.
104977         * lib/wctype_.h: Likewise.
104979 2007-05-29  Bruno Haible  <bruno@clisp.org>
104981         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
104982         for the moment.
104984 2007-05-29  Bruno Haible  <bruno@clisp.org>
104986         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
104987         invocation.
104988         Reported by Eric Blake.
104990 2007-05-29  Bruno Haible  <bruno@clisp.org>
104992         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
104993         compiling case.
104995 2007-05-29  Eric Blake  <ebb9@byu.net>
104996             Bruno Haible  <bruno@clisp.org>
104998         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
104999         cross compiles.
105001 2007-05-28  Eric Blake  <ebb9@byu.net>
105003         * modules/closein-tests (test_closein_LDADD): Support test on
105004         cygwin with libtool.
105006 2007-05-28  Bruno Haible  <bruno@clisp.org>
105008         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
105009         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
105010         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
105011         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
105012         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
105013         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
105014         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
105015         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
105016         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
105018 2007-05-28  Eric Blake  <ebb9@byu.net>
105020         Unconditionally include <config.h> in unit tests.
105021         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
105022         * tests/test-allocsa.c, tests/test-arcfour.c,
105023         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
105024         tests/test-array_list.c, tests/test-array_oset.c,
105025         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
105026         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
105027         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
105028         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
105029         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
105030         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
105031         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
105032         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
105033         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
105034         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
105035         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
105036         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
105037         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
105038         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
105039         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
105040         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
105041         test-md5.c, test-memmem.c, test-printf-posix.c,
105042         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
105043         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
105044         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
105045         test-strcasestr.c, test-striconv.c, test-striconveh.c,
105046         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
105047         test-vasnprintf-posix2.c, test-vasnprintf.c,
105048         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
105049         test-vfprintf-posix.c, test-vprintf-posix.c,
105050         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
105051         test-xvasprintf.c: Likewise.
105053 2007-05-28  Bruno Haible  <bruno@clisp.org>
105055         * gnulib-tool (func_import): Remember the --with-tests command-line
105056         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
105057         Reported by Eric Blake.
105059 2007-05-28  Bruno Haible  <bruno@clisp.org>
105061         * modules/ftell-tests: New file.
105062         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
105063         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
105065         * lib/ftell.c: New file.
105066         * modules/ftell: New file.
105067         * m4/ftell.m4: New file.
105068         * doc/functions/ftell.texi: Update.
105069         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
105070         REPLACE_FTELL.
105071         * lib/stdio_.h (rpl_ftell): New declaration.
105072         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
105073         REPLACE_FTELL.
105075 2007-05-28  Eric Blake  <ebb9@byu.net>
105077         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
105079 2007-05-28  Bruno Haible  <bruno@clisp.org>
105081         * modules/fseek-tests: New file.
105082         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
105083         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
105085         * lib/fseek.c: New file.
105086         * modules/fseek: New file.
105087         * m4/fseek.m4: New file.
105088         * doc/functions/fseek.texi: Update.
105089         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
105090         REPLACE_FSEEK.
105091         * lib/stdio_.h (rpl_fseek): New declaration.
105092         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
105093         REPLACE_FSEEK.
105095 2007-05-28  Bruno Haible  <bruno@clisp.org>
105097         * lib/stdio_.h (fflush): More comments.
105099 2007-05-28  Bruno Haible  <bruno@clisp.org>
105101         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
105102         runtime test.
105104 2007-05-28  Eric Blake  <ebb9@byu.net>
105106         Improve lseek module.
105107         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
105108         * lib/unistd_.h (lseek): Scale back link warning message.
105109         * tests/test-lseek.c: Beef up test.
105110         * tests/test-lseek.sh: Exercise more facets of lseek.
105111         Reported by Bruno Haible.
105113 2007-05-28  Bruno Haible  <bruno@clisp.org>
105115         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
105116         to define.
105118 2007-05-27  Bruno Haible  <bruno@clisp.org>
105120         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
105122 2007-05-27  Bruno Haible  <bruno@clisp.org>
105124         * modules/openmp: New file.
105125         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
105126         Noah Misch.
105128 2007-05-26  Bruno Haible  <bruno@clisp.org>
105130         * modules/chdir-long (Depends-on): Add fchdir.
105131         * modules/chdir-safer (Depends-on): Likewise.
105132         * modules/fts (Depends-on): Likewise.
105133         * modules/fts-lgpl (Depends-on): Likewise.
105134         * modules/openat (Depends-on): Likewise.
105135         * modules/savewd (Depends-on): Likewise.
105137 2007-05-24  Eric Blake  <ebb9@byu.net>
105139         Fix lseek on mingw.
105140         * modules/lseek: New module.
105141         * m4/lseek.m4: New file.
105142         * lib/lseek.c: New file.
105143         * modules/lseek-tests: New file.
105144         * tests/test-lseek.c: New file.
105145         * tests/test-lseek.sh: New file.
105146         * MODULES.html.sh: Document lseek module.
105147         * modules/fflush (Depends-on): Add lseek, fseeko.
105148         * modules/fseeko (Depends-on): Likewise.
105149         * modules/ftello (Depends-on): Likewise.
105150         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
105151         broken.
105152         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
105153         broken.
105154         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
105155         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
105156         * lib/ftello.c (rpl_ftello): Likewise.
105157         * tests/test-fseeko.c (main): Test this.
105158         * tests/test-fseeko.sh: Likewise.
105159         * tests/test-ftello.c (main): Likewise.
105160         * tests/test-ftello.sh: Likewise.
105161         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
105162         implies replacing fseek.
105163         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
105164         HAVE_FTELLO.
105165         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
105166         * modules/unistd (Makefile.am): Likewise.
105167         * lib/unistd_.h (lseek): Declare a replacement.
105168         * doc/functions/lseek.texi (lseek): Document this fix.
105169         * doc/functions/fseek.texi (fseek): Likewise.
105170         * doc/functions/ftell.texi (ftell): Likewise.
105172 2007-05-24  Bruno Haible  <bruno@clisp.org>
105174         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
105175         in the printed representation of a NaN.
105176         * tests/test-vasprintf-posix.c (test_function): Likewise.
105177         * tests/test-snprintf-posix.h (test_function): Likewise.
105178         * tests/test-sprintf-posix.h (test_function): Likewise.
105179         Reported by Eric Blake.
105181 2007-05-23  Eric Blake  <ebb9@byu.net>
105183         Fix fseeko/ftello on cygwin 1.5.24.
105184         * doc/functions/fseeko.texi (fseeko): Document the fix.
105185         * doc/functions/ftello.texi (ftello): Document the fix.
105186         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
105187         * doc/functions/stdout.text (stdout): New file.
105188         * doc/functions/stderr.text (stderr): New file.
105189         * doc/gnulib.texi (Function Substitutes): Use new files.
105190         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
105191         prior to 1.7.0.
105192         * tests/test-ftello.c (main): Likewise for ftello.
105193         * tests/test-fseeko.sh: New file.
105194         * tests/test-ftello.sh: New file.
105195         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
105196         with seekable stdin.
105197         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
105198         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
105199         (gl_REPLACE_FSEEKO): New macro.
105200         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
105201         * modules/fseeko (Files): Distribute fseeko.c.
105202         * modules/ftello (Files): Distribute ftello.c.
105203         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
105204         mode.
105205         * lib/ftello.c (rpl_ftello): New file.
105206         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
105207         fseeko, ftello.
105208         (gl_STDIN_LARGE_OFFSET): New macro.
105209         * modules/stdio (Makefile.am): Perform the replacement.
105210         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
105212 2007-05-23  Bruno Haible  <bruno@clisp.org>
105214         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
105215         GNULIB_POSIXCHECK is defined.
105217 2007-05-21  Bruno Haible  <bruno@clisp.org>
105219         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
105220         Check also the output for NaN arguments. When cross-compiling, guess
105221         no on IRIX.
105222         * lib/vasnprintf.c: Update comments.
105223         * tests/test-vasnprintf-posix.c (strisnan): New function.
105224         (test_function): Use it.
105225         * tests/test-vasprintf-posix.c (strisnan): New function.
105226         (test_function): Use it.
105227         * tests/test-snprintf-posix.h (strisnan): New function.
105228         (test_function): Use it.
105229         * tests/test-sprintf-posix.h (strisnan): New function.
105230         (test_function): Use it.
105231         Reported by Eric Blake.
105233 2007-05-20  Bruno Haible  <bruno@clisp.org>
105235         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
105236         numbers that fails on BeOS.
105237         * doc/functions/frexpl.texi: Update.
105239 2007-05-20  Jim Meyering  <jim@meyering.net>
105241         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
105242         forced upon us by glibc-2.6.
105244 2007-05-20  Bruno Haible  <bruno@clisp.org>
105246         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
105247         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
105248         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
105249         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
105250         NEED_PRINTF_INFINITE.
105251         (is_infinitel): New function.
105252         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
105253         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
105254         gl_PREREQ_VASNPRINTF_INFINITE.
105255         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
105256         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
105257         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
105258         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
105259         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
105260         gl_PREREQ_VASNPRINTF_INFINITE.
105261         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
105262         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
105263         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
105264         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
105265         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
105266         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
105267         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
105268         * doc/functions/fprintf.texi: Update.
105269         * doc/functions/printf.texi: Update.
105270         * doc/functions/snprintf.texi: Update.
105271         * doc/functions/sprintf.texi: Update.
105272         * doc/functions/vfprintf.texi: Update.
105273         * doc/functions/vprintf.texi: Update.
105274         * doc/functions/vsnprintf.texi: Update.
105275         * doc/functions/vsprintf.texi: Update.
105277 2007-05-20  Bruno Haible  <bruno@clisp.org>
105279         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
105280         was not found in libc.
105281         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
105283 2007-05-20  Bruno Haible  <bruno@clisp.org>
105285         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
105286         printed as "-nan" instead of "nan".
105287         * tests/test-vasprintf-posix.c (test_function): Likewise.
105288         * tests/test-snprintf-posix.h (test_function): Likewise.
105289         * tests/test-sprintf-posix.h (test_function): Likewise.
105290         Needed for HP-UX 11.
105292 2007-05-20  Jim Meyering  <jim@meyering.net>
105294         Fix buggy test for the fchownat-deref bug.
105295         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
105296         symlink required for the run-test.  Without it, this test would
105297         always declare that fchownat doesn't work, and client code would
105298         unnecessarily use the replacement function with fixed libc.
105299         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
105300         Reported by Greg Schafer.
105302 2007-05-19  Bruno Haible  <bruno@clisp.org>
105304         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
105305         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
105306         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
105307         Needed for IRIX 6.5 and Solaris 2.5.1.
105309 2007-05-19  Bruno Haible  <bruno@clisp.org>
105311         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
105312         (test_function): Skip tests involving -0.0 on platforms where
105313         -0.0 = 0.0.
105314         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
105315         (test_function): Skip tests involving -0.0 on platforms where
105316         -0.0 = 0.0.
105317         * tests/test-snprintf-posix.h (have_minus_zero): New function.
105318         (test_function): Skip tests involving -0.0 on platforms where
105319         -0.0 = 0.0.
105320         * tests/test-sprintf-posix.h (have_minus_zero): New function.
105321         (test_function): Skip tests involving -0.0 on platforms where
105322         -0.0 = 0.0.
105323         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
105324         tests.
105325         * tests/test-printf-posix.h (test_function): Likewise.
105326         * tests/test-printf-posix.output: Remove all -0.0 related results.
105327         Needed for IRIX 6.5.
105329 2007-05-19  Bruno Haible  <bruno@clisp.org>
105331         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
105332         printed as "nan0x7fffffff" instead of "nan".
105333         * tests/test-vasprintf-posix.c (test_function): Likewise.
105334         * tests/test-snprintf-posix.h (test_function): Likewise.
105335         * tests/test-sprintf-posix.h (test_function): Likewise.
105336         * tests/test-fprintf-posix.h (NaN): Remove macro.
105337         (test_function): Remove all NaN related tests.
105338         * tests/test-printf-posix.h (NaN): Remove macro.
105339         (test_function): Remove all NaN related tests.
105340         * tests/test-printf-posix.output: Remove all NaN related results.
105341         Needed for IRIX 6.5.
105343 2007-05-19  Bruno Haible  <bruno@clisp.org>
105345         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
105346         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
105348 2007-05-19  Bruno Haible  <bruno@clisp.org>
105350         * lib/float_.h: New file.
105351         * m4/float_h.m4: New file.
105352         * modules/float: New file.
105353         * modules/isnanl (Dependencies): Add float.
105354         * modules/isnanl-nolibm (Dependencies): Likewise.
105355         * modules/mathl (Dependencies): Likewise.
105356         * modules/printf-frexpl (Dependencies): Likewise.
105357         * modules/signbit (Dependencies): Likewise.
105358         * modules/vasnprintf (Dependencies): Likewise.
105359         * doc/headers/float.texi: Update.
105361 2007-05-19  Jim Meyering  <jim@meyering.net>
105363         * lib/utimens.c (gl_futimens): Rename from futimens,
105364         now that glibc-2.6 declares futimens.
105365         * lib/utimens.h: Likewise.
105367 2007-05-19  Bruno Haible  <bruno@clisp.org>
105369         Avoid test failures on mingw.
105370         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
105371         * tests/test-printf-posix.sh: Likewise.
105372         * tests/test-vfprintf-posix.sh: Likewise.
105373         * tests/test-vprintf-posix.sh: Likewise.
105375 2007-05-19  Bruno Haible  <bruno@clisp.org>
105377         Fix *printf result for NaN, Inf, -0.0 on mingw.
105378         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
105379         * lib/vasnprintf.c: Include math.h and isnan.h.
105380         (is_infinite_or_zero): New function.
105381         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
105382         values in the %f, %F, %e, %E, %g, %G directives.
105383         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
105384         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
105385         gl_PRINTF_INFINITE and test its result. Invoke
105386         gl_PREREQ_VASNPRINTF_INFINITE.
105387         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
105388         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
105389         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
105390         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
105391         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
105392         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
105393         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
105394         * doc/functions/fprintf.texi: Update.
105395         * doc/functions/printf.texi: Update.
105396         * doc/functions/snprintf.texi: Update.
105397         * doc/functions/sprintf.texi: Update.
105398         * doc/functions/vfprintf.texi: Update.
105399         * doc/functions/vprintf.texi: Update.
105400         * doc/functions/vsnprintf.texi: Update.
105401         * doc/functions/vsprintf.texi: Update.
105403 2007-05-19  Bruno Haible  <bruno@clisp.org>
105405         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
105406         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
105407         Instead of multiplying with 10^k, set extra_zeroes to k.
105408         (scale10_round_long_double): Remove function.
105410 2007-05-18  Bruno Haible  <bruno@clisp.org>
105412         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
105413         introduced on 2007-05-06.
105415 2007-05-18  Bruno Haible  <bruno@clisp.org>
105417         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
105418         %g directives.
105419         * tests/test-vasprintf-posix.c (test_function): Likewise.
105420         * tests/test-snprintf-posix.h (test_function): Likewise.
105421         * tests/test-sprintf-posix.h (test_function): Likewise.
105423 2007-05-18  Bruno Haible  <bruno@clisp.org>
105425         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
105426         (strmatch): New function.
105427         (test_function): Test the %f directive on numbers of various exponents.
105428         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
105429         (strmatch): New function.
105430         (test_function): Test the %f directive on numbers of various exponents.
105431         * tests/test-snprintf-posix.h (strmatch): New function.
105432         (test_function): Test the %f directive on numbers of various exponents.
105433         * tests/test-sprintf-posix.h (strmatch): New function.
105434         (test_function): Test the %f directive on numbers of various exponents.
105435         * tests/test-snprintf-posix.c (SIZEOF): New macro.
105436         * tests/test-sprintf-posix.c (SIZEOF): New macro.
105437         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
105438         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
105440 2007-05-18  Bruno Haible  <bruno@clisp.org>
105442         Add support for 'long double' number output.
105443         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
105444         * lib/vasnprintf.c: Include math.h and float+.h.
105445         (mp_limb_t): New type.
105446         (GMP_LIMB_BITS): New macro.
105447         (mp_twolimb_t): New type.
105448         (GMP_TWOLIMB_BITS): New macro.
105449         (mpn_t): New type.
105450         (multiply, divide, convert_to_decimal, decode_long_double,
105451         scale10_round_long_double, scale10_round_decimal_long_double,
105452         floorlog10l): New functions.
105453         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
105454         for the %f, %F, %e, %E, %g, %G directives.
105455         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
105456         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
105457         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
105458         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
105459         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
105460         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
105461         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
105462         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
105463         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
105464         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
105465         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
105466         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
105467         * modules/snprintf-posix (Depends-on): Likewise.
105468         * modules/sprintf-posix (Depends-on): Likewise.
105469         * modules/vasnprintf-posix (Depends-on): Likewise.
105470         * modules/vasprintf-posix (Depends-on): Likewise.
105471         * modules/vfprintf-posix (Depends-on): Likewise.
105472         * modules/vsnprintf-posix (Depends-on): Likewise.
105473         * modules/vsprintf-posix (Depends-on): Likewise.
105474         * modules/vasnprintf (Files): Add lib/float+.h.
105475         * doc/functions/fprintf.texi: Update.
105476         * doc/functions/printf.texi: Update.
105477         * doc/functions/snprintf.texi: Update.
105478         * doc/functions/sprintf.texi: Update.
105479         * doc/functions/vfprintf.texi: Update.
105480         * doc/functions/vprintf.texi: Update.
105481         * doc/functions/vsnprintf.texi: Update.
105482         * doc/functions/vsprintf.texi: Update.
105484 2007-05-18  Bruno Haible  <bruno@clisp.org>
105486         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
105488 2007-05-18  Bruno Haible  <bruno@clisp.org>
105490         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
105491         for printing 64-bit integers. Needed for mingw.
105493 2007-05-18  Bruno Haible  <bruno@clisp.org>
105495         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
105496         gl_FUNC_FREXPL_WORKS.
105497         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
105499 2007-05-18  Bruno Haible  <bruno@clisp.org>
105501         * modules/frexpl-nolibm-tests: New file.
105503         * modules/frexpl-nolibm: New file.
105504         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
105506 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
105508         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
105509         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
105510         GCC 4.2, which otherwise issues a lot of warnings.
105511         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
105512         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
105513         Likewise.
105514         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
105515         * modules/iconv_open (iconv.h): Likewise.
105516         * modules/locale (locale.h): Likewise.
105517         * modules/netinet_in (netinet/in.h): Likewise.
105518         * modules/sys_select (sys_select.h): Likewise.
105519         * modules/sys_socket (sys/socket.h): Likewise.
105520         * modules/sys_stat (sys/stat.h): Likewise.
105521         * modules/sysexits (sysexits.h): Likewise.
105522         * modules/unistd (unistd.h): Likewise.
105524 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
105526         * modules/closein-tests (Makefile.am): Distribute
105527         `test-closein.sh'.
105529 2007-05-17  Bruno Haible  <bruno@clisp.org>
105531         * tests/test-printf-posix.output: Renamed from
105532         tests/test-fprintf-posix.out.
105533         * modules/fprintf-posix-tests: Update.
105534         * modules/printf-posix-tests: Update.
105535         * modules/vfprintf-posix-tests: Update.
105536         * modules/vprintf-posix-tests: Update.
105537         * tests/test-fprintf-posix.sh: Update.
105538         * tests/test-printf-posix.sh: Update.
105539         * tests/test-vfprintf-posix.sh: Update.
105540         * tests/test-vprintf-posix.sh: Update.
105541         Reported by Ralf Wildenhues.
105543 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
105545         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
105546         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
105547         GCC 4.2, which otherwise issues a lot of warnings.
105548         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
105549         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
105550         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
105551         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
105552         it should no longer be needed.
105553         * lib/string_.h: Likewise.
105554         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
105555         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
105556         * modules/inttypes (inttypes.h): Likewise.
105557         * modules/math (math.h): Likewise.
105558         * modules/search (search.h): Likewise.
105559         * modules/signal (signal.h): Likewise.
105560         * modules/stdint (stdint.h): Likewise.
105561         * modules/stdio (stdio.h): Likewise.
105562         * modules/stdlib (stdlib.h): Likewise.
105563         * modules/string (string.h): Likewise.
105564         * modules/sys_time (sys/time.h): Likewise.
105565         * modules/time (time.h): Likewise.
105566         * modules/wchar (wchar.h): Likewise.
105567         * modules/wctype (wtype.h): Likewise.
105569 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
105571         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
105573 2007-05-13  Bruno Haible  <bruno@clisp.org>
105575         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
105576         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
105577         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
105578         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
105579         (gl_PREREQ_STRTOK_R): Don't require it here.
105581 2007-05-13  Bruno Haible  <bruno@clisp.org>
105583         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
105584         when used in C++ mode.
105586 2007-05-12  Bruno Haible  <bruno@clisp.org>
105588         * lib/linebuffer.h: Tweak doc.
105589         * lib/linebuffer.c: Likewise.
105591 2007-05-12  James Youngman  <jay@gnu.org>
105593         * lib/linebuffer.c (readlinebuffer_delim): New function,
105594         like readlinebuffer, but use a caller-specified delimiter.
105595         (readlinebuffer): Just call readlinebuffer_delim with '\n'
105596         as the delimiter.
105597         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
105599 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
105601         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
105602         * modules/openat (Files): Remove openat-die.c.
105603         (Depends-on): Add openat-die.
105604         * modules/openat-die: New module.
105606 2007-05-06  Bruno Haible  <bruno@clisp.org>
105608         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
105609         Update with info about Cygwin.
105610         * doc/functions/fprintf.texi: Update.
105611         * doc/functions/printf.texi: Update.
105612         * doc/functions/snprintf.texi: Update.
105613         * doc/functions/sprintf.texi: Update.
105614         * doc/functions/vfprintf.texi: Update.
105615         * doc/functions/vprintf.texi: Update.
105616         * doc/functions/vsnprintf.texi: Update.
105617         * doc/functions/vsprintf.texi: Update.
105618         Reported by Eric Blake.
105620 2007-05-06  Bruno Haible  <bruno@clisp.org>
105622         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
105623         padding ourselves for the floating-point directives.
105624         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
105625         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
105626         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
105627         gl_PRINTF_FLAG_ZERO and test its result. Invoke
105628         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
105629         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
105630         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
105631         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
105632         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
105633         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
105634         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
105635         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
105636         * tests/test-snprintf-posix.h (test_function): Also check the width
105637         and some flags in the %f directive.
105638         * tests/test-sprintf-posix.h (test_function): Likewise.
105639         * tests/test-vasnprintf-posix.c (test_function): Likewise.
105640         * tests/test-vasprintf-posix.c (test_function): Likewise.
105641         * doc/functions/fprintf.texi: Update.
105642         * doc/functions/printf.texi: Update.
105643         * doc/functions/snprintf.texi: Update.
105644         * doc/functions/sprintf.texi: Update.
105645         * doc/functions/vfprintf.texi: Update.
105646         * doc/functions/vprintf.texi: Update.
105647         * doc/functions/vsnprintf.texi: Update.
105648         * doc/functions/vsprintf.texi: Update.
105650 2007-05-06  Bruno Haible  <bruno@clisp.org>
105652         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
105653         pass the ' flag character to sprintf or snprintf.
105654         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
105655         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
105656         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
105657         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
105658         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
105659         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
105660         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
105661         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
105662         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
105663         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
105664         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
105665         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
105666         * tests/test-snprintf-posix.h (test_function): Also check the grouping
105667         flag.
105668         * tests/test-sprintf-posix.h (test_function): Likewise.
105669         * tests/test-vasnprintf-posix.c (test_function): Likewise.
105670         * tests/test-vasprintf-posix.c (test_function): Likewise.
105671         * doc/functions/fprintf.texi: Update.
105672         * doc/functions/printf.texi: Update.
105673         * doc/functions/snprintf.texi: Update.
105674         * doc/functions/sprintf.texi: Update.
105675         * doc/functions/vfprintf.texi: Update.
105676         * doc/functions/vprintf.texi: Update.
105677         * doc/functions/vsnprintf.texi: Update.
105678         * doc/functions/vsprintf.texi: Update.
105680 2007-05-01  Bruno Haible  <bruno@clisp.org>
105682         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
105684 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
105686         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
105687         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
105689 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
105691         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
105692         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
105693         <http://lists.gnu.org/r/bug-gnulib/2007-05/msg00021.html>.
105695 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
105697         * lib/argp-help.c (struct hol_entry): New member `ord'.
105698         (HOL_ENTRY_PTRCMP): Use ord for comparison
105699         (hol_sort): Initialize ord.
105701 2007-05-01  Bruno Haible  <bruno@clisp.org>
105703         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
105704         Reported by Eric Blake.
105705         * doc/gnulib.texi (Function Substitutes): Update.
105707 2007-05-01  Bruno Haible  <bruno@clisp.org>
105709         * doc/functions.texi: Remove file, now redundant through
105710         doc/functions/*.texi.
105712 2007-05-01  Bruno Haible  <bruno@clisp.org>
105714         * modules/argp (Depends-on): Add sleep.
105716 2007-05-01  Bruno Haible  <bruno@clisp.org>
105718         * modules/sleep-tests: New file.
105719         * tests/test-sleep.c: New file.
105721         * modules/sleep: New file.
105722         * lib/sleep.c: New file.
105723         * m4/sleep.m4: New file.
105724         * lib/unistd_.h (sleep): New declaration.
105725         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
105726         HAVE_SLEEP.
105727         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
105728         * doc/functions/sleep.texi: Document the sleep module.
105730 2007-05-01  Bruno Haible  <bruno@clisp.org>
105732         * lib/sigprocmask.h: Remove file.
105733         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
105734         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
105735         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
105736         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
105737         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
105738         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
105739         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
105740         HAVE_SIGSET_T as a shell variable.
105741         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
105742         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
105743         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
105744         (Depends-on): Add signal. Remove verify.
105745         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
105746         (Include): Mention <signal.h> instead of sigprocmask.h.
105747         * NEWS: Mention the change.
105748         * lib/fatal-signal.c: Don't include sigprocmask.h.
105750 2007-05-01  Bruno Haible  <bruno@clisp.org>
105752         * modules/signal: New file.
105753         * lib/signal_.h: New file.
105754         * m4/signal_h.m4: New file.
105756 2007-05-01  Bruno Haible  <bruno@clisp.org>
105758         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
105759         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
105760         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
105761         HAVE_WCTYPE_CTMP_BUG into wctype.h.
105763 2007-05-01  Bruno Haible  <bruno@clisp.org>
105765         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
105766         configure time.
105767         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
105768         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
105769         * modules/sys_stat (Makefile.am): Substitute their values into
105770         sys/stat.h.
105772 2007-05-01  Bruno Haible  <bruno@clisp.org>
105774         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
105775         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
105776         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
105778 2007-05-01  Bruno Haible  <bruno@clisp.org>
105780         * doc/header/assert.texi: Undo last change: don't mention the gnulib
105781         'assert' module here.
105783 2007-05-01  Bruno Haible  <bruno@clisp.org>
105785         * doc/functions/*.texi: New files.
105786         * doc/functions/google-ranking.txt: New file.
105787         * doc/gnulib.texi (Function Substitutes): New chapter.
105788         (ctime, inet_ntoa): Remove sections.
105789         * doc/ctime.texi: Remove file.
105790         * doc/inet_ntoa.texi: Remove file.
105791         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
105792         dependencies.
105793         (%.info): New rule, specifying a --reference-limit.
105795 2007-05-01  Bruno Haible  <bruno@clisp.org>
105797         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
105799 2007-05-01  Bruno Haible  <bruno@clisp.org>
105801         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
105802         the portability of 'mkdir' to mingw systems.
105804 2007-05-01  Bruno Haible  <bruno@clisp.org>
105806         * doc/headers/google-ranking.txt: New file.
105808 2007-04-30  Eric Blake  <ebb9@byu.net>
105810         Prefer fseeko to fseek.
105811         * modules/getpass (Depends-on): Add fseeko.
105812         * lib/getpass.c (getpass): Use fseeko, not fseek.
105814 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
105816         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
105817         assumes the sorting is stable, while most qsort implementations
105818         are not.  Use argument addresses to ensure they never compare as
105819         equal.
105821         * tests/test-argp-2.sh (usage-indent test): Fix output
105822         (func_compare): Restore diff options
105823         * tests/test-argp.c: Restore #include "progname.h"
105825 2007-04-29  Bruno Haible  <bruno@clisp.org>
105827         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
105828         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
105829         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
105830         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
105831         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
105832         (configure.ac): Define CHECK_SNPRINTF_POSIX.
105833         (TESTS, check_PROGRAMS): Add test-snprintf.
105834         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
105835         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
105836         (TESTS, check_PROGRAMS): Add test-vsnprintf.
105837         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
105838         assertions that fail on HP-UX, OSF/1, or IRIX.
105839         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
105841 2007-04-29  Bruno Haible  <bruno@clisp.org>
105843         * MODULES.html.sh (posix_functions): Remove 'contents'.
105845 2007-04-29  Karl Berry  <karl@gnu.org>
105847         * config/srclist.txt (gendocs_template_min): new entry.
105849 2007-04-29  Bruno Haible  <bruno@clisp.org>
105851         Work around fpurge bug on BSD systems.
105852         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
105853         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
105854         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
105855         fpurge to rpl_fpurge if the system already has this function.
105856         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
105857         the case where the system already has this function. Correct invariants
105858         on BSD systems.
105859         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
105860         BSD systems.
105862 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
105864         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
105865         proposed by Sven Verdoolaege.
105867         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
105868         options.
105869         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
105870         (usage and help tests): Update
105872 2007-04-29  Bruno Haible  <bruno@clisp.org>
105874         * tests/test-fflush.c (main): Use a file of size 17, not 10.
105875         Print more information in case of failure. Disable a test on BeOS.
105877 2007-04-29  Bruno Haible  <bruno@clisp.org>
105879         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
105880         This helps debugging on systems on which no gdb is available.
105882 2007-04-29  Bruno Haible  <bruno@clisp.org>
105884         * lib/freading.h: Improve comments.
105885         * lib/fwriting.h: Likewise.
105886         * tests/test-freading.c (main): Don't check freading immediately after
105887         repositioning. Needed for glibc.
105889 2007-04-29  Bruno Haible  <bruno@clisp.org>
105891         * lib/freading.c (freading): Trivial simplification.
105893 2007-04-28  Bruno Haible  <bruno@clisp.org>
105895         * tests/test-fwriting.c (main): Also test the interaction between
105896         fflush and fwriting.
105897         * modules/fwriting-tests (Depends-on): Add fflush.
105899         * tests/test-freading.c (main): Also test the interaction between
105900         fflush and freading.
105901         * modules/freading-tests (Depends-on): Add fflush.
105903 2007-04-28  Bruno Haible  <bruno@clisp.org>
105905         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
105906         fseeko and ftello.
105907         Suggested by Eric Blake.
105909 2007-04-28  Jim Meyering  <jim@meyering.net>
105911         Avoid false-negative in gl_STDINT_H's C99 conformance test.
105912         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
105913         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
105915 2007-04-27  Eric Blake  <ebb9@byu.net>
105917         * doc/headers/assert.texi (assert.h): Document assert module use.
105919 2007-04-27  Bruno Haible  <bruno@clisp.org>
105921         * doc/headers/*.texi: New files.
105922         * doc/gnulib.texi (Header File Substitutes): New chapter.
105923         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
105924         dependencies.
105925         (standards.info ,standards.html, standards.dvi): Update dependencies.
105926         (mostlyclean, clean): New targets.
105928 2007-04-27  Bruno Haible  <bruno@clisp.org>
105930         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
105931         * modules/sysexits (Files, Makefile.am): Update.
105933         * lib/sys_socket_.h: Renamed from lib/socket_.h.
105934         * modules/sys_socket (Files, Makefile.am): Update.
105936         * lib/sys_stat_.h: Renamed from lib/stat_.h.
105937         * modules/sys_stat (Files, Makefile.am): Update.
105939 2007-04-27  Eric Blake  <ebb9@byu.net>
105941         * lib/freading.h: Improve comments.
105942         * lib/fwriting.h: Likewise.
105943         * lib/fflush.c: Likewise.
105945         Fix closein for mingw.
105946         * modules/closein-tests: Add tests for closein.
105947         * tests/test-closein.c: New file.
105948         * tests/test-closein.sh: Likewise.
105949         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
105950         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
105952 2007-04-27  Bruno Haible  <bruno@clisp.org>
105954         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
105955         version is < 6.
105956         * lib/math_.h [__DECC]: Likewise.
105957         * lib/stdio_.h [__DECC]: Likewise.
105958         * lib/stdlib_.h [__DECC]: Likewise.
105959         * lib/string_.h [__DECC]: Likewise.
105960         * lib/time_.h [__DECC]: Likewise.
105961         * lib/wchar_.h [__DECC]: Likewise.
105962         * lib/wctype_.h [__DECC]: Likewise.
105964 2007-04-27  Bruno Haible  <bruno@clisp.org>
105966         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
105968 2007-04-27  Bruno Haible  <bruno@clisp.org>
105970         * lib/fflush.c: Add comments.
105971         * modules/fpurge-tests (Depends-on): Add fflush.
105972         * modules/freadable-tests (Depends-on): Likewise.
105973         * modules/fwritable-tests (Depends-on): Likewise.
105975 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
105977         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
105978         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
105979         Report by Bruno Haible <bruno@clisp.org>.
105981 2007-04-26  Eric Blake  <ebb9@byu.net>
105983         Fix fflush on mingw.
105984         * modules/fflush (Depends-on): Add freading.
105985         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
105986         but unread data.
105988 2007-04-26  Eric Blake  <ebb9@byu.net>
105989         and Bruno Haible  <bruno@clisp.org>
105991         Implement freading and fwriting.
105992         * lib/freading.c: New file.
105993         * lib/freading.h: Likewise.
105994         * m4/freading.m4: Likewise.
105995         * modules/freading: Likewise.
105996         * modules/freading-tests: Likewise.
105997         * tests/test-freading.c: Likewise.
105998         * lib/fwriting.c: New file.
105999         * lib/fwriting.h: Likewise.
106000         * m4/fwriting.m4: Likewise.
106001         * modules/fwriting: Likewise.
106002         * modules/fwriting-tests: Likewise.
106003         * tests/test-fwriting.c: Likewise.
106004         * MODULES.html.sh (File stream based Input/Output): Mention them.
106006 2007-04-26  Bruno Haible  <bruno@clisp.org>
106008         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
106009         'long' when we assume it.
106010         Suggested by Eric Blake.
106012 2007-04-26  Bruno Haible  <bruno@clisp.org>
106014         Ensure fseeko, ftello are declared on glibc systems.
106015         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
106016         * modules/fseeko (configure.ac-early): Likewise.
106017         * modules/ftello (configure.ac-early): Likewise.
106018         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
106019         AC_FUNC_FSEEKO for this.
106020         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
106021         (gl_CHECK_FSEEKO): Remove macro.
106023 2007-04-26  Bruno Haible  <bruno@clisp.org>
106025         * tests/test-fflush.c (main): Also check the ftell result after
106026         fflush and fseek/fseeko.
106027         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
106028         file descriptor position cache in the stream.
106029         * lib/fseeko.c (rpl_fseeko): Likewise.
106031 2007-04-26  Bruno Haible  <bruno@clisp.org>
106033         * modules/fflush-tests (Depends-on): Add fseeko.
106035 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
106036             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
106038         * lib/argz_.h: ensure error_t definition is obtained in same
106039         mechanism system argz.h would have.
106040         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
106041         argz facilities are known bad.  Err on the side of caution if
106042         cross-compiling.
106044 2007-04-25  Eric Blake  <ebb9@byu.net>
106046         * lib/fpurge.c (includes): Use stdlib.h for free.
106047         * tests/test-fflush.c (main): Also test fflush-fseeko.
106049 2007-04-25  Bruno Haible  <bruno@clisp.org>
106051         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
106052         * lib/fseeko.c: New file.
106053         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
106054         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
106055         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
106056         gl_FUNC_FSEEKO.
106057         (gl_FUNC_FSEEKO): Invoke it.
106058         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
106059         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
106060         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
106062 2007-04-25  Bruno Haible  <bruno@clisp.org>
106064         * modules/fflush (Depends-on): Add ftello.
106066 2007-04-25  Bruno Haible  <bruno@clisp.org>
106068         * modules/ftello-tests: New file.
106069         * tests/test-ftello.c: New file.
106071         * modules/ftello: New file.
106072         * m4/ftello.m4: New file.
106073         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
106074         HAVE_FTELLO.
106075         * lib/stdio_.h (ftello): New declaration.
106076         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
106077         HAVE_FTELLO.
106079 2007-04-25  Bruno Haible  <bruno@clisp.org>
106081         * modules/fseeko-tests: New file.
106082         * tests/test-fseeko.c: New file.
106084         * modules/fseeko: New file.
106085         * m4/fseeko.m4: New file.
106086         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
106087         HAVE_FSEEKO.
106088         * lib/stdio_.h (fseeko): New declaration.
106089         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
106090         HAVE_FSEEKO.
106092 2007-04-25  Bruno Haible  <bruno@clisp.org>
106094         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
106096 2007-04-25  Bruno Haible  <bruno@clisp.org>
106098         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
106099         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
106100         * tests/test-unistd.c: Likewise.
106101         * tests/test-fcntl.c: Likewise.
106103 2007-04-23  Eric Blake  <ebb9@byu.net>
106105         * lib/fflush.c: Fix missing include.
106106         Reported by Bruno Haible.
106108 2007-04-23  Bruno Haible  <bruno@clisp.org>
106110         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
106111         Reported by Eric Blake.
106113 2007-04-23  Bruno Haible  <bruno@clisp.org>
106115         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
106117 2007-04-23  Bruno Haible  <bruno@clisp.org>
106119         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
106121 2007-04-23  Bruno Haible  <bruno@clisp.org>
106123         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
106124         Needed on HP-UX 11.
106126 2007-04-16  Eric Blake  <ebb9@byu.net>
106128         Make fflush rely on fpurge.
106129         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
106130         open coding all variants.
106131         * modules/fflush (Depends-on): Add fpurge and unistd.
106132         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
106133         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
106135         Fix --with-tests compilation on cygwin.
106136         * modules/argmatch-tests (Makefile.am): List gnulib library first
106137         in LDADD.
106138         * modules/argp-tests (Makefile.am): Likewise.
106139         * modules/array-list-tests (Makefile.am): Likewise.
106140         * modules/array-oset-tests (Makefile.am): Likewise.
106141         * modules/avltree-list-tests (Makefile.am): Likewise.
106142         * modules/avltree-oset-tests (Makefile.am): Likewise.
106143         * modules/avltreehash-list-tests (Makefile.am): Likewise.
106144         * modules/carray-list-tests (Makefile.am): Likewise.
106145         * modules/dirname-tests (Makefile.am): Likewise.
106146         * modules/frexp-tests (Makefile.am): Likewise.
106147         * modules/isnanl-tests (Makefile.am): Likewise.
106148         * modules/linked-list-tests (Makefile.am): Likewise.
106149         * modules/linkedhash-list-tests (Makefile.am): Likewise.
106150         * modules/lock-tests (Makefile.am): Likewise.
106151         * modules/rbtree-list-tests (Makefile.am): Likewise.
106152         * modules/rbtree-oset-tests (Makefile.am): Likewise.
106153         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
106154         * modules/tls-tests (Makefile.am): Likewise.
106155         * modules/tsearch-tests (Makefile.am): Likewise.
106156         * modules/xvasprintf-tests (Makefile.am): Likewise.
106158         Fix fpurge for cygwin.
106159         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
106160         value.
106161         * modules/fpurge-tests (Depends-on): Clean up trash.
106163 2007-04-16  Simon Josefsson  <simon@josefsson.org>
106165         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
106167         * m4/autobuild.m4: Re-indent.
106169 2007-04-13  Bruno Haible  <bruno@clisp.org>
106171         * modules/fpurge-tests: New file.
106172         * tests/test-fpurge.c: New file.
106174         * modules/fpurge: New file.
106175         * lib/fpurge.h: New file.
106176         * lib/fpurge.c: New file.
106177         * m4/fpurge.m4: New file.
106179 2007-04-13  Bruno Haible  <bruno@clisp.org>
106181         * modules/fbufmode-tests: New file.
106182         * tests/test-fbufmode.c: New file.
106184         * modules/fbufmode: New file.
106185         * lib/fbufmode.h: New file.
106186         * lib/fbufmode.c: New file.
106187         * m4/fbufmode.m4: New file.
106189 2007-04-13  Bruno Haible  <bruno@clisp.org>
106191         * modules/fwritable-tests: New file.
106192         * tests/test-fwritable.c: New file.
106194         * modules/fwritable: New file.
106195         * lib/fwritable.h: New file.
106196         * lib/fwritable.c: New file.
106197         * m4/fwritable.m4: New file.
106199 2007-04-13  Bruno Haible  <bruno@clisp.org>
106201         * modules/freadable-tests: New file.
106202         * tests/test-freadable.c: New file.
106204         * modules/freadable: New file.
106205         * lib/freadable.h: New file.
106206         * lib/freadable.c: New file.
106207         * m4/freadable.m4: New file.
106209 2007-04-13  Bruno Haible  <bruno@clisp.org>
106211         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
106212         MOSTLYCLEANFILES.
106214 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
106216         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
106217         gzip bootstrap.conf to avoid dragging in i18n machinery.
106218         (gnulib_tool_option): Use it.
106220 2007-04-13  Bruno Haible  <bruno@clisp.org>
106222         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
106223         %F directives.
106224         * tests/test-vasprintf-posix.c (test_function): Likewise.
106225         * tests/test-snprintf-posix.h (test_function): Likewise.
106226         * tests/test-sprintf-posix.h (test_function): Likewise.
106227         * tests/test-fprintf-posix.h (test_function): Likewise.
106228         * tests/test-printf-posix.h (test_function): Likewise.
106229         * tests/test-fprintf-posix.out: Likewise.
106231 2007-04-13  Bruno Haible  <bruno@clisp.org>
106233         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
106234         * modules/tls-tests (configure.ac): Likewise.
106235         Reported by Arto C. Nirkko <anirkko@insel.ch>.
106237 2007-04-13  Bruno Haible  <bruno@clisp.org>
106239         * lib/tls.c (glthread_tls_get): Fix return type.
106240         Patch by Arto C. Nirkko <anirkko@insel.ch>.
106242 2007-04-12  Eric Blake  <ebb9@byu.net>
106244         * modules/gettime (Depends-on): Remove gettime.
106245         Reported by Dmitry V. Levin.
106247 2007-04-12  Bruno Haible  <bruno@clisp.org>
106249         * modules/fflush (Include): Mention <stdio.h>.
106250         * modules/strtoimax (Include): Mention <inttypes.h>.
106251         * modules/strtoumax (Include): Likewise.
106253 2007-04-12  Eric Blake  <ebb9@byu.net>
106255         * .cvsignore: New file.
106256         * .gitignore: Likewise.
106258 2007-04-12  Bruno Haible  <bruno@clisp.org>
106260         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
106261         not before, since $(LDADD) often contains libgnu.a.
106262         * modules/striconv-tests (test_striconv_LDADD): Likewise.
106263         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
106264         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
106265         Needed on Cygwin.
106267 2007-04-12  Eric Blake  <ebb9@byu.net>
106269         Work around glibc's failure to flush stdin on fclose.
106270         * lib/closein.c (close_stdin): Flush stdin before closing.
106272         Work around glibc's failure to reset seekable stdin on exit.
106273         * modules/closein: New module.
106274         * lib/closein.c: New file.
106275         * lib/closein.h: Likewise.
106276         * m4/closein.m4: Likewise.
106277         * MODULES.html.sh (File stream based Input/Output): Document it.
106279 2007-04-12  Simon Josefsson  <simon@josefsson.org>
106281         * gnulib-tool: Rename generated 'autobuild' script to
106282         'do-autobuild' in --create-megatestdir output.
106284         * doc/gnulib.texi (Build robot for gnulib): Fix.
106286 2007-04-12  Simon Josefsson  <simon@josefsson.org>
106288         * modules/sysexits (Depends-on): Add absolute-header.
106290 2007-04-12  Eric Blake  <ebb9@byu.net>
106292         No need to preserve errno on success.
106293         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
106294         Reported by Bruno Haible.
106296 2007-04-12  Simon Josefsson  <simon@josefsson.org>
106298         * MODULES.html.sh (Support for maintaining and releasing
106299         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
106301 2007-04-12  Simon Josefsson  <simon@josefsson.org>
106303         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
106305 2007-04-12  Simon Josefsson  <simon@josefsson.org>
106307         * modules/autobuild: New module.
106309         * m4/autobuild.m4: New file.
106311 2007-04-11  Bruno Haible  <bruno@clisp.org>
106313         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
106314         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
106315         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
106316         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
106317         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
106318         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
106319         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
106320         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
106321         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
106322         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
106323         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
106324         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
106325         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
106326         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
106327         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
106328         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
106329         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
106330         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
106331         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
106332         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
106333         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
106334         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
106335         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
106336         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
106337         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
106338         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
106339         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
106340         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
106341         Reported by Eric Blake.
106343 2007-04-11  Bruno Haible  <bruno@clisp.org>
106345         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
106347 2007-04-10  Bruno Haible  <bruno@clisp.org>
106349         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
106350         for NaN and Infinity. Needed on FreeBSD 6.1.
106351         * tests/test-vasnprintf-posix.c (test_function): Undo last change
106352         regarding results for "%010a" of Infinity and NaN.
106353         * tests/test-vasprintf-posix.c (test_function): Likewise.
106354         * tests/test-snprintf-posix.h (test_function): Likewise.
106355         * tests/test-sprintf-posix.h (test_function): Likewise.
106356         * tests/test-fprintf-posix.h (test_function): Likewise.
106357         * tests/test-printf-posix.h (test_function): Likewise.
106358         * tests/test-fprintf-posix.out: Likewise.
106360 2007-04-10  Bruno Haible  <bruno@clisp.org>
106362         * modules/locale-tests: New file.
106363         * tests/test-locale.c: New file.
106365         * modules/locale: New file.
106366         * lib/locale_.h: New file.
106367         * m4/locale_h.m4: New file.
106369 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
106370             Bruno Haible  <bruno@clisp.org>
106372         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
106373         be determined, test for availability of the copysignf, copysign,
106374         copysignl functions.
106375         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
106376         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
106377         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
106379 2007-04-09  Eric Blake  <ebb9@byu.net>
106381         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
106382         * modules/stdio (Makefile.am): Support fflush.
106383         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
106384         * modules/fflush: New file.
106385         * lib/fflush.c: Likewise.
106386         * m4/fflush.m4: Likewise.
106387         * modules/fflush-tests: New test.
106388         * tests/test-fflush.c: Likewise.
106389         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
106391 2007-04-06  Bruno Haible  <bruno@clisp.org>
106393         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
106394         (VASNPRINTF): Use signbit for faster determination whether to print a
106395         minus sign.
106396         * modules/vasnprintf (Files): Remove lib/float+.h.
106397         * modules/fprintf-posix (Depends-on): Add signbit.
106398         * modules/snprintf-posix (Depends-on): Likewise.
106399         * modules/sprintf-posix (Depends-on): Likewise.
106400         * modules/vasnprintf-posix (Depends-on): Likewise.
106401         * modules/vasprintf-posix (Depends-on): Likewise.
106402         * modules/vfprintf-posix (Depends-on): Likewise.
106403         * modules/vsnprintf-posix (Depends-on): Likewise.
106404         * modules/vsprintf-posix (Depends-on): Likewise.
106406 2007-04-06  Bruno Haible  <bruno@clisp.org>
106408         * tests/test-frexp.c (main): Test also the sign bit of zero results.
106409         * tests/test-frexpl.c (main): Likewise.
106410         * tests/test-ldexpl.c (main): Likewise.
106411         * modules/frexp-tests (Depends-on): Add signbit.
106412         * modules/frexpl-tests (Depdends-on): Likewise.
106413         * modules/ldexpl-tests (Depdends-on): Likewise.
106415 2007-04-06  Bruno Haible  <bruno@clisp.org>
106417         * modules/signbit-tests: New file.
106418         * tests/test-signbit.c: New file.
106420         * modules/signbit: New file.
106421         * lib/signbitf.c: New file.
106422         * lib/signbitd.c: New file.
106423         * lib/signbitl.c: New file.
106424         * m4/signbit.m4: New file.
106425         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
106426         (signbit): New macro.
106427         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
106428         REPLACE_SIGNBIT.
106429         * modules/math (Makefile.am): Substitute also GNULIB_SIGNBIT and
106430         REPLACE_FREXPL into math.h.
106432 2007-04-06  Bruno Haible  <bruno@clisp.org>
106434         * modules/isnanf-nolibm-tests: New file.
106435         * tests/test-isnanf.c: New file.
106437         * modules/isnanf-nolibm: New file.
106438         * lib/isnanf.h: New file.
106439         * lib/isnanf.c: New file.
106440         * lib/isnan.c: Consider the USE_FLOAT macro.
106441         * m4/isnanf.m4: New file.
106443 2007-04-06  Bruno Haible  <bruno@clisp.org>
106445         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
106446         (Link): New section.
106448         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
106450 2007-04-06  Bruno Haible  <bruno@clisp.org>
106452         Assume the 'long double' type.
106453         * m4/longdouble.m4: Remove file.
106454         * config/srclist.txt: Don't mention longdouble.m4.
106455         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
106456         * lib/float+.h: Likewise.
106457         * lib/frexp.c: Likewise.
106458         * lib/printf-args.h: Likewise.
106459         * lib/printf-args.c: Likewise.
106460         * lib/printf-frexp.c: Likewise.
106461         * lib/printf-parse.c: Likewise.
106462         * lib/vasnprintf.c: Likewise.
106463         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
106464         * m4/intl.m4: Likewise.
106465         * m4/isnanl.m4: Likewise.
106466         * m4/printf.m4: Likewise.
106467         * m4/printf-frexpl.m4: Likewise.
106468         * m4/vasnprintf.m4: Likewise.
106469         * modules/allocsa (Files): Remove m4/longdouble.m4.
106470         * modules/gettext (Files): Likewise.
106471         * modules/relocatable-prog-wrapper (Files): Likewise.
106472         * modules/vasnprintf (Files): Likewise.
106473         * modules/isnanl (Files): Likewise.
106474         (Include): Simplify.
106475         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
106476         (Include): Simplify.
106477         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
106478         (Include): Simplify.
106479         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
106480         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
106481         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
106482         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
106483         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
106484         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
106485         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
106486         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
106487         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
106488         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
106489         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
106490         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
106491         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
106492         * tests/test-isnanl.c: Likewise.
106493         * tests/test-snprintf-posix.h: Likewise.
106494         * tests/test-sprintf-posix.h: Likewise.
106495         * tests/test-vasnprintf-posix.c: Likewise.
106496         * tests/test-vasnprintf-posix2.c: Likewise.
106497         * tests/test-vasprintf-posix.c: Likewise.
106499 2007-04-06  Bruno Haible  <bruno@clisp.org>
106501         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
106502         * lib/math_.h [__DECC]: Include the overridden include file through
106503         #include_next, outside the double-inclusion guard.
106504         * lib/stdio_.h [__DECC]: Likewise.
106505         * lib/stdlib_.h [__DECC]: Likewise.
106506         * lib/string_.h [__DECC]: Likewise.
106507         * lib/time_.h [__DECC]: Likewise.
106508         * lib/wchar_.h [__DECC]: Likewise.
106509         * lib/wctype_.h [__DECC]: Likewise.
106510         * lib/inttypes_.h [__DECC]: Likewise.
106511         Reported by Albert Chin <china@thewrittenword.com> in
106512         <http://lists.gnu.org/r/bug-gnulib/2007-04/msg00088.html>.
106514 2007-04-04  Eric Blake  <ebb9@byu.net>
106516         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
106517         1.5.x.
106519 2007-04-04  Bruno Haible  <bruno@clisp.org>
106521         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
106522         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
106524 2007-04-04  Bruno Haible  <bruno@clisp.org>
106526         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
106527         results for "%010a" of Infinity and NaN.
106528         * tests/test-vasprintf-posix.c (test_function): Likewise.
106529         * tests/test-snprintf-posix.h (test_function): Likewise.
106530         * tests/test-sprintf-posix.h (test_function): Likewise.
106531         * tests/test-fprintf-posix.h (test_function): Remove these tests.
106532         * tests/test-printf-posix.h (test_function): Likewise.
106533         * tests/test-fprintf-posix.out: Update.
106534         Needed for FreeBSD 6.1.
106536 2007-04-04  Bruno Haible  <bruno@clisp.org>
106538         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
106539         directly used by the gnulib modules nor by gnulib-tool.
106541 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
106543         * DEPENDENCIES: Give overall description of version dependency
106544         desirability.  Use more-typical names for apps.
106545         Add shell, coreutils, diffutils, grep, tar, gzip.
106547 2007-04-04  Simon Josefsson  <simon@josefsson.org>
106549         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
106551 2007-04-04  Karl Berry  <karl@gnu.org>
106553         * MODULES.html.sh (func_module): missing '.
106555 2007-04-03  Bruno Haible  <bruno@clisp.org>
106557         * modules/argmatch-tests (Makefile.am): New variable
106558         test_argmatch_LDADD.
106559         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
106560         * modules/array-list-tests (Makefile.am): New variable
106561         test_array_list_LDADD.
106562         * modules/array-oset-tests (Makefile.am): New variable
106563         test_array_oset_LDADD.
106564         * modules/avltree-list-tests (Makefile.am): New variable
106565         test_avltree_list_LDADD.
106566         * modules/avltree-oset-tests (Makefile.am): New variable
106567         test_avltree_oset_LDADD.
106568         * modules/avltreehash-list-tests (Makefile.am): New variable
106569         test_avltreehash_list_LDADD.
106570         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
106571         test_canonicalize_lgpl_LDADD.
106572         * modules/carray-list-tests (Makefile.am): New variable
106573         test_carray_list_LDADD.
106574         * modules/dirname-tests (Makefile.am): New variable
106575         test_dirname_LDADD.
106576         * modules/linked-list-tests (Makefile.am): New variable
106577         test_linked_list_LDADD.
106578         * modules/linkedhash-list-tests (Makefile.am): New variable
106579         test_linkedhash_list_LDADD.
106580         * modules/rbtree-list-tests (Makefile.am): New variable
106581         test_rbtree_list_LDADD.
106582         * modules/rbtree-oset-tests (Makefile.am): New variable
106583         test_rbtree_oset_LDADD.
106584         * modules/rbtreehash-list-tests (Makefile.am): New variable
106585         test_rbtreehash_list_LDADD.
106586         * modules/xvasprintf-tests (Makefile.am): New variable
106587         test_xvasprintf_LDADD.
106588         Reported by Eric Blake.
106590 2007-04-03  Eric Blake  <ebb9@byu.net>
106592         * DEPENDENCIES: Weaken m4 requirements.
106594 2007-04-03  Bruno Haible  <bruno@clisp.org>
106596         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
106597         * modules/isnanl-tests (configure.ac): Likewise.
106599 2007-04-03  Ben Pfaff  <blp@gnu.org>
106601         * modules/iconv_open: Add $(srcdir)/ to source directory
106602         references in Makefile fragments that call gperf, to fix VPATH
106603         builds.
106605 2007-04-03  Bruno Haible  <bruno@clisp.org>
106607         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
106608         * lib/ldexpl.c: Undo last change.
106610 2007-04-03  Bruno Haible  <bruno@clisp.org>
106612         * modules/printf-frexpl (Depends-on): Undo last change.
106613         (Files): Add m4/ldexpl.m4.
106615 2007-04-03  Bruno Haible  <bruno@clisp.org>
106617         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
106618         * modules/isnanl (Link): New section.
106620         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
106621         * modules/frexp (Link): New section.
106623         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
106624         * modules/frexpl (Link): New section.
106626         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
106627         * modules/ldexpl (Link): New section.
106629 2007-04-03  Bruno Haible  <bruno@clisp.org>
106631         * modules/TEMPLATE-EXTENDED: New file.
106632         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
106634 2007-04-03  Bruno Haible  <bruno@clisp.org>
106636         * DEPENDENCIES: New file.
106637         Suggested by Simon Josefsson.
106639 2007-04-03  Bruno Haible  <bruno@clisp.org>
106641         * doc/gnulib.texi: Escape @.
106643 2007-04-03  James Youngman  <jay@gnu.org>
106644         and Paul Eggert  <eggert@cs.ucla.edu>
106646         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
106647         birthtime on all systems that have birthtime, not just those which
106648         use st_birthtimensec rather than st_birthtim.  Putting zero in
106649         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
106650         that the birth time is not available for files on an NFS mount.
106652 2007-04-03  Simon Josefsson  <simon@josefsson.org>
106654         * modules/memxor: Move back from crypto/, suggested by Bruno.
106655         * modules/crypto/hmac-sha1: Fix memxor dependency.
106657         * modules/crypto/gc: Moved from ../.
106659 2007-04-02  Eric Blake  <ebb9@byu.net>
106661         * lib/ldexpl.c (includes): Avoid libm.
106663         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
106665 2007-04-02  Bruno Haible  <bruno@clisp.org>
106667         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
106668         on IRIX.
106670 2007-04-02  Bruno Haible  <bruno@clisp.org>
106672         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
106673         x86 or x86_64 platforms running MacOS X.
106674         Reported by Ryan Schmidt <@ryandesign.com>.
106676 2007-04-02  Bruno Haible  <bruno@clisp.org>
106678         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
106679         i386.
106681 2007-04-01  Simon Josefsson  <simon@josefsson.org>
106683         * modules/crypto/arcfour: Moved from ../.
106684         * modules/crypto/arcfour-tests: Moved from ../.
106685         * modules/crypto/arctwo: Moved from ../.
106686         * modules/crypto/arctwo-tests: Moved from ../.
106687         * modules/crypto/des: Moved from ../.
106688         * modules/crypto/des-tests: Moved from ../.
106689         * modules/crypto/gc-arcfour: Moved from ../.
106690         * modules/crypto/gc-arcfour-tests: Moved from ../.
106691         * modules/crypto/gc-arctwo: Moved from ../.
106692         * modules/crypto/gc-arctwo-tests: Moved from ../.
106693         * modules/crypto/gc-des: Moved from ../.
106694         * modules/crypto/gc-des-tests: Moved from ../.
106695         * modules/crypto/gc-hmac-md5: Moved from ../.
106696         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
106697         * modules/crypto/gc-hmac-sha1: Moved from ../.
106698         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
106699         * modules/crypto/gc-md2: Moved from ../.
106700         * modules/crypto/gc-md2-tests: Moved from ../.
106701         * modules/crypto/gc-md4: Moved from ../.
106702         * modules/crypto/gc-md4-tests: Moved from ../.
106703         * modules/crypto/gc-md5: Moved from ../.
106704         * modules/crypto/gc-md5-tests: Moved from ../.
106705         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
106706         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
106707         * modules/crypto/gc-random: Moved from ../.
106708         * modules/crypto/gc-rijndael: Moved from ../.
106709         * modules/crypto/gc-rijndael-tests: Moved from ../.
106710         * modules/crypto/gc-sha1: Moved from ../.
106711         * modules/crypto/gc-sha1-tests: Moved from ../.
106712         * modules/crypto/gc-tests: Moved from ../.
106713         * modules/crypto/hmac-md5: Moved from ../.
106714         * modules/crypto/hmac-md5-tests: Moved from ../.
106715         * modules/crypto/hmac-sha1: Moved from ../.
106716         * modules/crypto/hmac-sha1-tests: Moved from ../.
106717         * modules/crypto/md2: Moved from ../.
106718         * modules/crypto/md2-tests: Moved from ../.
106719         * modules/crypto/md4: Moved from ../.
106720         * modules/crypto/md4-tests: Moved from ../.
106721         * modules/crypto/md5: Moved from ../.
106722         * modules/crypto/md5-tests: Moved from ../.
106723         * modules/crypto/memxor: Moved from ../.
106724         * modules/crypto/rijndael: Moved from ../.
106725         * modules/crypto/rijndael-tests: Moved from ../.
106726         * modules/crypto/sha1: Moved from ../.
106728 2007-03-30  James Youngman  <jay@gnu.org>
106730         * tests/test-stat-time.c (prepare_test): use chmod() rather than
106731         rename() to change the ctime of a file (because ctime is unaffected
106732         by rename on jfs2 on AIX 5.1).
106733         (main): Start by doing cleanup, in case a previous run failed leaving
106734         test files behind.
106736 2007-03-31  Bruno Haible  <bruno@clisp.org>
106738         Support old proprietary implementations of iconv.
106739         * modules/iconv_open: New file.
106740         * lib/iconv_.h: New file.
106741         * m4/iconv_h.m4: New file.
106742         * lib/iconv_open.c: New file.
106743         * lib/iconv_open-aix.gperf: New file.
106744         * lib/iconv_open-hpux.gperf: New file.
106745         * lib/iconv_open-irix.gperf: New file.
106746         * lib/iconv_open-osf.gperf: New file.
106747         * m4/iconv_open.m4: New file.
106748         * modules/linebreak (Depends-on): Add iconv_open.
106749         * modules/striconv (Depends-on): Likewise.
106750         * modules/striconveh (Depends-on): Likewise.
106751         * modules/unicodeio (Depends-on): Likewise.
106752         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
106753         (iconv_t)(-1).
106754         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
106755         conversion if cd is (iconv_t)(-1).
106756         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
106757         is not possible.
106759 2007-03-31  Bruno Haible  <bruno@clisp.org>
106761         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
106762         work on Solaris either. Protect also second use of "autodetect_jp".
106764 2007-03-31  Bruno Haible  <bruno@clisp.org>
106766         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
106767         the function is not present.
106769 2007-03-31  Bruno Haible  <bruno@clisp.org>
106771         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
106772         the function is not present.
106774 2007-03-31  Bruno Haible  <bruno@clisp.org>
106776         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
106777         a bug in HP-UX iconv_open().
106779 2007-03-31  Bruno Haible  <bruno@clisp.org>
106781         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
106782         (Mathematics <math.h>): New section, add fpieee.
106783         (Input/output <stdio.h>): Add fseterr.
106784         (Mathematics <math.h>): New section, add printf-frexp.
106785         (Container data structures): Add sublist.
106786         (Core language properties): Add fpucw, inline.
106787         (Functions for greatest-width integer types <inttypes.h>): Add
106788         imaxabs, imaxdiv, inttypes.
106789         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
106790         isnanl-nolibm, ldexp.
106791         (Mathematics <math.h>): New section, add printf-frexpl.
106792         (Support for systems lacking POSIX:2001): Add fprintf-posix,
106793         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
106794         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
106795         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
106796         (Unicode string functions): Add unistr/u*-mbtoucr.
106797         (Java): Add javacomp-script, javaexec-script.
106798         (C#): Add csharpcomp-script, csharpexec-script.
106799         (Support for building libraries and executables): Add havelib,
106800         relocatable-*.
106801         (Support for maintaining and releasing projects): Renamed from
106802         'Support for maintaining and release projects'. Add announce-gen.
106804 2007-03-31  Bruno Haible  <bruno@clisp.org>
106806         * README: Talk primarily about git.
106807         (git and CVS): Renamed from CVS.
106808         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
106809         gnulib is available through git.
106810         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
106812 2007-03-30  Bruno Haible  <bruno@clisp.org>
106814         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
106815         * lib/poll_.h: Likewise.
106816         * lib/stat_.h: Likewise.
106817         * lib/sys_time_.h: Likewise.
106818         * lib/sysexit_.h: Likewise.
106819         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
106820         * lib/stdbool_.h: Likewise.
106821         * lib/byteswap_.h: Add double-inclusion guard.
106823 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
106825         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
106827 2007-03-30  Karl Berry  <karl@gnu.org>
106829         * config/srclist-update: double space after USA in the license
106830         substitution, since that's how it's usually (?) written.
106832 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
106834         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
106835         reported by Bruno Haible.
106837 2007-03-29  Bruno Haible  <bruno@clisp.org>
106839         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
106840         a bug in AIX iconv().
106842 2007-03-29  Bruno Haible  <bruno@clisp.org>
106844         * modules/ldexpl-tests: New file.
106845         * tests/test-ldexpl.c: New file.
106847 2007-03-29  Bruno Haible  <bruno@clisp.org>
106849         * lib/ldexpl.c: Include fpucw.h.
106850         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
106851         multiplication.
106852         * modules/ldexpl (Depends-on): Add fpucw.
106854 2007-03-29  Bruno Haible  <bruno@clisp.org>
106856         * modules/ldexpl: New file.
106857         * m4/ldexpl.m4: New file.
106858         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
106859         set.
106860         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
106861         REPLACE_LDEXPL.
106862         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
106863         REPLACE_LDEXPL.
106864         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
106865         gl_FUNC_LDEXPL_WORKS.
106866         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
106867         * modules/mathl (Files): Remove lib/ldexpl.c.
106868         (Depends-on): Add ldexpl.
106870 2007-03-29  Bruno Haible  <bruno@clisp.org>
106872         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
106874 2007-03-29  Bruno Haible  <bruno@clisp.org>
106876         * tests/test-striconveh.c (main): Don't assume that a direct conversion
106877         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
106878         and possibly also HP-UX.
106879         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
106880         work on AIX, IRIX, HP-UX, OSF/1.
106881         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
106882         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
106883         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
106884         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
106885         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
106886         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
106888 2007-03-29  Bruno Haible  <bruno@clisp.org>
106890         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
106892 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
106894         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
106895         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
106897 2007-03-29  Eric Blake  <ebb9@byu.net>
106899         * lib/acl-internal.h: Remove redundant include.
106900         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
106901         Cygwin when a file is locked.
106903 2007-03-29  Bruno Haible  <bruno@clisp.org>
106905         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
106906         file.
106907         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
106909 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
106911         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
106912         try to remove a parent directory if the child couldn't be removed
106913         (except for the first rmdir, which could fail because the child
106914         doesn't exist).  Problem reported by Jeff Blaine in
106915         <http://lists.gnu.org/r/bug-tar/2007-03/msg00014.html>.
106917 2007-03-28  Bruno Haible  <bruno@clisp.org>
106919         * lib/striconveh.c (utf8conv_carefully): New function.
106920         (mem_cd_iconveh_internal): Invoke it.
106922 2007-03-28  Bruno Haible  <bruno@clisp.org>
106924         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
106925         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
106926         input.
106927         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
106928         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
106929         unistr/u8-uctomb.
106931 2007-03-28  Bruno Haible  <bruno@clisp.org>
106933         * modules/unistr/u8-mbtoucr: New file.
106934         * lib/unistr/u8-mbtoucr.c: New file.
106935         * modules/unistr/u16-mbtoucr: New file.
106936         * lib/unistr/u16-mbtoucr.c: New file.
106937         * modules/unistr/u16-mbtoucr: New file.
106938         * lib/unistr/u16-mbtoucr.c: New file.
106939         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
106941 2007-03-27  Simon Josefsson  <simon@josefsson.org>
106942             Bruno Haible  <bruno@clisp.org>
106944         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
106945         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
106946         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
106948         * m4/stdio_h.m4: Add stubs for vasprintf too.
106950         * modules/stdio: Support vasprintf in sed command.
106952         * modules/vasprintf: Depend on stdio for prototypes.  Remove
106953         vasprintf.h.  Add stdio module indicator.
106955         * lib/stdio_.h: Declare asprintf and vasprintf, based on
106956         vasprintf.h.
106958         * lib/vasprintf.h: File removed.
106960         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
106961         * lib/vasprintf.c: Ditto.
106962         * lib/xvasprintf.c: Ditto.
106963         * tests/test-vasprintf-posix.c: Ditto.
106964         * tests/test-vasprintf.c: Ditto.
106966 2007-03-27  Bruno Haible  <bruno@clisp.org>
106968         Make vasnprintf multithread-safe.
106969         * lib/vasnprintf.c (decimal_point_char): New function.
106970         (VASNPRINTF): Use it.
106971         Suggested by Simon Josefsson.
106973 2007-03-27  Eric Blake  <ebb9@byu.net>
106975         Support sub-second birthtime on cygwin.
106976         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
106977         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
106978         (get_stat_birthtime): Also work with st_birthtim.
106980 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
106982         * lib/stat-time.h (USE_BIRTHTIME): Remove.
106983         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
106984         (get_stat_birthtime_ns): Do not try to use "spare" fields.
106985         (get_stat_birthtime_ns): Simplify compile-time tests.
106986         (get_stat_birthtime): Change the API to look like
106987         get_stat_mtime etc., except return a negative tv_nsec on error.
106988         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
106989         Don't check for "spare" fields.
106990         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
106991         or for struct stat.st_birthtime, as these tests aren't used.
106992         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
106994 2007-03-27  Bruno Haible  <bruno@clisp.org>
106996         * lib/stat-time.h: Include <sys/stat.h>.
106998 2007-03-27  James Youngman  <jay@gnu.org>
107000         * lib/stat-time.h (get_stat_birthtime): New function for
107001           retrieving st_birthtime as provided by UFS2 (hence *BSD).
107002         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
107003           and its variants.
107004         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
107005         * modules/stat-time-test: New file.
107006         * tests/test-stat-time.c: New test, devised by Bruno Haible.
107008 2007-03-26  Bruno Haible  <bruno@clisp.org>
107010         Better support of signalling NaNs.
107011         * lib/atanl.c: Include isnanl.h.
107012         (atanl): Perform test for NaN at the beginning of the function and
107013         through a call to isnanl.
107014         * lib/cosl.c: Include isnanl.h.
107015         (cosl): Perform test for NaN at the beginning of the function and
107016         through a call to isnanl.
107017         * lib/ldexpl.c: Include isnanl.h.
107018         (ldexpl): Perform test for NaN through a call to isnanl.
107019         * lib/logl.c: Include isnanl.h.
107020         (logl): Perform test for NaN at the beginning of the function and
107021         through a call to isnanl.
107022         * lib/sinl.c: Include isnanl.h.
107023         (sinl): Perform test for NaN at the beginning of the function and
107024         through a call to isnanl.
107025         * lib/sqrtl.c: Include isnanl.h.
107026         (sqrtl): Perform test for NaN at the beginning of the function and
107027         through a call to isnanl.
107028         * lib/tanl.c: Include isnanl.h.
107029         (tanl): Perform test for NaN at the beginning of the function and
107030         through a call to isnanl.
107031         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
107032         * modules/mathl (Depends-on): Add isnanl.
107034 2007-03-26  Eric Blake  <ebb9@byu.net>
107036         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
107037         regression in logic sense of previous patch.
107039 2007-03-26  Bruno Haible  <bruno@clisp.org>
107041         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
107042         unportable shell command "if ! ...".
107043         Reported by Ralf Wildenhues.
107045 2007-03-25  Bruno Haible  <bruno@clisp.org>
107047         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
107048         <sysexits.h> file, and only add EX_CONFIG.
107049         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
107050         absolute file name and whether it is sufficient. Substitute also
107051         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
107052         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
107053         ABSOLUTE_SYSEXITS_H into sysexits.h.
107055 2007-03-25  Bruno Haible  <bruno@clisp.org>
107057         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
107058         hints is NULL.
107060 2007-03-25  Bruno Haible  <bruno@clisp.org>
107062         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
107063         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
107065 2007-03-25  Bruno Haible  <bruno@clisp.org>
107067         * lib/vasnprintf.c: Include langinfo.h.
107068         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
107069         multithread-safe.
107070         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
107071         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
107072         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
107073         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
107074         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
107075         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
107076         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
107077         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
107078         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
107079         Reported by Simon Josefsson.
107081 2007-03-25  Bruno Haible  <bruno@clisp.org>
107083         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
107084         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
107085         * modules/vasnprintf (Depends-on): Add stdint.
107087 2007-03-25  Bruno Haible  <bruno@clisp.org>
107089         * modules/fpieee: New file.
107090         * m4/fpieee.m4: New file.
107091         * modules/isnan-nolibm (Depends-on): Add fpieee.
107092         * modules/isnanl-nolibm (Depends-on): Add fpieee.
107093         * modules/isnanl (Depends-on): Add fpieee.
107095 2007-03-25  Bruno Haible  <bruno@clisp.org>
107097         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
107099 2007-03-25  Bruno Haible  <bruno@clisp.org>
107101         Avoid test failures on IRIX 6.5.
107102         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
107103         (main): Use it.
107104         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
107105         macros.
107106         (main): Use them.
107108 2007-03-25  Bruno Haible  <bruno@clisp.org>
107110         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
107111         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
107112         exists but doesn't work.
107113         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
107114         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
107115         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
107116         * modules/math (Makefile.am): Substitute also REPLACE_FREXPL into
107117         math.h.
107119 2007-03-25  Bruno Haible  <bruno@clisp.org>
107121         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
107122         returns inf. Needed on IRIX 6.5.
107124 2007-03-25  Bruno Haible  <bruno@clisp.org>
107126         * tests/test-frexpl.c: Include isnanl-nolibm.h.
107127         (main): Use isnanl instead of x != x idiom.
107128         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
107130         * tests/test-frexp.c: Include isnan.h.
107131         (main): Use isnan instead of x != x idiom.
107132         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
107134 2007-03-25  Bruno Haible  <bruno@clisp.org>
107136         * tests/test-frexp.c (NaN): New function/macro.
107137         (main): Use it instead of 0.0 / 0.0.
107138         * tests/test-isnan.c (NaN): New function/macro.
107139         (main): Use it instead of 0.0 / 0.0.
107140         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
107141         (test_function): Use it instead of 0.0 / 0.0.
107142         * tests/test-vasprintf-posix.c (NaN): New function/macro.
107143         (test_function): Use it instead of 0.0 / 0.0.
107144         * tests/test-snprintf-posix.h (NaN): New function/macro.
107145         (test_function): Use it instead of 0.0 / 0.0.
107146         * tests/test-sprintf-posix.h (NaN): New function/macro.
107147         (test_function): Use it instead of 0.0 / 0.0.
107148         * tests/test-fprintf-posix.h (NaN): New function/macro.
107149         (test_function): Use it instead of 0.0 / 0.0.
107150         * tests/test-printf-posix.h (NaN): New function/macro.
107151         (test_function): Use it instead of 0.0 / 0.0.
107153         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
107155 2007-03-25  Bruno Haible  <bruno@clisp.org>
107157         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
107159 2007-03-25  Bruno Haible  <bruno@clisp.org>
107161         * lib/regexec.c (merge_state_with_log): Make static.
107163 2007-03-25  Bruno Haible  <bruno@clisp.org>
107165         * lib/trigl.c (kernel_rem_pio2): Make static.
107167 2007-03-25  Bruno Haible  <bruno@clisp.org>
107169         * lib/sincosl.c (sincosl_table): Make static.
107171 2007-03-25  Bruno Haible  <bruno@clisp.org>
107173         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
107174         if the compiler does not support C99.
107176 2007-03-25  Bruno Haible  <bruno@clisp.org>
107178         * modules/time (Makefile.am): Ensure all rule action lines start with a
107179         tab.
107181 2007-03-24  Bruno Haible  <bruno@clisp.org>
107183         * modules/tsearch-tests: New file.
107184         * tests/test-tsearch.sh: New file.
107185         * tests/test-tsearch.c: New file, mostly copied from glibc.
107187         * modules/search-tests: New file.
107188         * tests/test-search.c: New file.
107190         * modules/search: New file.
107191         * lib/search_.h: New file, incorporating lib/tsearch.h.
107192         * m4/search_h.m4: New file.
107193         * lib/tsearch.h: Remove file.
107194         * lib/tsearch.c: Include search.h instead of tsearch.h.
107195         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
107196         HAVE_TSEARCH.
107197         * modules/tsearch (Files): Remove lib/tsearch.h.
107198         (Depends-on): Add search.
107199         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
107200         (Include): Change tsearch.h into search.h.
107202 2007-03-24  Bruno Haible  <bruno@clisp.org>
107204         * modules/fpucw: New file.
107205         * lib/fpucw.h: New file.
107206         * lib/frexp.c: Include fpucw.h.
107207         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
107208         (FUNC): Use them.
107209         * lib/printf-frexp.c: Include fpucw.h.
107210         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
107211         (FUNC): Use them.
107212         * lib/vasnprintf.c: Include fpucw.h.
107213         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
107214         'long double' calculations.
107215         * tests/test-frexpl.c: Include fpucw.h.
107216         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
107217         * tests/test-printf-frexpl.c: Include fpucw.h.
107218         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
107219         * modules/frexpl (Depends-on): Add fpucw.
107220         * modules/printf-frexpl (Depends-on): Likewise.
107221         * modules/fprintf-posix (Depends-on): Likewise.
107222         * modules/snprintf-posix (Depends-on): Likewise.
107223         * modules/sprintf-posix (Depends-on): Likewise.
107224         * modules/vasnprintf-posix (Depends-on): Likewise.
107225         * modules/vasprintf-posix (Depends-on): Likewise.
107226         * modules/vfprintf-posix (Depends-on): Likewise.
107227         * modules/vsnprintf-posix (Depends-on): Likewise.
107228         * modules/vsprintf-posix (Depends-on): Likewise.
107229         * modules/frexpl-tests (Depends-on): Likewise.
107230         * modules/printf-frexpl-tests (Depends-on): Likewise.
107232 2007-03-24  Bruno Haible  <bruno@clisp.org>
107234         * lib/float+.h: New file.
107235         * lib/isnan.c: Include float+.h.
107236         (SIZE): New macro.
107237         (FUNC): Compare only SIZE bytes of the value.
107238         * lib/vasnprintf.c: Include float+.h.
107239         (VASNPRINTF): When comparing against +0.0L or +0.0, compare only
107240         SIZEOF_LDBL or SIZEOF_DBL bytes.
107241         * modules/isnan-nolibm (Files): Add lib/float+.h.
107242         * modules/isnanl-nolibm (Files): Add lib/float+.h.
107243         * modules/isnanl (Files): Add lib/float+.h.
107244         * modules/vasnprintf (Files): Add lib/float+.h.
107246 2007-03-24  Bruno Haible  <bruno@clisp.org>
107248         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
107249         include isnanl-nolibm.h.
107251 2007-03-24  Bruno Haible  <bruno@clisp.org>
107253         * tests/test-read-file.c (main): Don't produce spurious output for
107254         expected situations. Make the test fail if it encountered unexpected
107255         results.
107257 2007-03-24  Bruno Haible  <bruno@clisp.org>
107259         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
107260         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
107262 2007-03-24  Bruno Haible  <bruno@clisp.org>
107264         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
107266 2007-03-24  Bruno Haible  <bruno@clisp.org>
107268         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
107269         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
107271         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
107272         * modules/utf8-ucs4: Turn into a symbolic link to module
107273         unistr/u8-mbtouc.
107275         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
107276         utf8-ucs4-unsafe.
107277         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
107278         unistr/u8-mbtouc-unsafe.
107280         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
107281         * modules/utf16-ucs4: Turn into a symbolic link to module
107282         unistr/u16-mbtouc.
107284         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
107285         utf16-ucs4-unsafe.
107286         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
107287         unistr/u16-mbtouc-unsafe.
107289         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
107290         * modules/ucs4-utf8: Turn into a symbolic link to module
107291         unistr/u8-ubtomb.
107293         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
107294         * modules/ucs4-utf16: Turn into a symbolic link to module
107295         unistr/u16-ubtomb.
107297 2007-03-24  Bruno Haible  <bruno@clisp.org>
107299         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
107300         Enable the function only if HAVE_INLINE.
107301         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
107302         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
107303         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
107304         Enable the function only if HAVE_INLINE.
107305         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
107306         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
107307         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
107308         Enable the function only if HAVE_INLINE.
107309         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
107310         Enable the function only if HAVE_INLINE.
107311         * modules/utf8-ucs4: Update.
107312         * modules/utf8-ucs4-unsafe: Update.
107313         * modules/utf16-ucs4: Update.
107314         * modules/utf16-ucs4-unsafe: Update.
107315         * modules/ucs4-utf8: Update.
107316         * modules/ucs4-utf16: Update.
107318 2007-03-24  Bruno Haible  <bruno@clisp.org>
107320         * lib/utf8-ucs4.h: Remove file.
107321         * lib/utf8-ucs4-unsafe.h: Remove file.
107322         * lib/utf16-ucs4.h: Remove file.
107323         * lib/utf16-ucs4-unsafe.h: Remove file.
107324         * lib/ucs4-utf8.h: Remove file.
107325         * lib/ucs4-utf16.h: Remove file.
107326         * lib/unistr.h: Include their previous contents.
107327         * m4/utf-ucs4.m4: Remove file.
107328         * m4/ucs4-utf.m4: Remove file.
107329         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
107330         (Depends-on): Add unistr/base.
107331         (configure.ac): Remove gl_UTF_UCS4.
107332         (Makefile.am): Update.
107333         (Include): Change to unistr.h.
107334         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
107335         (Depends-on): Add unistr/base.
107336         (configure.ac): Remove gl_UTF_UCS4.
107337         (Makefile.am): Update.
107338         (Include): Change to unistr.h.
107339         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
107340         (Depends-on): Add unistr/base.
107341         (configure.ac): Remove gl_UTF_UCS4.
107342         (Makefile.am): Update.
107343         (Include): Change to unistr.h.
107344         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
107345         (Depends-on): Add unistr/base.
107346         (configure.ac): Remove gl_UTF_UCS4.
107347         (Makefile.am): Update.
107348         (Include): Change to unistr.h.
107349         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
107350         (Depends-on): Add unistr/base.
107351         (configure.ac): Remove gl_UCS4_UTF.
107352         (Makefile.am): Update.
107353         (Include): Change to unistr.h.
107354         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
107355         (Depends-on): Add unistr/base.
107356         (configure.ac): Remove gl_UCS4_UTF.
107357         (Makefile.am): Update.
107358         (Include): Change to unistr.h.
107359         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
107360         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
107361         utf8-ucs4-unsafe.h.
107362         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
107363         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
107364         utf16-ucs4-unsafe.h.
107365         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
107366         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
107367         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
107368         * lib/unistr/u8-strchr.c: Likewise.
107369         * lib/unistr/u8-strrchr.c: Likewise.
107370         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
107371         * lib/unistr/u16-strchr.c: Likewise.
107372         * lib/unistr/u16-strrchr.c: Likewise.
107373         * lib/striconveh.c: Update.
107374         * lib/linebreak.c: Update.
107376 2007-03-24  Bruno Haible  <bruno@clisp.org>
107378         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
107379         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
107381 2007-03-22  Bruno Haible  <bruno@clisp.org>
107383         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
107385 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
107387         * MODULES.html.sh (File system functions): New module write-any-file.
107388         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
107389         * m4/write-any-file.m4: New files.
107391 2007-03-23  Eric Blake  <ebb9@byu.net>
107393         * gnulib-tool: Rearrange space-tab sequences, since some editors
107394         like to eat them.
107396 2007-03-23  Eric Blake  <ebb9@byu.net>
107398         * lib/version-etc.c (version_etc_va): Update license wording to
107399         be more concise.  Recommended by Richard Stallman.
107401 2007-03-22  Bruno Haible  <bruno@clisp.org>
107403         * lib/poll.c (MSG_PEEK): New fallback definition.
107405 2007-03-22  Bruno Haible  <bruno@clisp.org>
107407         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
107408         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
107409         (main): Update.
107410         Fixes a compilation error on BeOS.
107412 2007-03-22  Bruno Haible  <bruno@clisp.org>
107414         * modules/frexpl-tests: New file.
107415         * tests/test-frexpl.c: New file.
107417         * modules/frexpl: New file.
107418         * m4/frexpl.m4: New file.
107419         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
107420         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
107421         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
107422         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
107423         (Depends-on): Add frexpl. Remove isnanl-nolibm.
107424         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
107426 2007-03-22  Bruno Haible  <bruno@clisp.org>
107428         * lib/frexpl.c: Share code with lib/frexp.c.
107429         * modules/mathl (Files): Add lib/frexp.c.
107430         (Depends-on): Add isnanl-nolibm.
107432 2007-03-22  Bruno Haible  <bruno@clisp.org>
107434         * modules/printf-frexp (Files): Add m4/frexp.m4.
107435         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
107436         only if the found frexp function actually works.
107438 2007-03-22  Bruno Haible  <bruno@clisp.org>
107440         * lib/frexp.c: Remove older implementation that uses divisions.
107442 2007-03-21  Bruno Haible  <bruno@clisp.org>
107444         * modules/frexp-tests: New file.
107445         * tests/test-frexp.c: New file.
107447         * modules/frexp: New file.
107448         * lib/frexp.c: New file.
107449         * m4/frexp.m4: New file.
107450         * lib/math_.h (frexp): New declaration.
107451         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
107452         REPLACE_FREXP.
107453         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
107455 2007-03-21  Bruno Haible  <bruno@clisp.org>
107457         * modules/isnanl-tests: New file.
107458         * tests/test-isnanl.c: New file.
107460         * modules/isnanl: New file.
107461         * lib/isnanl.h: New file.
107462         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
107463         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
107464         gl_FUNC_ISNANL_WORKS.
107465         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
107466         New macros.
107468 2007-03-21  Bruno Haible  <bruno@clisp.org>
107470         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
107471         lib/isnanl.h.
107472         (Include): Update.
107473         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
107474         * lib/vasnprintf.c: Update.
107475         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
107476         tests/test-isnanl.h, remove tests/test-isnanl.c.
107477         (Makefile.am): Update.
107478         * tests/test-isnanl-nolibm.c: New file.
107479         * tests/test-isnanl.h: New file.
107480         * tests/test-isnanl.c: Remove file.
107482 2007-03-21  Jim Meyering  <jim@meyering.net>
107484         When trying to open ".", treat ESTALE like EACCES.
107485         * lib/savewd.c (savewd_save): Resort to forking not just upon
107486         failure with EACCES, but also when errno is ESTALE.
107488 2007-03-20  Bruno Haible  <bruno@clisp.org>
107490         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
107491         Needed on AIX 5.1. Reported by Matthew Woehlke.
107493 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
107495         Suggestions by Bruno Haible:
107496         * lib/acl-internal.h: Include "gettext.h" rather than rolling
107497         our own.
107498         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
107499         * modules/acl (Depends-on): Add gettext.
107501 2007-03-19  Bruno Haible  <bruno@clisp.org>
107503         * modules/iconvme: Remove file.
107504         * lib/iconvme.h: Remove file.
107505         * lib/iconvme.c: Remove file.
107506         * m4/iconvme.m4: Remove file.
107508 2007-03-19  Bruno Haible  <bruno@clisp.org>
107510         * doc/relocatable-maint.texi: Break long shell script line.
107511         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
107513 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
107515         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
107516         handle file_has_acl.
107517         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
107518         * lib/acl.c: Move header inclusions and related macro defns into
107519         lib/acl-internal.h.
107520         (S_ISLNK): Remove defn, since that's now done for us.
107521         (file_has_acl): Move to lib/file-has-acl.c.
107522         Call acl_trivial if available.  This is the crucial part of the fix.
107523         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
107524         shared within the library.  Rewrite a bit, partly to make it compatible
107525         with the GNU coding style.
107526         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
107527         Remove unnecessary double-quotes.
107528         Don't test for acl_to_text; the build will catch that.
107529         Replace acl_entries if it doesn't exist and it is needed.
107530         Check for -lsec and acl_trivial (as used on Solaris 10).
107531         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
107532         lib/file-has-acl.c.
107533         (Depends-on): Add sys_stat, for S_ISLNK.
107535 2007-03-19  Ben Pfaff  <blp@gnu.org>
107537         * doc/gnulib.texi: Fix typos.
107538         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
107540 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
107542         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
107543         If size is zero here, buf must be zero.
107545 2007-03-19  Simon Josefsson  <simon@josefsson.org>
107547         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
107548         <bruno@clisp.org>.
107550 2007-03-18  Bruno Haible  <bruno@clisp.org>
107552         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
107553         Suggested by Eric Blake.
107555 2007-03-18  Ben Pfaff  <blp@gnu.org>
107557         * doc/relocatable.texi: Recommend using as prefix a directory
107558         that does not exist and will never be created.  Based on
107559         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
107560         and others.
107562 2007-03-17  Bruno Haible  <bruno@clisp.org>
107564         * lib/fchownat.c: Include lchown.h.
107566 2007-03-17  Bruno Haible  <bruno@clisp.org>
107568         Fix endless loop when the given allocated size was > INT_MAX.
107569         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
107570         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
107571         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
107572         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
107573         * lib/sprintf.c (sprintf): Likewise.
107575 2007-03-17  Bruno Haible  <bruno@clisp.org>
107577         * tests/test-argp-2.sh (func_compare): Output a context diff.
107579 2007-03-17  Bruno Haible  <bruno@clisp.org>
107581         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
107582         locale's decimal-point character.
107584 2007-03-17  Bruno Haible  <bruno@clisp.org>
107586         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
107587         before comparing it. Needed because on some platforms (e.g. x86) a
107588         'long double' occupies less bytes than sizeof (long double).
107590 2007-03-17  Bruno Haible  <bruno@clisp.org>
107592         * tests/test-crc.c (main): Make printf statements 64-bit clean.
107593         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
107594         * tests/test-getaddrinfo.c (simple): Likewise.
107595         * tests/test-read-file.c (main): Likewise.
107597 2007-03-17  Bruno Haible  <bruno@clisp.org>
107599         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
107601 2007-03-17  Bruno Haible  <bruno@clisp.org>
107603         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
107604         unused variable.
107606 2007-03-17  Bruno Haible  <bruno@clisp.org>
107608         * tests/test-c-strcasecmp.c: Include c-strcase.h.
107609         * tests/test-c-strncasecmp.c: Likewise.
107611 2007-03-17  Bruno Haible  <bruno@clisp.org>
107613         * modules/stdlib (Depends-on): Add unistd.
107614         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
107615         Needed for MacOS X 10.3.
107617 2007-03-17  Bruno Haible  <bruno@clisp.org>
107619         * lib/unistr/u-strdup.h: Include <stdlib.h>.
107621 2007-03-17  Bruno Haible  <bruno@clisp.org>
107623         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
107625 2007-03-17  Bruno Haible  <bruno@clisp.org>
107627         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
107628         to reflect files copied from gnulib (with or without modifications).
107629         Suggested by Jim Meyering.
107631 2007-03-17  Eric Blake  <ebb9@byu.net>
107633         * NEWS: Document stdlib change from 2007-02-18.
107635 2007-03-17  Jim Meyering  <jim@meyering.net>
107637         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
107638         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
107639         someone uses a name containing shell meta-characters.
107640         Reported by Alfred M. Szmidt.
107642         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
107644 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
107646         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
107647         and copy gettext configuration files only if configure.ac contains
107648         a use of AM_GNU_GETTEXT_VERSION.
107650 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
107652         * build-aux/bootstrap (gnulib_name): New variable.
107653         (gnulib_tool_options): Use it.
107655 2007-03-13  Simon Josefsson  <simon@josefsson.org>
107657         * tests/test-des.c: Use new namespace.
107659 2007-03-15  Bruno Haible  <bruno@clisp.org>
107661         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
107662         Reported by James Youngman <jay@gnu.org>.
107664 2007-03-15  Bruno Haible  <bruno@clisp.org>
107666         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
107667         declared prototype. Needed with cc on OSF/1 5.1.
107669 2007-03-15  Bruno Haible  <bruno@clisp.org>
107671         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
107672         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
107673         (struct gl_list_implementation): Add dispose_fn argument to the
107674         'create_empty', 'create' methods.
107675         (struct gl_list_impl_base): Add field 'dispose_fn'.
107676         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
107677         argument.
107678         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
107679         dispose_fn argument.
107680         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
107681         dispose_fn on the dropped values.
107682         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
107683         dispose_fn argument.
107684         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
107685         dropped values.
107686         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
107687         (gl_tree_remove_node): Call dispose_fn on the dropped value.
107688         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
107689         (gl_tree_remove_node): Call dispose_fn on the dropped value.
107690         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
107691         argument.
107692         (gl_tree_list_free): Call dispose_fn on the dropped values.
107693         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
107694         the dropped values.
107695         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
107696         Add dispose_fn argument.
107697         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
107698         Call dispose_fn on the dropped values.
107699         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
107700         Add dispose_fn argument.
107701         (gl_sublist_create): Initialize the 'dispose_fn' field.
107702         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
107703         * tests/test-array_list.c (main): Update.
107704         * tests/test-carray_list.c (main): Update.
107705         * tests/test-avltree_list.c (main): Update.
107706         * tests/test-rbtree_list.c (main): Update.
107707         * tests/test-avltreehash_list.c (main): Update.
107708         * tests/test-rbtreehash_list.c (main): Update.
107709         * tests/test-linked_list.c (main): Update.
107710         * tests/test-linkedhash_list.c (main): Update.
107711         * tests/test-array_oset.c (main): Update.
107713 2007-03-15  Bruno Haible  <bruno@clisp.org>
107715         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
107716         (gl_oset_create_empty): Add dispose_fn argument.
107717         (struct gl_oset_implementation): Add dispose_fn argument to
107718         'create_empty' method.
107719         (struct gl_oset_impl_base): Add dispose_fn field.
107720         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
107721         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
107722         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
107723         values.
107724         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
107725         (gl_tree_oset_free): Call dispose_fn on the dropped values.
107726         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
107727         dropped value.
107728         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
107729         dropped value.
107730         * tests/test-array_oset.c (main): Update.
107731         * tests/test-avltree_oset.c (main): Update.
107732         * tests/test-rbtree_oset.c (main): Update.
107733         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
107735 2007-03-13  Bruno Haible  <bruno@clisp.org>
107737         * tests/test-stdbool.c (i): Update after last patch.
107739 2007-03-12  Bruno Haible  <bruno@clisp.org>
107741         * lib/quotearg.c: Include <wctype.h> early, before the definition of
107742         the iswprint macro. Needed on Solaris 2.5.1.
107744 2007-03-12  Bruno Haible  <bruno@clisp.org>
107746         * tests/test-printf-frexp.c (main): Declare x as volatile.
107748 2007-03-12  Simon Josefsson  <simon@josefsson.org>
107750         * doc/gnulib.texi (Build robot for gnulib): New section.
107752 2007-03-12  Jim Meyering  <jim@meyering.net>
107754         * build-aux/bootstrap: New file.
107755         * build-aux/bootstrap.conf: New file, from coreutils.
107757 2007-03-11  Bruno Haible  <bruno@clisp.org>
107759         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
107761 2007-03-12  Simon Josefsson  <simon@josefsson.org>
107763         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
107764         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
107765         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
107767 2007-03-11  Bruno Haible  <bruno@clisp.org>
107769         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
107770         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
107772 2007-03-11  Bruno Haible  <bruno@clisp.org>
107774         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
107775         formula. Needed for SunPRO C 5.0.
107777 2007-03-11  Bruno Haible  <bruno@clisp.org>
107779         * modules/long-options (Depends-on): Add getopt.
107781 2007-03-11  Bruno Haible  <bruno@clisp.org>
107783         * modules/modechange (Depends-on): Add stdbool.
107785 2007-03-11  Bruno Haible  <bruno@clisp.org>
107787         * modules/i-ring (Depends-on): Add stdbool.
107789 2007-03-11  Bruno Haible  <bruno@clisp.org>
107791         * modules/gc-des (Depends-on): Add stdbool.
107793 2007-03-11  Bruno Haible  <bruno@clisp.org>
107795         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
107797 2007-03-11  Bruno Haible  <bruno@clisp.org>
107799         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
107801 2007-03-11  Bruno Haible  <bruno@clisp.org>
107803         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
107805 2007-03-11  Bruno Haible  <bruno@clisp.org>
107807         * lib/vasnprintf.c (sprintf): Undefine.
107809 2007-03-11  Bruno Haible  <bruno@clisp.org>
107811         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
107812         initializers in SunPRO C and Compaq C compilers.
107814 2007-03-11  Bruno Haible  <bruno@clisp.org>
107816         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
107817         decrementing code ANSI C compliant.
107819 2007-03-11  Bruno Haible  <bruno@clisp.org>
107821         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
107822         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
107824 2007-03-11  Bruno Haible  <bruno@clisp.org>
107826         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
107827         <stdbool.h> substitute doesn't pass.
107829 2007-03-11  Bruno Haible  <bruno@clisp.org>
107831         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
107833 2007-03-11  Bruno Haible  <bruno@clisp.org>
107835         * gnulib-tool (func_create_megatestdir): Create also an autobuild
107836         script, for submission to autobuild.josefsson.org.
107838 2007-03-10  Bruno Haible  <bruno@clisp.org>
107840         * modules/canonicalize-lgpl-tests: New file.
107841         * tests/test-canonicalize-lgpl.sh: New file.
107842         * tests/test-canonicalize-lgpl.c: New file.
107844         * modules/c-strcase-tests: New file.
107845         * tests/test-c-strcase.sh: New file.
107846         * tests/test-c-strcasecmp.c: New file.
107847         * tests/test-c-strncasecmp.c: New file.
107849         * modules/atexit-tests: New file.
107850         * tests/test-atexit.sh: New file.
107851         * tests/test-atexit.c: New file.
107853 2007-03-10  Bruno Haible  <bruno@clisp.org>
107855         * tests/test-binary-io.sh: Use temporary filenames that are not so
107856         likely to clash with those of other tests (in a parallel make).
107857         * tests/test-binary-io.c: Likewise.
107859 2007-03-10  Bruno Haible  <bruno@clisp.org>
107861         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
107862         fallback; use #error instead.
107863         Suggested by Simon Josefsson.
107865 2007-03-10  Bruno Haible  <bruno@clisp.org>
107867         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
107868         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
107869         first and the last.
107871 2007-03-10  Bruno Haible  <bruno@clisp.org>
107873         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
107875 2007-03-10  Bruno Haible  <bruno@clisp.org>
107877         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
107878         "make distcheck".
107879         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
107880         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
107881         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
107883 2007-03-10  Bruno Haible  <bruno@clisp.org>
107885         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
107886         variable.
107887         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
107888         variable.
107890 2007-03-09  Eric Blake  <ebb9@byu.net>
107891         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
107893         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
107894         types are not being provided by gnulib.
107895         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
107896         types are supported.
107898 2007-03-10  Bruno Haible  <bruno@clisp.org>
107900         * lib/stdio_.h (__attribute__): New macro.
107901         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
107902         vsprintf): Specify __attribute__ __format__ for GCC.
107903         Suggested by Eric Blake.
107905 2007-03-09  Bruno Haible  <bruno@clisp.org>
107907         * modules/printf-posix-tests: New file.
107908         * tests/test-printf-posix.sh: New file.
107909         * tests/test-printf-posix.c: New file.
107911         * modules/printf-posix: New file.
107912         * lib/printf.c: New file.
107913         * m4/printf-posix-rpl.m4: New file.
107914         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
107915         REPLACE_PRINTF.
107916         * lib/stdio_.h (printf): New declaration.
107917         (format, __format__, ____printf____, ____scanf____, ____strftime____,
107918         ____strfmon____): New macros.
107919         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
107920         REPLACE_PRINTF.
107922 2007-03-09  Bruno Haible  <bruno@clisp.org>
107924         * tests/test-vasnprintf-posix2.sh: New file.
107925         * tests/test-vasnprintf-posix2.c: New file.
107926         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
107927         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
107928         (Makefile.am): Activate test-vasnprintf-posix2.sh.
107930         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
107931         a locale dependent decimal point, rather than always '.'.
107933 2007-03-09  Eric Blake  <ebb9@byu.net>
107935         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
107936         spite of platforms like Tandem/NSK that define it to -1.
107938 2007-03-08  Bruno Haible  <bruno@clisp.org>
107940         * modules/vprintf-posix-tests: New file.
107941         * tests/test-vprintf-posix.sh: New file.
107942         * tests/test-vprintf-posix.c: New file.
107943         * tests/test-printf-posix.h: New file.
107945         * modules/vprintf-posix: New file.
107946         * lib/vprintf.c: New file.
107947         * m4/vprintf-posix.m4: New file.
107948         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
107949         REPLACE_VPRINTF.
107950         * lib/stdio_.h (vprintf): New declaration.
107951         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
107952         REPLACE_VPRINTF.
107954 2007-03-08  Bruno Haible  <bruno@clisp.org>
107956         * modules/fprintf-posix-tests: New file.
107957         * tests/test-fprintf-posix.sh: New file.
107958         * tests/test-fprintf-posix.c: New file.
107960         * modules/fprintf-posix: New file.
107961         * lib/fprintf.c: New file.
107962         * m4/fprintf-posix.m4: New file.
107963         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
107964         REPLACE_FPRINTF.
107965         * lib/stdio_.h (fprintf): New declaration.
107966         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
107967         REPLACE_FPRINTF.
107969 2007-03-08  Bruno Haible  <bruno@clisp.org>
107971         * modules/vfprintf-posix-tests: New file.
107972         * tests/test-vfprintf-posix.sh: New file.
107973         * tests/test-vfprintf-posix.c: New file.
107974         * tests/test-fprintf-posix.h: New file.
107975         * tests/test-fprintf-posix.out: New file.
107977         * modules/vfprintf-posix: New file.
107978         * lib/vfprintf.c: New file.
107979         * m4/vfprintf-posix.m4: New file.
107980         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
107981         REPLACE_VFPRINTF.
107982         * lib/stdio_.h (vfprintf): New declaration.
107983         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
107984         REPLACE_VFPRINTF.
107986 2007-03-08  Bruno Haible  <bruno@clisp.org>
107988         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
107990 2007-03-08  Bruno Haible  <bruno@clisp.org>
107992         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
107993         instead of 'expr' invocations.
107994         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
107995         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
107996         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
107997         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
107998         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
107999         Suggested by Paul Eggert.
108001 2007-03-08  Bruno Haible  <bruno@clisp.org>
108003         * modules/fseterr-tests: New file.
108004         * tests/test-fseterr.c: New file.
108006         * modules/fseterr: New file.
108007         * lib/fseterr.h: New file.
108008         * lib/fseterr.c: New file.
108010 2007-03-08  Bruno Haible  <bruno@clisp.org>
108012         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
108013         * lib/getopt_.h: Likewise.
108014         * lib/mbswidth.h: Likewise.
108015         * lib/setenv.h: Likewise.
108016         * lib/vasnprintf.h: Likewise.
108017         * lib/vasprintf.h: Likewise.
108018         * lib/verror.h: Likewise.
108019         * lib/xsetenv.h: Likewise.
108020         * lib/xvasprintf.h: Likewise.
108022 2007-03-08  Jim Meyering  <jim@meyering.net>
108024         * users.txt: Add parted.
108026         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
108028 2007-03-07  Bruno Haible  <bruno@clisp.org>
108030         * m4/printf.m4: Make the shell script snippets copy&pastable.
108032 2007-03-02  Bruno Haible  <bruno@clisp.org>
108034         * lib/netinet_in_.h: New file.
108035         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
108036         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
108037         * modules/netinet_in (Files): Add lib/netinet_in_.h.
108038         (Depends-on): Add absolute-header.
108039         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
108040         into netinet/in.h.
108042 2007-03-03  Bruno Haible  <bruno@clisp.org>
108044         * lib/sys_select_.h: New file.
108045         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
108046         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
108047         * modules/sys_select (Files): Add lib/sys_select_.h.
108048         (Depends-on): Add absolute-header.
108049         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
108050         into sys/select.h.
108052 2007-03-02  Bruno Haible  <bruno@clisp.org>
108054         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
108055         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
108056         values.
108057         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
108058         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
108059         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
108060         * modules/sys_socket (Depends-on): Add absolute-header.
108061         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
108062         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
108063         (Include): Remove requirement of inclusion of <sys/types.h>.
108065 2007-03-02  Bruno Haible  <bruno@clisp.org>
108067         * lib/byteswap_.h (bswap_32): Fix formula.
108069 2007-03-06  Bruno Haible  <bruno@clisp.org>
108071         * modules/sprintf-posix-tests: New file.
108072         * tests/test-sprintf-posix.c: New file.
108074         * modules/sprintf-posix: New file.
108075         * lib/sprintf.c: New file.
108076         * m4/sprintf-posix.m4: New file.
108077         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
108078         REPLACE_SPRINTF.
108079         * lib/stdio_.h (sprintf): New declaration.
108080         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
108081         REPLACE_SPRINTF.
108083 2007-03-06  Bruno Haible  <bruno@clisp.org>
108085         * modules/vsprintf-posix-tests: New file.
108086         * tests/test-vsprintf-posix.c: New file.
108087         * tests/test-sprintf-posix.h: New file.
108089         * modules/vsprintf-posix: New file.
108090         * lib/vsprintf.c: New file.
108091         * m4/vsprintf-posix.m4: New file.
108092         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
108093         REPLACE_VSPRINTF.
108094         * lib/stdio_.h (vsprintf): New declaration.
108095         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
108096         REPLACE_VSPRINTF.
108098 2007-03-06  Bruno Haible  <bruno@clisp.org>
108100         * modules/vsnprintf (Depend-on): Remove minmax.
108102 2007-03-06  Bruno Haible  <bruno@clisp.org>
108104         * modules/snprintf-posix-tests: New file.
108105         * tests/test-snprintf-posix.c: New file.
108107         * modules/snprintf-posix: New file.
108108         * m4/snprintf-posix.m4: New file.
108109         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
108110         gl_FUNC_SNPRINTF.
108111         (gl_FUNC_SNPRINTF): Invoke it.
108112         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
108113         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
108114         is set.
108115         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
108117 2007-03-06  Bruno Haible  <bruno@clisp.org>
108119         * modules/vsnprintf-posix-tests: New file.
108120         * tests/test-vsnprintf-posix.c: New file.
108121         * tests/test-snprintf-posix.h: New file.
108123         * modules/vsnprintf-posix: New file.
108124         * m4/vsnprintf-posix.m4: New file.
108125         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
108126         gl_FUNC_VSNPRINTF.
108127         (gl_FUNC_VSNPRINTF): Invoke it.
108128         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
108129         * lib/stdio_.h (vsnprintf): Define as a replacement if
108130         REPLACE_VSNPRINTF is set.
108131         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
108133 2007-03-06  Bruno Haible  <bruno@clisp.org>
108135         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
108136         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
108138 2007-03-06  Bruno Haible  <bruno@clisp.org>
108140         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
108141         (asinl): Declare also if HAVE_DECL_ASINL is set.
108142         (atanl): Declare also if HAVE_DECL_ATANL is set.
108143         (ceill): Declare also if HAVE_DECL_CEILL is set.
108144         (cosl): Declare also if HAVE_DECL_COSL is set.
108145         (expl): Declare also if HAVE_DECL_EXPL is set.
108146         (floorl): Declare also if HAVE_DECL_FLOORL is set.
108147         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
108148         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
108149         (logl): Declare also if HAVE_DECL_LOGL is set.
108150         (sinl): Declare also if HAVE_DECL_SINL is set.
108151         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
108152         (tanl): Declare also if HAVE_DECL_TANL is set.
108153         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
108154         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
108155         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
108156         declaration of frexpl, ldexpl.
108157         * modules/printf-frexpl (Depends-on): Add math.
108158         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
108160 2007-03-05  Bruno Haible  <bruno@clisp.org>
108162         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
108163         frexpl and ldexpl are declared.
108164         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
108166 2007-03-05  Bruno Haible  <bruno@clisp.org>
108168         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
108169         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
108171 2007-03-05  Bruno Haible  <bruno@clisp.org>
108173         * lib/stdio_.h: Include <stddef.h>.
108175 2007-03-05  Bruno Haible  <bruno@clisp.org>
108177         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
108179 2007-03-05  Bruno Haible  <bruno@clisp.org>
108181         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
108182         NetBSD 4, from Ralf Wildenhues.
108184 2007-03-04  Bruno Haible  <bruno@clisp.org>
108186         * lib/vasprintf.h: Update #if logic for the case when the functions
108187         exist but are overridden.
108189 2007-03-04  Bruno Haible  <bruno@clisp.org>
108191         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
108192         implementations: glibc-2.4 and MacOS X 10.3.
108193         * tests/test-vasnprintf-posix.c (test_function): Test also the case
108194         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
108195         * tests/test-vasprintf-posix.c (test_function): Likewise.
108197 2007-03-04  Bruno Haible  <bruno@clisp.org>
108199         * modules/vasprintf-posix-tests: New file.
108200         * tests/test-vasprintf-posix.c: New file.
108202         * modules/vasprintf-posix: New file.
108203         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
108204         defined.
108205         * m4/vasprintf-posix.m4: New file.
108206         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
108207         gl_FUNC_VASPRINTF.
108208         (gl_FUNC_VASPRINTF): Invoke it.
108209         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
108210         here.
108211         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
108213 2007-03-04  Bruno Haible  <bruno@clisp.org>
108215         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
108216         REPLACE_GETTIMEOFDAY.
108217         * modules/sys_time (Makefile.am): Likewise.
108218         * m4/sys_time_h.m4: Likewise.
108219         * m4/gettimeofday.m4: Likewise.
108221 2007-03-04  Bruno Haible  <bruno@clisp.org>
108223         * modules/vasnprintf-posix-tests: New file.
108224         * tests/test-vasnprintf-posix.c: New file.
108226         * modules/vasnprintf-posix: New file.
108227         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
108228         printf-frexpl.h.
108229         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
108230         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
108231         REPLACE_VASNPRINTF is defined.
108232         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
108233         gl_FUNC_VASNPRINTF.
108234         (gl_FUNC_VASNPRINTF): Invoke it.
108235         * m4/vasnprintf-posix.m4: New file.
108236         * m4/printf.m4: New file.
108238 2007-03-04  Bruno Haible  <bruno@clisp.org>
108240         Compile progreloc.c only if --enable-relocatable is specified.
108241         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
108242         if --enable-relocatable was specified.
108243         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
108244         lib_SOURCES.
108246 2007-03-04  Jim Meyering  <jim@meyering.net>
108248         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
108249         Use it consistently, rather than enumerating errno constants.
108251 2007-03-04  Bruno Haible  <bruno@clisp.org>
108253         * modules/xvasprintf-tests: New file.
108254         * tests/test-xvasprintf.c: New file.
108256         * modules/vasprintf-tests: New file.
108257         * tests/test-vasprintf.c: New file.
108259         * modules/vasnprintf-tests: New file.
108260         * tests/test-vasnprintf.c: New file.
108262         * modules/vsnprintf-tests: New file.
108263         * tests/test-vsnprintf.c: New file.
108265         * modules/snprintf-tests: New file.
108266         * tests/test-snprintf.c: New file.
108268 2007-03-04  Bruno Haible  <bruno@clisp.org>
108270         Compile relocatable.c only if --enable-relocatable is specified.
108271         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
108272         gl_RELOCATABLE_LIBRARY.
108273         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
108274         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
108275         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
108276         gl_RELOCATABLE_LIBRARY.
108277         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
108278         (Makefile.am): Remove lib_SOURCES.
108279         * modules/relocatable-lib-lgpl (configure.ac): Invoke
108280         gl_RELOCATABLE_LIBRARY.
108281         (Makefile.am): Remove lib_SOURCES.
108282         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
108283         always.
108284         * modules/relocatable-prog-wrapper (configure.ac): Invoke
108285         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
108287 2007-03-04  Bruno Haible  <bruno@clisp.org>
108289         * modules/argmatch-tests: New file.
108290         * tests/test-argmatch.c: New file.
108292         * tests/test-allocsa.c (main): Halve the number of loop runs.
108294         * modules/alloca-opt-tests: New file.
108295         * tests/test-alloca-opt.c: New file.
108297 2007-03-04  Jim Meyering  <jim@meyering.net>
108299         Work around difference between Linux ACLs and Solaris 10 ZFS.
108300         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
108301         for EINVAL.
108303 2007-03-03  Bruno Haible  <bruno@clisp.org>
108305         * modules/relocatable-prog (Depends-on): Add back progreloc's
108306         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
108308 2007-03-03  Bruno Haible  <bruno@clisp.org>
108310         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
108311         * modules/relocatable-lib: New file.
108313 2007-03-03  Bruno Haible  <bruno@clisp.org>
108315         * modules/relocatable-prog: Renamed from modules/relocatable.
108316         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
108318 2007-03-03  Bruno Haible  <bruno@clisp.org>
108320         * modules/relocatable-script (Files): Add doc/relocatable.texi,
108321         m4/relocatable-lib.m4.
108322         (Depends-on): Remove 'relocatable'.
108323         (configure.ac): Add gl_RELOCATABLE_NOP.
108325 2007-03-03  Bruno Haible  <bruno@clisp.org>
108327         * modules/relocatable-prog-wrapper: New file.
108328         * modules/relocatable (Depends-on): Add it. Remove all other
108329         dependencies except progname.
108330         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
108332         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
108333         (gl_FUNC_STRERROR): Nop.
108334         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
108336         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
108337         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
108339         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
108340         (gl_FUNC_READLINK): Update.
108342         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
108344 2007-03-03  Bruno Haible  <bruno@clisp.org>
108346         * lib/xreadlink.c: Include <unistd.h> unconditionally.
108347         * modules/xreadlink (Depends-on): Add unistd.
108348         * modules/xreadlink-with-size (Depends-on): Likewise.
108350 2007-03-03  Bruno Haible  <bruno@clisp.org>
108352         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
108353         extracted from gt_FUNC_SETENV.
108354         (gt_FUNC_SETENV): Remove macro.
108355         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
108356         remove gt_FUNC_SETENV.
108358 2007-03-03  Bruno Haible  <bruno@clisp.org>
108360         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
108361         ENABLE_RELOCATABLE here.
108362         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
108364 2007-03-03  Bruno Haible  <bruno@clisp.org>
108366         * modules/rbtreehash-list-tests (Depends-on): Add progname.
108367         * tests/test-rbtreehash_list.c: Include progname.h.
108368         (main): Call set_program_name.
108370         * modules/rbtree-oset-tests (Depends-on): Add progname.
108371         * tests/test-rbtree_oset.c: Include progname.h.
108372         (main): Call set_program_name.
108374         * modules/rbtree-list-tests (Depends-on): Add progname.
108375         * tests/test-rbtree_list.c: Include progname.h.
108376         (main): Call set_program_name.
108378         * modules/linked-list-tests (Depends-on): Add progname.
108379         * tests/test-linked_list.c: Include progname.h.
108380         (main): Call set_program_name.
108382 2007-03-03  Bruno Haible  <bruno@clisp.org>
108384         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
108385         All uses of __restrict changed to _Restrict_.
108386         * lib/glob_.h (__restrict): Remove macro.
108388 2007-03-02  Bruno Haible  <bruno@clisp.org>
108390         * modules/gettext (configure.ac): Require gettext infrastructure
108391         from version 0.16.1.
108393 2007-03-02  Bruno Haible  <bruno@clisp.org>
108395         * modules/linkedhash-list-tests (Depends-on): Add progname.
108396         * tests/test-linkedhash_list.c: Include progname.h.
108397         (main): Call set_program_name.
108399         * modules/carray-list-tests (Depends-on): Add progname.
108400         * tests/test-carray_list.c: Include progname.h.
108401         (main): Call set_program_name.
108403         * modules/avltreehash-list-tests (Depends-on): Add progname.
108404         * tests/test-avltreehash_list.c: Include progname.h.
108405         (main): Call set_program_name.
108407         * modules/avltree-oset-tests (Depends-on): Add progname.
108408         * tests/test-avltree_oset.c: Include progname.h.
108409         (main): Call set_program_name.
108411         * modules/avltree-list-tests (Depends-on): Add progname.
108412         * tests/test-avltree_list.c: Include progname.h.
108413         (main): Call set_program_name.
108415         * modules/array-oset-tests (Depends-on): Add progname.
108416         * tests/test-array_oset.c: Include progname.h.
108417         (main): Call set_program_name.
108419         * modules/array-list-tests (Depends-on): Add progname.
108420         * tests/test-array_list.c: Include progname.h.
108421         (main): Call set_program_name.
108423         * modules/argp-tests (Depends-on): Add progname.
108424         * tests/test-argp.c: Include argp.h first. Include progname.h.
108425         (main): Call set_program_name.
108427 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
108429         * doc/gnulib-tool.texi (Initial import): Reword description of
108430         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
108431         limited effect even if defined after the first system include.
108433 2007-03-01  Bruno Haible  <bruno@clisp.org>
108435         * build-aux/config.libpath: Update to libtool-1.5.22.
108436         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
108438 2007-03-01  Bruno Haible  <bruno@clisp.org>
108440         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
108441         foo_CFLAGS.
108442         Reported by Ralf Wildenhues.
108444 2007-03-01  Bruno Haible  <bruno@clisp.org>
108446         * build-aux/install-reloc: Remove object files left over by some
108447         compilers.
108448         Reported by Ralf Wildenhues.
108450 2007-03-01  Bruno Haible  <bruno@clisp.org>
108452         * build-aux/install-reloc: Break long lines.
108454 2007-03-01  Bruno Haible  <bruno@clisp.org>
108456         * doc/relocatable.texi: Document that it may not work on OpenBSD.
108457         Reported by Ralf Wildenhues.
108459 2007-03-01  Bruno Haible  <bruno@clisp.org>
108461         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
108462         include ordering constraints.
108464 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
108466         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
108467         <http://lists.gnu.org/r/bug-gnulib/2007-02/msg00136.html>.
108468         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
108469         as another example.
108470         * lib/time_.h: Fix misspelling.
108471         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
108472         Require gl_HEADER_TIME_H_DEFAULTS.
108473         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
108474         * m4/time_r.m4 (gl_TIME_R): Likewise.
108475         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
108477 2007-03-01  Bruno Haible  <bruno@clisp.org>
108479         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
108480         * m4/utimens.m4 (gl_UTIMENS): Likewise.
108482 2007-03-01  Jim Meyering  <jim@meyering.net>
108484         * modules/xreadlink (Maintainer): Add my name.
108485         * modules/xreadlink-with-size (Depends-on): Alphabetize.
108487 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
108488             Bruno Haible  <bruno@clisp.org>
108490         * build-aux/install-reloc: Compile also c-ctype.c.
108491         * build-aux/relocatable.sh.in: New file.
108492         * doc/relocatable.texi: New file.
108493         * doc/relocatable-maint.texi: New file.
108494         * doc/gnulib.texi: Include relocatable-maint.texi.
108495         * lib/progreloc.c: Include unistd.h unconditionally.
108496         * lib/relocwrapper.c: Include unistd.h unconditionally.
108497         Include c-ctype.h.
108498         (add_dotbin): Use c_tolower.
108499         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
108500         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
108501         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
108502         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
108503         to m4/relocatable-lib.m4.
108504         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
108505         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
108506         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
108507         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
108508         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
108509         * modules/relocatable: New file.
108510         * modules/relocatable-lib: New file.
108511         * modules/relocatable-script: New file.
108513 2007-02-28  Bruno Haible  <bruno@clisp.org>
108515         Import --enable-relocatable infrastructure.
108516         * build-aux/config.libpath: New file, from GNU gettext.
108517         * build-aux/install-reloc: New file, from GNU gettext.
108518         * build-aux/reloc-ldflags: New file, from GNU gettext.
108519         * lib/relocatable.h: New file, from GNU gettext.
108520         * lib/relocatable.c: New file, from GNU gettext.
108521         * lib/relocwrapper.c: New file, from GNU gettext.
108522         * m4/relocatable.m4: New file, from GNU gettext.
108524 2007-02-28  Bruno Haible  <bruno@clisp.org>
108526         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
108528         * modules/xreadlink: New file, from GNU gettext with modifications.
108529         * lib/xreadlink.c: New file, from GNU gettext.
108530         * lib/xreadlink.h: Add comments.
108531         (xreadlink): New declaration.
108533         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
108534         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
108535         lib/xreadlink-with-size.c.
108536         (configure.ac): Remove gl_XREADLINK invocation.
108537         (Makefile.am): Augment lib_SOURCES.
108538         * m4/xreadlink.m4: Remove file.
108539         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
108540         (xreadlink_with_size): Renamed from xreadink.
108541         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
108542         * modules/canonicalize (Depends-on): Replace xreadlink with
108543         xreadlink-with-size.
108544         * lib/canonicalize.c (canonicalize_filename_mode): Update.
108546 2007-02-25  Jim Meyering  <jim@meyering.net>
108548         * build-aux/announce-gen: When complaining about excess arguments,
108549         list them.
108551 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
108553         * README: Document signed integer overflow situation more
108554         accurately.
108556 2007-02-25  Bruno Haible  <bruno@clisp.org>
108558         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
108559         'a' or 'A' conversion.
108561 2007-02-25  Bruno Haible  <bruno@clisp.org>
108563         * modules/filename: Renamed from modules/pathname.
108564         (Files): Replace lib/pathname.h with lib/filename.h. Replace
108565         lib/concatpath.c with lib/concat-filename.c.
108566         (Makefile.am): Update.
108567         (Include): Replace pathname.h with filename.h.
108568         * lib/filename.h: Renamed from lib/pathname.h.
108569         (concatenated_filename): Renamed from concatenated_pathname.
108570         * lib/concat-filename.c: Renamed from lib/concatpath.c.
108571         (concatenated_filename): Renamed from concatenated_pathname.
108572         * lib/findprog.c: Include filename.h instead of pathname.h.
108573         (find_in_path): Update.
108574         * lib/javacomp.c: Include filename.h instead of pathname.h.
108575         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
108576         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
108577         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
108578         is_oldgcj_14_13_usable, is_javac_usable): Update.
108579         * lib/javaexec.c: Include filename.h instead of pathname.h.
108580         (execute_java_class): Update.
108581         * modules/findprog: Update.
108582         * modules/javacomp: Update.
108583         * modules/javaexec: Update.
108584         * MODULES.html.sh (File system functions): Add 'filename', remove
108585         'pathname'.
108587 2007-02-25  Bruno Haible  <bruno@clisp.org>
108589         * modules/printf-frexpl-tests: New file.
108590         * tests/test-printf-frexpl.c: New file.
108592         * modules/printf-frexpl: New file.
108593         * lib/printf-frexpl.h: New file.
108594         * lib/printf-frexpl.c: New file.
108595         * m4/printf-frexpl.m4: New file.
108597 2007-02-25  Bruno Haible  <bruno@clisp.org>
108599         * modules/printf-frexp-tests: New file.
108600         * tests/test-printf-frexp.c: New file.
108602         * modules/printf-frexp: New file.
108603         * lib/printf-frexp.h: New file.
108604         * lib/printf-frexp.c: New file.
108605         * m4/printf-frexp.m4: New file.
108607 2007-02-25  Bruno Haible  <bruno@clisp.org>
108609         Assume automake >= 1.10 for the tests.
108610         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
108611         * modules/arctwo-tests: Likewise.
108612         * modules/argp-tests: Likewise.
108613         * modules/avltree-list-tests: Likewise.
108614         * modules/avltree-oset-tests: Likewise.
108615         * modules/avltreehash-list-tests: Likewise.
108616         * modules/carray-list-tests: Likewise.
108617         * modules/crc-tests: Likewise.
108618         * modules/des-tests: Likewise.
108619         * modules/gc-arcfour-tests: Likewise.
108620         * modules/gc-arctwo-tests: Likewise.
108621         * modules/gc-des-tests: Likewise.
108622         * modules/gc-hmac-md5-tests: Likewise.
108623         * modules/gc-hmac-sha1-tests: Likewise.
108624         * modules/gc-md2-tests: Likewise.
108625         * modules/gc-md4-tests: Likewise.
108626         * modules/gc-md5-tests: Likewise.
108627         * modules/gc-pbkdf2-sha1-tests: Likewise.
108628         * modules/gc-rijndael-tests: Likewise.
108629         * modules/gc-sha1-tests: Likewise.
108630         * modules/gc-tests: Likewise.
108631         * modules/getaddrinfo-tests: Likewise.
108632         * modules/hmac-md5-tests: Likewise.
108633         * modules/hmac-sha1-tests: Likewise.
108634         * modules/linked-list-tests: Likewise.
108635         * modules/linkedhash-list-tests: Likewise.
108636         * modules/lock-tests: Likewise.
108637         * modules/md2-tests: Likewise.
108638         * modules/md4-tests: Likewise.
108639         * modules/md5-tests: Likewise.
108640         * modules/rbtree-list-tests: Likewise.
108641         * modules/rbtree-oset-tests: Likewise.
108642         * modules/rbtreehash-list-tests: Likewise.
108643         * modules/read-file-tests: Likewise.
108644         * modules/rijndael-tests: Likewise.
108645         * modules/stdint-tests: Likewise.
108646         * modules/tls-tests: Likewise.
108648 2007-02-24  Bruno Haible  <bruno@clisp.org>
108650         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
108651         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
108652         function; instead check whether isnan with a double argument links.
108653         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
108654         function; instead check whether isnan with a 'long double' argument
108655         links.
108656         Reported by Eric Blake <ebb9@byu.net>.
108658 2007-02-24  Bruno Haible  <bruno@clisp.org>
108660         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
108661         defined.
108662         * lib/isnanl.c: Remove all code. Just include isnan.c.
108663         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
108665 2007-02-25  Jim Meyering  <jim@meyering.net>
108667         Avoid conflicting types for 'unsetenv' on FreeBSD.
108668         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
108669         conflicting with FreeBSD's (5.0 and 6.1) function declaration
108670         in stdlib.h.
108672 2007-02-24  Bruno Haible  <bruno@clisp.org>
108674         * modules/isnanl-nolibm-tests: New file.
108675         * tests/test-isnanl.c: New file.
108677         * modules/isnanl-nolibm: New file.
108678         * lib/isnanl.h: New file.
108679         * lib/isnanl.c: New file.
108680         * m4/isnanl.m4: New file.
108682 2007-02-24  Bruno Haible  <bruno@clisp.org>
108684         * modules/isnan-nolibm-tests: New file.
108685         * tests/test-isnan.c: New file.
108687         * modules/isnan-nolibm: New file.
108688         * lib/isnan.h: New file.
108689         * lib/isnan.c: New file.
108690         * m4/isnan.m4: New file.
108692 2007-02-24  Bruno Haible  <bruno@clisp.org>
108694         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
108695         assume that an exponent fits in 20 bits.
108697 2007-02-24  Jim Meyering  <jim@meyering.net>
108699         * m4/regex.m4: Update the description of the configure-time option,
108700         --without-included-regex, to state accurately what the defaults are,
108701         and perhaps to give people an idea why using this option is risky.
108703 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
108705         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
108706         loops on small arguments.  This attempts to avoid the problem
108707         Bruno Haible reported for AIX 4.3.2 in
108708         <http://lists.gnu.org/r/bug-gnulib/2007-02/msg00309.html>.
108710 2007-02-23  Bruno Haible  <bruno@clisp.org>
108712         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
108713         Needed for help2man.
108715 2007-02-23  Karl Berry  <karl@gnu.org>
108717         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
108718         exists, foo.h should be cvs-ignored, not committed.
108720 2007-02-23  Eric Blake  <ebb9@byu.net>
108722         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
108723         * lib/stat-time.h (includes): Likewise.
108724         * lib/utimecmp.c (includes): Likewise.
108725         * lib/utimens.h (includes): Likewise.
108726         * lib/getdate.y (includes): Also include "timespec.h" for use
108727         internal to the module.
108728         * modules/utimens (Depends-on): Revert yesterday's patch.
108729         * modules/nanosleep (Depends-on): Add missing dependency.
108731 2007-02-22  Bruno Haible  <bruno@clisp.org>
108733         * lib/glob.c: Don't include getlogin_r.h.
108735 2007-02-22  Jim Meyering  <jim@meyering.net>
108737         * modules/utimens (Depends-on): Add timespec, required for
108738         utimens.h's inclusion of timespec.h.
108740 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
108742         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
108743         long unreadable paths in GNU/Linux.  Problem reported by Andreas
108744         Schwab in
108745         <http://lists.gnu.org/r/bug-gnulib/2007-02/msg00261.html>.
108746         I'll try to think of a better way to fix the Solaris problem.
108748         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
108749         like glibc; on Solaris 10, it fails with errno == EINVAL.
108750         POSIX says the behavior is unspecified if the first argument is NULL,
108751         so play it safe and never pass NULL to the system getcwd.
108753 2007-02-21  Jim Meyering  <jim@meyering.net>
108755         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
108756         of gettimeofday.  It would conflict with the one now always
108757         provided via sys_time_.h.  Reported by Matthew Woehlke, as
108758         an IRIX 6.5 build failure.
108760 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
108762         Minor fixups to port to Solaris 10 with Sun C 5.8.
108763         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
108764         * modules/getcwd (Depends-on): Add dirfd.
108765         * lib/putenv.c (putenv): #undef it.
108766         (rpl_putenv): New decl.
108767         (malloc, free): Include <stdlib.h> rather than prototyping separately.
108769 2007-02-20  Bruno Haible  <bruno@clisp.org>
108771         * modules/stdio-tests: New file.
108772         * tests/test-stdio.c: New file.
108774         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
108775         (Depends-on): Add stdio.
108776         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
108777         (Include): Use <stdio.h> instead of vsnprintf.h.
108778         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
108779         HAVE_DECL_VSNPRINTF.
108780         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
108782         * modules/snprintf (Files): Remove lib/snprintf.h.
108783         (Depends-on): Add stdio.
108784         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
108785         (Include): Use <stdio.h> instead of snprintf.h.
108786         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
108787         HAVE_DECL_SNPRINTF.
108788         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
108789         * lib/getaddrinfo.c: Likewise.
108791         * modules/stdio: New file.
108792         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
108793         * lib/snprintf.h: Remove file.
108794         * lib/vsnprintf.h: Remove file.
108795         * lib/.cppi-disable: Remove snprintf.h.
108796         * m4/stdio_h.m4: New file.
108797         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
108799 2007-02-20  Jim Meyering  <jim@meyering.net>
108801         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
108802         used by e.g., mingw.  From Bruno Haible.
108804 2007-02-19  Bruno Haible  <bruno@clisp.org>
108806         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
108807         warnings.
108808         Reported by Ben Pfaff <blp@cs.stanford.edu>.
108810 2007-02-19  Bruno Haible  <bruno@clisp.org>
108812         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
108813         from mingw users.
108815 2007-02-19  Bruno Haible  <bruno@clisp.org>
108817         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
108818         warnings.
108819         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
108821 2007-02-19  Jim Meyering  <jim@meyering.net>
108823         Don't use FD after a successful "fdopendir (fd)".
108824         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
108825         Reset it by calling dirfd on the just-obtained DIR*.
108827         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
108828         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
108830 2007-02-18  Bruno Haible  <bruno@clisp.org>
108832         * lib/readlink.c: Include <unistd.h>.
108833         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
108834         HAVE_READLINK.
108835         * modules/readlink (Depends-on): Add unistd.
108836         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
108837         (Include): Add <unistd.h>.
108839         * lib/getlogin_r.h: Remove file.
108840         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
108841         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
108842         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
108843         HAVE_DECL_GETLOGIN_R.
108844         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
108845         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
108846         (Include): Use <unistd.h> instead of getlogin_r.h.
108848         * lib/getcwd.h: Remove file.
108849         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
108850         * lib/xgetcwd.c: Likewise.
108851         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
108852         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
108853         * modules/getcwd (Files): Remove lib/getcwd.h.
108854         (Depends-on): Add unistd.
108855         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
108856         (Include): Use <unistd.h> instad of getcwd.h.
108858         * lib/ftruncate.c: Include <unistd.h> first.
108859         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
108860         Set HAVE_FTRUNCATE.
108861         * modules/ftruncate (Depends-on): Add unistd.
108862         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
108864         * lib/fchdir.c: Include <unistd.h> first.
108865         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
108866         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
108867         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
108868         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
108869         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
108871         * lib/dup2.c: Include <unistd.h> first.
108872         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
108873         HAVE_DUP2.
108874         * modules/dup2 (Depends-on): Add unistd.
108875         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
108877         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
108878         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
108879         REPLACE_CHOWN. Don't define chown as a macro here.
108880         * modules/chown (Depends-on): Add unistd.
108881         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
108883         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
108884         Add definition for GL_LINK_WARNING.
108885         (chown, dup2): New declarations.
108886         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
108887         link warning.
108888         (ftruncate): New declaration.
108889         (getcwd): New declaration, taken from old getcwd.h.
108890         (getlogin_r): New declaration, taken from old getlogin_r.h.
108891         (readlink): New declaration.
108892         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
108893         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
108894         (gl_PREREQ_UNISTD): Remove macro.
108895         (gl_UNISTD_MODULE_INDICATOR): New macro.
108896         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
108897         many new variables. Don't set UNISTD_H.
108898         * modules/unistd (Description): Change.
108899         (Depends-on): Add link-warning.
108900         (configure.ac): Update.
108901         (Makefile.am): Create unistd.h always. Substitute many new variables
108902         into it.
108904 2007-02-18  Bruno Haible  <bruno@clisp.org>
108906         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
108907         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
108908         HAVE_GETSUBOPT.
108909         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
108910         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
108911         * lib/getsubopt.h: Remove file.
108912         * modules/getsubopt (Files): Remove lib/getsubopt.h.
108913         (Depends-on): Add stdlib.
108914         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
108915         (Includes): Use <stdlib.h> instead of getsubopt.h.
108916         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
108917         Set HAVE_GETSUBOPT.
108918         * lib/getsubopt.c: Don't include getsubopt.h.
108920 2007-02-18  Bruno Haible  <bruno@clisp.org>
108922         * modules/fchdir (Depends-on): Add dup2.
108924 2007-02-18  Bruno Haible  <bruno@clisp.org>
108926         * lib/stdlib_.h: Handle glibc's special invocation convention
108927         specially.
108929 2007-02-18  Bruno Haible  <bruno@clisp.org>
108931         * modules/stdlib-tests: New file.
108932         * tests/test-stdlib.c: New file.
108934         * modules/mkstemp (Files): Remove lib/mkstemp.h.
108935         (Depends-on): Add stdlib.
108936         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
108937         (Includes): Use <stdlib.h> instead of mkstemp.h.
108938         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
108939         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
108940         * lib/mkstemp.c: Don't include mkstemp.h.
108941         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
108942         * lib/stdlib--.h: Don't include mkstemp.h.
108944         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
108945         (Depends-on): Add stdlib.
108946         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
108947         (Includes): Use <stdlib.h> instead of mkdtemp.h.
108948         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
108949         HAVE_MKDTEMP.
108950         * lib/mkdtemp.c: Don't include mkdtemp.h.
108951         * lib/clean-temp.c: Don't include mkdtemp.h.
108953         * modules/exit (Files): Remove lib/exit.h.
108954         (Depends-on): Add stdlib.
108955         (Makefile.am): Remove lib_SOURCES.
108956         (Include): Use <stdlib.h> instead of exit.h.
108957         * lib/argmatch.c: Don't include exit.h.
108958         * lib/execute.c: Likewise.
108959         * lib/pagealign_alloc.c: Likewise.
108960         * lib/pipe.c: Likewise.
108961         * lib/wait-process.c: Likewise.
108962         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
108963         * lib/exitfail.c: Likewise.
108964         * lib/savewd.c: Likewise.
108965         * lib/xsetenv.c: Likewise.
108967         * modules/stdlib: New file.
108968         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
108969         and extra comments about mkstemp().
108970         * lib/exit.h: Remove file.
108971         * lib/mkdtemp.h: Remove file.
108972         * lib/mkstemp.h: Remove file.
108973         * m4/stdlib_h.m4: New file.
108974         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
108976 2007-02-18  Bruno Haible  <bruno@clisp.org>
108978         * modules/math-tests: New file.
108979         * tests/test-math.c: New file.
108981         * modules/math: New file.
108982         * modules/mathl (Files): Remove lib/mathl.h.
108983         (Depends-on): Add math.
108984         (Makefile.am): Don't mention mathl.h.
108985         (Include): Use <math.h> instead of mathl.h.
108986         * lib/math_.h: New file.
108987         * lib/mathl.h: Remove file.
108988         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
108989         mathl.h.
108990         * lib/asinl.c: Likewise.
108991         * lib/atanl.c: Likewise.
108992         * lib/ceill.c: Likewise.
108993         * lib/cosl.c: Likewise.
108994         * lib/expl.c: Likewise.
108995         * lib/floorl.c: Likewise.
108996         * lib/frexpl.c: Likewise.
108997         * lib/ldexpl.c: Likewise.
108998         * lib/logl.c: Likewise.
108999         * lib/sincosl.c: Likewise.
109000         * lib/sinl.c: Likewise.
109001         * lib/sqrtl.c: Likewise.
109002         * lib/tanl.c: Likewise.
109003         * lib/trigl.c: Likewise.
109004         * m4/math_h.m4: New file.
109005         * MODULES.html.sh (Mathematics): Add math.
109007 2007-02-17  Bruno Haible  <bruno@clisp.org>
109009         * modules/wctype-tests: New file.
109010         * tests/test-wctype.c: New file.
109012         * modules/wchar-tests: New file.
109013         * tests/test-wchar.c: New file.
109015         * modules/unistd-tests: New file.
109016         * tests/test-unistd.c: New file.
109018         * modules/time-tests: New file.
109019         * tests/test-time.c: New file.
109021         * modules/sysexits-tests: New file.
109022         * tests/test-sysexits.c: New file.
109024         * modules/sys_time-tests: New file.
109025         * tests/test-sys_time.c: New file.
109027         * modules/sys_stat-tests: New file.
109028         * tests/test-sys_stat.c: New file.
109030         * modules/sys_socket-tests: New file.
109031         * tests/test-sys_socket.c: New file.
109033         * modules/sys_select-tests: New file.
109034         * tests/test-sys_select.c: New file.
109036         * modules/string-tests: New file.
109037         * tests/test-string.c: New file.
109039         * modules/stdbool-tests: New file.
109040         * tests/test-stdbool.c: New file.
109042         * modules/netinet_in-tests: New file.
109043         * tests/test-netinet_in.c: New file.
109045         * modules/inttypes-tests: New file.
109046         * tests/test-inttypes.c: New file.
109048         * modules/fcntl-tests: New file.
109049         * tests/test-fcntl.c: New file.
109051         * modules/byteswap-tests: New file.
109052         * tests/test-byteswap.c: New file.
109054         * modules/arpa_inet-tests: New file.
109055         * tests/test-arpa_inet.c: New file.
109057 2007-02-17  Bruno Haible  <bruno@clisp.org>
109059         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
109060         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
109061         if the corresponding module is not enabled. Emit link warnings if
109062         the function is used nevertheless.
109063         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
109064         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
109065         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
109066         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
109067         * modules/inttypes (Depends-on): Add link-warning.
109068         (Makefile.am): Copy the contents of build-aux/link-warning.h into
109069         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
109070         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
109071         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
109072         * modules/imaxdiv (configure.ac): Likewise.
109073         * modules/strtoimax (configure.ac): Likewise.
109074         * modules/strtoumax (configure.ac): Likewise.
109076 2007-02-17  Bruno Haible  <bruno@clisp.org>
109078         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
109079         gl_STRING_MODULE_INDICATOR_DEFAULTS.
109080         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
109081         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
109083 2007-02-17  Bruno Haible  <bruno@clisp.org>
109085         * modules/link-warning: New file.
109086         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
109087         * lib/string_.h (GL_LINK_WARNING): Remove definition.
109088         * modules/string (Depends-on): Add link-warning.
109089         (Makefile.am): Copy the contents of build-aux/link-warning.h into
109090         string.h.
109091         * MODULES.html.sh (Support for building libraries and executables): Add
109092         link-warning.
109094 2007-02-17  Bruno Haible  <bruno@clisp.org>
109096         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
109097         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
109098         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
109099         long lines.
109101 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
109102             Bruno Haible  <bruno@clisp.org>
109104         * modules/tmpfile: New file.
109105         * lib/tmpfile.c: New file.
109106         * m4/tmpfile.m4: New file.
109107         * MODULES.html.sh (func_all_modules): New section "Input/output".
109109 2007-02-15  Bruno Haible  <bruno@clisp.org>
109111         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
109112         (supports_delete_on_close): New function.
109113         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
109115 2007-02-14  Bruno Haible  <bruno@clisp.org>
109117         * modules/mbspcasecmp-tests: New file.
109118         * tests/test-mbspcasecmp.sh: New file.
109119         * tests/test-mbspcasecmp.c: New file.
109121         New module mbspcasecmp.
109122         * modules/mbspcasecmp: New file.
109123         * lib/mbspcasecmp.c: New file.
109124         * lib/string_.h (strncasecmp): Change warning message.
109125         (mbspcasecmp): New declaration.
109126         * m4/mbspcasecmp.m4: New file.
109127         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
109128         GNULIB_MBSPCASECMP.
109129         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
109130         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
109132 2007-02-14  Bruno Haible  <bruno@clisp.org>
109134         * modules/mbsncasecmp-tests: New file.
109135         * tests/test-mbsncasecmp.sh: New file.
109136         * tests/test-mbsncasecmp.c: New file.
109138         New module mbsncasecmp.
109139         * modules/mbsncasecmp: New file.
109140         * lib/mbsncasecmp.c: New file.
109141         * lib/string_.h (mbsncasecmp): New declaration.
109142         * m4/mbsncasecmp.m4: New file.
109143         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
109144         GNULIB_MBSNCASECMP.
109145         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
109146         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
109148 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
109150         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
109151         Verify that it doesn't overlap with our flags.
109152         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
109153         do not have the desired effect in multibyte locales; instead, use
109154         mbscasecmp.
109155         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
109156         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
109157         we don't require GNU fnmatch ourselves (if our users require it, they
109158         should do so explicitly).
109160         Fix regex code so it doesn't rely on strcasecmp.
109161         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
109162         Otherwise, include gnulib's langinfo.h.
109163         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
109164         undesirable behavior in non-C locales.  Instead, rely on localecharset.
109165         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
109166         * modules/regex (FILES): Remove m4/codeset.m4.
109167         (Depends-on): Add localcharset.  Remove strcase.
109169 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
109171         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
109172         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
109174 2007-02-13  Bruno Haible  <bruno@clisp.org>
109176         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
109177         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
109179 2007-02-12  Bruno Haible  <bruno@clisp.org>
109181         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
109182         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
109183         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
109184         time warning rather than a link error.
109186 2007-02-12  Bruno Haible  <bruno@clisp.org>
109188         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
109189         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
109190         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
109192 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
109194         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
109195         args, not 2.
109197 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
109199         New module 'time', so that apps can include <time.h> as per
109200         POSIX and GNU instead of separate include files like time_r.h
109201         and timegm.h.  This implementation tries out a simpler approach
109202         for replacing decls in standard include files (as compared to
109203         the string module), somewhat as an experiment.
109205         * config/srclist.txt: Comment out mktime.c for now.
109206         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
109207         since it doesn't apply any more.  Use generic wording instead.
109208         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
109209         'time'.
109210         * lib/time_.h, m4/time_h.m4, modules/time: New files.
109211         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
109212         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
109213         Don't include <sys/types.h>; no longer needed since we assume C89.
109214         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
109215         * lib/strftime.c: Likewise.
109216         * lib/time_r.c: Likewise.
109217         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
109218         * lib/nanosleep.c: Include <time.h> first, to check interface.
109219         * lib/strptime.c: Likewise.
109220         * lib/time_r.c: Likewise.
109221         * lib/timegm.c: Likewise.
109222         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
109223         needed.
109224         * lib/timegm.c: Don't include timegm.h; no longer needed.
109225         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
109226         time.h now handles any problems in that area.
109227         (struct timespec, nanosleep): Remove; time.h now arranges for these.
109228         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
109229         that time.h defines struct timespec.
109230         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
109231         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
109232         handles that.
109233         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
109234         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
109235         needed.  Set REPLACE_LOCALTIME.
109236         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
109237         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
109238         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
109239         nanosleep; time_h.m4 now does that.  Don't require
109240         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
109241         module handles this now.
109242         * modules/getdate (Depends-on): Remove timespec.  Add time.
109243         * modules/nanosleep (Depends-on): Likewise.
109244         * modules/stat-time (Depends-on): Likewise.
109245         * modules/nanosleep (Include): Include time.h, not timespec.h.
109246         * modules/strptime (Files): Remove lib/strptime.h.
109247         (Depends-on): Add extensions, time.
109248         (Include): Include time.h, not strptime.h.
109249         * modules/time_r (Files): Remove lib/time_r.h.
109250         (Depends-on): Add time.
109251         (Include): Include time.h, not time_r.h.
109252         * modules/timegm: Likewise.
109253         * modules/timespec (Description): Now does timespec-related decls
109254         of our own, instead of struct timespec itself.
109255         (Depends-on): Add time; remove extensions.
109256         (Maintainer): Add self.
109257         * modules/utimecmp (Depends-on): Add time; remove timespec.
109258         * modules/utimens (Depends-on): Likewise.
109259         * modules/xnanosleep (Depends-on): Likewise.
109261 2007-02-11  Bruno Haible  <bruno@clisp.org>
109263         * lib/c-strstr.c: Include allocsa.h.
109264         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
109265         * lib/c-strcasestr.c: Include allocsa.h.
109266         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
109267         * lib/strcasestr.c: Include allocsa.h.
109268         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
109269         * lib/mbsstr.c: Include allocsa.h.
109270         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
109271         allocsa/freesa instead of malloc/free.
109272         * lib/mbscasestr.c: Include allocsa.h.
109273         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
109274         allocsa/freesa instead of malloc/free.
109275         * modules/c-strstr (Depends-on): Add allocsa.
109276         * modules/c-strcasestr (Depends-on): Likewise.
109277         * modules/strcasestr (Depends-on): Likewise.
109278         * modules/mbsstr (Depends-on): Likewise.
109279         * modules/mbscasestr (Depends-on): Likewise.
109281 2007-02-11  Bruno Haible  <bruno@clisp.org>
109283         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
109285         * modules/mbsspn-tests: New file.
109286         * tests/test-mbsspn.sh: New file.
109287         * tests/test-mbsspn.c: New file.
109289 2007-02-11  Bruno Haible  <bruno@clisp.org>
109291         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
109293         * modules/mbspbrk-tests: New file.
109294         * tests/test-mbspbrk.sh: New file.
109295         * tests/test-mbspbrk.c: New file.
109297 2007-02-11  Bruno Haible  <bruno@clisp.org>
109299         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
109300         unneeded cast.
109302         * modules/mbscspn-tests: New file.
109303         * tests/test-mbscspn.sh: New file.
109304         * tests/test-mbscspn.c: New file.
109306 2007-02-11  Bruno Haible  <bruno@clisp.org>
109308         * modules/mbscasecmp-tests: New file.
109309         * tests/test-mbscasecmp.sh: New file.
109310         * tests/test-mbscasecmp.c: New file.
109312 2007-02-11  Bruno Haible  <bruno@clisp.org>
109314         Ensure O(n) worst-case complexity of mbscasestr.
109315         * lib/mbscasestr.c: Include stdbool.h.
109316         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
109317         functions.
109318         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
109319         the bookkeeping indicates that it's worth it.
109320         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
109322         * modules/mbscasestr-tests: New file.
109323         * tests/test-mbscasestr1.c: New file.
109324         * tests/test-mbscasestr2.sh: New file.
109325         * tests/test-mbscasestr2.c: New file.
109326         * tests/test-mbscasestr3.sh: New file.
109327         * tests/test-mbscasestr3.c: New file.
109328         * tests/test-mbscasestr4.sh: New file.
109329         * tests/test-mbscasestr4.c: New file.
109330         * m4/locale-tr.m4: New file.
109332 2007-02-11  Bruno Haible  <bruno@clisp.org>
109334         Ensure O(n) worst-case complexity of mbsstr.
109335         * lib/mbsstr.c: Include stdbool.h.
109336         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
109337         functions.
109338         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
109339         bookkeeping indicates that it's worth it.
109340         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
109342         * modules/mbsstr-tests: New file.
109343         * tests/test-mbsstr1.c: New file.
109344         * tests/test-mbsstr2.sh: New file.
109345         * tests/test-mbsstr2.c: New file.
109346         * tests/test-mbsstr3.sh: New file.
109347         * tests/test-mbsstr3.c: New file.
109348         * m4/locale-fr.m4: New file.
109350 2007-02-11  Bruno Haible  <bruno@clisp.org>
109352         * lib/mbsrchr.c (mbsrchr): Fix bug.
109354         * modules/mbsrchr-tests: New file.
109355         * tests/test-mbsrchr.sh: New file.
109356         * tests/test-mbsrchr.c: New file.
109358 2007-02-11  Bruno Haible  <bruno@clisp.org>
109360         * lib/mbschr.c (mbschr): Fix bug.
109362         * modules/mbschr-tests: New file.
109363         * tests/test-mbschr.sh: New file.
109364         * tests/test-mbschr.c: New file.
109365         * m4/locale-zh.m4: New file.
109367 2007-02-11  Bruno Haible  <bruno@clisp.org>
109369         Support for copying multibyte string iterators.
109370         * lib/mbiter.h: Include <string.h>.
109371         (mbiter_multi_copy): New function.
109372         (mbi_copy): New macro.
109373         * lib/mbuiter.h: Include <string.h>.
109374         (mbuiter_multi_copy): New function.
109375         (mbui_copy): New macro.
109377 2007-02-11  Bruno Haible  <bruno@clisp.org>
109379         New module mbslen.
109380         * modules/mbslen: New file.
109381         * lib/mbslen.c: New file.
109382         * lib/string_.h (mbslen): New declaration.
109383         * m4/mbslen.m4: New file.
109384         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
109385         GNULIB_MBSLEN.
109386         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
109387         * MODULES.html.sh (Internationalization functions): Add mbslen.
109389 2007-02-11  Bruno Haible  <bruno@clisp.org>
109391         Ensure O(n) worst-case complexity of strcasestr substitute.
109392         * lib/strcasestr.c: Include stdbool.h.
109393         (knuth_morris_pratt): New function.
109394         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
109395         bookkeeping indicates that it's worth it.
109396         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
109398         * modules/strcasestr-tests: New file.
109399         * tests/test-strcasestr.c: New file.
109401 2007-02-11  Bruno Haible  <bruno@clisp.org>
109403         Ensure O(n) worst-case complexity of c_strcasestr.
109404         * lib/c-strcasestr.c: Include stdbool.h, string.h.
109405         (knuth_morris_pratt): New function.
109406         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
109407         the bookkeeping indicates that it's worth it.
109408         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
109410         * modules/c-strcasestr-tests: New file.
109411         * tests/test-c-strcasestr.c: New file.
109413 2007-02-11  Bruno Haible  <bruno@clisp.org>
109415         Ensure O(n) worst-case complexity of c_strstr.
109416         * lib/c-strstr.c: Include stdbool.h, string.h.
109417         (knuth_morris_pratt): New function.
109418         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
109419         bookkeeping indicates that it's worth it.
109420         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
109422         * lib/c-strstr.c: Complete rewrite for maintainability.
109424         * modules/c-strstr-tests: New file.
109425         * tests/test-c-strstr.c: New file.
109427 2007-02-11  Bruno Haible  <bruno@clisp.org>
109429         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
109430         5.2.1 and earlier, whereby \055 was treated just like the range
109431         delimiter '-'.
109432         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
109434 2007-02-08  Bruno Haible  <bruno@clisp.org>
109436         * modules/regex (Depends-on): Add stdbool.
109437         Reported by Dalibor Topic <robilad@kaffe.org>.
109439 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
109441         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
109442         Prefer returning from main to exiting from it.
109443         Remove unnecessary parens after sizeof.
109445 2007-02-05  Bruno Haible  <bruno@clisp.org>
109447         New module mbssep.
109448         * modules/mbssep: New file.
109449         * lib/mbssep.c: New file.
109450         * lib/string_.h (strsep): Add a conditional link warning.
109451         (mbssep): New declaration.
109452         * m4/mbssep.m4: New file.
109453         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
109454         GNULIB_MBSSEP.
109455         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
109456         * MODULES.html.sh (Internationalization functions): Add mbssep.
109458 2007-02-05  Bruno Haible  <bruno@clisp.org>
109460         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
109461         Optimize search in case of 1 delimiter.
109463 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
109465         * lib/acl.h: Include sys/types.h before sys/acl.h.
109467 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
109469         Merge upstream fix for glibc bugzilla #3957:
109471         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
109473         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
109474         bit for RE_HAT_LISTS_NOT_NEWLINE.
109475         (build_charclass_op): Remove bogus comment.
109477 2007-02-05  Simon Josefsson  <simon@josefsson.org>
109479         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
109481 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
109483         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
109484         * lib/memmem.c [!defined _LIBC]: Include config.h.
109486 2007-02-04  Bruno Haible  <bruno@clisp.org>
109488         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
109489         warning message.
109491 2007-02-04  Bruno Haible  <bruno@clisp.org>
109493         New module mbstok_r.
109494         * modules/mbstok_r: New file.
109495         * lib/mbstok_r.c: New file.
109496         * lib/string_.h (strtok_r): Change argument names to match the
109497         comments. Add a conditional link warning.
109498         (mbstok_r): New declaration.
109499         * m4/mbstok_r.m4: New file.
109500         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
109501         GNULIB_MBSTOK_R.
109502         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
109503         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
109505 2007-02-04  Bruno Haible  <bruno@clisp.org>
109507         New module mbsspn.
109508         * modules/mbsspn: New file.
109509         * lib/mbsspn.c: New file.
109510         * lib/string_.h (strspn): Add a conditional link warning.
109511         (mbsspn): New declaration.
109512         * m4/mbsspn.m4: New file.
109513         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
109514         GNULIB_MBSSPN.
109515         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
109516         * MODULES.html.sh (Internationalization functions): Add mbsspn.
109518 2007-02-04  Bruno Haible  <bruno@clisp.org>
109520         New module mbspbrk.
109521         * modules/mbspbrk: New file.
109522         * lib/mbspbrk.c: New file.
109523         * lib/string_.h (strpbrk): Add a conditional link warning.
109524         (mbspbrk): New declaration.
109525         * m4/mbspbrk.m4: New file.
109526         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
109527         GNULIB_MBSPBRK.
109528         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
109529         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
109531 2007-02-04  Bruno Haible  <bruno@clisp.org>
109533         New module mbscspn.
109534         * modules/mbscspn: New file.
109535         * lib/mbscspn.c: New file.
109536         * lib/string_.h (strcspn): Add a conditional link warning.
109537         (mbscspn): New declaration.
109538         * m4/mbscspn.m4: New file.
109539         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
109540         GNULIB_MBSCSPN.
109541         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
109542         * MODULES.html.sh (Internationalization functions): Add mbscspn.
109544 2007-02-04  Bruno Haible  <bruno@clisp.org>
109546         New module mbscasestr, reduced goal of strcasestr.
109547         * modules/mbscasestr: New file.
109548         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
109549         (mbscasestr): Renamed from strcasestr.
109550         * lib/strcasestr.c: Don't include mbuiter.h.
109551         (strcasestr): Remove support for multibyte locales.
109552         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
109553         Change the conditional link warning.
109554         (mbscasestr): New declaration.
109555         * m4/mbscasestr.m4: New file.
109556         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
109557         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
109558         REPLACE_STRCASESTR.
109559         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
109560         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
109561         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
109562         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
109563         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
109564         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
109565         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
109566         (Depends-on): Remove mbuiter.
109567         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
109569 2007-02-04  Bruno Haible  <bruno@clisp.org>
109571         Simplify handling of strncasecmp.
109572         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
109573         the conditional link warning.
109574         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
109575         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
109576         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
109577         * modules/strcase (configure.ac): Don't invoke
109578         gl_STRING_MODULE_INDICATOR.
109579         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
109581 2007-02-04  Bruno Haible  <bruno@clisp.org>
109583         New module mbscasecmp, reduced goal of strcasecmp.
109584         * modules/mbscasecmp: New file.
109585         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
109586         (mbscasecmp): Renamed from strcasecmp.
109587         * lib/strcasecmp.c: Don't include mbuiter.h.
109588         (strcasecmp): Remove support for multibyte locales.
109589         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
109590         Change the conditional link warning.
109591         (mbscasecmp): New declaration.
109592         * m4/mbscasecmp.m4: New file.
109593         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
109594         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
109595         REPLACE_STRCASECMP.
109596         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
109597         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
109598         GNULIB_MBSCASECMP.
109599         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
109600         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
109601         * modules/strcase (Files): Remove m4/mbrtowc.m4.
109602         (Depends-on): Remove mbuiter.
109603         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
109605 2007-02-04  Bruno Haible  <bruno@clisp.org>
109607         New module mbsstr. Remove module strstr.
109608         * modules/mbsstr: New file.
109609         * modules/strstr: Remove file.
109610         * lib/mbsstr.c: Renamed from lib/strstr.c.
109611         (mbsstr): Renamed from strstr.
109612         * lib/string_.h (strstr): Remove declaration. Change the conditional
109613         link warning.
109614         (mbsstr): New declaration.
109615         * m4/mbsstr.m4: New file.
109616         * m4/strstr.m4: Remove file.
109617         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
109618         REPLACE_STRSTR.
109619         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
109620         Don't initialize GNULIB_STRSTR.
109621         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
109622         substitute GNULIB_STRSTR and REPLACE_STRSTR.
109623         * MODULES.html.sh (Internationalization functions): Add mbsstr.
109624         (Support for systems lacking ANSI C 89): Remove strstr.
109626 2007-02-04  Bruno Haible  <bruno@clisp.org>
109628         New module mbsrchr.
109629         * modules/mbsrchr: New file.
109630         * lib/mbsrchr.c: New file.
109631         * lib/string_.h (strrchr): Add a conditional link warning.
109632         (mbsrchr): New declaration.
109633         * m4/mbsrchr.m4: New file.
109634         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
109635         GNULIB_MBSRCHR.
109636         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
109637         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
109639 2007-02-04  Bruno Haible  <bruno@clisp.org>
109641         New module mbschr.
109642         * modules/mbschr: New file.
109643         * lib/mbschr.c: New file.
109644         * lib/string_.h (strchr): Add a conditional link warning.
109645         (mbschr): New declaration.
109646         * m4/mbschr.m4: New file.
109647         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
109648         GNULIB_MBSCHR.
109649         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
109650         * MODULES.html.sh (Internationalization functions): Add mbschr.
109652 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
109654         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
109656         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
109658 2007-02-04  Bruno Haible  <bruno@clisp.org>
109660         New module description section 'configure.ac-early'.
109661         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
109662         (func_get_autoconf_early_snippet): New function.
109663         (func_import, func_create_testdir): Use it. Remove special cases for
109664         modules 'extensions' and 'lock'.
109665         * modules/extensions (configure.ac-early): Require
109666         gl_USE_SYSTEM_EXTENSIONS.
109667         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
109669 2007-02-04  Bruno Haible  <bruno@clisp.org>
109671         Make use of gcj-4.3's -fsource and -ftarget option.
109672         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
109673         and if so try the options -fsource and -ftarget.
109674         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
109675         source_version, ftarget_option, target_version arguments.
109676         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
109677         (is_envjavac_oldgcj_14_14_usable): Renamed from
109678         is_envjavac_gcj_14_14_usable.
109679         (is_envjavac_oldgcj_14_13_usable): Renamed from
109680         is_envjavac_gcj_14_13_usable.
109681         (is_gcj_present): Update.
109682         (is_gcj_43, is_gcj43_usable): New functions.
109683         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
109684         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
109685         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
109686         try the options -fsource and -ftarget.
109688 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
109690         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
109691         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
109692         larger value.
109694 2007-02-03  Jim Meyering  <jim@meyering.net>
109696         Give tools a better chance to allocate space for very large buffers.
109697         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
109699         Make pwd and readlink work also when run with an unreadable parent dir
109700         on systems with openat support.
109701         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
109702         provided getcwd function, even when we have openat support.
109703         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
109705 2007-02-02  Bruno Haible  <bruno@clisp.org>
109707         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
109708         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
109709         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
109710         portability problems if one of these functions is only used on specific
109711         platforms.
109712         Reported by Paul Eggert.
109714 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
109716         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
109717         is causing more trouble than it's curing.
109718         * lib/regex_internal.h (__mempcpy): Remove.
109719         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
109720         (and make the code a tad smaller to boot).
109721         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
109723 2007-02-02  Jim Meyering  <jim@meyering.net>
109725         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
109726         section, not in the Makefile.am: one.
109728 2007-02-02  Eric Blake  <ebb9@byu.net>
109730         * lib/strchrnul.c: Always include config.h first.
109732         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
109733         gnulib strstr is not necessary here.
109735 2007-02-02  Simon Josefsson  <simon@josefsson.org>
109737         * m4/socklen.m4: Fix typo.
109739 2007-02-02  Eric Blake  <ebb9@byu.net>
109741         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
109742         * modules/netinet_in (Makefile.am): Likewise.
109744 2007-02-01  Bruno Haible  <bruno@clisp.org>
109746         * lib/string_.h (GL_LINK_WARNING): New macro.
109747         (strcasecmp, strstr, strcasestr): If provided by the system,
109748         conditionally define as a macro that leads to a warning instead of to
109749         an error.
109750         (strncasecmp): Conditionally define as a macro that leads to a warning.
109752 2007-02-01  Karl Berry  <karl@gnu.org>
109754         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
109756 2007-02-01  Bruno Haible  <bruno@clisp.org>
109758         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
109759         renamings.
109761 2007-02-01  Eric Blake  <ebb9@byu.net>
109763         * modules/regex (Depends-on): Revert dependence on mempcpy.
109764         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
109765         module's definition of mempcpy.
109766         Reported by Paul Eggert.
109768 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
109770         * lib/string_.h: If the gnulib module XYZ is not present, undefine
109771         the symbol XYZ before redefining it.  This fixes a problem with
109772         programs that don't use XYZ, when compiled on systems that define
109773         XYZ to something else.
109775 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
109777         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
109778         occurs when "mkdir -m foo" creates a setgid directory that is (1)
109779         writeable to group or other and (2) is intended to have a special
109780         mode bit that is set or cleared.  In such a case, the directory
109781         should be neither group- nor other-writeable until the special
109782         mode bits are right.
109784 2007-01-31  Eric Blake  <ebb9@byu.net>
109786         * modules/mountlist (Depends-on): Add strstr.
109788         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
109789         bug.
109790         * modules/string (Makefile.am): Remove redundant replacement.
109791         * modules/regex (Depends-on): Add mempcpy.
109793 2007-01-31  Bruno Haible  <bruno@clisp.org>
109795         New module description field 'Link'.
109796         * gnulib-tool (func_usage): Document --extract-link-directive.
109797         (sed_extract_prog): Recognize 'Link' directive.
109798         (func_get_link_directive): New function.
109799         (func_import): Show summary of link directives.
109800         Handle --extract-link-directive option.
109801         * modules/acl (Link): New section.
109802         * modules/clock-time (Link): New section.
109803         * modules/euidaccess (Link): New section.
109804         * modules/gettext (Link): New section.
109805         * modules/iconv (Link): New section.
109806         * modules/lock (Link): New section.
109807         * modules/nanosleep (Link): New section.
109808         * modules/readline (Link): New section.
109810 2007-01-27  Bruno Haible  <bruno@clisp.org>
109812         Enforce the use of gnulib modules for unportable <string.h> functions.
109813         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
109814         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
109815         (gl_HEADER_STRING_H_BODY): Require it.
109816         * lib/string_.h: If the gnulib module XYZ is not present, redefine
109817         the symbol XYZ to one that gives a link error.
109818         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
109819         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
109820         * modules/mempcpy (configure.ac): Likewise.
109821         * modules/memrchr (configure.ac): Likewise.
109822         * modules/stpcpy (configure.ac): Likewise.
109823         * modules/stpncpy (configure.ac): Likewise.
109824         * modules/strcase (configure.ac): Likewise.
109825         * modules/strcasestr (configure.ac): Likewise.
109826         * modules/strchrnul (configure.ac): Likewise.
109827         * modules/strdup (configure.ac): Likewise.
109828         * modules/strndup (configure.ac): Likewise.
109829         * modules/strnlen (configure.ac): Likewise.
109830         * modules/strpbrk (configure.ac): Likewise.
109831         * modules/strsep (configure.ac): Likewise.
109832         * modules/strstr (configure.ac): Likewise.
109833         * modules/strtok_r (configure.ac): Likewise.
109835 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
109837         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
109839 2007-01-30  Jim Meyering  <jim@meyering.net>
109841         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
109843 2007-01-29  Bruno Haible  <bruno@clisp.org>
109845         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
109846         * lib/execute.c: Likewise.
109847         * lib/pipe.c: Likewise.
109848         * lib/printf-args.h: Likewise.
109849         * lib/printf-args.c: Likewise.
109850         * lib/printf-parse.c: Likewise.
109851         * lib/vasnprintf.c: Likewise.
109853 2007-01-29  Eric Blake  <ebb9@byu.net>
109855         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
109856         declaration.
109858 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
109860         * lib/strptime.h (strptime): Use 'restrict' for args where
109861         POSIX requires this.
109862         * lib/strptime.c (strptime): Likewise.
109863         Change license notice from LGPL to GPL, since gnulib-tool will
109864         change this as needed.
109865         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
109866         defined.
109867         Include "strptime.h" first, to check interface.
109868         Do not #undef _LIBC and _NL_CURRENT.
109869         Do not include <stdlib.h>; no longer needed.
109870         Include "time_r.h" and declare ptime_locale_status
109871         only if _LIBC is not defined.
109872         (__P): Remove unused macro.
109873         (match_string): Bring back glibc version, but use it only if _LIBC
109874         is defined.
109875         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
109876         Remove unnecessary assertion and abort() call.
109877         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
109878         * m4/strptime.m4: Fix serial number comment.
109879         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
109880         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
109881         (Depends-on): Add time_r.
109883 2007-01-29  Bruno Haible  <bruno@clisp.org>
109885         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
109886         strptime.
109887         * modules/strptime (Depends-on): Add stdbool.
109888         * lib/strptime.h: Include <time.h> always. Add comments.
109890 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
109892         * modules/strptime: New file.
109893         * lib/strptime.h: New file.
109894         * lib/strptime.c: New file.
109895         * m4/strptime.m4: New file.
109897 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
109899         * MODULES.html.sh: New module mpsort.
109900         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
109902         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
109903         a circularity problem with HP-UX ia64 reported by Bob Proulx in
109904         <http://lists.gnu.org/r/bug-gnulib/2007-01/msg00394.html>.
109905         All uses changed.
109906         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
109907         All uses changed.
109908         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
109909         to _Restrict_.
109910         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
109911         the parameter matches the prototype.
109913 2007-01-28  Jim Meyering  <jim@meyering.net>
109915         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
109916         sys/time.h here, reverting that part of the previous patch:
109917         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
109919 2007-01-28  Bruno Haible  <bruno@clisp.org>
109921         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
109922         value of $(SYS_TIME_H).
109923         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
109924         remove it conditionally, too. [added by Jim Meyering]
109925         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
109926         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
109927         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
109928         GETTIMEOFDAY_REPLACEMENT to 1.
109930 2007-01-28  Bruno Haible  <bruno@clisp.org>
109932         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
109933         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
109934         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
109935         Set UNISTD_H instead of UNISTD_H2.
109936         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
109938 2007-01-28  Bruno Haible  <bruno@clisp.org>
109940         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
109941         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
109943 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
109945         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
109946         (func_create_testdir): Ensure C locale for `grep' and `tr'
109947         character ranges.
109948         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
109949         ACLOCAL_AMFLAGS parsing state machine.
109951 2007-01-27  Bruno Haible  <bruno@clisp.org>
109953         * modules/unistr/base: Update.
109955 2007-01-27  Bruno Haible  <bruno@clisp.org>
109957         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
109958         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
109959         * modules/unistr/u32-mbtouc-unsafe: Renamed from
109960         modules/unistr/u32-mbtouc.
109961         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
109962         * lib/unistr.h: Update.
109963         * lib/linebreak.c: Update.
109964         * modules/unistr/u32-mbtouc: Renamed from
109965         modules/unistr/u32-mbtouc-safe.
109966         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
109967         * lib/unistr.h: Update.
109968         * lib/unistr/u32-to-u8.c: Update.
109969         * lib/unistr/u32-to-u16.c: Update.
109971 2007-01-27  Bruno Haible  <bruno@clisp.org>
109973         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
109974         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
109975         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
109976         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
109977         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
109978         * modules/unistr/u16-mbtouc-unsafe: Renamed from
109979         modules/unistr/u16-mbtouc.
109980         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
109981         * lib/unistr.h: Update.
109982         * lib/linebreak.c: Update.
109983         * modules/linebreak: Update.
109984         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
109985         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
109986         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
109987         * modules/unistr/u16-mbtouc: Renamed from
109988         modules/unistr/u16-mbtouc-safe.
109989         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
109990         * lib/unistr.h: Update.
109991         * lib/unistr/u16-to-u8.c: Update.
109992         * modules/unistr/u16-to-u8: Update.
109993         * lib/unistr/u16-to-u32.c: Update.
109994         * modules/unistr/u16-to-u32: Update.
109996 2007-01-27  Bruno Haible  <bruno@clisp.org>
109998         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
109999         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
110000         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
110001         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
110002         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
110003         * modules/unistr/u8-mbtouc-unsafe: Renamed from
110004         modules/unistr/u8-mbtouc.
110005         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
110006         * lib/unistr.h: Update.
110007         * lib/striconveh.c: Update.
110008         * modules/striconveh: Update.
110009         * lib/linebreak.c: Update.
110010         * modules/linebreak: Update.
110011         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
110012         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
110013         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
110014         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
110015         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
110016         * lib/unistr.h: Update.
110017         * lib/striconveh.c: Update.
110018         * modules/striconveh: Update.
110019         * lib/unistr/u8-to-u16.c: Update.
110020         * modules/unistr/u8-to-u16: Update.
110021         * lib/unistr/u8-to-u32.c: Update.
110022         * modules/unistr/u8-to-u32: Update.
110024 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
110026         Sync from Libtool.
110027         * lib/argz.c: Do not include strings.h nor memory.h, include
110028         string.h unconditionally.  Patch by Simon Josefsson.
110030 2007-01-27  Bruno Haible  <bruno@clisp.org>
110032         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
110033         from gl_HEADER_STRING_H_BODY.
110034         (gl_HEADER_STRING_H_BODY): Require it.
110035         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
110036         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
110037         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
110038         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
110039         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
110040         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
110041         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
110042         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
110043         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
110044         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
110045         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
110046         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
110047         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
110048         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
110049         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
110051 2007-01-27  Bruno Haible  <bruno@clisp.org>
110053         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
110054         check_PROGRAMS into noinst_PROGRAMS.
110055         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
110056         check_PROGRAMS in this case.
110057         (func_import): Set for_test to false.
110058         (func_create_testdir): Set for_test to true.
110060 2007-01-27  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
110061             Bruno Haible  <bruno@clisp.org>
110063         * modules/strcasestr (Files): Remove lib/strcasestr.h.
110064         (Depends-on): Add string.
110065         (Includes): Use <string.h> instead of strcasestr.h.
110066         * modules/string (Makefile.am): Also substitute the value of
110067         REPLACE_STRCASESTR.
110068         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
110069         assume strcasestr is declared in <string.h> not <strings.h>. Also
110070         set REPLACE_STRCASESTR.
110071         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
110072         REPLACE_STRCASESTR.
110073         * lib/strcasestr.h: Remove file.
110074         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
110075         * lib/string_.h (strcasestr): New declaration.
110077 2007-01-27  Bruno Haible  <bruno@clisp.org>
110079         * lib/string_.h: Use 'extern'.
110081 2007-01-27  Jim Meyering  <jim@meyering.net>
110083         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
110084         of set-but-not-used local, "q".
110086         * lib/mempcpy.c: Include <config.h> before <string.h>.
110087         This fixes a compilation error on HP-UX, due to the system's
110088         "restrict"-using mempcpy prototype.
110090 2007-01-26  Bruno Haible  <bruno@clisp.org>
110092         Small optimization.
110093         * lib/javacomp.c: Include c-strstr.h.
110094          (is_envjavac_gcj): Use c_strstr instead of strstr.
110095         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
110097 2007-01-26  Bruno Haible  <bruno@clisp.org>
110099         * MODULES.html.sh (Unicode string functions): Add the new modules.
110101         * modules/uniconv/u32-strconv-to-locale: New file.
110102         * lib/uniconv/u32-strconv-to-locale.c: New file.
110104         * modules/uniconv/u16-strconv-to-locale: New file.
110105         * lib/uniconv/u16-strconv-to-locale.c: New file.
110107         * modules/uniconv/u8-strconv-to-locale: New file.
110108         * lib/uniconv/u8-strconv-to-locale.c: New file.
110110         * modules/uniconv/u32-strconv-from-locale: New file.
110111         * lib/uniconv/u32-strconv-from-locale.c: New file.
110113         * modules/uniconv/u16-strconv-from-locale: New file.
110114         * lib/uniconv/u16-strconv-from-locale.c: New file.
110116         * modules/uniconv/u8-strconv-from-locale: New file.
110117         * lib/uniconv/u8-strconv-from-locale.c: New file.
110119         * modules/uniconv/u32-strconv-to-enc: New file.
110120         * lib/uniconv/u32-strconv-to-enc.c: New file.
110121         * modules/uniconv/u32-strconv-to-enc-tests: New file.
110122         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
110124         * modules/uniconv/u16-strconv-to-enc: New file.
110125         * lib/uniconv/u16-strconv-to-enc.c: New file.
110126         * lib/uniconv/u-strconv-to-enc.h: New file.
110127         * modules/uniconv/u16-strconv-to-enc-tests: New file.
110128         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
110130         * modules/uniconv/u8-strconv-to-enc: New file.
110131         * lib/uniconv/u8-strconv-to-enc.c: New file.
110132         * modules/uniconv/u8-strconv-to-enc-tests: New file.
110133         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
110135         * modules/uniconv/u32-strconv-from-enc: New file.
110136         * lib/uniconv/u32-strconv-from-enc.c: New file.
110137         * modules/uniconv/u32-strconv-from-enc-tests: New file.
110138         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
110140         * modules/uniconv/u16-strconv-from-enc: New file.
110141         * lib/uniconv/u16-strconv-from-enc.c: New file.
110142         * modules/uniconv/u16-strconv-from-enc-tests: New file.
110143         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
110145         * modules/uniconv/u8-strconv-from-enc: New file.
110146         * lib/uniconv/u8-strconv-from-enc.c: New file.
110147         * lib/uniconv/u-strconv-from-enc.h: New file.
110148         * modules/uniconv/u8-strconv-from-enc-tests: New file.
110149         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
110151         * modules/uniconv/u32-conv-from-enc: New file.
110152         * lib/uniconv/u32-conv-from-enc.c: New file.
110153         * modules/uniconv/u32-conv-from-enc-tests: New file.
110154         * tests/uniconv/test-u32-conv-from-enc.c: New file.
110156         * modules/uniconv/u16-conv-from-enc: New file.
110157         * lib/uniconv/u16-conv-from-enc.c: New file.
110158         * lib/uniconv/u-conv-from-enc.h: New file.
110159         * modules/uniconv/u16-conv-from-enc-tests: New file.
110160         * tests/uniconv/test-u16-conv-from-enc.c: New file.
110162         * modules/uniconv/u8-conv-from-enc: New file.
110163         * lib/uniconv/u8-conv-from-enc.c: New file.
110164         * modules/uniconv/u8-conv-from-enc-tests: New file.
110165         * tests/uniconv/test-u8-conv-from-enc.c: New file.
110167         * modules/uniconv/base: New file.
110168         * lib/uniconv.h: New file.
110170 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
110172         * doc/gnulib-tool.texi (Initial import): Update to match current
110173         behavior with strdup module.
110174         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
110175         * lib/memmem.h: Remove; all uses removed.  This is now done
110176         by <string.h>.
110177         * lib/mempcpy.h: Likewise.
110178         * lib/memrchr.h: Likewise.
110179         * lib/stpcpy.h: Likewise.
110180         * lib/stpncpy.h: Likewise.
110181         * lib/strcase.h: Likewise.
110182         * lib/strchrnul.h: Likewise.
110183         * lib/strdup.h: Likewise.
110184         * lib/strndup.h: Likewise.
110185         * lib/strnlen.h: Likewise.
110186         * lib/strpbrk.h: Likewise.
110187         * lib/strsep.h: Likewise.
110188         * lib/strstr.h: Likewise.
110189         * lib/strtok_r.h: Likewise.
110190         * lib/string_.h: New file.
110191         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
110192         Rely on <string.h> instead.
110193         * lib/canon-host.c: Likewise.
110194         * lib/chdir-long.c: Likewise.
110195         * lib/concatpath.c: Likewise.
110196         * lib/exclude.c: Likewise.
110197         * lib/fchdir.c: Likewise.
110198         * lib/getaddrinfo.c: Likewise.
110199         * lib/getcwd.c: Likewise.
110200         * lib/getsubopt.c: Likewise.
110201         * lib/glob.c: Likewise.
110202         * lib/hard-locale.c: Likewise.
110203         * lib/iconvme.c: Likewise.
110204         * lib/javacomp.c: Likewise.
110205         * lib/mempcpy.c: Likewise.
110206         * lib/memrchr.c: Likewise.
110207         * lib/regex_internal.h: Likewise.
110208         * lib/stpncpy.c: Likewise.
110209         * lib/strcasecmp.c: Likewise.
110210         * lib/strchrnul.c: Likewise.
110211         * lib/strdup.c: Likewise.
110212         * lib/striconv.c: Likewise.
110213         * lib/striconveh.c: Likewise.
110214         * lib/striconveha.c: Likewise.
110215         * lib/strncasecmp.c: Likewise.
110216         * lib/strndup.c: Likewise.
110217         * lib/strnlen.c: Likewise.
110218         * lib/strsep.c: Likewise.
110219         * lib/strstr.c: Likewise.
110220         * lib/strtok_r.c: Likewise.
110221         * lib/userspec.c: Likewise.
110222         * lib/w32spawn.h: Likewise.
110223         * lib/xstrndup.c: Likewise.
110224         * lib/mountlist.c (strstr): Remove decl.
110225         * m4/string_h.m4: New file.
110226         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
110227         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
110228         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
110229         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
110230         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
110231         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
110232         Set REPLACE_STRCASECMP if necessary.
110233         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
110234         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
110235         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
110236         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
110237         HAVE_DECL_STRDUP if necessary.
110238         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
110239         since gl_FUNC_STRNDUP does that now.
110240         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
110241         Check for decl here...
110242         (gl_PREREQ_STRNLEN): ... not here.
110243         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
110244         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
110245         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
110246         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
110247         necessary.
110248         * modules/string: New file.
110249         * modules/memmem (Files): Remove special-purpose include file.
110250         (Depends-on): Add string.
110251         (Include): Include <string.h>, not the removed file.
110252         * modules/mempcpy: Likewise.
110253         * modules/memrchr: Likewise.
110254         * modules/stpcpy: Likewise.
110255         * modules/stpncpy: Likewise.
110256         * modules/strcase: Likewise.
110257         * modules/strchrnul: Likewise.
110258         * modules/strdup: Likewise.
110259         * modules/strndup: Likewise.
110260         * modules/strnlen: Likewise.
110261         * modules/strpbrk: Likewise.
110262         * modules/strsep: Likewise.
110263         * modules/strstr: Likewise.
110264         * modules/strtok_r: Likewise.
110265         * tests/test-dirname.c: Don't include "strdup.h", since
110266         <string.h> now suffices.
110267         * tests/test-memmem.c: Don't include "memmem.h", since
110268         <string.h> now suffices.
110270 2007-01-25  Bruno Haible  <bruno@clisp.org>
110272         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
110273         *resultp is 0.
110275         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
110276         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
110277         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
110278         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
110280         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
110281         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
110282         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
110283         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
110284         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
110285         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
110287 2007-01-24  Bruno Haible  <bruno@clisp.org>
110289         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
110290         <http://lists.gnu.org/r/bug-gnulib/2006-10/msg00279.html>.
110291         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
110292         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
110293         gl_FUNC_FTS_CORE.
110294         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
110295         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
110296         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
110297         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
110298         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
110299         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
110300         gl_FUNC_FCHOWNAT.
110301         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
110302         gl_FUNC_STRFTIME.
110303         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
110304         Reported by Ralf Wildenhues.
110306 2007-01-24  Bruno Haible  <bruno@clisp.org>
110308         Drop AC_REQUIRE calls that are redundant with the module dependencies.
110309         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
110310         gl_GETADDRINFO.
110311         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
110312         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
110313         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
110315 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
110317         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
110318         Don't use 'exit'; just return from 'main'.
110319         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
110321         * lib/fnmatch_.h: Readjust white space and comments to match
110322         glibc, to avoid spurious diffs.
110324 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
110326         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
110327         2004-12-01 change by Jakub Jelinek, since this code won't compile
110328         if !LIBC.  Problem reported by Bob Proulx.
110330 2007-01-23  Bruno Haible  <bruno@clisp.org>
110332         * lib/striconveh.c: Include c-strcaseeq.h.
110333         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
110334         * modules/striconveh (Depends-on): Add c-strcaseeq.
110336 2007-01-23  Bruno Haible  <bruno@clisp.org>
110338         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
110340         * modules/c-strcaseeq: New file.
110341         * lib/c-strcaseeq.h: New file.
110343         * modules/streq: New file.
110344         * lib/streq.h: New file.
110346 2007-01-23  Bruno Haible  <bruno@clisp.org>
110348         * modules/striconveha-tests: New file.
110349         * tests/test-striconveha.c: New file.
110351         * lib/striconveha.h: Include <stdbool.h>.
110352         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
110353         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
110354         (mem_iconveha_notranslit): Renamed from mem_iconveha.
110355         (mem_iconveha): New function.
110356         (str_iconveha_notranslit): Renamed from str_iconveha.
110357         (str_iconveha): New function.
110358         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
110359         c-strcase.
110361 2007-01-23  Bruno Haible  <bruno@clisp.org>
110363         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
110364         encodings without forgiving before trying any encoding with handler.
110365         (str_iconveha): Try all encodings without forgiving before trying any
110366         encoding with handler.
110368 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
110370         Import the following changes from libc.
110372         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
110374         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
110376         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
110378         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
110379         normal_bracket label.
110381         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
110383         [BZ #361]
110384         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
110385         to normal_bracket after fetching the next character.
110387 2007-01-22  Bruno Haible  <bruno@clisp.org>
110389         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
110390         argument.
110391         * lib/striconveh.c (iconv_carefully_1): New function.
110392         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
110393         argument.
110394         (str_cd_iconveh): Update.
110395         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
110396         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
110397         * tests/test-striconveh.c (MAGIC): New macro.
110398         (new_offsets): New function.
110399         (main): Test call with and without offsets.
110401 2007-01-22  Bruno Haible  <bruno@clisp.org>
110403         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
110404         * modules/sys_select (Makefile.am): Likewise.
110405         * modules/sys_socket (Makefile.am): Likewise.
110406         * modules/sys_time (Makefile.am): Likewise.
110408 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
110410         * modules/gettimeofday (License): Change from GPL to LGPL, since
110411         gettimeofday is a library function.
110413 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
110415         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
110417 2007-01-21  Bruno Haible  <bruno@clisp.org>
110419         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
110421 2007-01-21  Bruno Haible  <bruno@clisp.org>
110423         * modules/striconveha: New file.
110424         * lib/striconveha.h: New file.
110425         * lib/striconveha.c: New file.
110426         * MODULES.html.sh (Internationalization functions): Add striconveha.
110427         * lib/striconv.c (str_iconv): Optimize the case of an empty input
110428         string.
110429         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
110431 2007-01-21  Bruno Haible  <bruno@clisp.org>
110433         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
110434         * lib/striconveh.c (str_iconveh): Likewise.
110436 2007-01-21  Bruno Haible  <bruno@clisp.org>
110438         * lib/striconveh.h (mem_iconveh): New declaration.
110439         * lib/striconveh.c (mem_iconveh): New function.
110440         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
110442 2007-01-21  Bruno Haible  <bruno@clisp.org>
110444         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
110446         * lib/striconveh.h (mem_cd_iconveh): Change specification.
110447         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
110448         original result buffer.
110449         (str_cd_iconveh): Update.
110450         * tests/test-striconveh.c (main): Update.
110452         * lib/striconv.h (mem_cd_iconv): Change specification.
110453         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
110454         result buffer.
110455         (str_cd_iconv): Update.
110456         * tests/test-striconv.c (main): Update.
110458 2007-01-21  Bruno Haible  <bruno@clisp.org>
110460         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
110462 2007-01-20  Jim Meyering  <jim@meyering.net>
110464         * lib/userspec.c (parse_with_separator): If a user or group string
110465         starts with "+", skip the corresponding name-to-ID look-up, since
110466         such a look-up must fail: user and group names may not include "+".
110468 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
110470         * lib/poll.c: Include sys/time.h and time.h unconditionally,
110471         since we now assume the sys_time module.
110472         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
110473         check for sys/time.h; no longer needed.
110474         * modules/poll (Depends-on): Depend on sys_time.
110476 2007-01-18  Bruno Haible  <bruno@clisp.org>
110478         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
110479         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
110481         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
110482         gettimeofday.
110484         * tests/test-gettimeofday.c: Include <time.h>.
110485         (dummy): Remove variable.
110487         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
110488         gl_HEADER_SYS_TIME_H.
110489         (gl_HEADER_SYS_TIME_H): New macro.
110491         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
110492         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
110493         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
110494         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
110495         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
110496         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
110497         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
110498         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
110499         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
110500         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
110501         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
110503         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
110504         last change; it caused a compilation error when cross-compiling to
110505         Cygwin.
110507 2007-01-18  Jim Meyering  <jim@meyering.net>
110509         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
110510         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
110511         than the race-prone "test -d sys || mkdir sys".
110512         (configure.ac): Use AC_PROG_MKDIR_P.
110513         * modules/sys_select: Likewise.
110514         * modules/sys_socket: Likewise.
110515         * modules/sys_time: Likewise.
110517 2007-01-18  Eric Blake  <ebb9@byu.net>
110519         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
110520         replace gettimeofday.
110521         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
110522         name, to avoid infinite recursion.
110524 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
110526         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
110527         module sys_time.
110528         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
110529         assume timespec.h defines struct timeval.
110530         * lib/settime.c: Likewise.
110531         * lib/utimens.c: Likewise.
110532         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
110533         since we now assume the gettimeofday module.
110534         * lib/tempname.c (__gen_tempname): Likewise.
110535         * lib/gettimeofday.h: Remove.
110536         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
110537         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
110538         Include <time.h>, for 'time()'.
110539         (localtime_buffer_addr): Also use this workaround if
110540         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
110541         to simplify the uses.  All uses changed.
110542         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
110543         that #undef is inside {}, and 'const' follows type name consistently.
110544         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
110545         (gettimeofday): Do not use the maximum possible value for
110546         tv->tv_usec, since that might break usages other than ls.c.
110547         Instead, we'll leave ls.c alone.  This undoes today's patch
110548         by Bruno.  Add a compile-time warning for 1s-clock resolution;
110549         we've never observed the problem but might as well keep the
110550         canary.
110551         * lib/nanosleep.c: Include timespec.h first, for interface check.
110552         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
110553         now assume the sys_time module.
110554         * lib/tempname.c: Likewise.
110555         * lib/timespec.h: Likewise.
110556         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
110557         needed.
110558         * lib/strftime.c: Likewise.
110559         * lib/timespec.h: Likewise.
110560         * lib/posixtm.c: Include posixtm.h first, for interface check.
110561         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
110562         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
110563         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
110564         * lib/sys_time_.h: New file.
110565         * lib/timespec.h (struct timespec): Use long int, not long.
110566         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
110567         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
110568         Remove obsolescent call to AC_HEADER_TIME.
110569         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
110570         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
110571         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
110572         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
110573         Likewise.
110574         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
110575         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
110576         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
110577         into the sys_time module.  Check for gettimeofday just once.
110578         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
110579         for gettimeofday signature to just check the signature.  Merely
110580         compile it, since linking doesn't test signature.  Improve test for
110581         whether gettimeofday.o is actually needed.
110582         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
110583         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
110584         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
110585         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
110586         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
110587         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
110588         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
110589         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
110590         than worrying about sys/time.h.
110591         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
110592         Don't bother worrying about TIME_WITH_SYS_TIME.
110593         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
110594         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
110595         * m4/sys_time_h.m4: New file.
110596         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
110597         Don't include sys/time.h.  Return from main rather than exiting.
110598         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
110599         all uses changed.
110600         * modules/gethrxtime (Depends-on): Add sys_time.
110601         * modules/gettime (Depends-on): Likewise.
110602         * modules/gettimeofday (Depends-on): Likewise.
110603         * modules/nanosleep (Depends-on): Likewise.
110604         * modules/settime (Depends-on): Likewise.
110605         * modules/tempname (Depends-on): Likewise.
110606         * modules/utimens (Depends-on): Likewise.
110607         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
110608         (Include): Change back to <sys/time.h>.
110609         (Maintainer): Add self.
110610         * modules/sys_time: New file.
110611         * modules/tempname (Depends-on): Add gettimeofday.
110612         * tests/test-gettimeofday.c: Include <sys/time.h>
110613         rather than gettimeofday.h.
110615 2007-01-17  Bruno Haible  <bruno@clisp.org>
110617         * gnulib-tool (func_get_license): Revert last patch. Instead, let
110618         the license default to GPL.
110619         (func_create_testdir): Don't complain if a module is LGPL and its
110620         tests module depends on GPLed modules.
110622 2007-01-17  Bruno Haible  <bruno@clisp.org>
110624         * lib/gettimeofday.c (gettimeofday): Add code for the case
110625         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
110626         maximum possible value for tv->tv_usec, rather than the minimum one.
110628 2005-10-08  Martin Lambers  <marlam@marlam.de>
110629 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
110630 2007-01-16  Bruno Haible  <bruno@clisp.org>
110632         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
110633         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
110634         gl_FUNC_GETTIMEOFDAY.
110635         (Include): Add gettimeofday.h.
110636         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
110637         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
110638         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
110639         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
110640         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
110641         * lib/gettimeofday.h: New file.
110642         * lib/gettimeofday.c: Include <sys/timeb.h>.
110643         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
110644         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
110645         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
110646         fall back on time().
110648         * tests/test-gettimeofday.c: New file.
110649         * modules/gettimeofday-tests: New file.
110651 2007-01-16  Eric Blake  <ebb9@byu.net>
110653         * modules/fnmatch (Depends-on): Depend on wchar.
110654         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
110655         * m4/fnmatch.m4: Likewise.
110656         * modules/mbchar (Makefile.am): Assume <wchar.h>.
110657         * m4/mbchar.m4: Likewise.
110658         * modules/mbswidth (Depends-on): Depend on wchar.
110659         * lib/mbswidth.c: Assume <wchar.h>.
110660         * m4/mbswidth.m4: Likewise.
110661         * modules/quotearg (Depends-on): Depend on wchar.
110662         * lib/quotearg.c: Assume <wchar.h>.
110663         * m4/quotearg.m4: Likewise.
110664         * modules/regex (Depends-on): Depend on wchar.
110665         * lib/regex_internal.h: Assume <wchar.h>.
110666         * m4/regex.m4: Likewise.
110667         * modules/stdint (Depends-on): Depend on wchar.
110668         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
110669         * m4/stdint.m4: Likewise.
110670         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
110671         * modules/strftime (Depends-on): Depend on wchar.
110672         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
110673         * modules/strtol (Depends-on): Depend on wchar.
110674         * lib/strtol.c: Assume <wchar.h>.
110675         * modules/wcwidth (Depends-on): Depend on wchar.
110676         * lib/wcwidth.h: Assume <wchar.h>.
110677         * m4/wcwidth.m4: Likewise.
110679 2007-01-16  Bruno Haible  <bruno@clisp.org>
110681         * modules/csharpexec-script: New, created from...
110682         * modules/csharpexec: ... this.
110684 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
110686         * modules/javaexec-script: New, created from...
110687         * modules/javaexec: ... this.
110689 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
110691         * modules/poll (Dependencies): Add sys_select.
110693 2007-01-15  Jim Meyering  <jim@meyering.net>
110695         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
110696         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
110697         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
110698         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
110700 2007-01-15  Bruno Haible  <bruno@clisp.org>
110702         * modules/striconveh: New file.
110703         * lib/striconveh.h: New file.
110704         * lib/striconveh.c: New file.
110705         * MODULES.html.sh (Internationalization functions): Add striconveh.
110707         * modules/striconveh-tests: New file.
110708         * tests/test-striconveh.c: New file.
110710 2007-01-15  Bruno Haible  <bruno@clisp.org>
110712         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
110713         not from GNU libiconv or GNU libc.
110715 2007-01-15  Bruno Haible  <bruno@clisp.org>
110717         * doc/gnulib-intro.texi (Copyright): Explain the different license
110718         terms for module descriptions, autoconf macros, tests, documentation.
110720 2007-01-14  Bruno Haible  <bruno@clisp.org>
110722         * modules/striconv-tests: New file.
110723         * tests/test-striconv.c: New file.
110725 2007-01-14  Bruno Haible  <bruno@clisp.org>
110727         * modules/iconv-tests: New file.
110728         * tests/test-iconv.c: New file.
110730 2007-01-14  Bruno Haible  <bruno@clisp.org>
110732         * gnulib-tool (func_get_license): For test modules, use the license of
110733         the main module.
110735 2007-01-14  Bruno Haible  <bruno@clisp.org>
110737         * modules/iconv (Include): Clarify that <iconv.h> can only be included
110738         if iconv is found to exist.
110740 2007-01-14  Bruno Haible  <bruno@clisp.org>
110742         * modules/c-ctype-tests: New file.
110743         * tests/test-c-ctype.c: New file.
110745 2007-01-14  Bruno Haible  <bruno@clisp.org>
110747         * modules/binary-io-tests: New file.
110748         * tests/test-binary-io.sh: New file.
110749         * tests/test-binary-io.c: New file.
110751 2007-01-14  Bruno Haible  <bruno@clisp.org>
110753         * modules/array-oset-tests: New file.
110754         * tests/test-array_oset.c: New file.
110756 2007-01-14  Bruno Haible  <bruno@clisp.org>
110758         * modules/array-list-tests: New file.
110759         * tests/test-array_list.c: New file.
110761 2007-01-14  Bruno Haible  <bruno@clisp.org>
110763         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
110764         and make.
110765         Reported by Simon Josefsson in
110766         <http://lists.gnu.org/r/bug-gnulib/2007-01/msg00139.html>
110768 2007-01-14  Bruno Haible  <bruno@clisp.org>
110770         * modules/allocsa-tests: New file.
110771         * tests/test-allocsa.c: New file.
110773 2007-01-14  Bruno Haible  <bruno@clisp.org>
110775         * modules/fchdir (Depends-on): Add absolute-header.
110776         * modules/unistd (Depends-on): Likewise.
110778 2006-12-30  Bruno Haible  <bruno@clisp.org>
110780         * modules/fchdir: New file.
110781         * modules/unistd (Files): Add lib/unistd_.h.
110782         (Makefile.am): Generate unistd.h from unistd_.h.
110783         * lib/fchdir.c: New file.
110784         * lib/dirent_.h: New file.
110785         * lib/unistd_.h: New file.
110786         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
110787         * m4/fchdir.m4: New file.
110788         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
110789         (gl_HEADER_UNISTD): Invoke it.
110790         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
110791         function.
110792         * lib/backupfile.c (opendir, closedir): Undefine.
110793         * lib/chown.c (open, close): Undefine.
110794         * lib/clean-temp.c (open, close): Undefine.
110795         * lib/copy-file.c (open, close): Undefine.
110796         * lib/execute.c (open, close): Undefine.
110797         * lib/fsusage.c (open, close): Undefine.
110798         * lib/gc-gnulib.c (open, close): Undefine.
110799         * lib/getcwd.c (opendir, closedir): Undefine.
110800         * lib/glob.c (opendir, closedir): Undefine.
110801         * lib/javacomp.c (open, close): Undefine.
110802         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
110803         * lib/openat-proc.c (open, close): Undefine.
110804         * lib/pagealign_alloc.c (open, close): Undefine.
110805         * lib/pipe.c (open, close): Undefine.
110806         * lib/progreloc.c (open, close): Undefine.
110807         * lib/savedir.c (opendir, closedir): Undefine.
110808         * lib/utime.c (open, close): Undefine.
110809         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
110811 2007-01-10  Bruno Haible  <bruno@clisp.org>
110813         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
110815 2007-01-12  Eric Blake  <ebb9@byu.net>
110817         Provide a robust <wchar.h>.  Further simplifications are now
110818         possible in other modules, but not included here.
110819         * modules/wchar: New module.
110820         * m4/wchar.m4: New file.
110821         * lib/wchar_.h: Likewise.
110822         * modules/mbchar (Depends-on): Depend on wchar, as the first use
110823         of the new module.
110824         * MODULES.html.sh (Extended multibyte and wide character utilities):
110825         New section.
110827 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
110829         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
110830         to a reasonable default for memory allocation.
110831         (xreadlink): Don't allocate a huge buffer, to work around a buggy
110832         file system that reports garbage st_size values for symlinks.
110833         Problem reported by Liyang Hu.
110835 2007-01-11  Simon Josefsson  <simon@josefsson.org>
110837         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
110838         Emacs .#* auto-save files).
110840 2007-01-11  Bruno Haible  <bruno@clisp.org>
110842         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
110843         directory.
110845 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
110847         Use @...@ consistently in lib/wctype_.h.
110848         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
110849         on it being set to 1 or 0.
110850         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
110851         go back to AC_SUBSTing it.
110852         * modules/wctype (Makefile.am): Undo previous change.
110854 2007-01-10  Eric Blake  <ebb9@byu.net>
110856         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
110857         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
110858         * modules/wctype (Makefile.am): Likewise.
110859         Reported by Chris McGuire.
110861 2007-01-10  Jim Meyering  <jim@meyering.net>
110863         fts.c: a small readability/maintainability improvement
110864         * lib/fts.c (fts_read): Make this code slightly more readable and
110865         maintainable by hoisting the "sp->fts_cur = p" assignments to
110866         immediately follow the statements that set P.  Derived from
110867         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
110869 2007-01-10  Eric Blake  <ebb9@byu.net>
110871         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
110872         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
110873         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
110874         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
110875         Reported by Chris McGuire.
110877 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
110879         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
110880         in sed script.
110882 2007-01-09  Bruno Haible  <bruno@clisp.org>
110884         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
110885         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
110886         variables.
110887         (func_module): Use them.
110889 2007-01-09  Bruno Haible  <bruno@clisp.org>
110891         * modules/unistr/base: New file.
110892         * lib/unistr.h: New file.
110894         * modules/unistr/u8-to-u16: New file.
110895         * lib/unistr/u8-to-u16.c: New file.
110897         * modules/unistr/u8-to-u32: New file.
110898         * lib/unistr/u8-to-u32.c: New file.
110900         * modules/unistr/u16-to-u8: New file.
110901         * lib/unistr/u16-to-u8.c: New file.
110903         * modules/unistr/u16-to-u32: New file.
110904         * lib/unistr/u16-to-u32.c: New file.
110906         * modules/unistr/u32-to-u8: New file.
110907         * lib/unistr/u32-to-u8.c: New file.
110909         * modules/unistr/u32-to-u16: New file.
110910         * lib/unistr/u32-to-u16.c: New file.
110912         * modules/unistr/u8-check: New file.
110913         * modules/unistr/u16-check: New file.
110914         * modules/unistr/u32-check: New file.
110915         * lib/unistr/u8-check.c: New file.
110916         * lib/unistr/u16-check.c: New file.
110917         * lib/unistr/u32-check.c: New file.
110919         * modules/unistr/u8-chr: New file.
110920         * modules/unistr/u16-chr: New file.
110921         * modules/unistr/u32-chr: New file.
110922         * lib/unistr/u8-chr.c: New file.
110923         * lib/unistr/u16-chr.c: New file.
110924         * lib/unistr/u32-chr.c: New file.
110926         * modules/unistr/u8-cmp: New file.
110927         * modules/unistr/u16-cmp: New file.
110928         * modules/unistr/u32-cmp: New file.
110929         * lib/unistr/u8-cmp.c: New file.
110930         * lib/unistr/u16-cmp.c: New file.
110931         * lib/unistr/u32-cmp.c: New file.
110933         * modules/unistr/u8-cpy: New file.
110934         * modules/unistr/u16-cpy: New file.
110935         * modules/unistr/u32-cpy: New file.
110936         * lib/unistr/u8-cpy.c: New file.
110937         * lib/unistr/u16-cpy.c: New file.
110938         * lib/unistr/u32-cpy.c: New file.
110939         * lib/unistr/u-cpy.h: New file.
110941         * modules/unistr/u8-cpy-alloc: New file.
110942         * modules/unistr/u16-cpy-alloc: New file.
110943         * modules/unistr/u32-cpy-alloc: New file.
110944         * lib/unistr/u8-cpy-alloc.c: New file.
110945         * lib/unistr/u16-cpy-alloc.c: New file.
110946         * lib/unistr/u32-cpy-alloc.c: New file.
110947         * lib/unistr/u-cpy-alloc.h: New file.
110949         * modules/unistr/u8-endswith: New file.
110950         * modules/unistr/u16-endswith: New file.
110951         * modules/unistr/u32-endswith: New file.
110952         * lib/unistr/u8-endswith.c: New file.
110953         * lib/unistr/u16-endswith.c: New file.
110954         * lib/unistr/u32-endswith.c: New file.
110955         * lib/unistr/u-endswith.h: New file.
110957         * modules/unistr/u8-mblen: New file.
110958         * modules/unistr/u16-mblen: New file.
110959         * modules/unistr/u32-mblen: New file.
110960         * lib/unistr/u8-mblen.c: New file.
110961         * lib/unistr/u16-mblen.c: New file.
110962         * lib/unistr/u32-mblen.c: New file.
110964         * modules/unistr/u8-mbtouc: New file.
110965         * modules/unistr/u16-mbtouc: New file.
110966         * modules/unistr/u32-mbtouc: New file.
110967         * lib/unistr/u8-mbtouc.c: New file.
110968         * lib/unistr/u16-mbtouc.c: New file.
110969         * lib/unistr/u32-mbtouc.c: New file.
110971         * modules/unistr/u8-mbtouc-safe: New file.
110972         * modules/unistr/u16-mbtouc-safe: New file.
110973         * modules/unistr/u32-mbtouc-safe: New file.
110974         * lib/unistr/u8-mbtouc-safe.c: New file.
110975         * lib/unistr/u16-mbtouc-safe.c: New file.
110976         * lib/unistr/u32-mbtouc-safe.c: New file.
110978         * modules/unistr/u8-move: New file.
110979         * modules/unistr/u16-move: New file.
110980         * modules/unistr/u32-move: New file.
110981         * lib/unistr/u8-move.c: New file.
110982         * lib/unistr/u16-move.c: New file.
110983         * lib/unistr/u32-move.c: New file.
110984         * lib/unistr/u-move.h: New file.
110986         * modules/unistr/u8-next: New file.
110987         * modules/unistr/u16-next: New file.
110988         * modules/unistr/u32-next: New file.
110989         * lib/unistr/u8-next.c: New file.
110990         * lib/unistr/u16-next.c: New file.
110991         * lib/unistr/u32-next.c: New file.
110993         * modules/unistr/u8-prev: New file.
110994         * modules/unistr/u16-prev: New file.
110995         * modules/unistr/u32-prev: New file.
110996         * lib/unistr/u8-prev.c: New file.
110997         * lib/unistr/u16-prev.c: New file.
110998         * lib/unistr/u32-prev.c: New file.
111000         * modules/unistr/u8-set: New file.
111001         * modules/unistr/u16-set: New file.
111002         * modules/unistr/u32-set: New file.
111003         * lib/unistr/u8-set.c: New file.
111004         * lib/unistr/u16-set.c: New file.
111005         * lib/unistr/u32-set.c: New file.
111006         * lib/unistr/u-set.h: New file.
111008         * modules/unistr/u8-startswith: New file.
111009         * modules/unistr/u16-startswith: New file.
111010         * modules/unistr/u32-startswith: New file.
111011         * lib/unistr/u8-startswith.c: New file.
111012         * lib/unistr/u16-startswith.c: New file.
111013         * lib/unistr/u32-startswith.c: New file.
111014         * lib/unistr/u-startswith.h: New file.
111016         * modules/unistr/u8-stpcpy: New file.
111017         * modules/unistr/u16-stpcpy: New file.
111018         * modules/unistr/u32-stpcpy: New file.
111019         * lib/unistr/u8-stpcpy.c: New file.
111020         * lib/unistr/u16-stpcpy.c: New file.
111021         * lib/unistr/u32-stpcpy.c: New file.
111022         * lib/unistr/u-stpcpy.h: New file.
111024         * modules/unistr/u8-stpncpy: New file.
111025         * modules/unistr/u16-stpncpy: New file.
111026         * modules/unistr/u32-stpncpy: New file.
111027         * lib/unistr/u8-stpncpy.c: New file.
111028         * lib/unistr/u16-stpncpy.c: New file.
111029         * lib/unistr/u32-stpncpy.c: New file.
111030         * lib/unistr/u-stpncpy.h: New file.
111032         * modules/unistr/u8-strcat: New file.
111033         * modules/unistr/u16-strcat: New file.
111034         * modules/unistr/u32-strcat: New file.
111035         * lib/unistr/u8-strcat.c: New file.
111036         * lib/unistr/u16-strcat.c: New file.
111037         * lib/unistr/u32-strcat.c: New file.
111038         * lib/unistr/u-strcat.h: New file.
111040         * modules/unistr/u8-strchr: New file.
111041         * modules/unistr/u16-strchr: New file.
111042         * modules/unistr/u32-strchr: New file.
111043         * lib/unistr/u8-strchr.c: New file.
111044         * lib/unistr/u16-strchr.c: New file.
111045         * lib/unistr/u32-strchr.c: New file.
111047         * modules/unistr/u8-strcmp: New file.
111048         * modules/unistr/u16-strcmp: New file.
111049         * modules/unistr/u32-strcmp: New file.
111050         * lib/unistr/u8-strcmp.c: New file.
111051         * lib/unistr/u16-strcmp.c: New file.
111052         * lib/unistr/u32-strcmp.c: New file.
111054         * modules/unistr/u8-strcpy: New file.
111055         * modules/unistr/u16-strcpy: New file.
111056         * modules/unistr/u32-strcpy: New file.
111057         * lib/unistr/u8-strcpy.c: New file.
111058         * lib/unistr/u16-strcpy.c: New file.
111059         * lib/unistr/u32-strcpy.c: New file.
111060         * lib/unistr/u-strcpy.h: New file.
111062         * modules/unistr/u8-strcspn: New file.
111063         * modules/unistr/u16-strcspn: New file.
111064         * modules/unistr/u32-strcspn: New file.
111065         * lib/unistr/u8-strcspn.c: New file.
111066         * lib/unistr/u16-strcspn.c: New file.
111067         * lib/unistr/u32-strcspn.c: New file.
111068         * lib/unistr/u-strcspn.h: New file.
111070         * modules/unistr/u8-strdup: New file.
111071         * modules/unistr/u16-strdup: New file.
111072         * modules/unistr/u32-strdup: New file.
111073         * lib/unistr/u8-strdup.c: New file.
111074         * lib/unistr/u16-strdup.c: New file.
111075         * lib/unistr/u32-strdup.c: New file.
111076         * lib/unistr/u-strdup.h: New file.
111078         * modules/unistr/u8-strlen: New file.
111079         * modules/unistr/u16-strlen: New file.
111080         * modules/unistr/u32-strlen: New file.
111081         * lib/unistr/u8-strlen.c: New file.
111082         * lib/unistr/u16-strlen.c: New file.
111083         * lib/unistr/u32-strlen.c: New file.
111084         * lib/unistr/u-strlen.h: New file.
111086         * modules/unistr/u8-strmblen: New file.
111087         * modules/unistr/u16-strmblen: New file.
111088         * modules/unistr/u32-strmblen: New file.
111089         * lib/unistr/u8-strmblen.c: New file.
111090         * lib/unistr/u16-strmblen.c: New file.
111091         * lib/unistr/u32-strmblen.c: New file.
111093         * modules/unistr/u8-strmbtouc: New file.
111094         * modules/unistr/u16-strmbtouc: New file.
111095         * modules/unistr/u32-strmbtouc: New file.
111096         * lib/unistr/u8-strmbtouc.c: New file.
111097         * lib/unistr/u16-strmbtouc.c: New file.
111098         * lib/unistr/u32-strmbtouc.c: New file.
111100         * modules/unistr/u8-strncat: New file.
111101         * modules/unistr/u16-strncat: New file.
111102         * modules/unistr/u32-strncat: New file.
111103         * lib/unistr/u8-strncat.c: New file.
111104         * lib/unistr/u16-strncat.c: New file.
111105         * lib/unistr/u32-strncat.c: New file.
111106         * lib/unistr/u-strncat.h: New file.
111108         * modules/unistr/u8-strncmp: New file.
111109         * modules/unistr/u16-strncmp: New file.
111110         * modules/unistr/u32-strncmp: New file.
111111         * lib/unistr/u8-strncmp.c: New file.
111112         * lib/unistr/u16-strncmp.c: New file.
111113         * lib/unistr/u32-strncmp.c: New file.
111115         * modules/unistr/u8-strncpy: New file.
111116         * modules/unistr/u16-strncpy: New file.
111117         * modules/unistr/u32-strncpy: New file.
111118         * lib/unistr/u8-strncpy.c: New file.
111119         * lib/unistr/u16-strncpy.c: New file.
111120         * lib/unistr/u32-strncpy.c: New file.
111121         * lib/unistr/u-strncpy.h: New file.
111123         * modules/unistr/u8-strnlen: New file.
111124         * modules/unistr/u16-strnlen: New file.
111125         * modules/unistr/u32-strnlen: New file.
111126         * lib/unistr/u8-strnlen.c: New file.
111127         * lib/unistr/u16-strnlen.c: New file.
111128         * lib/unistr/u32-strnlen.c: New file.
111129         * lib/unistr/u-strnlen.h: New file.
111131         * modules/unistr/u8-strpbrk: New file.
111132         * modules/unistr/u16-strpbrk: New file.
111133         * modules/unistr/u32-strpbrk: New file.
111134         * lib/unistr/u8-strpbrk.c: New file.
111135         * lib/unistr/u16-strpbrk.c: New file.
111136         * lib/unistr/u32-strpbrk.c: New file.
111137         * lib/unistr/u-strpbrk.h: New file.
111139         * modules/unistr/u8-strrchr: New file.
111140         * modules/unistr/u16-strrchr: New file.
111141         * modules/unistr/u32-strrchr: New file.
111142         * lib/unistr/u8-strrchr.c: New file.
111143         * lib/unistr/u16-strrchr.c: New file.
111144         * lib/unistr/u32-strrchr.c: New file.
111146         * modules/unistr/u8-strspn: New file.
111147         * modules/unistr/u16-strspn: New file.
111148         * modules/unistr/u32-strspn: New file.
111149         * lib/unistr/u8-strspn.c: New file.
111150         * lib/unistr/u16-strspn.c: New file.
111151         * lib/unistr/u32-strspn.c: New file.
111152         * lib/unistr/u-strspn.h: New file.
111154         * modules/unistr/u8-strstr: New file.
111155         * modules/unistr/u16-strstr: New file.
111156         * modules/unistr/u32-strstr: New file.
111157         * lib/unistr/u8-strstr.c: New file.
111158         * lib/unistr/u16-strstr.c: New file.
111159         * lib/unistr/u32-strstr.c: New file.
111160         * lib/unistr/u-strstr.h: New file.
111162         * modules/unistr/u8-strtok: New file.
111163         * modules/unistr/u16-strtok: New file.
111164         * modules/unistr/u32-strtok: New file.
111165         * lib/unistr/u8-strtok.c: New file.
111166         * lib/unistr/u16-strtok.c: New file.
111167         * lib/unistr/u32-strtok.c: New file.
111168         * lib/unistr/u-strtok.h: New file.
111170         * modules/unistr/u8-uctomb: New file.
111171         * modules/unistr/u16-uctomb: New file.
111172         * modules/unistr/u32-uctomb: New file.
111173         * lib/unistr/u8-uctomb.c: New file.
111174         * lib/unistr/u16-uctomb.c: New file.
111175         * lib/unistr/u32-uctomb.c: New file.
111177         * MODULES.html.sh (Unicode string functions): Add the new modules.
111179 2007-01-08  Bruno Haible  <bruno@clisp.org>
111181         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
111182         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
111183         subdirectories.
111185 2007-01-08  Karl Berry  <karl@gnu.org>
111187         * doc/error.texi: mention that main() fns must set program_name
111188         when progname is used.
111190 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
111192         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
111193         WCTYPE_H is empty, for the benefit of builds from non-distclean
111194         directories.  Problem reported by Eric Blake in
111195         <http://lists.gnu.org/r/bug-gnulib/2007-01/msg00157.html>.
111197 2007-01-08  Bruno Haible  <bruno@clisp.org>
111199         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
111200         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
111201         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
111202         PROVIDE_CANONICALIZE_FILENAME_MODE.
111203         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
111205 2007-01-08  Bruno Haible  <bruno@clisp.org>
111207         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
111208         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
111209         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
111210         * lib/fts.c: Likewise.
111211         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
111213 2006-12-25  Bruno Haible  <bruno@clisp.org>
111215         * modules/utf8-ucs4-safe: New file.
111216         * lib/utf8-ucs4-safe.h: New file.
111217         * lib/unistr/utf8-ucs4-safe.c: New file.
111219         * modules/utf16-ucs4-safe: New file.
111220         * lib/utf16-ucs4-safe.h: New file.
111221         * lib/unistr/utf16-ucs4-safe.c: New file.
111223         * MODULES.html.sh (Unicode string functions): Add the new modules.
111225 2007-01-08  Bruno Haible  <bruno@clisp.org>
111227         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
111228         (Depends-on): Add unitypes.
111229         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
111230         (u8_mbtouc_aux): Move out to separate file.
111231         (u8_mbtouc): Use ucs4_t, uint8_t types.
111232         * lib/unistr/utf8-ucs4.c: New file.
111234         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
111235         (Depends-on): Add unitypes.
111236         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
111237         (u16_mbtouc_aux): Move out to separate file.
111238         (u16_mbtouc): Use ucs4_t, uint16_t types.
111239         * lib/unistr/utf16-ucs4.c: New file.
111241         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
111242         (Depends-on): Add unitypes.
111243         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
111244         (u8_uctomb_aux): Move out to separate file.
111245         (u8_uctomb): Use ucs4_t, uint8_t types.
111246         * lib/unistr/ucs4-utf8.c: New file.
111248         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
111249         (Depends-on): Add unitypes.
111250         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
111251         (u16_uctomb_aux): Move out to separate file.
111252         (u16_uctomb): Use ucs4_t, uint16_t types.
111253         * lib/unistr/ucs4-utf16.c: New file.
111255 2006-12-25  Bruno Haible  <bruno@clisp.org>
111257         * modules/unitypes: New file.
111258         * lib/unitypes.h: New file.
111259         * MODULES.html.sh (func_all_modules): New section "Unicode string
111260         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
111261         this section. Add unitypes.
111263 2007-01-08  Bruno Haible  <bruno@clisp.org>
111265         Avoid variable names that conflict with those from libtool.
111266         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
111267         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
111268         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
111269         library_names_spec to acl_library_names_spec, hardcode_* to
111270         acl_hardcode_*.
111271         Reported by Ralf Wildenhues.
111273 2007-01-08  Bruno Haible  <bruno@clisp.org>
111275         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
111276         definition.
111277         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
111278         definition.
111279         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
111280         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
111281         definition.
111282         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
111283         definition.
111284         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
111285         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
111286         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
111287         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
111288         definition.
111289         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
111290         definition.
111291         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
111292         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
111293         GC_USE_<algorithm>.
111294         * lib/gc-libgcrypt.c: Likewise.
111295         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
111296         * modules/gc-arctwo (configure.ac): Likewise.
111297         * modules/gc-des (configure.ac): Likewise.
111298         * modules/gc-hmac-md5 (configure.ac): Likewise.
111299         * modules/gc-hmac-sha1 (configure.ac): Likewise.
111300         * modules/gc-md2 (configure.ac): Likewise.
111301         * modules/gc-md4 (configure.ac): Likewise.
111302         * modules/gc-md5 (configure.ac): Likewise.
111303         * modules/gc-random (configure.ac): Likewise.
111304         * modules/gc-rijndael (configure.ac): Likewise.
111305         * modules/gc-sha1 (configure.ac): Likewise.
111307 2007-01-08  Bruno Haible  <bruno@clisp.org>
111309         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
111310         macro definition.
111311         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
111312         definition.
111313         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
111314         definition.
111315         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
111316         * modules/fcntl-safer (configure.ac): Likewise.
111317         * modules/fopen-safer (configure.ac): Likewise.
111318         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
111319         GNULIB_FWRITEERROR macro definition.
111321 2007-01-08  Bruno Haible  <bruno@clisp.org>
111323         * m4/gnulib-common.m4: New file.
111324         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
111325         (func_get_filelist): Add m4/gnulib-common.m4.
111327 2007-01-08  Bruno Haible  <bruno@clisp.org>
111329         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
111330         command.
111332 2007-01-08  Jim Meyering  <jim@meyering.net>
111334         Use a more robust test for a "can't happen" condition.
111335         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
111336         narrowed the st_size value.  Presuming the "can't happen" condition
111337         is true, that narrowing could conceivably convert an invalid st_size
111338         value into a valid one.  Instead, use a change based on Matthew
111339         Woehlke's original patch.
111341         Slight readability improvement: use an assert-like macro
111342         in place of literal "abort ()" uses.
111343         * lib/fts.c (fts_assert): Define.
111344         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
111345         Use this macro instead of a bare 'abort'.
111347 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
111349         Don't worry about using IRIX 5.3's wctype.h broken definitions;
111350         simply work around them.
111351         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
111352         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
111353         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
111354         declaring.
111355         Don't bother to define as macros, since the standard doesn't require it.
111356         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
111357         longer worry about IRIX 5.3.
111358         (HAVE_WCTYPE_CTMP_BUG): Remove.
111360 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
111362         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
111363         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
111364         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
111365         Problems reported by Georg Schwarz for IRIX 5.3.
111367         * gnulib-tool (autoconf_minversion): Take the maximum version number
111368         found, not the minimum.  Problem reported by James Youngman.
111370 2007-01-03  Karl Berry  <karl@gnu.org>
111372         * doc/error.texi: new file, explaining interaction with progname.
111373         * doc/gnulib.texi: include it.  Update copyright.
111375 2007-01-03  Simon Josefsson  <simon@josefsson.org>
111377         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
111378         AC_CANONICAL_HOST, to improve autobuild outputs.
111380 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
111381             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
111383         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
111384         sockets, server sockets, and other file descriptors.  Count errors
111385         to compute the return value.  Reorder the code a bit to be easier
111386         to follow.  Don't set event bits that were not requested (except
111387         POLLERR and POLLHUP).
111389 2007-01-01  Bruno Haible  <bruno@clisp.org>
111391         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
111393 2007-01-03  Jim Meyering  <jim@meyering.net>
111395         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
111397 2007-01-02  Bruno Haible  <bruno@clisp.org>
111399         * modules/settime (Include): Require timespec.h.
111400         * modules/nanosleep (Include): Likewise.
111402 2007-01-01  Bruno Haible  <bruno@clisp.org>
111404         * gnulib-tool (func_emit_copyright_notice): Bump year.
111405         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
111407 2007-01-01  Bruno Haible  <bruno@clisp.org>
111409         Improve support for OpenBSD.
111410         * build-aux/config.rpath (libname_spec): Export.
111411         (library_names_spec): New variable. Export.
111412         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
111413         library_names_spec from the config.rpath output. Locate shared library
111414         through the name pattern in library_names_spec.
111416 2007-01-01  Eric Blake  <ebb9@byu.net>
111418         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
111420 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
111422         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
111423         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
111424         assume the C locale, and avoid an "eval" that could cause trouble.
111425         Problem with SORT reported by Bob Proulx.
111427         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
111428         Define.  Trivial patch from Henning Nielsen Lund, originally
111429         sent to bug-grep@gnu.org today.
111431 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
111433         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
111434         struct stat.  Problem reported by Henning Nielsen Lund.
111435         * lib/acl.c: Include acl.h first, to check interface.  Don't
111436         bother to include sys/types.h and sys/stat.h again.
111438 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
111440         Import the following change from libc; problem reported by
111441         Sven Verdoolaege.
111443         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
111445         [BZ #1373]
111446         * lib/argp.h: Remove __NTH for __argp_usage inline function.
111448 2006-12-28  Jim Meyering  <jim@meyering.net>
111450         * build-aux/announce-gen: Do not assume that the package
111451         builds any of tar.gz, tar.bz2, and .xdelta files.
111452         Suggestion from Simon Josefsson.
111454 2006-12-28  Simon Josefsson  <simon@josefsson.org>
111456         * modules/announce-gen: New file.
111458 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
111460         * lib/mbchar.h: Just include <wctype.h>; the wctype module
111461         handles its gotchas now.
111462         * lib/mbswidth.c: Likewise.
111463         * lib/wcwidth.h: Likewise.
111464         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
111465         and iswcntrl; the wctype module does this stuff now.
111466         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
111467         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
111468         * modules/mbchar (Depends-on): Add wctype.
111469         * modules/mbswidth (Depends-on): Likewise.
111470         * modules/wcwidth (Depends-on): Likewise.
111472 2006-12-27  Eric Blake  <ebb9@byu.net>
111474         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
111475         module uses more than what <wctype.h> is required to provide.
111477 2006-12-26  Eric Blake  <ebb9@byu.net>
111479         * gnulib-tool (sed_extract_prog): Avoid space-tab.
111481 2006-12-26  Eric Blake  <ebb9@byu.net>
111483         * modules/absolute-header: New module.
111484         * modules/fcntl (Depends-on): Depend on it.
111485         * modules/inttypes (Depends-on): Likewise.
111486         * modules/stdint (Depends-on): Likewise.
111487         * modules/sys_stat (Depends-on): Likewise.
111488         * modules/wctype (Depends-on): Likewise.
111489         * MODULES.html.sh (Support for building libraries and
111490         executables): Document it.
111492 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
111494         * gnulib-tool (SED): Remove, undoing previous change.
111495         The problem was that it broke coreutils on Solaris, because
111496         "sed --posix" leaked into a makefile.
111497         (sed): New alias, if 'alias' and GNU sed.
111499 2006-12-24  Jim Meyering  <jim@meyering.net>
111501         Work around an fchownat bug in glibc-2.4:
111502         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
111503         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
111504         in spite of the -P option.
111505         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
111506         New macros.
111507         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
111508         * modules/openat (Files): Add lib/fchownat.c.
111509         * lib/openat.c (fchownat): Don't define here.  Move to...
111510         * lib/fchownat.c: ...this new file.
111512 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
111514         Fix bug reported by Bruno Haible in
111515         <http://lists.gnu.org/r/bug-gnulib/2006-12/msg00228.html>
111516         where quotearg.c didn't compile on Mac OS X 10.2 because it
111517         lacks <wchar.h> and wint_t.
111518         * lib/wctype_.h (__wctype_wint_t): New type.
111519         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
111520         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
111521         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
111522         Arg is now of type __wctype_wint_t, not wint_t.
111523         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
111524         substitute HAVE_WINT_T.
111525         * modules/wctype (Files): Add m4/wint_t.m4.
111526         (wctype.h): Substitute HAVE_WINT_T.
111528 2006-12-23  Bruno Haible  <bruno@clisp.org>
111530         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
111532 2006-12-23  Bruno Haible  <bruno@clisp.org>
111534         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
111535         S_ISLNK.
111536         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
111537         mingw.
111539 2006-12-22  Bruno Haible  <bruno@clisp.org>
111541         * lib/copy-file.c: Include acl.h.
111542         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
111543         Close the file descriptors only after being done with copy_acl.
111544         * modules/copy-file (Depends-on): Add acl.
111546 2006-12-22  Bruno Haible  <bruno@clisp.org>
111548         * gnulib-tool (SED): New variable.
111549         Use $SED instead of sed everywhere.
111551 2006-12-22  Bruno Haible  <bruno@clisp.org>
111553         * modules/no-c++: New file.
111554         * m4/no-c++.m4: New file.
111555         * MODULES.html.sh (Support for building libraries and executables):
111556         Add no-c++.
111558 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
111560         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
111561         Include <limits.h>, and use its INT_MAX to rewrite the
111562         j loop so that it does not overflow 'int'.  Problem reported by
111563         Ralf Wildenhues in
111564         <http://lists.gnu.org/r/bug-gnulib/2006-12/msg00084.html>.
111565         Play it safe by shifting left by 1 rather than multiplying by 2,
111566         as GCC is less likely to optimize this away when the value
111567         is signed (when it assumes overflow leads to undefined behavior).
111568         Also, don't assume time_t uses two's complement.
111570 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
111572         * MODULES.html.sh: New module wctype.
111573         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
111574         * lib/fnmatch.c: Don't bother to include <wchar.h> before
111575         <wctype.h>, since the new wctype module should fix this.
111576         * lib/quotearg.c: Include <wctype.h> unconditionally, since
111577         the wctype module should arrange for it.
111578         * lib/regex_internal.h: Likewise.
111579         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
111580         since the wctype module should handle this now.
111581         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
111582         * modules/fnmatch (Depends-on): Add wctype.
111583         * modules/quotearg (Depends-on): Likewise.
111584         * modules/regex (Depends-on): Likewise.
111586 2006-12-19  Bruno Haible  <bruno@clisp.org>
111588         * lib/strdup.h [C++]: Wrap definitions in extern "C".
111589         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
111591 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
111593         * modules/savewd (Depends-on): Fix dependency on fcntl.
111595 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
111597         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
111598         conforms to C99, rather than relying on the user's environment
111599         setting of STDINT_H.
111601 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
111602         and Eric Blake  <ebb9@byu.net>
111604         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
111605         This is more consistent with the other defines here.
111606         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
111607         Port to z/OS.  Problem reported by Paul Gilmartin.
111608         Change local vars to use gl_ prefix rather than ac_.
111609         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
111610         with other defines.
111611         * modules/double-slash-root: New module.
111612         * modules/dirname (Files): Remove m4/double-slash-root.m4.
111613         (Depends-on): Add double-slash-root.
111614         * MODULES.html.sh (File system functions): Mention new module.
111616 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
111618         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
111619         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
111620         This is for the benefit of gzip, which doesn't do i18n.
111622 2006-12-12  Jim Meyering  <jim@meyering.net>
111624         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
111625         Reported by Andreas Schwab <schwab@suse.de>.
111627 2006-12-12  Bruno Haible  <bruno@clisp.org>
111629         Merge these changes.
111630         2006-09-05  Bruno Haible  <bruno@clisp.org>
111631         * lib/iconvme.c (iconv_string): No need to save and restore errno when
111632         iconv_alloc succeeded.
111633         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
111634         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
111635         test for " && dest " at the end - dest is always != NULL there. Call
111636         iconv with 4xNULL arguments initially, to reset the state. Call iconv
111637         with 2xNULL arguments, also to flush the state storage. Handle the
111638         IRIX iconv behaviour. Realloc the final result, to throw away unused
111639         memory.
111641 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
111643         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
111644         and fchmodat unconditionally, since glibc 2.4 has them.
111645         Problem reported by Arkadiusz Miskiewicz.
111647 2006-12-10  Bruno Haible  <bruno@clisp.org>
111649         * gnulib-tool (func_import): Show the include files only for those
111650         modules that are copied and specified.
111651         Reported by Karl Berry.
111653 2006-12-08  Jim Meyering  <jim@meyering.net>
111655         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
111656         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
111658         * build-aux/announce-gen: Add two new options, both optional:
111659         --bootstrap-tools=TOOL_LIST
111660               a comma-separated list of tools, e.g.,
111661               autoconf,automake,bison,gnulib
111662         --gnulib-snapshot-date=DATE
111663               if gnulib is in the bootstrap tool list,
111664               then report this as the snapshot date.
111665               If not specified, use the current date/time.
111666               If you specify a date here, be sure it's UTC.
111668 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
111670         * tests/test-argp-2.sh: Fix test to match actual output.
111671         (func_compare): Fix sed script to be portable.
111673 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
111675         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
111676         workaround for this case.  It is not autoconfigured now; offhand
111677         it's hard to see how to autoconfigure it.
111679 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
111681         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
111682         a directory that is about to be chowned.  Such a directory's
111683         initial file permissions should permit the owner only and this
111684         should not be changed until after the chown, since the group and
111685         other bits would be incorrect if they granted permission before
111686         the chown.
111688         Fix porting problem for iswctype reported by Georg Schwarz in:
111689         http://lists.gnu.org/r/bug-coreutils/2006-12/msg00017.html
111690         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
111691         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
111692         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
111693         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
111695 2006-12-03  Jim Meyering  <jim@meyering.net>
111697         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
111698         p->fts_statp may not yet be defined.
111699         (fts_read): Instead, set it in the caller, once p->fts_statp is
111700         sure to be defined, and corresponds to a top-level directory.
111701         This bug made du -x fail.  Here's the coreutils test case:
111702         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
111703         Reported by Mike Frysinger.
111705 2006-12-01  Jim Meyering  <jim@meyering.net>
111707         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
111708         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
111709         Reported by Simon Josefsson.
111711 2006-11-30  Jim Meyering  <jim@meyering.net>
111713         * m4/warning.m4: Use the all-permissive copyright notice
111714         recommended by RMS (rather than LGPL).
111715         * m4/vararrays.m4: Likewise.
111716         * m4/flexmember.m4: Likewise.
111718 2006-11-29  Bruno Haible  <bruno@clisp.org>
111720         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
111721         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
111722         using +=.
111723         Reported by Simon Josefsson <simon@josefsson.org>.
111725 2006-11-28  James Youngman  <jay@gnu.org>
111727         * README: Advise users that they might find the bug-gnulib@gnu.org
111728         and autotools-announce@gnu.org mailing lists useful.
111730 2006-11-28  Bruno Haible  <bruno@clisp.org>
111732         * m4/ptrdiff_max.m4: Remove file.
111734 2006-11-21  Bruno Haible  <bruno@clisp.org>
111736         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
111737         _AC_COMPUTE_INT.
111738         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
111739         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
111740         _AC_COMPUTE_INT.
111741         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
111742         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
111743         _AC_COMPUTE_INT.
111744         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
111746 2006-11-28  Jim Meyering  <jim@meyering.net>
111748         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
111749         warning from "gcc -Wshadow" about shadowing the builtin.
111751 2006-11-27  Bruno Haible  <bruno@clisp.org>
111753         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
111754         _AC_COMPUTE_INT.
111755         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
111757 2006-11-27  Bruno Haible  <bruno@clisp.org>
111758             Paul Eggert  <eggert@cs.ucla.edu>
111760         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
111762 2006-11-26  Bruno Haible  <bruno@clisp.org>
111764         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
111765         noinst_LTLIBRARIES.
111767 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
111768             Bruno Haible  <bruno@clisp.org>
111770         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
111771         if compiling with "gcc -ansi".
111773 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
111775         Fix some incompatibilities with gcc -ansi -pedantic.
111776         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
111777         if compiling pedantically with GCC, unless it's C99 or later.
111778         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
111779         it mishandles gcc -ansi -pedantic as well.
111780         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
111781         if gcc -pedantic.
111782         * lib/regexec.c (check_node_accept_bytes): Don't use auto
111783         initializers for struct if -pedantic, unless it's C99 or later.
111785 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
111787         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
111788         Don't close an fd more than once. Identical atimes indicate
111789         success, not failure.
111791 2006-11-22  Robinson Mittmann  <bob@hoplon.com>  (tiny change)
111793         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
111795 2006-11-23  Jim Meyering  <jim@meyering.net>
111797         * build-aux/announce-gen: New file.  From coreutils.
111799 2006-11-22  Jim Meyering  <jim@meyering.net>
111801         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
111802         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
111803         (fts_read): Use a temporary to narrow the overused st_size member
111804         before using it in a switch statement.  Reported by Matthew Woehlke.
111806         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
111807         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
111809 2006-11-20  Bruno Haible  <bruno@clisp.org>
111811         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
111812         changequote instead of pairs of brackets.
111813         Reported by Andreas Schwab <schwab@suse.de>.
111815 2006-11-21  Jim Meyering  <jim@meyering.net>
111817         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
111818         so as to remain compatible with older compilers.
111819         Patch from Michael Deutschmann.
111821 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
111823         * MODULES.html.sh (File system functions): Add openat.
111825         * lib/openat.h (rpl_fstatat): New macro, if
111826         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
111827         (fstatat): Define to rpl_fstatat under the same conditions,
111828         unless COMPILING_FSTATAT.
111829         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
111830         seems to have the bug.
111831         * lib/fstatat.c: New file.
111832         * modules/openat (Files): Add it.
111834 2006-11-20  Bruno Haible  <bruno@clisp.org>
111836         * Makefile: New file.
111838 2006-11-20  Jim Meyering  <jim@meyering.net>
111840         The beginnings of syntax-related checks for gnulib.
111841         * lib/Makefile: New file.
111842         * lib/t-idcache: New script.  Ensure that the two halves of
111843         idcache.c stay in sync.
111845         * lib/idcache.c: Adjust comments in user- and group- portions to
111846         be more accurate, and to be consistent with one another.
111848 2006-11-20  Jim Meyering  <jim@meyering.net>
111850         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
111851         continue using the flexible array member (thus, this module performs
111852         half as many malloc calls), with the addition that...
111853         (getgroup, getuser): Consistently record a non-match via an empty
111854         "name" string, and map an empty string match to a NULL return value.
111855         * modules/idcache (Depends-on): Re-add flexmember.
111857         * lib/idcache.c (getuser): Remove all uses of the register keyword.
111858         (getuidbyname, getgroup, getgidbyname): Likewise.
111860         Use cleaner syntax: NULL rather than 0.
111861         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
111863 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
111865         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
111866         It mishandled the case where the group was missing.
111867         Problem reported by Greg Schafer.
111868         * modules/idcache: Likewise.
111870 2006-11-18  Jim Meyering  <jim@meyering.net>
111872         * check-module (%exempt_header): Add exception for some
111873         conditionally-included headers.
111875         * modules/i-ring (Depends-on): Add verify.
111876         (License): Change to LGPL.
111878 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
111880         * modules/getaddrinfo (Depends-on): Remove inttostr; add snprintf.
111881         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
111882         and inttostr.h.  Use snprintf rather than uinttostr, so that
111883         LGPLed code doesn't depend on GPLed.
111885 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
111887         * modules/inline (License): Change from GPL to LGPL.
111889 2006-11-17  Jim Meyering  <jim@meyering.net>
111891         * modules/d-type (License): Switch to LGPL.
111893 2006-11-15  Bruno Haible  <bruno@clisp.org>
111895         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
111897 2006-11-15  Eric Blake  <ebb9@byu.net>
111899         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
111900         the module dependency.
111902 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
111903             Bruno Haible  <bruno@clisp.org>
111905         * gnulib-tool (func_create_testdir): Add license consistency check.
111907 2006-11-15  Eric Blake  <ebb9@byu.net>
111909         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
111910         random "(cached)" in configure output.
111912 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
111914         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
111915         test for conforming inttypes.h is both announced and cached.
111917         * MODULES.html.sh (seen_modules, seen_files): New variables.
111918         (func_module): Rewrite to use a few less gnulib-tool and sed
111919         invocations.  Avoid a couple of quadratic algorithms for ...
111920         (missed_modules, missed_files): ... these, with ...
111921         (func_append, func_tmpdir): ... these new functions, from
111922         gnulib-tool.  Analogously, install traps for cleanup.
111924         * tests/test-gc.c (main): Remove unused variables.
111925         * tests/test-read-file.c: Include stdlib.h, for 'free'.
111927 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
111929         * modules/inttostr (License): Change to LGPL.
111931 2006-11-14  Eric Blake  <ebb9@byu.net>
111933         * modules/tempname (License): Change to LGPL.
111935 2006-11-14  Eric Blake  <ebb9@byu.net>
111937         * doc/functions.texi (Function Portability): *printf functions on
111938         Cygwin now understand all POSIX size specifiers.
111940 2006-11-14  Bruno Haible  <bruno@clisp.org>
111942         * modules/c-ctype (License): Change to LGPL.
111944 2006-11-12  Bruno Haible  <bruno@clisp.org>
111946         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
111947         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
111948         for GNOME libraries, for which the include files are installed in
111949         subdirectories of $prefix/include.
111951 2006-11-12  Bruno Haible  <bruno@clisp.org>
111953         * m4/lib-link.m4: Require at least autoconf-2.54.
111954         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
111955         name to underscores for the --with option.
111957 2006-11-13  Bruno Haible  <bruno@clisp.org>
111959         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
111960         the tests directory.
111961         Reported by Ralf Wildenhues.
111963 2006-11-13  Bruno Haible  <bruno@clisp.org>
111965         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
111966         (func_emit_initmacro_end): Undo the override here.
111967         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
111968         Works around the famous automake error in coreutils.
111970 2006-11-13  Eric Blake  <ebb9@byu.net>
111972         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
111973         element, not its node.
111975 2006-11-12  Bruno Haible  <bruno@clisp.org>
111977         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
111978         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
111980 2006-11-12  Bruno Haible  <bruno@clisp.org>
111982         * gnulib-tool: New option --local-symlink.
111983         (func_usage): Document it.
111984         (lsymbolic): New variable.
111985         (func_import, func_create_testdir): If --symlink was not specified,
111986         test whether --local-symlink was specified and the file comes from
111987         the local_gnulib_dir.
111989 2006-11-12  Bruno Haible  <bruno@clisp.org>
111991         * gnulib-tool (func_ln): New function.
111992         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
111994 2006-11-12  Bruno Haible  <bruno@clisp.org>
111996         Finish support for source files in subdirectories.
111997         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
111998         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
111999         AUTOMAKE_OPTIONS.
112000         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
112002 2006-11-12  Bruno Haible  <bruno@clisp.org>
112004         * gnulib-tool (func_get_automake_snippet): Synthesize also an
112005         EXTRA_lib_SOURCES augmentation.
112006         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
112008 2006-11-12  Jim Meyering  <jim@meyering.net>
112010         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
112011         file descriptors.  This also averts a failure on systems with
112012         native openat support when a traversed directory lacks "x" access.
112013         * lib/fts_.h: Include "i-ring.h"
112014         (struct FTS) [fts_fd_ring]: New member.
112015         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
112016         (FCHDIR): Add parentheses.
112017         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
112018         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
112019         When descending, rather than simply closing the previous
112020         fts_cwd_fd value, push that file descriptor onto the ring.
112021         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
112022         (fts_open): Initialize the new fd_ring member.
112023         (fts_close): Clear the ring.
112024         (fts_safe_changedir): When possible, use our new fd_ring to skip
112025         the diropen and fstat and dev/ino comparison that would normally
112026         accompany a virtual `chdir ("..")'.
112028         * modules/fts (Depends-on): Add i-ring.
112029         * modules/i-ring: New module.
112030         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
112031         * m4/i-ring.m4: New file.
112033 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
112035         * gnulib-tool (func_create_testdir): Fix replacement of
112036         `build-aux' in configure.ac.  Run autotools in gltests
112037         subdirectory.
112038         (func_create_testdir, func_create_megatestdir, test): There is
112039         no need for '--force' in most autotool invocations in a new
112040         tree.  Actually fail the whole test if any of the tools, or the
112041         configure or make stages fail.
112043         Sync from Automake.
112044         * build-aux/gnupload: Revert last change.  Add pointer to upload
112045         instructions of the GNU Maintenance Instructions.
112046         Suggestion by Karl Berry.
112048 2006-11-10  Jim Meyering  <jim@meyering.net>
112050         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
112052 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
112054         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
112055         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
112056         (bind_textdomain_codeset) [! ENABLE_NLS]:
112057         Evaluate all the arguments.  That way, callers get compatible behavior
112058         if the arguments have side effects.  Also, it avoids some GCC
112059         diagnostics in some cases; Joel E. Denny reported problems when Bison
112060         was configured with --enable-gcc-warnigs.
112062 2006-11-10  Jim Meyering  <jim@meyering.net>
112064         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
112065         relevant options in CFLAGS (like -O, -fno-inline) are taken into
112066         account.
112068 2006-11-10  Jim Meyering  <jim@meyering.net>
112070         * modules/inline: New file/module.
112071         * modules/xalloc (Files): Remove m4/inline.m4.
112072         (Depends-on): Add inline, instead.
112073         * modules/oset: Likewise.
112074         * modules/list: Likewise.
112076 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
112078         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
112079         Problem reported by Matthew Woehlke.
112081 2006-11-09  Bruno Haible  <bruno@clisp.org>
112083         * lib/tempname.c (gen_tempname): Remove variant that invokes
112084         __gen_tempname.
112085         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
112086         __gen_tempname.
112088 2006-11-08  Bruno Haible  <bruno@clisp.org>
112090         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
112091         to 'yes' instead of 'cross-compiling'.
112093 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
112095         * lib/quotearg.h (quotearg_free): New decl.
112096         * lib/quotearg.c (quotearg_free): New function.
112097         (slot0, nslots, slotvec0, slotvec):
112098         Now file-scope so that quotearg_free can get at them.
112100 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
112102         Sync from Automake.
112103         * build-aux/gnupload: Add missing 'gnu' to example URL.
112104         Report by Karl Berry.
112106 2006-11-08  Bruno Haible  <bruno@clisp.org>
112108         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
112109         Suggested by Paul Eggert.
112111 2006-11-08  Jim Meyering  <jim@meyering.net>
112113         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
112114         It's already included if !_LIBC.
112115         (fts_safe_changedir): Add a comment.
112117 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
112119         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
112120         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
112121         Matthew Woehlke.
112123         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
112124         definitions up, to avoid colliding with change below.
112125         (static_inline) [HAVE_INLINE]: New macro.
112126         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
112127         Provide extern decls when !HAVE_INLINE.  Do not define unless
112128         static_inline is defined, either by us or by xmalloc.c.  Use
112129         static_inline rather than static inline.
112130         (XCALLOC): Optimize sizeof(T) = 1 case.
112131         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
112133 2006-11-07  Bruno Haible  <bruno@clisp.org>
112135         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
112136         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
112137         AC_C_INLINE.
112138         * modules/xalloc (Files): Add m4/inline.m4.
112140 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
112142         * README: Fix typo.
112143         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
112144         (Miscellanous Notes): ...from this.
112146 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
112148         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
112149         Mention that offsetof should be used instead of sizeof.
112150         From Bruno Haible.
112152 2006-11-07  Bruno Haible  <bruno@clisp.org>
112154         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
112156 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
112158         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
112159         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
112160         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
112161         (gl_tree_add_before, gl_tree_add_after):
112162         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
112163         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
112164         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
112165         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
112166         (gl_linked_add_after, gl_linked_add_at): Likewise.
112167         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
112168         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
112169         (gl_tree_add_before, gl_tree_add_after): Likewise.
112170         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
112171         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
112172         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
112174 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
112176         * lib/gl_oset.h: Use C comment style, not C++ comment style.
112178 2006-11-06  Bruno Haible  <bruno@clisp.org>
112180         * m4/inline.m4: New file.
112181         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
112182         * modules/list (Files): Add m4/inline.m4.
112183         * modules/oset (Files): Likewise.
112185 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
112187         * lib/idcache.c: Include <stddef.h>, for offsetof.
112188         (struct userid.name): Change from char * to a flexible array member.
112189         All uses changed.
112190         * modules/idcache (Depends-on): Add flexmember.
112192         * MODULES.html.sh (Core language properties): New module flexmember.
112193         * modules/flexmember, m4/flexmember.m4: New files.
112195         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
112196         inline functions that are identical with the old xnmalloc_inline,
112197         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
112198         that we can avoid some unnecessary integer multiplications and
112199         divisions in the common case where the element size is known at
112200         compile time.
112201         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
112202         needed.
112203         (xnboundedmalloc): Remove.
112204         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
112205         arguments, for consistency with rest of this header.
112206         (xcharalloc): Rewrite using XNMALLOC.
112207         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
112208         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
112209         versions have been moved to lib/xalloc.h and renamed to be the
112210         non-*_inline versions.
112211         (xmalloc, xrealloc): Implement without reference to the xnmalloc
112212         and xnrealloc functions, since those functions are now inline and
112213         now call us.
112214         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
112215         renaming described above.
112216         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
112217         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
112218         captures the dependency in AC_C_INLINE.
112220         New module canonicalize-lgpl, proposed by Charles Wilson in
112221         <http://lists.gnu.org/r/bug-gnulib/2006-11/msg00020.html>
112222         with a few small changes afterwards.
112223         * MODULES.html.sh (File system functions): New module
112224         canonicalize-lgpl.
112225         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
112226         and canonicalize_file_name.
112227         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
112228         * modules/canonicalize-lgpl: New files.
112230 2006-11-05  Bruno Haible  <bruno@clisp.org>
112232         * gnulib-tool (func_import, func_create_testdir): Create directories
112233         also for files in subdirectories of lib/.
112235 2006-11-05  Bruno Haible  <bruno@clisp.org>
112237         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
112238         ANSI C compliant.
112240 2006-11-03  Bruno Haible  <bruno@clisp.org>
112242         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
112243         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
112244         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
112245         (xnboundedmalloc): New inline function.
112246         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
112247         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
112248         xmalloc.
112249         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
112250         xmalloc.
112251         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
112252         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
112253         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
112254         xmalloc.
112255         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
112256         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
112257         xmalloc.
112258         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
112259         gl_tree_add_after): Use XMALLOC instead of xmalloc.
112260         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
112261         xmalloc.
112262         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
112263         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
112264         gl_tree_add_after): Use XMALLOC instead of xmalloc.
112265         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
112266         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
112267         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
112268         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
112270 2006-11-03  Bruno Haible  <bruno@clisp.org>
112272         * lib/c-ctype.h [C++]: Define functions without name mangling.
112273         * lib/fwriteerror.h [C++]: Likewise.
112274         * lib/gcd.h [C++]: Likewise.
112275         * lib/linebreak.h [C++]: Likewise.
112277 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
112279         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
112280         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
112281         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
112282         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
112283         Check for functions and headers just once.
112284         Check for declaration of canonicalize_file_name.
112285         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
112287 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
112289         * gnulib-tool (func_import): Fix typo in actioncmd.
112291 2006-11-02  Bruno Haible  <bruno@clisp.org>
112293         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
112294         newline sequence in the Makefile.am snippet as a space, like "make"
112295         does.
112296         Reported by Roger Persson <perrog@gmail.com>.
112298 2006-11-01  Bruno Haible  <bruno@clisp.org>
112300         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
112301         already declared in <string.h>.
112302         * lib/strcase.h (strncasecmp): Don't declare it if yes.
112304 2006-11-01  Bruno Haible  <bruno@clisp.org>
112306         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
112307         * lib/strcase.h: Include <string.h>.
112308         (strcasecmp): Define to rpl_strcasecmp here.
112310 2006-11-01  Bruno Haible  <bruno@clisp.org>
112312         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
112314 2006-11-01  Eric Blake  <ebb9@byu.net>
112316         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
112318         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
112320 2006-10-29  Bruno Haible  <bruno@clisp.org>
112322         Make it compile in C++ mode.
112323         * lib/full-write.c (full_rw): Add a cast.
112325 2006-11-01  Bruno Haible  <bruno@clisp.org>
112327         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
112328         be POSIX compliant.
112329         Reported by Roger Persson <perrog@gmail.com>.
112331 2006-11-01  Eric Blake  <ebb9@byu.net>
112333         * lib/getopt_.h: Fix comments.
112335 2006-10-31  Eric Blake  <ebb9@byu.net>
112337         * modules/tmpdir (Depends-on): Add sys_stat.
112338         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
112339         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
112340         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
112341         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
112342         tempname.
112344 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
112346         Avoid some C++ diagnostics reported by Bruno Haible.
112347         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
112348         xmalloc.
112349         (quotearg_alloc): Use xcharalloc rather than xmalloc.
112350         (struct slotvec): Move to top level.
112351         (quotearg_n_options): Rewrite to avoid xmalloc.
112352         * lib/xalloc.h (xcharalloc): New function.
112353         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
112354         [defined __cplusplus]: Add function template that provides result
112355         type propagation.  This part of the change is from Bruno Haible.
112357 2006-10-29  Bruno Haible  <bruno@clisp.org>
112359         Make it compile in C++ mode.
112360         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
112361         * lib/strnlen1.c (strnlen1): Cast memchr result.
112362         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
112363         * lib/clean-temp.c (string_equals, string_hash): Add casts.
112364         (create_temp_dir): Rename local variable 'template'.
112365         (compile_csharp_using_sscli): Add cast.
112366         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
112367         * lib/findprog.c (find_in_path): Likewise.
112368         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
112369         * lib/wait-process.c (register_slave_subprocess): Likewise.
112371 2006-10-22  Bruno Haible  <bruno@clisp.org>
112373         * modules/tsearch: New file.
112374         * lib/tsearch.h: New file.
112375         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
112376         * m4/tsearch.m4: New file.
112377         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
112379 2006-10-29  Eric Blake  <ebb9@byu.net>
112381         * lib/arcfour.c: Assume config.h.
112382         * lib/arctwo.c: Likewise.
112383         * lib/base64.c: Likewise.
112384         * lib/check-version.c: Likewise.
112385         * lib/crc.c: Likewise.
112386         * lib/des.c: Likewise.
112387         * lib/gc-gnulib.c: Likewise.
112388         * lib/gc-libgcrypt.c: Likewise.
112389         * lib/gc-pbkdf2-sha1.c: Likewise.
112390         * lib/getaddrinfo.c: Likewise.
112391         * lib/getdelim.c: Likewise.
112392         * lib/getline.c: Likewise.
112393         * lib/hmac-md5.c: Likewise.
112394         * lib/hmac-sha1.c: Likewise.
112395         * lib/iconvme.c: Likewise.
112396         * lib/md2.c: Likewise.
112397         * lib/md4.c: Likewise.
112398         * lib/memxor.c: Likewise.
112399         * lib/read-file.c: Likewise.
112400         * lib/readline.c: Likewise.
112401         * lib/rijndael-alg-fst.c: Likewise.
112402         * lib/rijndael-api-fst.c: Likewise.
112403         * lib/xgetdomainname.c: Likewise.
112405 2006-10-28  Eric Blake  <ebb9@byu.net>
112407         * lib/xstrndup.c: Assume config.h.
112409 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
112411         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
112412         stat-macros.h is now for our own macros, whereas stat_h is for
112413         macros in the <sys/stat.h> name space.
112414         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
112415         (STAT_MACROS_H): Remove.
112416         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
112417         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
112418         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
112419         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
112420         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
112421         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
112422         Move these macros to ...
112423         * lib/stat_.h: here.  Don't include stat-macros.h.
112424         * lib/canonicalize.c: Don't include stat-macros.h.
112425         * lib/chown.c: Likewise.
112426         * lib/euidaccess.c: Likewise.
112427         * lib/file-type.c: Likewise.
112428         * lib/filemode.c: Likewise.
112429         * lib/glob.c: Likewise.
112430         * lib/isapipe.c: Likewise.
112431         * lib/lchown.c: Likewise.
112432         * lib/lstat.c: Likewise.
112433         * lib/mkdir-p.c: Likewise.
112434         * lib/rmdir.c: Likewise.
112435         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
112436         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
112437         unless mkdir isn't declared, to speed up 'configure'.
112438         Always create sys/stat.h, since it's unlikely any real sys/stat.h
112439         would define all the S_* symbols.
112440         * modules/canonicalize (Depends-on):
112441         Depend on sys_stat, not stat-macros.
112442         * modules/chown: Likewise.
112443         * modules/euidaccess: Likewise.
112444         * modules/filemode: Likewise.
112445         * modules/file-type: Likewise.
112446         * modules/glob: Likewise.
112447         * modules/isapipe: Likewise.
112448         * modules/lchown: Likewise.
112449         * modules/lstat: Likewise.
112450         * modules/mkancesdirs: Likewise.
112451         * modules/rmdir: Likewise.
112452         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
112453         * modules/modechange: Likewise.
112454         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
112455         (configure.ac): Remove gl_STAT_MACROS.
112456         * modules/sys_stat (Depends-on): Remove stat-macros.
112458 2006-10-27  Bruno Haible  <bruno@clisp.org>
112460         * m4/signed.m4: Remove file.
112461         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
112462         invocation.
112463         * modules/vasnprintf (Files): Remove m4/signed.m4.
112465 2006-10-27  Bruno Haible  <bruno@clisp.org>
112467         Update to GNU gettext 0.16.
112468         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
112469         m4/inttypes-h.m4, m4/signed.m4.
112470         * m4/gettext.m4: Update to GNU gettext 0.16.
112471         * m4/intl.m4: New file, from GNU gettext.
112472         * m4/intldir.m4: New file, from GNU gettext.
112473         * config/srclist.txt: Update
112475 2006-10-27  Eric Blake  <ebb9@byu.net>
112477         * MODULES.html.sh: Document tempname.
112478         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
112479         dependencies.
112480         (Files): Move lib/tempname.c...
112481         * modules/tempname: ...to this new module.
112482         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
112483         (gl_PREREQ_TEMPNAME): Move...
112484         * m4/tempname.m4: ...to this new file.
112485         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
112486         * modules/sys_stat (Depends-on): Add stat-macros.
112487         * lib/stat_.h (includes): Pick up stat macros.
112488         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
112489         if stat macros are broken.
112490         * lib/tempname.c (includes): No need to include "stat-macros.h".
112491         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
112492         (direxists, __path_search) [!_LIBC]: Don't compile these in
112493         gnulib; the tmpdir module covers that.
112494         * lib/tempname.h: New file.
112496 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
112498         * COPYING: Explain how gnulib-tool converts licence headers.
112499         Almost all wording by Eric Blake.
112501 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
112503         * lib/mbchar.h (is_basic_table): Make read-only.
112504         * lib/mbchar.c (is_basic_table): Likewise.
112505         Reported by John Darrington.
112507 2006-10-25  Bruno Haible  <bruno@clisp.org>
112509         * lib/progname.h (set_program_name): Undefine before defining.
112511 2006-10-25  Bruno Haible  <bruno@clisp.org>
112513         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
112514         false for non-gcc C++ compilers.
112515         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
112517 2006-10-24  Bruno Haible  <bruno@clisp.org>
112519         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
112520         iconv implementations like Irix iconv.
112522 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
112524         * modules/vararrays: New file.
112525         * m4/vararrays.m4: New file, taken from diffutils.
112526         * MODULES.html.sh: New module vararrays.
112528 2006-10-24  Karl Berry  <karl@gnu.org>
112530         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
112531         Don't call GNU Unix.
112533 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
112535         * users.txt: Add Libtool.
112537         Sync from Libtool:
112539         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
112541         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
112542         to gnulib's policy of including config.h unconditionally.
112544 2006-10-24  Bruno Haible  <bruno@clisp.org>
112546         * modules/wcwidth (Files): Add m4/wint_t.m4.
112547         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
112548         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
112550 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
112552         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
112553         to pacify GCC with some -W flags enabled.  Problem reported by
112554         Bruno Haible.
112556 2006-10-24  Jim Meyering  <jim@meyering.net>
112558         * MODULES.html.sh: Remove uinttostr.  It's not a module.
112559         Reported by Karl Berry.
112561 2006-10-23  Bruno Haible  <bruno@clisp.org>
112563         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
112565 2006-10-24  Bruno Haible  <bruno@clisp.org>
112567         * lib/gl_list.h: Use C comment style, not C++ comment style.
112569 2006-10-23  Eric Blake  <ebb9@byu.net>
112571         * lib/getaddrinfo.c (includes): Add missing include.
112573 2006-10-23  Bruno Haible  <bruno@clisp.org>
112574             Paul Eggert  <eggert@cs.ucla.edu>
112576         Ability to rename obstack_free.
112577         * lib/obstack.h (__obstack_free): New macro. Declare instead of
112578         obstack_free.
112579         (obstack_free): Invoke the __obstack_free macro.
112580         * lib/obstack.c (obstack_free): Use __obstack_free macro.
112582 2006-10-23  Bruno Haible  <bruno@clisp.org>
112583             Paul Eggert  <eggert@cs.ucla.edu>
112585         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
112586         __argc, __argv from the declaration. (They are defined as macros on
112587         mingw.)
112589 2006-10-22  Bruno Haible  <bruno@clisp.org>
112591         * doc/gnulib-intro.texi: New file.
112592         * doc/gnulib.texi: Include it.
112594 2006-10-21  Bruno Haible  <bruno@clisp.org>
112596         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
112597         "Introduction", "Miscellanous Notes", "Particular Modules".
112599 2006-10-21  Bruno Haible  <bruno@clisp.org>
112601         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
112602         Change mostlyclean-local rule to avoid sh syntax error from bash
112603         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
112605 2006-10-23  Jim Meyering  <jim@meyering.net>
112607         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
112608         in place of snprintf.
112610         * modules/inttostr (Files): Add lib/uinttostr.c.
112611         * lib/uinttostr.c (inttostr): New file/function.
112612         * lib/inttostr.h (uinttostr): Declare.
112613         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
112614         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
112615         Add uinttostr.
112616         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
112618 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
112620         * lib/canonicalize.c (ELOOP): Define if not already defined.
112621         Problem reported by Bruno Haible in
112622         <http://lists.gnu.org/r/bug-gnulib/2006-10/msg00282.html>.
112624 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
112626         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
112627         Problem reported by Perry Smith and Ville Laurikari.
112629         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
112630         uses.
112632 2006-10-19  Bruno Haible  <bruno@clisp.org>
112634         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
112635         for mingw.
112637 2006-10-19  Bruno Haible  <bruno@clisp.org>
112639         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
112640         Needed for mingw.
112642 2006-10-19  Bruno Haible  <bruno@clisp.org>
112644         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
112646 2006-10-19  Bruno Haible  <bruno@clisp.org>
112648         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
112649         it.
112651 2006-10-19  Bruno Haible  <bruno@clisp.org>
112653         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
112654         invocation.
112656 2006-10-19  Bruno Haible  <bruno@clisp.org>
112658         * gnulib-tool (func_create_testdir): Don't include ftruncate and
112659         mountlist by default.
112661 2006-10-16  Bruno Haible  <bruno@clisp.org>
112663         * lib/c-strstr.c: Include c-strstr.h.
112665 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
112667         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
112668         in a slash.
112670 2006-10-18  Bruno Haible  <bruno@clisp.org>
112672         * lib/lock.h [C++]: Wrap definitions in extern "C".
112674 2006-10-18  Bruno Haible  <bruno@clisp.org>
112676         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
112677         gl_LIBOBJS list.
112679 2006-10-18  Bruno Haible  <bruno@clisp.org>
112681         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
112683 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
112685         * lib/xstrtol.h: Include gettext.h.
112686         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
112687         Problem reported by Eric Blake.
112688         * modules/xstrtol (Depends-on): Add gettext-h.
112690 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
112692         * lib/strftime.c (advance): New macro.
112693         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
112694         incomplete type, so you can't add 0 to it.  Problem and patch
112695         reported by Eelco Dolstra for dietlibc.
112697 2006-10-18  Jim Meyering  <jim@meyering.net>
112699         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
112700         type for a local, and rename it: s/up/user_proc/.
112702 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
112704         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
112705         READ_UTMP_USER_PROCESS.
112706         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
112708 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
112710         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
112711         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
112713 2006-10-17  Eric Blake  <ebb9@byu.net>
112715         * lib/sigprocmask.c (sigprocmask): Fix typo.
112717         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
112719         * modules/clean-temp (Makefile.am): Don't add to make output...
112720         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
112721         config.h.
112723 2006-10-17  Bruno Haible  <bruno@clisp.org>
112725         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
112726         differently if DEFAULT_TEXT_DOMAIN is set.
112728 2006-10-16  Bruno Haible  <bruno@clisp.org>
112730         * lib/clean-temp.c: Include fwriteerror.h.
112732 2006-10-16  Bruno Haible  <bruno@clisp.org>
112734         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
112736 2006-10-16  Bruno Haible  <bruno@clisp.org>
112738         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
112739         * lib/sigprocmask.h: Include <sys/types.h>.
112740         (sigset_t): Use the system's definition if present.
112742 2006-10-17  Eric Blake  <ebb9@byu.net>
112744         * lib/xvasprintf.c (includes): Assume config.h.
112745         * lib/xasprintf.c (includes): Likewise.
112747 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
112749         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
112750         at least as wide as intmax_t.
112752 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
112754         (Imported from Automake.)
112755         * build-aux/gnupload: Update to version 1.1 of directive file.
112757 2006-10-16  Eric Blake  <ebb9@byu.net>
112759         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
112760         match Automake 1.10a.
112762 2006-10-14  Bruno Haible  <bruno@clisp.org>
112764         * modules/sigprocmask: New file.
112765         * lib/sigprocmask.h: New file.
112766         * lib/sigprocmask.c: New file.
112767         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
112768         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
112769         request sigprocmask.o.
112770         (gl_PREREQ_SIGPROCMASK): New macro.
112771         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
112772         (Depends-on): Add sigprocmask.
112773         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
112774         gt_SIGNALBLOCKING. Test for 'raise' only once.
112775         * lib/fatal-signal.c: Include sigprocmask.h.
112776         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
112777         unblock_fatal_signals): Define always.
112778         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
112779         sigprocmask.
112781 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
112783         Sync from Automake.
112784         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
112785         which incorrectly sets the mode of an existing destination
112786         directory.  In some cases the unpatched install-sh could do the
112787         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
112788         system.  We hope this is rare in practice, but it's clearly worth
112789         fixing.  Problem reported by Alex Unleashed in
112790         <http://lists.gnu.org/r/bug-autoconf/2006-10/msg00012.html>.
112791         Also, don't bother to check for -m bugs unless we're using -m;
112792         suggested by Stepan Kasal.
112794 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
112796         Sync from Automake.
112797         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
112798         `-c' flag, so they appear at the same position as in %FASTDEP%
112799         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
112800         which ignores unknown options only after the first non-option.
112801         Bug report against M4 by Nelson H. F. Beebe.
112803 2006-10-13  Jim Meyering  <jim@meyering.net>
112805         Fix a bug in yesterday's change.
112806         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
112807         p->fts_statp->st_dev would be used uninitialized.
112808         Ensures that we always call fts_stat on the very first entry.
112809         Miklos Szeredi reported that find -xdev stopped working.
112811 2006-10-12  Bruno Haible  <bruno@clisp.org>
112813         * gnulib-tool (func_get_automake_snippet): Append an automatically
112814         computed EXTRA_DIST augmentation.
112815         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
112816         * modules/alloca-opt (Makefile.am): Likewise.
112817         * modules/allocsa (Makefile.am): Likewise.
112818         * modules/arcfour (Makefile.am): Likewise.
112819         * modules/arctwo (Makefile.am): Likewise.
112820         * modules/argmatch (Makefile.am): Likewise.
112821         * modules/argz (Makefile.am): Likewise.
112822         * modules/atexit (Makefile.am): Likewise.
112823         * modules/backupfile (Makefile.am): Likewise.
112824         * modules/byteswap (Makefile.am): Likewise.
112825         * modules/c-strtod (Makefile.am): Likewise.
112826         * modules/c-strtold (Makefile.am): Likewise.
112827         * modules/calloc (Makefile.am): Likewise.
112828         * modules/canon-host (Makefile.am): Likewise.
112829         * modules/canonicalize (Makefile.am): Likewise.
112830         * modules/chdir-long (Makefile.am): Likewise.
112831         * modules/chdir-safer (Makefile.am): Likewise.
112832         * modules/check-version (Makefile.am): Likewise.
112833         * modules/chown (Makefile.am): Likewise.
112834         * modules/cloexec (Makefile.am): Likewise.
112835         * modules/close-stream (Makefile.am): Likewise.
112836         * modules/closeout (Makefile.am): Likewise.
112837         * modules/crc (Makefile.am): Likewise.
112838         * modules/csharpexec (Makefile.am): Likewise.
112839         * modules/cycle-check (Makefile.am): Likewise.
112840         * modules/des (Makefile.am): Likewise.
112841         * modules/dev-ino (Makefile.am): Likewise.
112842         * modules/dirfd (Makefile.am): Likewise.
112843         * modules/dirname (Makefile.am): Likewise.
112844         * modules/dup2 (Makefile.am): Likewise.
112845         * modules/eealloc (Makefile.am): Likewise.
112846         * modules/error (Makefile.am): Likewise.
112847         * modules/euidaccess (Makefile.am): Likewise.
112848         * modules/exclude (Makefile.am): Likewise.
112849         * modules/exitfail (Makefile.am): Likewise.
112850         * modules/fcntl-safer (Makefile.am): Likewise.
112851         * modules/fcntl (Makefile.am): Likewise.
112852         * modules/file-type (Makefile.am): Likewise.
112853         * modules/fileblocks (Makefile.am): Likewise.
112854         * modules/filemode (Makefile.am): Likewise.
112855         * modules/filenamecat (Makefile.am): Likewise.
112856         * modules/fnmatch (Makefile.am): Likewise.
112857         * modules/fopen-safer (Makefile.am): Likewise.
112858         * modules/fpending (Makefile.am): Likewise.
112859         * modules/fprintftime (Makefile.am): Likewise.
112860         * modules/free (Makefile.am): Likewise.
112861         * modules/fsusage (Makefile.am): Likewise.
112862         * modules/ftruncate (Makefile.am): Likewise.
112863         * modules/fts (Makefile.am): Likewise.
112864         * modules/gc-arcfour (Makefile.am): Likewise.
112865         * modules/gc-des (Makefile.am): Likewise.
112866         * modules/gc-hmac-md5 (Makefile.am): Likewise.
112867         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
112868         * modules/gc-md4 (Makefile.am): Likewise.
112869         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
112870         * modules/gc-sha1 (Makefile.am): Likewise.
112871         * modules/gc (Makefile.am): Likewise.
112872         * modules/getaddrinfo (Makefile.am): Likewise.
112873         * modules/getcwd (Makefile.am): Likewise.
112874         * modules/getdelim (Makefile.am): Likewise.
112875         * modules/getdomainname (Makefile.am): Likewise.
112876         * modules/getgroups (Makefile.am): Likewise.
112877         * modules/gethostname (Makefile.am): Likewise.
112878         * modules/gethrxtime (Makefile.am): Likewise.
112879         * modules/getline (Makefile.am): Likewise.
112880         * modules/getloadavg (Makefile.am): Likewise.
112881         * modules/getlogin_r (Makefile.am): Likewise.
112882         * modules/getndelim2 (Makefile.am): Likewise.
112883         * modules/getopt (Makefile.am): Likewise.
112884         * modules/getpagesize (Makefile.am): Likewise.
112885         * modules/getpass-gnu (Makefile.am): Likewise.
112886         * modules/getpass (Makefile.am): Likewise.
112887         * modules/getsubopt (Makefile.am): Likewise.
112888         * modules/gettime (Makefile.am): Likewise.
112889         * modules/gettimeofday (Makefile.am): Likewise.
112890         * modules/getugroups (Makefile.am): Likewise.
112891         * modules/getusershell (Makefile.am): Likewise.
112892         * modules/glob (Makefile.am): Likewise.
112893         * modules/group-member (Makefile.am): Likewise.
112894         * modules/hard-locale (Makefile.am): Likewise.
112895         * modules/hash (Makefile.am): Likewise.
112896         * modules/hmac-md5 (Makefile.am): Likewise.
112897         * modules/hmac-sha1 (Makefile.am): Likewise.
112898         * modules/human (Makefile.am): Likewise.
112899         * modules/idcache (Makefile.am): Likewise.
112900         * modules/imaxabs (Makefile.am): Likewise.
112901         * modules/imaxdiv (Makefile.am): Likewise.
112902         * modules/inet_ntop (Makefile.am): Likewise.
112903         * modules/inet_pton (Makefile.am): Likewise.
112904         * modules/intprops (Makefile.am): Likewise.
112905         * modules/inttostr (Makefile.am): Likewise.
112906         * modules/inttypes (Makefile.am): Likewise.
112907         * modules/isapipe (Makefile.am): Likewise.
112908         * modules/javaversion (Makefile.am): Likewise.
112909         * modules/lchmod (Makefile.am): Likewise.
112910         * modules/lchown (Makefile.am): Likewise.
112911         * modules/localcharset (Makefile.am): Likewise.
112912         * modules/long-options (Makefile.am): Likewise.
112913         * modules/lstat (Makefile.am): Likewise.
112914         * modules/malloc (Makefile.am): Likewise.
112915         * modules/mathl (Makefile.am): Likewise.
112916         * modules/mbchar (Makefile.am): Likewise.
112917         * modules/md2 (Makefile.am): Likewise.
112918         * modules/md4 (Makefile.am): Likewise.
112919         * modules/md5 (Makefile.am): Likewise.
112920         * modules/memcasecmp (Makefile.am): Likewise.
112921         * modules/memchr (Makefile.am): Likewise.
112922         * modules/memcmp (Makefile.am): Likewise.
112923         * modules/memcoll (Makefile.am): Likewise.
112924         * modules/memcpy (Makefile.am): Likewise.
112925         * modules/memmem (Makefile.am): Likewise.
112926         * modules/memmove (Makefile.am): Likewise.
112927         * modules/mempcpy (Makefile.am): Likewise.
112928         * modules/memrchr (Makefile.am): Likewise.
112929         * modules/memset (Makefile.am): Likewise.
112930         * modules/memxor (Makefile.am): Likewise.
112931         * modules/mkancesdirs (Makefile.am): Likewise.
112932         * modules/mkdir-p (Makefile.am): Likewise.
112933         * modules/mkdir (Makefile.am): Likewise.
112934         * modules/mkdtemp (Makefile.am): Likewise.
112935         * modules/mkstemp (Makefile.am): Likewise.
112936         * modules/mktime (Makefile.am): Likewise.
112937         * modules/modechange (Makefile.am): Likewise.
112938         * modules/mountlist (Makefile.am): Likewise.
112939         * modules/nanosleep (Makefile.am): Likewise.
112940         * modules/obstack (Makefile.am): Likewise.
112941         * modules/openat (Makefile.am): Likewise.
112942         * modules/pagealign_alloc (Makefile.am): Likewise.
112943         * modules/pathmax (Makefile.am): Likewise.
112944         * modules/physmem (Makefile.am): Likewise.
112945         * modules/poll (Makefile.am): Likewise.
112946         * modules/posixtm (Makefile.am): Likewise.
112947         * modules/posixver (Makefile.am): Likewise.
112948         * modules/putenv (Makefile.am): Likewise.
112949         * modules/quote (Makefile.am): Likewise.
112950         * modules/quotearg (Makefile.am): Likewise.
112951         * modules/raise (Makefile.am): Likewise.
112952         * modules/read-file (Makefile.am): Likewise.
112953         * modules/readline (Makefile.am): Likewise.
112954         * modules/readlink (Makefile.am): Likewise.
112955         * modules/readtokens (Makefile.am): Likewise.
112956         * modules/readutmp (Makefile.am): Likewise.
112957         * modules/realloc (Makefile.am): Likewise.
112958         * modules/regex (Makefile.am): Likewise.
112959         * modules/rename-dest-slash (Makefile.am): Likewise.
112960         * modules/rename (Makefile.am): Likewise.
112961         * modules/rijndael (Makefile.am): Likewise.
112962         * modules/rmdir (Makefile.am): Likewise.
112963         * modules/rpmatch (Makefile.am): Likewise.
112964         * modules/safe-read (Makefile.am): Likewise.
112965         * modules/safe-write (Makefile.am): Likewise.
112966         * modules/same-inode (Makefile.am): Likewise.
112967         * modules/same (Makefile.am): Likewise.
112968         * modules/save-cwd (Makefile.am): Likewise.
112969         * modules/savedir (Makefile.am): Likewise.
112970         * modules/setenv (Makefile.am): Likewise.
112971         * modules/settime (Makefile.am): Likewise.
112972         * modules/sha1 (Makefile.am): Likewise.
112973         * modules/sig2str (Makefile.am): Likewise.
112974         * modules/snprintf (Makefile.am): Likewise.
112975         * modules/stat-macros (Makefile.am): Likewise.
112976         * modules/stat-time (Makefile.am): Likewise.
112977         * modules/stdbool (Makefile.am): Likewise.
112978         * modules/stdint (Makefile.am): Likewise.
112979         * modules/stdlib-safer (Makefile.am): Likewise.
112980         * modules/stpcpy (Makefile.am): Likewise.
112981         * modules/stpncpy (Makefile.am): Likewise.
112982         * modules/strcase (Makefile.am): Likewise.
112983         * modules/strcasestr (Makefile.am): Likewise.
112984         * modules/strchrnul (Makefile.am): Likewise.
112985         * modules/strcspn (Makefile.am): Likewise.
112986         * modules/strdup (Makefile.am): Likewise.
112987         * modules/strerror (Makefile.am): Likewise.
112988         * modules/strftime (Makefile.am): Likewise.
112989         * modules/strndup (Makefile.am): Likewise.
112990         * modules/strnlen (Makefile.am): Likewise.
112991         * modules/strpbrk (Makefile.am): Likewise.
112992         * modules/strsep (Makefile.am): Likewise.
112993         * modules/strstr (Makefile.am): Likewise.
112994         * modules/strtod (Makefile.am): Likewise.
112995         * modules/strtoimax (Makefile.am): Likewise.
112996         * modules/strtok_r (Makefile.am): Likewise.
112997         * modules/strtol (Makefile.am): Likewise.
112998         * modules/strtoll (Makefile.am): Likewise.
112999         * modules/strtoul (Makefile.am): Likewise.
113000         * modules/strtoull (Makefile.am): Likewise.
113001         * modules/strtoumax (Makefile.am): Likewise.
113002         * modules/strverscmp (Makefile.am): Likewise.
113003         * modules/sys_socket (Makefile.am): Likewise.
113004         * modules/sys_stat (Makefile.am): Likewise.
113005         * modules/sysexits (Makefile.am): Likewise.
113006         * modules/time_r (Makefile.am): Likewise.
113007         * modules/timegm (Makefile.am): Likewise.
113008         * modules/timespec (Makefile.am): Likewise.
113009         * modules/tmpfile-safer (Makefile.am): Likewise.
113010         * modules/trim (Makefile.am): Likewise.
113011         * modules/unistd-safer (Makefile.am): Likewise.
113012         * modules/unlinkdir (Makefile.am): Likewise.
113013         * modules/unlocked-io (Makefile.am): Likewise.
113014         * modules/userspec (Makefile.am): Likewise.
113015         * modules/utime (Makefile.am): Likewise.
113016         * modules/utimecmp (Makefile.am): Likewise.
113017         * modules/utimens (Makefile.am): Likewise.
113018         * modules/vasnprintf (Makefile.am): Likewise.
113019         * modules/vasprintf (Makefile.am): Likewise.
113020         * modules/vsnprintf (Makefile.am): Likewise.
113021         * modules/xalloc (Makefile.am): Likewise.
113022         * modules/xgetcwd (Makefile.am): Likewise.
113023         * modules/xnanosleep (Makefile.am): Likewise.
113024         * modules/xreadlink (Makefile.am): Likewise.
113025         * modules/xstrtod (Makefile.am): Likewise.
113026         * modules/xstrtol (Makefile.am): Likewise.
113027         * modules/xstrtold (Makefile.am): Likewise.
113028         * modules/yesno (Makefile.am): Likewise.
113029         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
113031 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
113033         * modules/error (Makefile.am): Distribute files through
113034         EXTRA_DIST, not lib_SOURCES.
113036 2006-10-12  Eric Blake  <ebb9@byu.net>
113038         * modules/error (Makefile.am): Distribute files in /lib.
113039         * modules/obstack (Makefile.am): Likewise.
113041 2006-10-12  Bruno Haible  <bruno@clisp.org>
113043         * modules/acl (Makefile.am): Distribute all files in lib/ through
113044         EXTRA_DIST.
113045         * modules/arcfour (Makefile.am): Likewise.
113046         * modules/arctwo (Makefile.am): Likewise.
113047         * modules/argmatch (Makefile.am): Likewise.
113048         * modules/argz (Makefile.am): Likewise.
113049         * modules/atexit (Makefile.am): Likewise.
113050         * modules/backupfile (Makefile.am): Likewise.
113051         * modules/c-strtod (Makefile.am): Likewise.
113052         * modules/c-strtold (Makefile.am): Likewise.
113053         * modules/calloc (Makefile.am): Likewise.
113054         * modules/canon-host (Makefile.am): Likewise.
113055         * modules/canonicalize (Makefile.am): Likewise.
113056         * modules/chdir-long (Makefile.am): Likewise.
113057         * modules/chdir-safer (Makefile.am): Likewise.
113058         * modules/check-version (Makefile.am): Likewise.
113059         * modules/chown (Makefile.am): Likewise.
113060         * modules/cloexec (Makefile.am): Likewise.
113061         * modules/close-stream (Makefile.am): Likewise.
113062         * modules/closeout (Makefile.am): Likewise.
113063         * modules/crc (Makefile.am): Likewise.
113064         * modules/cycle-check (Makefile.am): Likewise.
113065         * modules/des (Makefile.am): Likewise.
113066         * modules/dirfd (Makefile.am): Likewise.
113067         * modules/dirname (Makefile.am): Likewise.
113068         * modules/dup2 (Makefile.am): Likewise.
113069         * modules/euidaccess (Makefile.am): Likewise.
113070         * modules/exclude (Makefile.am): Likewise.
113071         * modules/exitfail (Makefile.am): Likewise.
113072         * modules/fcntl-safer (Makefile.am): Likewise.
113073         * modules/file-type (Makefile.am): Likewise.
113074         * modules/fileblocks (Makefile.am): Likewise.
113075         * modules/filemode (Makefile.am): Likewise.
113076         * modules/filenamecat (Makefile.am): Likewise.
113077         * modules/fnmatch (Makefile.am): Likewise.
113078         * modules/fopen-safer (Makefile.am): Likewise.
113079         * modules/fpending (Makefile.am): Likewise.
113080         * modules/fprintftime (Makefile.am): Likewise.
113081         * modules/free (Makefile.am): Likewise.
113082         * modules/fsusage (Makefile.am): Likewise.
113083         * modules/ftruncate (Makefile.am): Likewise.
113084         * modules/fts (Makefile.am): Likewise.
113085         * modules/gc (Makefile.am): Likewise.
113086         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
113087         * modules/getaddrinfo (Makefile.am): Likewise.
113088         * modules/getcwd (Makefile.am): Likewise.
113089         * modules/getdelim (Makefile.am): Likewise.
113090         * modules/getdomainname (Makefile.am): Likewise.
113091         * modules/getgroups (Makefile.am): Likewise.
113092         * modules/gethostname (Makefile.am): Likewise.
113093         * modules/gethrxtime (Makefile.am): Likewise.
113094         * modules/getline (Makefile.am): Likewise.
113095         * modules/getloadavg (Makefile.am): Likewise.
113096         * modules/getlogin_r (Makefile.am): Likewise.
113097         * modules/getopt (Makefile.am): Likewise.
113098         * modules/getpass (Makefile.am): Likewise.
113099         * modules/getpass-gnu (Makefile.am): Likewise.
113100         * modules/getsubopt (Makefile.am): Likewise.
113101         * modules/gettime (Makefile.am): Likewise.
113102         * modules/gettimeofday (Makefile.am): Likewise.
113103         * modules/getugroups (Makefile.am): Likewise.
113104         * modules/getusershell (Makefile.am): Likewise.
113105         * modules/glob (Makefile.am): Likewise.
113106         * modules/group-member (Makefile.am): Likewise.
113107         * modules/hard-locale (Makefile.am): Likewise.
113108         * modules/hash (Makefile.am): Likewise.
113109         * modules/hmac-md5 (Makefile.am): Likewise.
113110         * modules/hmac-sha1 (Makefile.am): Likewise.
113111         * modules/human (Makefile.am): Likewise.
113112         * modules/idcache (Makefile.am): Likewise.
113113         * modules/imaxabs (Makefile.am): Likewise.
113114         * modules/imaxdiv (Makefile.am): Likewise.
113115         * modules/inet_ntop (Makefile.am): Likewise.
113116         * modules/inet_pton (Makefile.am): Likewise.
113117         * modules/inttostr (Makefile.am): Likewise.
113118         * modules/isapipe (Makefile.am): Likewise.
113119         * modules/lchown (Makefile.am): Likewise.
113120         * modules/long-options (Makefile.am): Likewise.
113121         * modules/lstat (Makefile.am): Likewise.
113122         * modules/malloc (Makefile.am): Likewise.
113123         * modules/mathl (Makefile.am): Likewise.
113124         * modules/mbchar (Makefile.am): Likewise.
113125         * modules/md2 (Makefile.am): Likewise.
113126         * modules/md4 (Makefile.am): Likewise.
113127         * modules/md5 (Makefile.am): Likewise.
113128         * modules/memcasecmp (Makefile.am): Likewise.
113129         * modules/memchr (Makefile.am): Likewise.
113130         * modules/memcmp (Makefile.am): Likewise.
113131         * modules/memcoll (Makefile.am): Likewise.
113132         * modules/memcpy (Makefile.am): Likewise.
113133         * modules/memmem (Makefile.am): Likewise.
113134         * modules/memmove (Makefile.am): Likewise.
113135         * modules/mempcpy (Makefile.am): Likewise.
113136         * modules/memrchr (Makefile.am): Likewise.
113137         * modules/memset (Makefile.am): Likewise.
113138         * modules/memxor (Makefile.am): Likewise.
113139         * modules/mkancesdirs (Makefile.am): Likewise.
113140         * modules/mkdir (Makefile.am): Likewise.
113141         * modules/mkdir-p (Makefile.am): Likewise.
113142         * modules/mkdtemp (Makefile.am): Likewise.
113143         * modules/mkstemp (Makefile.am): Likewise.
113144         * modules/mktime (Makefile.am): Likewise.
113145         * modules/modechange (Makefile.am): Likewise.
113146         * modules/mountlist (Makefile.am): Likewise.
113147         * modules/nanosleep (Makefile.am): Likewise.
113148         * modules/openat (Makefile.am): Likewise.
113149         * modules/pagealign_alloc (Makefile.am): Likewise.
113150         * modules/physmem (Makefile.am): Likewise.
113151         * modules/poll (Makefile.am): Likewise.
113152         * modules/posixtm (Makefile.am): Likewise.
113153         * modules/posixver (Makefile.am): Likewise.
113154         * modules/putenv (Makefile.am): Likewise.
113155         * modules/quote (Makefile.am): Likewise.
113156         * modules/quotearg (Makefile.am): Likewise.
113157         * modules/raise (Makefile.am): Likewise.
113158         * modules/read-file (Makefile.am): Likewise.
113159         * modules/readline (Makefile.am): Likewise.
113160         * modules/readlink (Makefile.am): Likewise.
113161         * modules/readtokens (Makefile.am): Likewise.
113162         * modules/readutmp (Makefile.am): Likewise.
113163         * modules/realloc (Makefile.am): Likewise.
113164         * modules/regex (Makefile.am): Likewise.
113165         * modules/rename (Makefile.am): Likewise.
113166         * modules/rename-dest-slash (Makefile.am): Likewise.
113167         * modules/rijndael (Makefile.am): Likewise.
113168         * modules/rmdir (Makefile.am): Likewise.
113169         * modules/rpmatch (Makefile.am): Likewise.
113170         * modules/safe-read (Makefile.am): Likewise.
113171         * modules/safe-write (Makefile.am): Likewise.
113172         * modules/same (Makefile.am): Likewise.
113173         * modules/save-cwd (Makefile.am): Likewise.
113174         * modules/savedir (Makefile.am): Likewise.
113175         * modules/setenv (Makefile.am): Likewise.
113176         * modules/settime (Makefile.am): Likewise.
113177         * modules/sha1 (Makefile.am): Likewise.
113178         * modules/sig2str (Makefile.am): Likewise.
113179         * modules/snprintf (Makefile.am): Likewise.
113180         * modules/stdlib-safer (Makefile.am): Likewise.
113181         * modules/stpcpy (Makefile.am): Likewise.
113182         * modules/stpncpy (Makefile.am): Likewise.
113183         * modules/strcase (Makefile.am): Likewise.
113184         * modules/strcasestr (Makefile.am): Likewise.
113185         * modules/strchrnul (Makefile.am): Likewise.
113186         * modules/strcspn (Makefile.am): Likewise.
113187         * modules/strdup (Makefile.am): Likewise.
113188         * modules/strerror (Makefile.am): Likewise.
113189         * modules/strftime (Makefile.am): Likewise.
113190         * modules/strndup (Makefile.am): Likewise.
113191         * modules/strnlen (Makefile.am): Likewise.
113192         * modules/strpbrk (Makefile.am): Likewise.
113193         * modules/strsep (Makefile.am): Likewise.
113194         * modules/strstr (Makefile.am): Likewise.
113195         * modules/strtod (Makefile.am): Likewise.
113196         * modules/strtoimax (Makefile.am): Likewise.
113197         * modules/strtok_r (Makefile.am): Likewise.
113198         * modules/strtol (Makefile.am): Likewise.
113199         * modules/strtoll (Makefile.am): Likewise.
113200         * modules/strtoul (Makefile.am): Likewise.
113201         * modules/strtoull (Makefile.am): Likewise.
113202         * modules/strtoumax (Makefile.am): Likewise.
113203         * modules/strverscmp (Makefile.am): Likewise.
113204         * modules/time_r (Makefile.am): Likewise.
113205         * modules/timegm (Makefile.am): Likewise.
113206         * modules/tmpfile-safer (Makefile.am): Likewise.
113207         * modules/unistd-safer (Makefile.am): Likewise.
113208         * modules/unlinkdir (Makefile.am): Likewise.
113209         * modules/userspec (Makefile.am): Likewise.
113210         * modules/utime (Makefile.am): Likewise.
113211         * modules/utimecmp (Makefile.am): Likewise.
113212         * modules/utimens (Makefile.am): Likewise.
113213         * modules/vasnprintf (Makefile.am): Likewise.
113214         * modules/vasprintf (Makefile.am): Likewise.
113215         * modules/vsnprintf (Makefile.am): Likewise.
113216         * modules/xalloc (Makefile.am): Likewise.
113217         * modules/xgetcwd (Makefile.am): Likewise.
113218         * modules/xnanosleep (Makefile.am): Likewise.
113219         * modules/xreadlink (Makefile.am): Likewise.
113220         * modules/xstrtod (Makefile.am): Likewise.
113221         * modules/xstrtol (Makefile.am): Likewise.
113222         * modules/xstrtold (Makefile.am): Likewise.
113223         * modules/yesno (Makefile.am): Likewise.
113225 2006-10-12  Jim Meyering  <jim@meyering.net>
113227         * m4/getloadavg.m4: Revert the change below.
113229         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
113230         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
113231         fail with a symlink, which is what coreutils' ./bootstrap now
113232         creates by default.
113234 2006-10-12  Bruno Haible  <bruno@clisp.org>
113236         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
113237         mingw.
113238         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
113239         MSVC and mingw explicitly.
113241 2006-10-11  Simon Josefsson  <jas@extundo.com>
113242             Bruno Haible  <bruno@clisp.org>
113244         Add support for multiple gnulib-tool invocations in the scope of a
113245         single configure.ac file.
113246         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
113247         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
113248         with the same contents as the _LIBADD variable.
113249         (func_emit_initmacro_start, func_emit_initmacro_end,
113250         func_emit_initmacro_done): New functions.
113251         (func_import, func_create_testdir): Invoke them. Allow the identifiers
113252         gl_LIBOBJS and gl_LTLIBOBJS.
113254 2006-10-11  Bruno Haible  <bruno@clisp.org>
113256         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
113257         (func_create_testdir): Don't create po/Makefile.am, don't invoke
113258         autoreconf. Instead, invoke autopoint explicitly but move back the
113259         *.m4 files from gnulib.
113261 2006-10-11  Bruno Haible  <bruno@clisp.org>
113263         * gnulib-tool (func_usage): Make module names after --create-testdir
113264         optional.
113265         (func_create_testdir): If no module was specified, use nearly all
113266         modules.
113268 2006-10-12  Jim Meyering  <jim@meyering.net>
113270         Big performance improvement for fts-based tools that use FTS_NOSTAT.
113271         Avoid spurious inode-mismatch problems on non-POSIX file systems.
113272         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
113273         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
113274         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
113275         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
113276         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
113277         (fts_set_stat_required): New function.
113278         (fts_open): Defer the calls to fts_stat, if possible or requested.
113279         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
113280         into fts_stat itself.
113281         (fts_read): Perform any required (deferred) fts_stat call.
113282         (fts_build): Likewise, for the directory we're about to open and read.
113283         In the readdir loop, carefully decide whether each entry will require
113284         an eventual call to fts_stat, using dirent.d_type info if available.
113285         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
113286         a command line argument into this function.  Update all callers.
113287         Map a return value of FTS_DOT to FTS_D for a command line argument.
113288         * modules/fts (Depends-on): Add d-type.  Alphabetize.
113289         Thanks to Miklos Szeredi for his tenacity and for the initial
113290         bug report about "find" failing on a FUSE-based file system.
113292         * lib/fts.c (fts_open): Use consistent indentation.
113294 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
113296         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
113297         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
113298         reported by Jim Meyering.  All uses of cache variables renamed
113299         to match Autoconf's.
113300         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
113301         the other one.
113303         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
113304         Fix misspelling in diagnostic.
113306 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
113308         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
113309         defined.  Problem reported by Matthew Woehlke.
113311         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
113312         Add support for Tandem NonStop R series.
113313         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
113314         Use new macro.
113316         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
113317         (has_trailing_slash): Omit size arg; all callers changed.
113318         Omit 'inline', since it doesn't help performance and we'd
113319         need to configure it.
113320         Don't count //, ///, etc. as having a trailing slash.
113321         As a side effect, this removes a C99ism reported by Matthew Woehlke.
113322         (rpl_rename_dest_slash): On failure, use rename's errno rather
113323         than (in some cases) an incorrect or junk errno.
113324         Simplify code by removing need to compute length; this does
113325         cause it to make two passes instead of one over the file name,
113326         but it's worth it.
113328         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
113329         change, since Autoconf's version may no longer be appropriate now
113330         that we are using CVS Autoconf's version.  Add support for Tandem.
113332 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
113333             Bruno Haible  <bruno@clisp.org>
113335         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
113336         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
113337         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
113338         gl_AC_TYPE_LONG_LONG.
113340         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
113341         instead of HAVE_LONG_LONG.
113342         * lib/printf-args.c (printf_fetchargs): Likewise.
113343         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
113344         * lib/vasnprintf.c (VASNPRINTF): Likewise.
113345         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
113346         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
113347         gl_AC_TYPE_LONG_LONG.
113349 2006-10-11  Bruno Haible  <bruno@clisp.org>
113351         * m4/longlong.m4: Add comments.
113352         * m4/ulonglong.m4: Likewise.
113354 2006-10-10  Bruno Haible  <bruno@clisp.org>
113356         Make it possible to #define stpcpy, strdup to aliases.
113357         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
113358         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
113360 2006-10-10  Bruno Haible  <bruno@clisp.org>
113362         Make it possible to #define gcd to an alias.
113363         * lib/gcd.c: Include config.h.
113365 2006-10-10  Bruno Haible  <bruno@clisp.org>
113367         Make it possible to #define c_isascii to an alias.
113368         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
113369         defined. Undefine the macros before defining them, to avoid gcc
113370         warnings.
113371         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
113372         define NO_C_CTYPE_MACROS early.
113374 2006-10-10  Bruno Haible  <bruno@clisp.org>
113376         Make it possible to #define set_program_name to an alias.
113377         * lib/progname.c: Don't undefine set_program_name; instead, undefine
113378         ENABLE_RELOCATABLE early.
113380 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
113382         Port to Tandem NSK OSS, which has 64-bit signed int but at most
113383         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
113384         http://lists.gnu.org/r/bug-coreutils/2006-10/msg00062.html
113385         More generally, don't assume that 64-bit signed int is available
113386         if unsigned int is, and vice versa.
113387         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
113388         unsigned symbols, not on their signed counterparts.
113389         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
113390         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
113391         (UINT64_C, UINTMAX_C):
113392         Likewise.
113393         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
113394         unsigned counterparts.
113395         (Have_long_long, Unsigned): New macros.
113396         (Int): Renamed from INT.
113397         (strtoimax): Use the new macros.
113398         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
113399         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
113400         * modules/inttypes (inttypes.h): Substitute
113401         HAVE_UNSIGNED_LONG_LONG_INT.
113402         * modules/stdint (stdint.h): Likewise.
113403         (Files): Add m4/ulonglong.m4.
113405 2006-10-10  Bruno Haible  <bruno@clisp.org>
113407         Fix a gcc -Wshadow warning.
113408         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
113409         to 'bucket'.
113410         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
113411         gl_linked_indexof_from_to): Likewise.
113412         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
113413         Likewise.
113414         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
113415         Likewise.
113416         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
113417         Reported by Eric Blake.
113419 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
113421         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
113422         for NetBSD.  Problem reported by Bruno Haible.
113424 2006-10-09  Jim Meyering  <jim@meyering.net>
113426         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
113427         Patch from Bruno Haible.
113429 2006-10-09  Jim Meyering  <jim@meyering.net>
113431         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
113432         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
113433         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
113435 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
113437         Don't include <config.h> twice; this doesn't work in some cases,
113438         e.g., when config.h has "#define intmax_t long long int" and
113439         we include <config.h>, <inttypes.h>, <config.h> in that order.
113440         Problem reported by Matthew Woehlke in:
113441         http://lists.gnu.org/r/bug-coreutils/2006-10/msg00073.html
113442         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
113443         * lib/fts-cycle.c: Don't include config.h.
113444         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
113445         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
113446         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
113447         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
113448         inttypes.h.
113449         * lib/xstrtoumax.c: Likewise.
113450         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
113451         __strtol and the like, so that this module is more like its siblings.
113452         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
113453         Remove; no longer needed now that we assume gnulib inttypes.h.
113455 2006-10-08  Bruno Haible  <bruno@clisp.org>
113457         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
113458         option.
113460 2006-10-07  Jim Meyering  <jim@meyering.net>
113462         * modules/inttypes (inttypes.h): Revert what seems to have been
113463         an inadvertent part of today's change: use "|", not "/" in the
113464         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
113466 2006-10-07  Bruno Haible  <bruno@clisp.org>
113468         * modules/sublist: New file.
113470 2006-10-07  Bruno Haible  <bruno@clisp.org>
113472         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
113473         * modules/argz (argz.h): Likewise.
113474         * modules/arpa_inet (arpa/inet.h): Likewise.
113475         * modules/byteswap (byteswap.h): Likewise.
113476         * modules/configmake (configmake.h): Likewise.
113477         * modules/fcntl (fcntl.h): Likewise.
113478         * modules/fnmatch (fnmatch.h): Likewise.
113479         * modules/getopt (getopt.h): Likewise.
113480         * modules/glob (glob.h): Likewise.
113481         * modules/inttypes (inttypes.h): Likewise.
113482         * modules/netinet_in (netinet/in.h): Likewise.
113483         * modules/poll (poll.h): Likewise.
113484         * modules/stdbool (stdbool.h): Likewise.
113485         * modules/stdint (stdint.h): Likewise.
113486         * modules/sys_select (sys/select.h): Likewise.
113487         * modules/sys_socket (sys/socket.h): Likewise.
113488         * modules/sys_stat (sys/stat.h): Likewise.
113489         * modules/sysexits (sysexits.h): Likewise.
113490         * modules/unistd (unistd.h): Likewise.
113491         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
113492         Add a "DO NOT EDIT" comment to the generated file.
113493         (func_import): Likewise for gnulib-comp.m4.
113495 2006-10-07  Bruno Haible  <bruno@clisp.org>
113497         * lib/gl_sublist.h: New file.
113498         * lib/gl_sublist.c: New file.
113500 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
113502         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
113503         name (relative to the original working directory) and the file
113504         name component (relative to the temporary working directory).  All
113505         callers changed.
113506         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
113507         * lib/mkdir-p.c (make_dir_parents): Likewise.
113508         * lib/mkdir-p.h (make_dir_parents): Likewise.
113510 2006-10-06  Eric Blake  <ebb9@byu.net>
113512         Define several macros for use by the clean-temp module.
113513         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
113514         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
113515         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
113517         * lib/clean-temp.h (close_stream_temp): New declaration.
113518         * lib/clean-temp.c (includes): Pull in headers according to what
113519         other modules are in use.
113520         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
113522 2006-10-06  Bruno Haible  <bruno@clisp.org>
113524         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
113525         instead of fopen, fwriteerror.
113527 2006-10-06  Bruno Haible  <bruno@clisp.org>
113529         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
113530         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
113531         int.
113532         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
113533         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
113534         Return an error indicator.
113535         Suggested by Eric Blake.
113537 2006-10-06  Bruno Haible  <bruno@clisp.org>
113539         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
113540         Reported by Eric Blake.
113542 2006-10-06  Bruno Haible  <bruno@clisp.org>
113544         * modules/closeout (Description): Mention stderr too.
113546 2006-10-06  Bruno Haible  <bruno@clisp.org>
113547         and Paul Eggert  <eggert@cs.ucla.edu>
113549         * lib/closeout.c (close_stdout): Also close stderr.
113550         * lib/closeout.h: Update comment.
113552 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
113554         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
113555         <http://lists.gnu.org/r/bug-coreutils/2006-10/msg00063.html>.
113556         * lib/dirchownmod.c: Include lchown.h.
113557         * lib/lchown.c: Don't include files that lchown.h now includes.
113558         Don't declare chown, since lchown.h now does that.
113559         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
113560         (lchown): Define to rpl_chown if lchown is declared but
113561         does not exist.  Declare using a prototype if lchown is not
113562         declared.  Add a copyright notice.
113563         * lib/mkstemp.h: Include <unistd.h>.
113564         * lib/openat.c: Include lchown.h.
113566         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
113567         we now test for that separately.
113568         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
113569         rather than O_NOFOLLOW, when testing whether it's possible to
113570         avoid a race condition reliably.
113571         * lib/savewd.c (savewd_chdir): Likewise.
113573         Remove macros that are no longer needed now that stdint.h is
113574         reliable.
113575         * lib/fsusage.c (UINTMAX_MAX): Remove.
113576         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
113577         * lib/utimecmp.c (SIZE_MAX): Remove.
113579         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
113581         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
113582         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
113583         O_NOATIME works.
113585 2006-10-05  Bruno Haible  <bruno@clisp.org>
113587         * lib/gl_list.h (gl_sortedlist_search_from_to,
113588         gl_sortedlist_indexof_from_to): New declarations.
113589         (gl_list_implementation): New fields sortedlist_search_from_to,
113590         sortedlist_indexof_from_to.
113591         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
113592         inline functions.
113593         * lib/gl_list.c (gl_sortedlist_search_from_to,
113594         gl_sortedlist_indexof_from_to): New functions.
113595         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
113596         function.
113597         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
113598         (gl_array_sortedlist_search_from_to): New function.
113599         (gl_array_list_implementation): Update.
113600         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
113601         function.
113602         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
113603         (gl_carray_sortedlist_search_from_to): New function.
113604         (gl_carray_list_implementation): Update.
113605         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
113606         gl_linked_sortedlist_indexof_from_to): New functions.
113607         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
113608         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
113609         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
113610         gl_tree_sortedlist_indexof_from_to): New functions.
113611         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
113612         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
113613         Update.
113614         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
113615         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
113616         Update.
113618 2006-10-05  Bruno Haible  <bruno@clisp.org>
113620         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
113621         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
113622         (struct gl_list_implementation): Add fields search_from_to,
113623         indexof_from_to. Remove fields search, indexof.
113624         (gl_list_search): Use the search_from_to method.
113625         (gl_list_search_from, gl_list_search_from_to): New functions.
113626         (gl_list_indexof): Use the indexof_from_to method.
113627         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
113628         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
113629         (gl_list_search_from, gl_list_search_from_to): New functions.
113630         (gl_list_indexof): Use the indexof_from_to method.
113631         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
113632         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
113633         gl_array_indexof. Add start_index, end_index arguments.
113634         (gl_array_search_from_to): Renamed from gl_array_search. Add
113635         start_index, end_index arguments.
113636         (gl_array_remove, gl_array_list_implementation): Update.
113637         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
113638         gl_carray_indexof. Add start_index, end_index arguments.
113639         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
113640         start_index, end_index arguments.
113641         (gl_carray_remove, gl_carray_list_implementation): Update.
113642         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
113643         gl_linked_search. Add start_index, end_index arguments.
113644         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
113645         start_index, end_index arguments.
113646         (gl_linked_remove): Update.
113647         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
113648         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
113649         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
113650         field to 'size_t'.
113651         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
113652         gl_tree_search. Add start_index, end_index arguments.
113653         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
113654         start_index, end_index arguments.
113655         (gl_tree_remove): Update.
113656         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
113657         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
113658         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
113659         function.
113660         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
113661         gl_tree_search. Add start_index, end_index arguments.
113662         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
113663         start_index, end_index arguments.
113664         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
113665         Update.
113666         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
113668 2006-10-05  Bruno Haible  <bruno@clisp.org>
113670         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
113672         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
113673         fwriteerror_temp): New declarations.
113674         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
113675         (descriptors): New variable.
113676         (cleanup): First, close the descriptors.
113677         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
113678         fclose_temp, fwriteerror_temp): New functions.
113680 2006-10-04  Jim Meyering  <jim@meyering.net>
113682         * lib/fts.c (fts_open): Tiny comment change.
113684 2006-10-04  Bruno Haible  <bruno@clisp.org>
113686         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
113687         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
113688         gl_LOCK_BODY.
113689         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
113690         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
113691         gl_LOCK_EARLY_BODY.
113692         (gl_LOCK): Require gl_LOCK_BODY.
113694 2006-10-04  Bruno Haible  <bruno@clisp.org>
113696         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
113697         (gl_oset_search_atleast): New declaration.
113698         (struct gl_oset_implementation): Add field 'search_atleast'.
113699         (gl_oset_search_atleast): New inline function.
113700         * lib/gl_oset.c (gl_oset_search_atleast): New function.
113701         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
113702         (gl_array_oset_implementation): Update.
113703         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
113704         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
113705         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
113707 2006-10-04  Bruno Haible  <bruno@clisp.org>
113709         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
113711 2006-10-03  Bruno Haible  <bruno@clisp.org>
113713         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
113714         from gl_avltreehash_list_implementation.
113716 2006-10-03  Bruno Haible  <bruno@clisp.org>
113718         * lib/gl_oset.c (gl_oset_add): Fix return type.
113720 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
113722         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
113724 2006-10-02  Eric Blake  <ebb9@byu.net>
113726         * modules/strnlen (Depends-on): Add extensions.
113728 2006-10-02  Eric Blake  <ebb9@byu.net>
113730         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
113731         definition in 2.60+.
113733 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
113735         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
113736         checks.
113738 2006-10-02  Bruno Haible  <bruno@clisp.org>
113740         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
113741         to the AUTOMAKE_OPTIONS.
113742         Reported by Jim Meyering.
113744 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
113746         Work around bug in Solaris 10 /proc file system:
113747         /proc/self/fd/NNN/.. isn't the parent directory of
113748         the directory whose file descriptor is NNN.  This needs to
113749         be worked around at run time, not compile time, since a
113750         program might be built on Solaris 8, where things work, and
113751         run on Solaris 10.
113752         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
113753         to use the following interface instead:
113754         (OPENAT_BUFFER_SIZE): New macro.
113755         (openat_proc_name): New function.
113756         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
113757         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
113758         Likewise.
113759         * lib/openat-proc.c: New file.
113760         * modules/openat (Files): Add lib/openat-proc.c.
113761         (Depends-on): Add same-inode, stdbool.
113762         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
113764 2006-09-29  Bruno Haible  <bruno@clisp.org>
113766         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
113767         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
113768         argument. Set stdout_closed before testing for ferror, not after.
113769         (fwriteerror, fwriteerror_no_ebadf): New functions.
113771 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113773         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
113775 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
113777         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
113778         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
113780 2006-09-28  Jim Meyering  <jim@meyering.net>
113782         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
113783         Include <unistd.h>.
113785 2006-09-28  Bruno Haible  <bruno@clisp.org>
113787         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
113788         * modules/linkedhash-list (Depends-on): Likewise.
113789         * modules/rbtreehash-list (Depends-on): Likewise.
113791 2006-09-28  Bruno Haible  <bruno@clisp.org>
113793         * lib/strndup.h: Simplify the redefinition of strndup.
113794         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
113795         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
113797 2006-09-28  Bruno Haible  <bruno@clisp.org>
113799         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
113800         * lib/gl_linkedhash_list.c: Likewise.
113801         * lib/gl_rbtreehash_list.c: Likewise.
113803 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
113805         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
113806         getaddrinfo.
113808         * lib/__fpending.h: Don't include <stdio_ext.h> unless
113809         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
113810         it causes <stdio_ext.h> to cause a compile-time error.
113811         Problem reported by Nelson H. F. Beebe.
113812         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
113813         of HAVE_DECL___PENDING.
113815         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
113816         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
113817         declaration.
113819 2006-09-27  Jim Meyering  <jim@meyering.net>
113821         This file could end up with a definition for a function
113822         named __strndup, rather than rpl_strndup on a system with
113823         incomplete weak_alias support.
113824         * lib/strndup.c (strndup): Rename from __strndup.
113825         Remove #defines that used to map __strndup to strndup.
113826         Don't use K&R prototypes.
113827         Remove LIBC-related code, since this file is not sync'd with glibc.
113828         * lib/strndup.h: Revamp, accordingly.
113829         * m4/strndup.m4: Modernize.
113831 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
113833         * modules/savewd (Depends-on): Add 'raise'.
113834         * lib/savewd.c: Include <signal.h>, for 'raise'.
113836 2006-09-26  Jim Meyering  <jim@meyering.net>
113838         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
113839         when we detect Darwin 8.7.0's acl_get_file bug.
113840         Rearrange to perform the new (below) run-test while $LIBS
113841         contains any acl-related library.  Set USE_ACL at the end.
113842         (gl_ACL_GET_FILE): New function.
113844 2006-09-26  Eric Blake  <ebb9@byu.net>
113846         * lib/verror.c: Include <config.h> unconditionally.
113848 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
113850         * modules/clock-time (Maintainer): Add self.
113851         * modules/getlogin_r (Depends-on): Add extensions.
113853 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113855         * modules/clock-time: New module.
113856         * modules/nanosleep (Depends-on): Add clock-time.
113857         * modules/gethrxtime (Depends-on): Likewise.
113858         * modules/gettime (Depends-on): Likewise.
113859         * modules/settime (Depends-on): Likewise.
113861         * modules/fts-lgpl: Depend on openat.
113862         * modules/mkancesdirs: Depend on savewd.
113863         * modules/mkdir-p: Likewise.
113865 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113867         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
113869         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
113870         `gl_have_arbitrary_file_name_length_limit' to
113871         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
113872         actually works between configure runs.
113874 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113875             Bruno Haible  <bruno@clisp.org>
113877         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
113879 2006-09-25  Jim Meyering  <jim@meyering.net>
113881         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
113882         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
113884 2006-09-25  Eric Blake  <ebb9@byu.net>
113886         * gnulib-tool (func_import, func_create_testdir): Fix typos in
113887         exec's in 2006-09-18 patch when shuffling fds.
113889 2006-09-25  Bruno Haible  <bruno@clisp.org>
113891         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
113892         Reported by Jim Meyering.
113894 2006-09-24  Jim Meyering  <jim@meyering.net>
113896         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
113897         compare a pointer against a literal "0".  That caused failures with
113898         at least HP-UX's hpcc.
113900 2006-09-22  Simon Josefsson  <jas@extundo.com>
113902         * modules/gc-sha1:
113903         * modules/gc-md4:
113904         * modules/gc-hmac-sha1:
113905         * modules/gc-hmac-md5:
113906         * modules/gc-des:
113907         * modules/gc-arcfour: Distribute more files.
113909 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113911         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
113912         (gl_linked_iterator_from_to): Initialize struct completely.
113913         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
113914         (gl_tree_iterator_from_to): Likewise
113915         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
113916         * lib/gl_array_list.c [lint] (gl_array_iterator)
113917         (gl_array_iterator_from_to): Likewise.
113918         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
113919         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
113920         (gl_carray_iterator_from_to): Likewise.
113922         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
113923         * lib/md4.c (md4_process_block): Remove unused variable.
113924         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
113925         parentheses for clarity.
113927 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113929         * modules/bison-i18n (Depends-on): Add gettext.
113931 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113933         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
113934         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
113935         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
113936         also add missing comma that caused broken test.
113937         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
113938         stdlib.h, for `abort'.
113939         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
113940         variables.
113941         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
113942         include unistd.h if present, for `rmdir'.
113943         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
113944         variables.
113945         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
113946         in the process include standard headers for prototypes.
113947         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
113948         gets declared on GNU/Linux.
113949         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
113950         unistd.h, for `rmdir'.
113951         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
113953         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
113954         always true.
113955         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
113957         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
113959 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113961         * gnulib-tool (func_version): Create output all at once.  This
113962         may help avoid triggering unnecessary SIGPIPEs, and at any
113963         rate it doesn't hurt.
113965 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113966             Bruno Haible  <bruno@clisp.org>
113968         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
113969         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
113970         * m4/signed.m4 (bh_C_SIGNED): Likewise.
113972         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
113973         (gl_FUNC_VASPRINTF): Invoke it.
113975 2006-09-22  Bruno Haible  <bruno@clisp.org>
113977         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
113978         getloadavg.c as first argument.
113980 2006-09-22  Bruno Haible  <bruno@clisp.org>
113982         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
113983         at the beginning of the gl_INIT macro.
113984         * modules/getloadavg (configure.ac): Pass $gl_source_base to
113985         gl_GETLOADAVG.
113987 2006-09-22  Bruno Haible  <bruno@clisp.org>
113989         * gnulib-tool (func_create_megatestdir): Don't include the config-h
113990         module.
113991         Suggested by Ralf Wildenhues.
113993 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
113995         Import this patch from libc:
113997         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
113999         * lib/regex_internal.c (re_string_reconstruct): Handle
114000         offset < pstr->valid_raw_len && pstr->offsets_needed case.
114001         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
114002         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
114003         re_string_context_at.
114005         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
114006         now requires it.
114007         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
114008         gl_REGEX now does it for us.
114009         (gl_REGEX): Add test taken from
114010         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
114012         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
114013         Check that large offsets work.  Modernize Autoconf usages.
114014         Prefer "yes" to mean a good thing rather than a bad.
114015         Don't put "#define mkstemp" in config.h, as this might interfere
114016         with standard system headers that "#define mkstemp mkstemp64".
114018         * modules/mkstemp (Depends-on): Add extensions, so that
114019         mkstemp is visible on some platforms.
114020         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
114021         (Include): Change to "mkstemp.h" from <stdlib.h>.
114022         (Files): Add mkstemp.h.
114024         * lib/mkstemp.h: New file, since some standard headers
114025         #define mkstemp.
114026         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
114027         Include "mkstemp.h".
114028         Make the _LIBC code resemble glibc original more,
114029         e.g., use K&R style.
114030         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
114031         (mkstemp): Remove, since mkstemp.h does this for us.
114032         * lib/stdlib--.h: Include mkstemp.h.
114034         Import this patch from libc:
114036         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
114038         * lib/tempname.c (__gen_tempname): Change attempts_min
114039         into a macro.  Use preprocessor to decide how to initialize
114040         attempts [Coverity CID 67].
114042 2006-09-20  Bruno Haible  <bruno@clisp.org>
114044         * lib/mkdtemp.c: Import from libc.
114045         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
114046                 * sysdeps/posix/tempname.c (__gen_tempname): Change
114047                 attempts_min into a macro.  Use preprocessor to decide how to
114048                 initialize attempts [Coverity CID 67].
114049         2001-11-27  Paul Eggert  <eggert@twinsun.com>
114050                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
114051                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
114053 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
114055         * gnulib-tool (func_exit): New function, to allow to pass the
114056         exit status portably through the trap.  Use everywhere.
114057         (--help, --version): Signal a write error.
114058         (trap): catch SIGPIPE, for write errors.
114059         Exit at the end of the trap, with the correct exit status.
114061 2006-09-19  Karl Berry  <karl@gnu.org>
114063         * doc/gnulib.texi: note about the license texinfo files.
114065 2006-09-19  Eric Blake  <ebb9@byu.net>
114067         * gnulib-tool: Avoid space-tab.
114069 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
114071         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
114072         that prevented coreutils 6.1 from building.  Problem reported
114073         by Petter Reinholdtsen.
114075 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
114077         * gnulib-tool (avoidlist): Fix typo that broke options like
114078         --avoid=lock that are used by coreutils bootstrap.
114080 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
114082         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
114083         more systematically.
114085 2006-09-18  Jim Meyering  <jim@meyering.net>
114087         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
114089 2006-09-18  Bruno Haible  <bruno@clisp.org>
114091         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
114093 2006-09-18  Bruno Haible  <bruno@clisp.org>
114095         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
114096         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
114097         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
114098         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
114099         * m4/gettext.m4: Require autoconf >= 2.52.
114100         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
114101         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
114102         of gl_cv_header_inttypes_h.
114104 2006-09-18  Bruno Haible  <bruno@clisp.org>
114106         * lib/javaversion.c: Include configmake.h.
114108 2006-09-18  Bruno Haible  <bruno@clisp.org>
114110         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
114111         avoid that the while loops be executed in a subshell.
114113 2006-09-18  Bruno Haible  <bruno@clisp.org>
114115         * MODULES.html.sh (func_module): Break long lines.
114116         Suggested by Bruce Korb <bkorb@gnu.org>.
114118 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
114120         Speed up by a factor of 1.12.
114121         * gnulib-tool (nl): New variable.
114122         (func_import): Rewrite include directive extraction to only read each
114123         directive once.
114125 2006-09-17  Bruno Haible  <bruno@clisp.org>
114127         * modules/javaversion (Makefile.am): Remove DEFS setting.
114128         (Depends-on): Add configmake, for PKGDATADIR definition.
114130 2006-09-17  Bruno Haible  <bruno@clisp.org>
114132         * gnulib-tool (func_create_testdir): Rewrite all files at once.
114134 2006-09-17  Bruno Haible  <bruno@clisp.org>
114136         * gnulib-tool (func_append): New function, stolen from libtool.m4.
114137         (func_modules_transitive_closure, func_modules_add_dummy,
114138         func_modules_to_filelist, func_import, func_create_testdir,
114139         func_create_megatestdir, ...): Use it wherever possible.
114140         Suggested by Ralf Wildenhues.
114142 2006-09-16  Karl Berry  <karl@gnu.org>
114144         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
114145         to avoid sectioning errors.
114146         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
114147         [ifinfo]: blank line after @center-ed titles.
114148         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
114149         Spell FSF address consistently with others.
114150         (These changes approved by rms.)
114152 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
114154         Speed up by a factor of 1.61.
114155         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
114156         already checked module names again.
114158 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
114160         Speed up by a factor of 1.13.
114161         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
114162         for new_files, and the input to func_add_or_update.
114164 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
114166         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
114167         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
114169 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
114171         * modules/mkancesdirs (Depends-on): Add fcntl.
114172         * modules/savewd: New file.
114173         * MODULES.html.sh (File system functions): Add savewd.
114175         * modules/configmake (Makefile.am): Add support for the
114176         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
114178 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
114180         * m4/savewd.m4: New file.
114182 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
114184         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
114185         (dirchownmod): New arg FD.  All callers changed.
114186         Use FD rather than opening the directory ourself, as opening is
114187         now the caller's responsibility.
114188         * lib/dirchownmod.h: Likewise.
114189         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
114190         hosts that require <sys/types.h> before <sys/stat.h>.  Include
114191         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
114192         (test_dir): Remove.
114193         (mkancesdirs): Return length of prefix of FILE that has already
114194         been made, or -2 if there is a child doing the work.  Redo
114195         algorithm so that it is O(N) rather than O(N**2).  Optimize away
114196         ".", and treat ".." specially since it might stray back into
114197         already-created areas.  Use a subprocess if necessary.  New arg
114198         WD; all users changed.  MAKE_DIR function should now return 1
114199         if it creates a directory that is not readable.  Return -2 if
114200         a child process is spun off.
114201         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
114202         Adjust signature to match code.
114203         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
114204         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
114205         all users changed.
114206         * lib/savewd.c, lib/savewd.h: New files.
114208 2006-09-15  Jim Meyering  <jim@meyering.net>
114210         * modules/rename-dest-slash: New module.
114211         * MODULES.html.sh (posix_compat): Add it here.
114213         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
114215 2006-09-15  Jim Meyering  <jim@meyering.net>
114217         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
114218         file.
114220         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
114222 2006-09-15  Jim Meyering  <jim@meyering.net>
114224         * lib/rename-dest-slash.c (has_trailing_slash): Use
114225         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
114226         (rpl_rename_dest_slash): Perform the cheaper trailing slash
114227         test before testing whether SRC is a directory.
114228         Suggestions from Bruno Haible.
114230         Avoid a warning about an unused variable.
114231         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
114232         into the #ifdef block where it's used.
114234         * lib/rename-dest-slash.c: New file.
114236 2006-09-14  Bruno Haible  <bruno@clisp.org>
114238         * lib/allocsa.c: Include <config.h> unconditionally.
114239         * lib/asnprintf.c: Likewise.
114240         * lib/asprintf.c: Likewise.
114241         * lib/c-strcasecmp.c: Likewise.
114242         * lib/c-strcasestr.c: Likewise.
114243         * lib/c-strncasecmp.c: Likewise.
114244         * lib/c-strstr.c: Likewise.
114245         * lib/classpath.c: Likewise.
114246         * lib/clean-temp.c: Likewise.
114247         * lib/concatpath.c: Likewise.
114248         * lib/copy-file.c: Likewise.
114249         * lib/csharpcomp.c: Likewise.
114250         * lib/csharpexec.c: Likewise.
114251         * lib/execute.c: Likewise.
114252         * lib/fatal-signal.c: Likewise.
114253         * lib/findprog.c: Likewise.
114254         * lib/fwriteerror.c: Likewise.
114255         * lib/gl_array_list.c: Likewise.
114256         * lib/gl_array_oset.c: Likewise.
114257         * lib/gl_avltree_list.c: Likewise.
114258         * lib/gl_avltree_oset.c: Likewise.
114259         * lib/gl_avltreehash_list.c: Likewise.
114260         * lib/gl_carray_list.c: Likewise.
114261         * lib/gl_linked_list.c: Likewise.
114262         * lib/gl_linkedhash_list.c: Likewise.
114263         * lib/gl_list.c: Likewise.
114264         * lib/gl_oset.c: Likewise.
114265         * lib/gl_rbtree_list.c: Likewise.
114266         * lib/gl_rbtree_oset.c: Likewise.
114267         * lib/gl_rbtreehash_list.c: Likewise.
114268         * lib/imaxabs.c: Likewise.
114269         * lib/imaxdiv.c: Likewise.
114270         * lib/javacomp.c: Likewise.
114271         * lib/javaexec.c: Likewise.
114272         * lib/javaversion.c: Likewise.
114273         * lib/linebreak.c: Likewise.
114274         * lib/localcharset.c: Likewise.
114275         * lib/lock.c: Likewise.
114276         * lib/mbchar.c: Likewise.
114277         * lib/mbswidth.c: Likewise.
114278         * lib/mkdtemp.c: Likewise.
114279         * lib/pipe.c: Likewise.
114280         * lib/printf-args.c: Likewise.
114281         * lib/printf-parse.c: Likewise.
114282         * lib/progname.c: Likewise.
114283         * lib/progreloc.c: Likewise.
114284         * lib/readlink.c: Likewise.
114285         * lib/sh-quote.c: Likewise.
114286         * lib/stpcpy.c: Likewise.
114287         * lib/stpncpy.c: Likewise.
114288         * lib/strcasecmp.c: Likewise.
114289         * lib/strcasestr.c: Likewise.
114290         * lib/strcspn.c: Likewise.
114291         * lib/striconv.c: Likewise.
114292         * lib/strncasecmp.c: Likewise.
114293         * lib/strnlen1.c: Likewise.
114294         * lib/strstr.c: Likewise.
114295         * lib/strtok_r.c: Likewise.
114296         * lib/tls.c: Likewise.
114297         * lib/tmpdir.c: Likewise.
114298         * lib/unicodeio.c: Likewise.
114299         * lib/unsetenv.c: Likewise.
114300         * lib/vasnprintf.c: Likewise.
114301         * lib/vasprintf.c: Likewise.
114302         * lib/wait-process.c: Likewise.
114303         * lib/xallocsa.c: Likewise.
114304         * lib/xsetenv.c: Likewise.
114305         * lib/xstriconv.c: Likewise.
114307 2006-09-13  Simon Josefsson  <jas@extundo.com>
114309         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
114310         that internally, suggested by Ralf Wildenhues
114311         <Ralf.Wildenhues@gmx.de>.
114313 2006-09-13  Simon Josefsson  <jas@extundo.com>
114315         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
114316         @LIBOBJS@.
114317         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
114319 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
114321         * lib/_fpending.c: Include <config.h> unconditionally, since we no
114322         longer worry about uses that don't define HAVE_CONFIG_H.
114323         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
114324         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
114325         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
114326         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
114327         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
114328         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
114329         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
114330         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
114331         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
114332         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
114333         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
114334         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
114335         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
114336         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
114337         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
114338         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
114339         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
114340         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
114341         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
114342         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
114343         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
114344         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
114345         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
114346         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
114347         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
114348         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
114349         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
114350         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
114351         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
114352         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
114353         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
114354         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
114355         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
114356         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
114357         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
114358         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
114359         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
114360         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
114361         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
114362         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
114363         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
114364         Likewise.
114366 2006-09-13  Eric Blake  <ebb9@byu.net>
114368         * lib/getopt.c: Fix typo in last commit.
114370 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
114372         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
114373         dgettext.
114375 2006-09-12  Jim Meyering  <jim@meyering.net>
114377         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
114378         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
114379         Reported by Nelson H. F. Beebe.
114381 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
114383         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
114384         program_invocation_name and program_invocation_short_name are
114385         initialized.
114386         * lib/argp-namefrob.h: Move declarations of program_invocation_name
114387         and program_invocation_short_name to argp.h, so they are visible
114388         to user programs.
114389         * lib/argp.h: Likewise
114391 2006-09-10  Bruno Haible  <bruno@clisp.org>
114393         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
114394         m4/inttypes_h.m4, m4/uintmax_t.m4.
114396 2006-09-10  Bruno Haible  <bruno@clisp.org>
114398         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
114399         gl_AC_TYPE_UINTMAX_T.
114401 2006-09-10  Bruno Haible  <bruno@clisp.org>
114403         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
114405 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
114407         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
114408         convention.  Text proposed by Bruno Haible.
114409         (struct argp_option): Document the use of N_() wrappers.
114411         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
114412         '\v', and translate the two parts separately, instead of feeding
114413         the whole string to gettext.  This allows to exclude
114414         '\v' from the strings visible to the translator by writing doc
114415         strings as N_("..") "\v" N_("..").
114417 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
114419         * config/srclist.txt: Undo latest change; the bug was fixed.
114421 2006-09-09  Bruno Haible  <bruno@clisp.org>
114423         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
114424         assignments if building a library without libtool.
114425         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
114426         in func_emit_lib_Makefile_am.
114427         (func_import): When building a static library libfoo.a, arrange to
114428         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
114429         (func_create_testdir): Likewise.
114430         * modules/gc (configure.ac, Makefile.am): If building statically,
114431         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
114432         * modules/iconvme (configure.ac, Makefile.am): Likewise.
114433         * modules/striconv (configure.ac, Makefile.am): Likewise.
114434         Based on a suggestion by Ralf Wildenhues.
114436 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
114438         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
114439         Check for unistd.h too, since Autoconf doesn't assume POSIX.
114440         Also:
114442         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
114443         Add year_2050_test to catch glibc bug 2821
114444         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
114446         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
114447         Prefer #ifdef to #if.
114449         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
114450         Return from 'main' instead of calling 'exit'.
114452 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
114454         * lib/mktime.c (guess_time_tm): Fix bug where mktime
114455         returned the maximum time_t value rather than (time_t) -1.
114456         Problem originally reported by William Bardwell
114457         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
114459         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
114460         Moved to here ...
114461         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
114462         ... from here.
114464 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
114466         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
114467         2821 is fixed.
114469 2006-09-08  Jim Meyering  <jim@meyering.net>
114471         Don't make generated files read-only.  That would bother too many
114472         people.  However, do retain the ability to work when targets are
114473         read-only: remove the destination and temporary files before writing
114474         them (when generated via sed or echo), or by using the -f option for
114475         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
114476         * modules/alloca-opt, modules/argz, modules/arpa_inet:
114477         * modules/byteswap, modules/configmake, modules/fcntl:
114478         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
114479         * modules/localcharset, modules/netinet_in, modules/poll:
114480         * modules/stdbool, modules/stdint, modules/sys_select:
114481         * modules/sys_socket, modules/sys_stat, modules/sysexits:
114483 2006-09-08  Jim Meyering  <jim@meyering.net>
114485         Avoid new build failure on FreeBSD 6.0.
114486         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
114487         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
114488         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
114490 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
114492         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
114494 2006-09-07  Jim Meyering  <jim@meyering.net>
114496         Fix global typo in last change: use chmod u-w, not chmod u-x.
114497         Spotted by Paul Eggert and Bruce Korb.
114498         * modules/alloca-opt, modules/argz, modules/arpa_inet:
114499         * modules/byteswap, modules/configmake, modules/fcntl:
114500         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
114501         * modules/localcharset, modules/netinet_in, modules/poll:
114502         * modules/stdbool, modules/stdint, modules/sys_select:
114503         * modules/sys_socket, modules/sys_stat, modules/sysexits:
114505 2006-09-06  Jim Meyering  <jim@meyering.net>
114507         Make generated files be read-only.
114508         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
114509         Ensure that each generated file is now read-only.
114510         * modules/argz: Likewise.
114511         * modules/arpa_inet: Likewise.
114512         * modules/byteswap: Likewise.
114513         * modules/configmake: Likewise.
114514         * modules/fcntl: Likewise.
114515         * modules/fnmatch: Likewise.
114516         * modules/getopt: Likewise.
114517         * modules/glob: Likewise.
114518         * modules/inttypes: Likewise.
114519         * modules/netinet_in: Likewise.
114520         * modules/poll: Likewise.
114521         * modules/stdbool: Likewise.
114522         * modules/stdint: Likewise.
114523         * modules/sys_select: Likewise.
114524         * modules/sys_socket: Likewise.
114525         * modules/sys_stat: Likewise.
114526         * modules/sysexits: Likewise.
114527         * modules/localcharset: Same as above, but continue using temporary
114528         file named "t-$@" (why different?) rather than the "$@-t" used
114529         everywhere else.
114531         * modules/sysexits (Makefile.am): Replace literal occurrences
114532         of "sysexit.h" more readable, and more consistent, "$@".
114534 2006-09-06  Bruno Haible  <bruno@clisp.org>
114536         * modules/striconv: New file.
114537         * modules/xstriconv: New file.
114538         * MODULES.html.sh (Internationalization functions): Add striconv,
114539         xstriconv.
114541 2006-09-06  Bruno Haible  <bruno@clisp.org>
114543         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
114544         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
114545         not using libtool correctly.
114547 2006-09-06  Bruno Haible  <bruno@clisp.org>
114549         * lib/striconv.h: New file.
114550         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
114551         iconvstring.c.
114552         * lib/xstriconv.h: New file.
114553         * lib/xstriconv.c: New file.
114555 2006-09-06  Bruno Haible  <bruno@clisp.org>
114557         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
114558         lib_..._LDFLAGS.
114560 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
114562         * lib/argz_.h: Sync from Libtool.
114564         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
114565                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
114567         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
114569 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
114571         * modules/trim: New file.
114573 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
114575         * lib/trim.h: New file.
114576         * lib/trim.c: New file.
114578 2006-09-05  Bruno Haible  <bruno@clisp.org>
114580         * MODULES.html.sh (String handling): Add trim.
114582 2006-09-04  Karl Berry  <karl@gnu.org>
114584         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
114585         until next release.
114587 2006-09-03  Bruno Haible  <bruno@clisp.org>
114589         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
114590         correctly.
114592 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
114594         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
114595         not gl_GETLOADAVG.  Omit unneeded semicolons.
114596         Problems reported by Ralf Wildenhues in
114597         <http://lists.gnu.org/r/bug-gnulib/2006-09/msg00000.html>.
114598         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
114599         at the end, which is the usual gnulib style.
114601         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
114602         of doing all the work ourselves.
114603         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
114604         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
114606 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
114608         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
114609         Problem reported by Ralf Wildenhues in
114610         <http://lists.gnu.org/r/bug-gnulib/2006-09/msg00000.html>.
114612         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
114613         HAVE_STRUCT_STATFS_F_FSTYPENAME.
114615 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
114617         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
114618         yesterday's patch by changing test -n to test -z.
114620 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
114622         * modules/getloadavg (Files): Add m4/getloadavg.m4.
114623         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
114624         the former is now obsolescent.
114626         * modules/chdir-long (Depends-on): Add fcntl.
114628 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
114630         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
114631         obsolescent, and programs should use gnulib instead.
114632         * m4/getloadavg.m4: New file, with contents taken from Autoconf
114633         but with prefixes changed.
114635 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
114637         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
114638         or stdbool.h, because they might not exist while configuring.
114640         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
114641         Don't include unistd.h or limits.h; not needed, since chdir-long.h
114642         does that for us.
114643         (O_DIRECTORY): Remove.
114645 2006-08-31  Eric Blake  <ebb9@byu.net>
114647         * gnulib-tool: Don't let emacs change spaces to TAB.
114649 2006-08-31  Bruno Haible  <bruno@clisp.org>
114651         * gnulib-tool: When calling func_import more than once, do it in a
114652         subshell.
114653         Reported by Eric Blake <ebb9@byu.net>.
114655 2006-08-31  Bruno Haible  <bruno@clisp.org>
114657         * gnulib-tool (nl): Remove variable.
114658         (sed_transform_lib_file): Use more robust test for config-h module.
114659         (func_import): Fix typo in 2006-08-25 patch.
114661 2006-08-31  Bruno Haible  <bruno@clisp.org>
114663         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
114664         specified, augment Makefile.am variables instead of assigning them.
114666 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
114668         Work around a bug in both the Linux and SunOS 64-bit kernels:
114669         nanosleep mishandles sleeps for longer than 2**31 seconds.
114670         Problem reported by Frank v Waveren in
114671         <http://lists.gnu.org/r/bug-coreutils/2006-08/msg00298.html>.
114672         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
114673         Check for nanosleep bug.
114674         (LIB_NANOSLEEP): Append clock_gettime library if needed.
114676 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
114678         Work around a bug in both the Linux and SunOS 64-bit kernels:
114679         nanosleep mishandles sleeps for longer than 2**31 seconds.
114680         Problem reported by Frank v Waveren in
114681         <http://lists.gnu.org/r/bug-coreutils/2006-08/msg00298.html>.
114682         * lib/nanosleep.c (BILLION): New constant.
114683         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
114684         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
114685         implementation.
114687 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
114689         * modules/nanosleep (Depends-on): Add gettime.
114691 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
114692         and Simon Josefsson  <jas@extundo.com>
114693         and Oskar Liljeblad  <oskar@osk.mine.nu>
114695         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
114696         * gnulib-tool (func_import): New license type 'unmodifiable license
114697         text'.
114698         * modules/fdl: Use it.  Longer description.
114699         * module/gpl, module/lgpl: New files.
114701 2006-08-30  Jim Meyering  <jim@meyering.net>
114703         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
114704         shadowing the parameter.
114706 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
114708         Sync from Libtool:
114710         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
114712         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
114713         sharing with gnulib.  Report by Eric Blake.
114715 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
114717         * modules/isapipe: New file.
114718         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
114720 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
114722         * modules/configmake (Makefile.am): Add a comment, and omit
114723         the CONFIGMAKE_ prefix from generated macro names.  Suggested
114724         by Bruno Haible.
114726 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
114728         * m4/isapipe.m4: New file.
114730 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
114732         * lib/isapipe.c, lib/isapipe.h: New files.
114734 2006-08-29  Jim Meyering  <jim@meyering.net>
114736         * modules/configmake (Makefile.am): Make configmake.h depend on
114737         Makefile.  Otherwise, a stale configmake.h could hang around.
114739 2006-08-29  Eric Blake  <ebb9@byu.net>
114741         * lib/error.c (error_at_line, print_errno_message): Match libc, after
114742         resolution of upstream bug 3044.
114744 2006-08-29  Bruno Haible  <bruno@clisp.org>
114746         * modules/localcharset (Depends-on): Add configmake.
114747         (Makefile.am): Remove setting of LIBDIR through DEFS.
114749 2006-08-29  Bruno Haible  <bruno@clisp.org>
114751         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
114752         defined.
114754 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
114756         * modules/fcntl: New file.
114757         * modules/chdir-safer (Depends-on): Add fcntl.
114758         * modules/fts: Likewise.
114759         * modules/mkdir-p: Likewise.
114761         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
114762         This undoes the most recent change, since we're now addressing the
114763         problem in a different way.
114765         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
114766         into output, since the output might be called Makefile.am even
114767         if $makefile_name is something different.
114768         (func_import): Use $makefile_am rather than
114769         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
114770         empty.
114772         * modules/inttypes (Files): Add m4/inttypes-h.m4.
114774 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
114776         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
114777         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
114778         recent change to stdint.m4, since we're now addressing the problem in a
114779         different way.
114781 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
114783         * m4/fcntl_h.m4: New file.
114785 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
114787         * lib/fcntl_.h: New file.
114788         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
114789         the fcntl module.
114790         * lib/dirchownmod.c: Likewise.
114791         * lib/fts.c: Likewise.
114793         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
114794         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
114795         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
114796         just before including <inttypes.h>, to avoid circular inclusion.
114798 2006-08-28  Jim Meyering  <jim@meyering.net>
114800         * doc/visibility.texi: Actually read and correct the grammar of the
114801         sentence affected by yesterday's change.
114803 2006-08-28  Eric Blake  <ebb9@byu.net>
114805         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
114806         needs wrapper.
114808 2006-08-28  Eric Blake  <ebb9@byu.net>
114810         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
114812 2006-08-28  Eric Blake  <ebb9@byu.net>
114814         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
114816 2006-08-28  Bruno Haible  <bruno@clisp.org>
114818         * modules/c-strstr: New file, from GNU gettext.
114819         * MODULES.html.sh (String handling): Add c-strstr.
114821 2006-08-28  Bruno Haible  <bruno@clisp.org>
114823         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
114824         macros.
114825         Reported by Eric Blake.
114827 2006-08-28  Bruno Haible  <bruno@clisp.org>
114829         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
114830         (VASNPRINTF): Return a string of length > INT_MAX without failing.
114831         * lib/vasprintf.c: Include errno.h, limits.h.
114832         (EOVERFLOW): New fallback definition.
114833         (vasprintf): Test here whether the string length is > INT_MAX.
114834         * lib/vsnprintf.c: Include errno.h, limits.h.
114835         (EOVERFLOW): New fallback definition.
114836         (vsnprintf): Fix bug when generated string was too long for the buffer.
114837         Test here whether the string length is > INT_MAX.
114839 2006-08-28  Bruno Haible  <bruno@clisp.org>
114841         * lib/inttypes_.h (SCNX*): Remove definitions.
114842         Reported by Eric Blake.
114844 2006-08-28  Bruno Haible  <bruno@clisp.org>
114846         * lib/c-strstr.h: New file, from GNU gettext.
114847         * lib/c-strstr.c: New file, from GNU gettext.
114849 2006-08-28  Bruno Haible  <bruno@clisp.org>
114851         * gnulib-tool: Reorder some statements.
114853 2006-08-28  Bruno Haible  <bruno@clisp.org>
114855         * gnulib-tool: New option --makefile-name.
114856         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
114857         $makefile_name.
114858         (func_import): Write $makefile_name to the cache file, and read it from
114859         there unless explicitly specified. Use $makefile_name as file name
114860         instead of Makefile.am. Adjust the recommendations accordingly.
114862 2006-08-28  Bruno Haible  <bruno@clisp.org>
114864         * gnulib-tool (func_verify_module): Check against misapplying patch.
114866 2006-08-28  Bruno Haible  <bruno@clisp.org>
114868         * gnulib-tool (func_relativize, func_relconcat): New functions.
114869         Give an error if --local-dir is given with --update.
114870         Remove trailing slashes from $local_gnulib_dir.
114871         (func_import): Store the relativized $local_gnulib_dir in
114872         gnulib-cache.m4, and read it from there if not specified explicitly.
114874 2006-08-28  Bruno Haible  <bruno@clisp.org>
114876         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
114877         is the current directory. Respect also $local_gnulib_dir.
114879 2006-08-28  Bruno Haible  <bruno@clisp.org>
114880             Simon Josefsson  <jas@extundo.com>
114882         BeOS portability.
114883         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
114885 2006-08-27  Jim Meyering  <jim@meyering.net>
114887         * doc/visibility.texi: Remove duplicate word: "pointer".
114889 2006-08-26  Bruno Haible  <bruno@clisp.org>
114891         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
114892         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
114893         (Makefile.am): Create inttypes.h from inttypes_.h.
114894         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
114896         * modules/imaxabs: New file.
114898         * modules/imaxdiv: New file.
114900 2006-08-26  Bruno Haible  <bruno@clisp.org>
114902         * m4/inttypes.m4: New file.
114903         * m4/_inttypes_h.m4: Remove file.
114904         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
114905         PRI_MACROS_BROKEN.
114906         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
114908         * m4/imaxabs.m4: New file.
114910         * m4/imaxdiv.m4: New file.
114912 2006-08-26  Bruno Haible  <bruno@clisp.org>
114914         * lib/inttypes_.h: New file.
114915         * lib/inttypes.h: Remove file.
114916         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
114918         * lib/imaxabs.c: New file.
114920         * lib/imaxdiv.c: New file.
114922 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
114924         New config-h module, so that "make" output needn't be cluttered
114925         by -DHAVE_CONFIG_H.
114926         * MODULES.html.sh (Support for building libraries and executables):
114927         Add config-h.
114928         * modules/config-h: New file.
114929         * gnulib-tool (nl, sed_transform_lib_file): New vars.
114930         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
114931         the config-h module is used.
114933         New configmake module, so that "make" output needn't be cluttered
114934         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
114935         * MODULES.html.sh (Support for building libraries and executables):
114936         Add configmake.
114937         * modules/configmake: New file.
114939 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
114941         * m4/config-h.m4: New file.
114943 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
114945         * config/srclist.txt: Add elisp-comp.
114947 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
114949         * MODULES.html.sh (Support for building libraries and executables):
114950         Add elisp-comp.
114951         * build-aux/elisp-comp: New file.
114952         * modules/elisp-comp: New file.
114954 2006-08-24  Bruno Haible  <bruno@clisp.org>
114956         * gnulib-tool (func_create_testdir): Use non-default values of
114957         sourcebase and m4base.
114959 2006-08-24  Bruno Haible  <bruno@clisp.org>
114961         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
114962         HTML structure.
114964 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
114966         * modules/openat (Depends-on): Add lchown.
114968 2006-08-23  Bruno Haible  <bruno@clisp.org>
114970         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
114971         of gl_LOCK_EARLY instead of gl_LOCK.
114973 2006-08-23  Bruno Haible  <bruno@clisp.org>
114975         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
114976         on OSF/1 to no.
114977         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
114979 2006-08-23  Bruno Haible  <bruno@clisp.org>
114981         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
114982         as unusable.
114984         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
114985         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
114986         (gl_LOCK): New macro.
114988 2006-08-22  Simon Josefsson  <jas@extundo.com>
114990         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
114991         to md5 module.
114993 2006-08-22  Simon Josefsson  <jas@extundo.com>
114995         * MODULES.html.sh: Add "Support for maintaining and release
114996         projects".
114998         * build-aux/gnupload: New file, from coreutils.
115000 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
115002         Avoid the need for AC_LIBSOURCES in m4 macros.
115003         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
115004         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
115005         * modules/check-version (EXTRA_DIST): Add check-version.h.
115006         * modules/crc (EXTRA_DIST): Add crc.h.
115007         * modules/des (EXTRA_DIST): Add des.h.
115008         * modules/gc (EXTRA_DIST): Add gc.h.
115009         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
115010         * modules/getline (EXTRA_DIST): Add getline.h.
115011         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
115012         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
115013         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
115014         * modules/md2 (EXTRA_DIST): Add md2.h.
115015         * modules/md4 (EXTRA_DIST): Add md4.h.
115016         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
115017         * modules/read-file (EXTRA_DIST): Add read-file.h.
115018         * modules/readline (EXTRA_DIST): Add readline.h.
115019         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
115020         rijndael-api-fst.h.
115022 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
115024         * m4/rijndael.m4 (gl_ARCFOUR):
115025         * m4/arctwo.m4 (gl_ARCTWO):
115026         * m4/check-version.m4 (gl_CHECK_VERSION):
115027         * m4/crc.m4 (gl_CRC):
115028         * m4/des.m4 (gl_DES):
115029         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
115030         * m4/gc.m4 (gl_GC):
115031         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
115032         * m4/getline.m4 (gl_FUNC_GETLINE):
115033         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
115034         * m4/hmac-md5.m4 (gl_HMAC_MD5):
115035         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
115036         * m4/md2.m4 (gl_MD2):
115037         * m4/md4.m4 (gl_MD4):
115038         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
115039         * m4/read-file.m4 (gl_FUNC_READ_FILE):
115040         * m4/readline.m4 (gl_FUNC_READLINE):
115041         * m4/rijndael.m4 (gl_RIJNDAEL):
115042         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
115043         to get the necessary .h files and whatnot.
115045 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
115047         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
115048         gnulib rather than the other way around.
115049         * config/srclistvars.sh (COREUTILS): Remove.
115051 2006-08-22  Jim Meyering  <jim@meyering.net>
115053         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
115055         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
115057 2006-08-22  Eric Blake  <ebb9@byu.net>
115059         * modules/regexprops-generic: New file.
115060         * MODULES.html.sh (Support for building documentation): List it.
115062 2006-08-22  Eric Blake  <ebb9@byu.net>
115064         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
115065         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
115066         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
115067         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
115069 2006-08-22  Bruno Haible  <bruno@clisp.org>
115071         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
115072         and lib_LTLIBRARIES like the other lib_* variables.
115074 2006-08-22  Bruno Haible  <bruno@clisp.org>
115076         * build-aux/x-to-1.in: New file, from GNU gettext.
115078 2006-08-22  Bruno Haible  <bruno@clisp.org>
115080         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
115081         <utmpx.h> exists.
115083 2006-08-22  Bruno Haible  <bruno@clisp.org>
115085         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
115086         <utmpx.h> exists.
115088 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
115090         BeOS portability.
115091         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
115092         exist.
115093         Problem reported by Bruno Haible.
115095 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
115097         Avoid the need for AC_LIBSOURCES in m4 macros.
115098         * modules/acl (EXTRA_DIST): Add acl.h.
115099         * modules/argmatch (Files): Add m4/argmatch.m4.
115100         (configure.ac): Add gl_ARGMATCH.
115101         (EXTRA_DIST): Renamed from lib_SOURCES, for
115102         consistency with the other modules.  Remove argmatch.c.
115103         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
115104         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
115105         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
115106         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
115107         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
115108         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
115109         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
115110         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
115111         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
115112         * modules/closeout (EXTRA_DIST): Add closeout.h.
115113         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
115114         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
115115         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
115116         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
115117         dirname.h; remove basename.c and stripslash.c.
115118         * modules/exclude (EXTRA_DIST): Add exclude.h.
115119         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
115120         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
115121         * modules/file-type (EXTRA_DIST): Add file-type.h.
115122         * modules/filemode (EXTRA_DIST): Add filemode.h.
115123         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
115124         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
115125         * modules/fpending (EXTRA_DIST): Add __fpending.h.
115126         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
115127         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
115128         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
115129         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
115130         * modules/getdate (EXTRA_DIST): Add getdate.c.
115131         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
115132         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
115133         * modules/getpass (EXTRA_DIST): Add getpass.h.
115134         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
115135         * modules/group-member (EXTRA_DIST): Add group-member.h.
115136         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
115137         * modules/hash (EXTRA_DIST): Add hash.h.
115138         * modules/human (EXTRA_DIST): Add human.h.
115139         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
115140         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
115141         * modules/lchown (EXTRA_DIST): Add lchown.h.
115142         * modules/long-options (EXTRA_DIST): Add long-options.h.
115143         * modules/lstat (EXTRA_DIST): Add lstat.h.
115144         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
115145         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
115146         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
115147         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
115148         * modules/memxor (EXTRA_DIST): Add memxor.h.
115149         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
115150         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
115151         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
115152         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
115153         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
115154         * modules/physmem (EXTRA_DIST): Add physmem.h.
115155         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
115156         * modules/posixver (EXTRA_DIST): Add posixver.h.
115157         * modules/quote (EXTRA_DIST): Add quote.h.
115158         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
115159         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
115160         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
115161         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
115162         regex_internal.h regexec.c.
115163         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
115164         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
115165         * modules/same (EXTRA_DIST): Add same.h.
115166         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
115167         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
115168         * modules/savedir (EXTRA_DIST): Add savedir.h.
115169         * modules/sha1 (EXTRA_DIST): Add sha1.h.
115170         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
115171         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
115172         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
115173         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
115174         * modules/strdup (EXTRA_DIST): Add strdup.h.
115175         * modules/strftime (EXTRA_DIST): Add strftime.h.
115176         * modules/strndup (EXTRA_DIST): Add strndup.h.
115177         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
115178         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
115179         * modules/time_r (EXTRA_DIST): Add time_r.h.
115180         * modules/timespec (EXTRA_DIST): Add timespec.h.
115181         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
115182         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
115183         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
115184         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
115185         * modules/userspec (EXTRA_DIST): Add userspec.h.
115186         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
115187         * modules/utimens (EXTRA_DIST): Add utimens.h.
115188         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
115189         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
115190         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
115191         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
115192         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
115193         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
115194         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
115195         * modules/yesno (EXTRA_DIST): Add yesno.h.
115197 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
115199         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
115201         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
115202         * m4/dev-ino.m4, same-inode.m4: Remove.
115204         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
115205         * m4/acl.m4 (AC_FUNC_ACL):
115206         * m4/backupfile.m4 (gl_BACKUPFILE):
115207         * m4/c-strtod.m4 (gl_C99_STRTOLD):
115208         * m4/canon-host.m4 (gl_CANON_HOST):
115209         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
115210         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
115211         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
115212         * m4/cloexec.m4 (gl_CLOEXEC):
115213         * m4/close-stream.m4 (gl_CLOSE_STREAM):
115214         * m4/closeout.m4 (gl_CLOSEOUT):
115215         * m4/dirfd.m4 (gl_FUNC_DIRFD):
115216         * m4/dirname.m4 (gl_DIRNAME):
115217         * m4/exclude.m4 (gl_EXCLUDE):
115218         * m4/exitfail.m4 (gl_EXITFAIL):
115219         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
115220         * m4/file-type.m4 (gl_FILE_TYPE):
115221         * m4/filemode.m4 (gl_FILEMODE):
115222         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
115223         * m4/fpending.m4 (gl_FUNC_FPENDING):
115224         * m4/fprintftime.m4 (gl_FPRINTFTIME):
115225         * m4/fts.m4 (gl_FUNC_FTS):
115226         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
115227         * m4/getdate.m4 (gl_GETDATE):
115228         * m4/gethrxtime.m4 (gl_GETHRXTIME):
115229         * m4/getpagesize.m4 (gl_GETPAGESIZE):
115230         * m4/getpass.m4 (gl_FUNC_GETPASS):
115231         * m4/gettime.m4 (gl_GETTIME):
115232         * m4/getugroups.m4 (gl_GETUGROUPS):
115233         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
115234         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
115235         * m4/hard-locale.m4 (gl_HARD_LOCALE):
115236         * m4/hash.m4 (gl_HASH):
115237         * m4/idcache.m4 (gl_IDCACHE):
115238         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
115239         * m4/lchown.m4 (gl_FUNC_LCHOWN):
115240         * m4/long-options.m4 (gl_LONG_OPTIONS):
115241         * m4/lstat.m4 (gl_FUNC_LSTAT):
115242         * m4/md5.m4 (gl_MD5):
115243         * m4/memcasecmp.m4 (gl_MEMCASECMP):
115244         * m4/memcoll.m4 (gl_MEMCOLL):
115245         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
115246         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
115247         * m4/memxor.m4 (gl_MEMXOR):
115248         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
115249         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
115250         * m4/modechange.m4 (gl_MODECHANGE):
115251         * m4/mountlist.m4 (gl_MOUNTLIST):
115252         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
115253         * m4/openat.m4 (gl_FUNC_OPENAT):
115254         * m4/pathmax.m4 (gl_PATHMAX):
115255         * m4/physmem.m4 (gl_PHYSMEM):
115256         * m4/posixtm.m4 (gl_POSIXTM):
115257         * m4/posixver.m4 (gl_POSIXVER):
115258         * m4/quote.m4 (gl_QUOTE):
115259         * m4/quotearg.m4 (gl_QUOTEARG):
115260         * m4/readtokens.m4 (gl_READTOKENS):
115261         * m4/readutmp.m4 (gl_READUTMP):
115262         * m4/regex.m4 (gl_REGEX):
115263         * m4/safe-read.m4 (gl_SAFE_READ):
115264         * m4/safe-write.m4 (gl_SAFE_WRITE):
115265         * m4/same.m4 (gl_SAME):
115266         * m4/save-cwd.m4 (gl_SAVE_CWD):
115267         * m4/savedir.m4 (gl_SAVEDIR):
115268         * m4/settime.m4 (gl_SETTIME):
115269         * m4/sha1.m4 (gl_SHA1):
115270         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
115271         * m4/stat-macros.m4 (gl_STAT_MACROS):
115272         * m4/stat-time.m4 (gl_STAT_TIME):
115273         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
115274         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
115275         * m4/strdup.m4 (gl_FUNC_STRDUP):
115276         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
115277         * m4/strndup.m4 (gl_FUNC_STRNDUP):
115278         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
115279         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
115280         * m4/time_r.m4 (gl_TIME_R):
115281         * m4/timespec.m4 (gl_TIMESPEC):
115282         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
115283         * m4/unlinkdir.m4 (gl_UNLINKDIR):
115284         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
115285         * m4/userspec.m4 (gl_USERSPEC):
115286         * m4/utimecmp.m4 (gl_UTIMECMP):
115287         * m4/utimens.m4 (gl_UTIMENS):
115288         * m4/xalloc.m4 (gl_XALLOC):
115289         * m4/xgetcwd.m4 (gl_XGETCWD):
115290         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
115291         * m4/xreadlink.m4 (gl_XREADLINK):
115292         * m4/xstrtod.m4 (gl_XSTRTOD):
115293         * m4/yesno.m4 (gl_YESNO):
115294         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
115295         to get the necessary .h files and whatnot.
115297 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
115298             Bruno Haible  <bruno@clisp.org>
115300         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
115301         /bin/sh understanding of '!' conditional negation.
115303 2006-08-21  Jim Meyering  <jim@meyering.net>
115305         * modules/openat (Depends-on): Really alphabetize.
115307         * modules/acl (Depends-on): Add error and quote.
115309         * check-module (find_included_lib_files): Add at-func.c to the
115310         ok-to-include-more-than-once white list.
115312         * modules/openat (Depends-on): Add lstat.  Alphabetize.
115314 2006-08-21  Bruno Haible  <bruno@clisp.org>
115316         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
115317         Emit a pkgdata_DATA variable only if some snippets add contents to it.
115318         Reported by Martin Lambers <marlam@marlam.de>.
115320 2006-08-21  Bruno Haible  <bruno@clisp.org>
115322         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
115323         specify an installation location, don't emit a noinst_LIBRARIES or
115324         noinst_LTLIBRARIES assignment.
115326 2006-08-21  Bruno Haible  <bruno@clisp.org>
115328         BeOS portability.
115329         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
115330         BeOS has mbrtowc() but no <wctype.h>.
115332 2006-08-21  Bruno Haible  <bruno@clisp.org>
115334         BeOS portability.
115335         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
115336         exist.
115338 2006-08-21  Bruno Haible  <bruno@clisp.org>
115340         BeOS portability.
115341         * lib/mbchar.h: Include <wctype.h> only if it exists.
115343 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
115345         Remove files that are no longer needed by their respective modules.
115346         * m4/obstack.m4: Remove.
115347         * m4/strerror_r.m4: Remove.
115348         * m4/uint32_t.m4: Remove.
115349         * m4/uintptr_t.m4: Remove.
115350         * m4/ullong_max.m4: Remove.
115351         * m4/xstrtoimax.m4: Remove.
115352         * m4/xstrtoumax.m4: Remove.
115354         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
115355         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
115356         dependencies now capture this.
115358         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
115359         Do not use AC_LIBSOURCES, since gnulib modules now do this.
115360         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
115361         * m4/human.m4 (gl_HUMAN): Likewise.
115362         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
115363         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
115365         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
115367         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
115368         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
115369         stdint.
115370         * m4/human.m4 (gl_HUMAN): Likewise.
115371         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
115372         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
115373         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
115374         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
115375         * m4/xstrtol (gl_XSTRTOL): Likewise.
115377         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
115378         AC_TYPE_LONG_LONG_INT.
115379         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
115380         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
115381         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
115382         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
115384         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
115385         on stdbool.
115387         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
115388         (gl_PREREQ_XSTRTOUL): Remove.
115390         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
115392         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
115393         mode.
115395 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
115397         Add and change modules to make it easier for coreutils to use
115398         gnulib-tool.
115399         * modules/backupfile (Files): Remove m4/d-ino.m4.
115400         (Depends-on): Add d-ino.
115401         * modules/cycle-check (Depends-on): Add stdint.
115402         (lib_SOURCES): Add cycle-check.h.
115403         * modules/d-ino: New module.
115404         * modules/d-type: New module.
115405         * modules/error (Files): Remove m4/strerror_r.m4.
115406         * modules/filemode (Files): Add m4/st_dm_mode.m4.
115407         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
115408         m4/inttypes_h.m4, m4/uintmax_t.m4.
115409         (Depends-on): Add stdint.
115410         (lib_SOURCES): Add fsusage.h.
115411         * modules/getcwd (Files): Remove d-ino.m4.
115412         (Depends-on): Add d-ino.
115413         * modules/getndelim2 (Depends-on): Add stdint.
115414         * modules/glob (Files): Remove m4/d-type.m4.
115415         (Depends-on): Add d-type.
115416         * modules/host-os: New module.
115417         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
115418         m4/inttypes_h.m4, m4/uintmax_t.m4.
115419         * Depends-on: Add stdint.
115420         (lib_SOURCES): Add human.h.
115421         * modules/inttostr (Files): Remove m4/intmax_t.m4,
115422         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
115423         m4/uintmax_t.m4, m4/ulonglong.m4.
115424         (Depends-on): Add stdint.
115425         (EXTRA_DIST): Add inttostr.h.
115426         * modules/lchmod: New module.
115427         * modules/link-follow: New module.
115428         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
115429         (Depends-on): Add lchmod.
115430         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
115431         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
115432         (Depends-on): Add stdint.
115433         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
115434         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
115435         (Depends-on): Add stdint.
115436         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
115437         * modules/perl: New module.
115438         * modules/regex (Depends-on): Add stdint.
115439         * modules/rmdir-errno: New module.
115440         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
115441         m4/intmax_t.m4.
115442         (Depends-on): Add stdint.
115443         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
115444         m4/uintmax_t.m4.
115445         (Depends-on): Add stdint.
115446         * modules/unlink-busy: New module.
115447         * modules/utimecmp (Depends-on): Add stdint.
115448         * modules/uptime: New module.
115449         * modules/winsz-ioctl: New module.
115450         * modules/winsz-termios: New module.
115451         * modules/xnanosleep (Depends-on): Add nanosleep.
115452         * modules/ullong_max: Remove.
115453         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
115454         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
115455         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
115456         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
115457         (Depends-on): Add inttypes.
115458         (lib_SOURCES): Add xstrtol.h.
115459         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
115460         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
115461         * MODULES.html.sh: Move 'assert' into the assert section.
115462         Move 'dummy' into the linking section.
115463         Remove ullong_max.
115464         Add section for compatibility checks for POSIX:2001 functions,
115465         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
115466         winsz-ioctl, and winsz-termios into it.
115467         Add lchmod.
115468         Add top-level Misc section and put host-os, perl, and uptime
115469         into it.
115471 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
115473         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
115474         now assume the stdint module.  Do not include inttypes.h.
115475         * lib/fsusage.h: Likewise.
115476         * lib/getndelim2.c: Likewise.
115477         * lib/human.h: Likewise.
115478         * lib/inttostr.h: Likewise.
115479         * lib/obstack.c: Likewise.
115480         * lib/regex_internal.h: Likewise.
115481         * lib/tempname.c: Likewise.
115482         * lib/utimecmp.c: Likewise.
115483         * lib/xstrtol.h: Likewise.
115485         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
115487         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
115488         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
115489         * lib/xtime.h: Likewise.
115491 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
115493         * modules/openat (Files): Add lib/fchmodat.c.
115494         Fixes problem reported by Jay Youngman.
115496 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
115498         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
115499         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
115501 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
115502             Bruno Haible  <bruno@clisp.org>
115504         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
115505         and is a script that invokes bison. Tighten the code. Add comments.
115507 2006-08-18  Jim Meyering  <jim@meyering.net>
115509         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
115510         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
115511         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
115512         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
115514 2006-08-18  Bruno Haible  <bruno@clisp.org>
115516         * modules/bison-i18n: New file.
115517         * MODULES.html.sh (Internationalization functions): Add it.
115519 2006-08-18  Bruno Haible  <bruno@clisp.org>
115521         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
115522         sys/statvfs.h. When getmntinfo was found, check its declaration and
115523         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
115525 2006-08-18  Bruno Haible  <bruno@clisp.org>
115527         * m4/bison-i18n.m4: New file, from bison.
115529 2006-08-18  Bruno Haible  <bruno@clisp.org>
115531         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
115532         (ME_DUMMY): Treat "kernfs" as a dummy.
115533         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
115535 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
115537         Update from coreutils.
115539         2006-08-15  Jim Meyering  <jim@meyering.net>
115541         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
115543         2006-01-17  Jim Meyering  <jim@meyering.net>
115545         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
115547         2006-01-11  Jim Meyering  <jim@meyering.net>
115549         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
115550         Check for the lchmod function.
115552 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
115554         Update from coreutils.
115556         * lib/__fpending.h: Add copyright notice.
115557         * lib/fprintftime.h: Likewise.
115558         * lib/savedir.c: Use (C) in copyright notice.
115559         * lib/savedir.h: Likewise.
115561         2006-08-15  Jim Meyering  <jim@meyering.net>
115563         * lib/at-func.c: New file, with the logic of all emulated at-functions.
115564         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
115565         in support of the EXPECTED_ERRNO macro.
115566         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
115567         definitions.  Instead, define the appropriate symbols and include
115568         "at-func.c".
115569         * lib/mkdirat.c (mkdirat): Likewise.
115570         * lib/fchmodat.c (fchmodat): Likewise.
115571         (ENOSYS): Remove definition.
115572         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
115573         it.  Don't include "unistd--.h" -- it wasn't ever used.
115575         2006-01-17  Jim Meyering  <jim@meyering.net>
115577         Rewrite fts.c not to change the current working directory,
115578         by using openat, fstatat, fdopendir, etc..
115580         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
115581         (HAVE_OPENAT_SUPPORT): Define.
115582         [_LIBC] (fchdir): Don't undef or define; no longer used.
115583         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
115584         Now, this `function' always succeeds, and consumes its file descriptor
115585         parameter -- so callers must not close such FDs.  Update callers.
115586         (diropen_fd, opendirat, cwd_advance_fd): New functions.
115587         (diropen): Add parameter, SP.  Adjust all callers.
115588         Implement using diropen_fd, rather than open.
115589         (fts_open): Initialize new member, fts_cwd_fd.
115590         Remove fts_rft-setting code.
115591         (fts_close): Close fts_cwd_fd, if necessary.
115592         (__opendir2): Define in terms of opendir or opendirat,
115593         depending on whether the FST_NOCHDIR flag is set.
115594         (fts_build): Since fts_safe_changedir consumes its FD, and since
115595         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
115596         and close the dup'd file descriptor upon failure.
115597         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
115598         (fts_safe_changedir): Tweak semantics to reflect that this function
115599         now calls cwd_advance_fd and hence consumes its FD argument.
115600         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
115601         [struct FTS] (fts_rft): Remove now-unused member.
115602         [struct FTS] (fts_cycle.state): Improve comment.
115604         * lib/openat.c (openat_needs_fchdir): New function.
115605         * lib/openat.h (openat_needs_fchdir): Declare it.
115607 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
115609         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
115610         Problem and fix reported by Pádraig Brady in
115611         <http://lists.gnu.org/r/bug-coreutils/2006-08/msg00099.html>.
115613 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
115615         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
115617 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
115619         * lib/memcoll.c (memcoll): Optimize for the common case where the
115620         arguments are bytewise equal.
115622 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
115624         * doc/regexprops-generic.texi: Add a copyright notice.
115626 2006-08-15  Bruno Haible  <bruno@clisp.org>
115628         * modules/tmpdir (License): Change to LGPL.
115630 2006-08-15  Bruno Haible  <bruno@clisp.org>
115632         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
115633         module.
115635 2006-08-14  Simon Josefsson  <jas@extundo.com>
115637         * config/srclist.txt: Add gnupload.
115639 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
115641         Change copyright notice from LGPL 2 to GPL 2, since that's the
115642         standard form used in the gnulib repository.
115643         * tests/test-lock.c: Likewise.
115644         * tests/test-stdint.c: Likewise.
115645         * tests/test-tls.c: Likewise.
115647         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
115648         prelude-manager.  User shorter URLs for GNU projects, without '?'.
115649         Add copyright notice.
115651         * check-module: Add copyright notice.  Output a copyright
115652         notice if "--version" is specified.
115653         * modules/COPYING: New file.
115654         * tests/test-getaddrinfo.c: Add copyright notice.
115655         * tests/test-verify.c: Likewise.
115657 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
115659         Change copyright notice from LGPL 2 to GPL 2, since that's the
115660         standard form used in the gnulib repository.
115661         * lib/lock.c: LGPL -> GPL.
115662         * lib/lock.h: Likewise.
115663         * lib/strnlen1.c: Likewise.
115664         * lib/strnlen1.h: Likewise.
115665         * lib/tls.c: Likewise.
115666         * lib/tls.h: Likewise.
115667         * lib/tmpdir.c: Likewise.
115669         * lib/TODO: Remove; this belongs only in coreutils.
115671 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
115673         Add copyright notices to long-enough files that lack them, since
115674         otherwise the files aren't clearly free.  Use the same notice that
115675         getdate.texi already uses.
115676         * doc/alloca-opt.texi: Add copyright notice.
115677         * doc/alloca.texi: Likewise.
115678         * doc/ctime.texi: Likewise.
115679         * doc/functions.texi: Likewise.
115680         * doc/gcd.texi: Likewise.
115681         * doc/gnulib-tool.texi: Likewise.
115682         * doc/inet_ntoa.texi: Likewise.
115683         * doc/visibility.texi: Likewise.
115685         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
115686         * doc/quote.texi: Add copyright notice.
115688         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
115689         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
115690         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
115691         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
115692         is now obsolete, and give a pointer to the Sun list.
115693         Add copyright notice.
115695 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
115697         * config/srclistvars.sh: Add copyright notice.
115699 2006-08-14  Eric Blake  <ebb9@byu.net>
115701         Import the following change from libc:
115703         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
115705         Upstream bug 2997.
115706         * lib/misc/error.c: Add space between program name and message if file
115707         name is missing.
115709 2006-08-12  Karl Berry  <karl@gnu.org>
115711         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
115712         remove, these originate in gnulib now.
115714 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
115716         * doc/Makefile (standards.info standards.html standards.dvi):
115717         Also depend on make-stds.texi.
115719 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
115721         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
115722         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
115724         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
115725         in wchar_t.  Problem reported by Eric Blake.
115727         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
115728         LEN is smaller than SIZE.  Suggested by Bruno Haible.
115729         Also, help the compiler to keep LEN in a register.
115731 2006-08-11  Eric Blake  <ebb9@byu.net>
115733         * users.txt: Sort.  Add tar.
115735 2006-08-11  Bruno Haible  <bruno@clisp.org>
115737         * users.txt: New file.
115739 2006-08-11  Bruno Haible  <bruno@clisp.org>
115741         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
115742         before <wchar.h>. Needed for OSF/1 and BSD/OS.
115744 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
115746         * modules/snprintf (Depends-on): Remove minmax.
115747         (Maintainer): Add self and Bruno.
115749 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
115751         * lib/.cppi-disable: Add snprintf.h, socket_.h.
115752         * lib/snprintf.c: Include <errno.h> and <limits.h>.
115753         (EOVERFLOW): Define if the system does not.
115754         Do not include "minmax.h"; it wasn't used.
115755         (snprintf): Don't assume size_t promotes to an unsigned type.
115756         Fix bug when generated string was too long for the buffer: the
115757         buffer's contents are supposed to be the initial prefix of the
115758         output.  Don't assume vasnprintf returns EOVERFLOW if the size
115759         exceeds INT_MAX; do the check ourselves.
115761         Import the following changes from libc:
115763         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
115765         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
115766         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
115767         set wc to the byte which couldn't be converted.
115768         (re_string_reconstruct): Don't clear valid_raw_len before calling
115769         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
115770         tip_context using re_string_context_at.
115772         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
115774         * lib/posix/regex.h: g++ still cannot handled [restrict].
115776         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
115778         * lib/posix/regex.h: Remove special handling for VMS.
115780 2006-08-10  Jim Meyering  <jim@meyering.net>
115782         * modules/same-inode: New module.
115783         * modules/dev-ino: New module.
115784         * modules/cycle-check: Depend on these modules, rather than simply
115785         including their .h files.
115786         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
115787         required via m4/cycle-check.m4.
115788         * modules/same: Depend on new same-inode module, rather than
115789         including same-inode.h.
115790         * modules/chdir-safer: New file.
115792         * modules/chown (Depends-on): Add stat-macros.
115794 2006-08-10  Jim Meyering  <jim@meyering.net>
115796         * m4/cycle-check.m4: New file.
115797         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
115798         * m4/dev-ino.m4, m4/same-inode.m4: New files.
115800 2006-08-10  Eric Blake  <ebb9@byu.net>
115802         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
115803         in from original proposal.
115805 2006-08-10  Eric Blake  <ebb9@byu.net>
115806         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
115808         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
115809         namespace.
115811 2006-08-10  Bruno Haible  <bruno@clisp.org>
115813         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
115814         as well.
115816 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
115818         Sync from coreutils.
115820         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
115822         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
115823         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
115825 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
115827         * modules/restrict: Remove; no longer needed now that we assume
115828         Autoconf 2.59 or later.
115829         * MODULES.html.sh: Remove 'restrict'.
115830         * modules/argp (Depends-on): Remove 'restrict'.
115831         * modules/base64 (Depends-on): Likewise.
115832         * modules/gc (Depends-on): Likewise.
115833         * modules/getaddrinfo (Depends-on): Likewise.
115834         * modules/glob (Depends-on): Likewise.
115835         * modules/inet_ntop (Depends-on): Likewise.
115836         * modules/inet_pton (Depends-on): Likewise.
115837         * modules/memxor (Depends-on): Likewise.
115838         * modules/regex (Depends-on): Likewise.
115839         * modules/strtok_r (Depends-on): Likewise.
115840         * modules/time_r (Depends-on): Likewise.
115842 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
115844         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
115845         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
115846         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
115847         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
115848         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
115849         * m4/memxor.m4 (gl_MEMXOR): Likewise.
115850         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
115851         gl_C_RESTRICT replaced by AC_C_RESTRICT.
115853         Merge from coreutils.
115854         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
115855         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
115856         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
115857         * m4/time_r.m4 (gl_TIME_R): Likewise.
115859 2006-08-09  Karl Berry  <karl@gnu.org>
115861         * config/srclist.txt: no more gettext-tools, per Bruno.
115863 2006-08-08  Eric Blake  <ebb9@byu.net>
115865         * modules/verror: New module.
115866         * MODULES.html.sh: Document it.
115868 2006-08-08  Eric Blake  <ebb9@byu.net>
115870         * lib/verror.h, lib/verror.c: New files.
115872 2006-08-08  Eric Blake  <ebb9@byu.net>
115874         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
115875         verror_at_line output complies with GNU Coding Standards even when
115876         file is NULL.
115878 2006-08-07  Bruno Haible  <bruno@clisp.org>
115880         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
115881         versions of AIX.
115882         Reported by Ralf Wildenhues.
115884 2006-08-07  Bruno Haible  <bruno@clisp.org>
115886         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
115887         in an AC_DEFUN. Needed so that the autoconf snippets can use
115888         AC_REQUIRE.
115890 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
115892         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
115893         Initialize pkgdata_DATA.
115894         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
115895         overriding it.
115897 2006-08-06  Eric Blake  <ebb9@byu.net>
115899         * lib/error.h: Fold in some upstream changes from glibc.
115900         * lib/error.c: Likewise.
115902 2006-08-04  Bruno Haible  <bruno@clisp.org>
115904         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
115905         Make the mostlyclean-local rule depend on mostlyclean-generic.
115906         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
115908 2006-07-31  Bruno Haible  <bruno@clisp.org>
115910         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
115911         <stdlib.h>, <string.h>.
115913 2006-07-30  Bruno Haible  <bruno@clisp.org>
115915         * modules/readlink (License): Change to LGPL.
115917 2006-07-30  Bruno Haible  <bruno@clisp.org>
115919         * modules/javaversion (Makefile.am): Distribute javaversion.java and
115920         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
115921         set PKGDATADIR to point to it.
115923 2006-07-30  Bruno Haible  <bruno@clisp.org>
115925         * modules/csharpexec (configure.ac): Comment out macro invocation.
115926         * modules/javaexec (configure.ac): Likewise.
115927         * modules/javacomp-script (configure.ac): Likewise.
115929         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
115931 2006-07-30  Bruno Haible  <bruno@clisp.org>
115933         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
115934         linked-list.
115936 2006-07-30  Bruno Haible  <bruno@clisp.org>
115938         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
115940 2006-07-30  Bruno Haible  <bruno@clisp.org>
115942         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
115943         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
115944         get removed.
115946 2006-07-29  Bruno Haible  <bruno@clisp.org>
115948         Make it possible for gnulib-tool to work with locally modified or
115949         augmented gnulib repositories.
115950         * gnulib-tool (func_usage): Document --local-dir option.
115951         (local_gnulib_dir): New variable.
115952         Handle --local-dir option.
115953         (func_lookup_file): New function.
115954         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
115955         (func_get_description, func_get_filelist, func_get_description,
115956         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
115957         func_get_automake_snippet, func_get_include_directive,
115958         func_get_license, func_get_maintainer): Use func_lookup_file.
115959         (func_import, func_create_testdir): Use func_lookup_file.
115961 2006-07-29  Bruno Haible  <bruno@clisp.org>
115963         * modules/setenv (Depends-on): Add unistd.
115965 2006-07-29  Bruno Haible  <bruno@clisp.org>
115967         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
115969 2006-07-29  Bruno Haible  <bruno@clisp.org>
115971         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
115973 2006-07-29  Bruno Haible  <bruno@clisp.org>
115975         * gnulib-tool (import, update): If there is no Makefile.am, look at
115976         aclocal.m4, instead of bailing out.
115978 2006-07-29  Bruno Haible  <bruno@clisp.org>
115980         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
115981         Categorize the options by when they are useful.
115983 2006-07-29  Bruno Haible  <bruno@clisp.org>
115985         * gnulib-tool (func_usage): Document option --no-libtool.
115986         Handle option --no-libtool.
115987         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
115988         for changed semantics of $libtool variable.
115989         (func_import): Likewise. If libtool is not used, show this through
115990         an option --no-libtool.
115991         (func_create_testdir): Update.
115993 2006-07-29  Bruno Haible  <bruno@clisp.org>
115995         * gnulib-tool (func_import): Extend error message about missing
115996         --doc-base.
115998 2006-07-29  Bruno Haible  <bruno@clisp.org>
116000         * gnulib-tool (func_import): Don't create the $docbase directory if
116001         there is no file to store there.
116003 2006-07-29  Bruno Haible  <bruno@clisp.org>
116005         * gnulib-tool (autoconf_minversion): If a --dir option is given and
116006         relevant, look for configure.ac there, not in the current directory.
116007         Also use a simple search for AC_PREREQ, not "autoconf --trace".
116009 2006-07-29  Bruno Haible  <bruno@clisp.org>
116011         * gnulib-tool (SORT): New variable.
116012         (func_usage): Undocument --assume-autoconf option.
116013         Remove --assume-autoconf option handling.
116014         (autoconf_minversion): Determine from the contents of configure.ac.
116015         (func_import): Remove autoconf_minversion handling.
116016         Suggested by Eric Blake.
116018 2006-07-29  Bruno Haible  <bruno@clisp.org>
116020         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
116022 2006-07-29  Bruno Haible  <bruno@clisp.org>
116024         * config/srclist.txt (*setenv.[ch]): Remove rules.
116026 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
116028         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
116030 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
116032         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
116033         arpa/inet.h.
116035 2006-07-28  Simon Josefsson  <jas@extundo.com>
116037         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
116038         * modules/inet_pton (Depends-on): Likewise.
116040 2006-07-28  Simon Josefsson  <jas@extundo.com>
116042         * m4/netinet_in_h.m4: New file.
116044 2006-07-28  Simon Josefsson  <jas@extundo.com>
116046         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
116047         #include's.
116049 2006-07-28  Simon Josefsson  <jas@extundo.com>
116051         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
116052         #include's.
116054 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
116056         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
116057         setgid on directories only if they set these bits.
116058         * lib/modechange.h: Remove obsolete comment about masks.
116060 2006-07-28  Eric Blake  <ebb9@byu.net>
116062         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
116063         macro expansion.
116065 2006-07-28  Bruno Haible  <bruno@clisp.org>
116067         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
116069 2006-07-28  Bruno Haible  <bruno@clisp.org>
116071         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
116073 2006-07-28  Bruno Haible  <bruno@clisp.org>
116075         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
116076         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
116077         Define fallbacks.
116078         Avoids link error on FreeBSD 4.x.
116079         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
116081         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
116082         encoding.
116083         * lib/mbswidth.c (iswcntrl): Likewise.
116085 2006-07-27  Bruno Haible  <bruno@clisp.org>
116087         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
116088         test.
116090 2006-07-27  Bruno Haible  <bruno@clisp.org>
116092         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
116093         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
116094         defined.
116096 2006-07-26  Eric Blake  <ebb9@byu.net>
116098         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
116100 2006-07-26  Eric Blake  <ebb9@byu.net>
116102         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
116103         like mingw that lack mkstemp.
116104         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
116105         avoid compilation warning on mingw.
116107 2006-07-26  Bruno Haible  <bruno@clisp.org>
116109         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
116110         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
116111         INT_FAST*_MIN, INTPTR_MIN.
116113 2006-07-25  Bruno Haible  <bruno@clisp.org>
116115         * modules/version-etc (Depends-on): Add stdarg.
116117 2006-07-25  Bruno Haible  <bruno@clisp.org>
116119         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
116120         complex commands.
116122 2006-07-25  Bruno Haible  <bruno@clisp.org>
116124         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
116125         defined in <stdarg.h> or config.h.
116127 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
116129         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
116130         (gl_STDIO_SAFER): Remove.
116132 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
116134         * MODULES.html.sh (File stream based Input/Output):
116135         Add fopen-safer, tmpfile-safer; remove stdio-safer.
116136         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
116137         * modules/fopen-safer, modules/tmpfile-safer: New files.
116138         * modules/stdio-safer: Remove.
116140 2006-07-24  Bruno Haible  <bruno@clisp.org>
116142         * modules/tmpdir: New file.
116143         * MODULES.html.sh (File system functions): Add it.
116145 2006-07-24  Bruno Haible  <bruno@clisp.org>
116147         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
116148         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
116150 2006-07-24  Bruno Haible  <bruno@clisp.org>
116152         * modules/clean-temp: New file.
116154 2006-07-24  Bruno Haible  <bruno@clisp.org>
116156         * m4/tmpdir.m4: New file, from GNU gettext.
116158 2006-07-24  Bruno Haible  <bruno@clisp.org>
116160         * lib/tmpdir.h: New file, from GNU gettext.
116161         * lib/tmpdir.c: New file, from GNU gettext.
116163 2006-07-24  Bruno Haible  <bruno@clisp.org>
116165         * lib/clean-temp.h: New file, from GNU gettext.
116166         * lib/clean-temp.c: New file, from GNU gettext.
116168 2006-07-23  Eric Blake  <ebb9@byu.net>
116170         * modules/stdio-safer (Files): Add tmpfile-safer.c.
116171         (Depends-on): Add binary-io.
116173 2006-07-23  Eric Blake  <ebb9@byu.net>
116175         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
116177 2006-07-23  Eric Blake  <ebb9@byu.net>
116179         * lib/tmpfile-safer.c: New file.
116180         * lib/stdio-safer.h (fopen_safer): Add prototype.
116181         * lib/stdio--.h (tmpfile): Make safer.
116183 2006-07-23  Bruno Haible  <bruno@clisp.org>
116185         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
116186         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
116187         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
116188         gl_linked_remove_at): Use it.
116190 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
116191         and Simon Josefsson <jas@extundo.com>
116193         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
116195         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
116197 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
116199         * modules/close-stream: New file.
116200         * modules/closeout (Description): Make it clear that it exits
116201         with a diagnostic on error.
116202         (Depends-on): Add close-stream.  Remove fpending, stdbool.
116203         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
116205 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
116207         * m4/close-stream.m4: New file.
116209 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
116211         * lib/close-stream.c, lib/close-stream.h: New files.
116213 2006-07-22  Bruno Haible  <bruno@clisp.org>
116215         Merge from GNU gettext 0.15.
116217         2006-05-01  Bruno Haible  <bruno@clisp.org>
116219                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
116221         2006-07-22  Bruno Haible  <bruno@clisp.org>
116223                 * modules/javaversion: New file.
116224                 * MODULES.html.sh (Java): Add javaversion.
116226         2006-03-12  Bruno Haible  <bruno@clisp.org>
116228                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
116230         2005-12-04  Bruno Haible  <bruno@clisp.org>
116232                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
116233                 (untested).
116235         2006-06-21  Bruno Haible  <bruno@clisp.org>
116237                 Avoid warnings from recent versions of mcs.
116238                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
116239                 -o, -L, -r any more. Use options documented since mcs-1.0
116240                 instead. Similarly for -g.
116242         2005-12-04  Bruno Haible  <bruno@clisp.org>
116244                 * build-aux/csharpcomp.sh.in: Suffix for resources is
116245                 .resources, not .resource.
116247         2005-07-09  Bruno Haible  <bruno@clisp.org>
116249                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
116250                 add a .dll suffix.
116251                 Reported by Mark Junker <mjscod@gmx.de>.
116253         2006-07-22  Bruno Haible  <bruno@clisp.org>
116255                 * modules/gettext: Upgrade to gettext-0.15.
116256                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
116257                 m4/visibility.m4.
116258                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
116260 2006-07-22  Bruno Haible  <bruno@clisp.org>
116262         Merge from GNU gettext 0.15.
116264         2006-03-25  Bruno Haible  <bruno@clisp.org>
116266                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
116268         2006-07-21  Bruno Haible  <bruno@clisp.org>
116270                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
116271                 "1.1".
116273         2006-05-09  Bruno Haible  <bruno@clisp.org>
116275                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
116276                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
116277                 for the conftestver execution.
116279         2006-05-01  Bruno Haible  <bruno@clisp.org>
116281                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
116282                 optional target-version argument. Verify that the compiler
116283                 groks source of the specified source-version, or add -source
116284                 option as necessary. Verify that the compiler produces
116285                 bytecode in the specified target-version, or add -target and
116286                 -source options as necessary. Make the result of the test
116287                 available as variable CONF_JAVAC. Also log error output in
116288                 config.log.
116290         2006-03-11  Bruno Haible  <bruno@clisp.org>
116292                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
116294         2006-05-09  Bruno Haible  <bruno@clisp.org>
116296                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
116297                 CLASSPATH_SEPARATOR to a semicolon.
116299         2006-03-12  Bruno Haible  <bruno@clisp.org>
116301                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
116302                 available as variable CONF_JAVA, for subsequent autoconf
116303                 tests. Also log error output in config.log.
116305         2006-07-19  Bruno Haible  <bruno@clisp.org>
116307                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
116308                 that getline works on glibc2 systems. Needed to avoid trouble
116309                 in relocatable.c.
116310                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
116312         2005-12-04  Bruno Haible  <bruno@clisp.org>
116314                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
116315                 launcher (untested).
116317         2005-12-04  Bruno Haible  <bruno@clisp.org>
116319                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
116321         2006-07-22  Bruno Haible  <bruno@clisp.org>
116323                 * gettext.m4: Update from GNU gettext-0.15.
116324                 * nls.m4: Likewise.
116325                 * po.m4: Likewise.
116326                 * inttypes-pri.m4: Likewise.
116327                 * inttypes-h.m4: Renamed from inttypes.m4.
116328                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
116330 2006-07-22  Bruno Haible  <bruno@clisp.org>
116332         Merge from GNU gettext 0.15.
116334         2005-07-05  Bruno Haible  <bruno@clisp.org>
116336                 * printf-args.c (printf_fetchargs): Work around broken
116337                 definition of wint_t on mingw.
116339         2005-02-12  Bruno Haible  <bruno@clisp.org>
116341                 * xallocsa.h: Add extern "C" for C++.
116343         2006-05-17  Bruno Haible  <bruno@clisp.org>
116345                 Cygwin portability.
116346                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
116348         2006-04-30  Bruno Haible  <bruno@clisp.org>
116350                 * progreloc.c: Include <mach-o/dyld.h> if available.
116351                 (find_executable): Use _NSGetExecutablePath when possible.
116353         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
116355                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
116356                 function.
116358         2005-12-29  Bruno Haible  <bruno@clisp.org>
116360                 * progreloc.c (set_program_name_and_installdir): Fix
116361                 compilation error.
116363         2005-12-04  Bruno Haible  <bruno@clisp.org>
116365                 Cygwin portability.
116366                 * progreloc.c: Include <windows.h> also on Cygwin.
116367                 (find_executable): Add support for Cygwin.
116368                 (set_program_name_and_installdir): Handle also platforms with
116369                 nonempty EXEEXT.
116371         2006-07-11  Bruno Haible  <bruno@clisp.org>
116373                 * javacomp.c: Fix a comment.
116374                 Reported by Jim Meyering.
116376         2006-04-30  Bruno Haible  <bruno@clisp.org>
116378                 * javacomp.h (compile_java_class): Add source_version,
116379                 target_version arguments.
116380                 * javacomp.c: Rewritten to choose only a compiler that
116381                 respects the specified source_version and target_version.
116383         2006-06-27  Bruno Haible  <bruno@clisp.org>
116385                 Assume correct S_ISDIR macro.
116386                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
116388         2006-07-22  Bruno Haible  <bruno@clisp.org>
116390                 * javaversion.h: New file, from GNU gettext.
116391                 * javaversion.c: New file, from GNU gettext.
116392                 * javaversion.java: New file, from GNU gettext.
116393                 * javaversion.class: New file, from GNU gettext.
116395         2006-05-17  Bruno Haible  <bruno@clisp.org>
116397                 Cygwin portability.
116398                 * javaexec.c (execute_java_class): Test for jview program
116399                 also on Cygwin.
116401         2006-04-09  Bruno Haible  <bruno@clisp.org>
116403                 * fatal-signal.c: Don't include string.h.
116404                 (at_fatal_signal): Use a copying loop instead of memcpy.
116406         2005-12-04  Bruno Haible  <bruno@clisp.org>
116408                 * csharpexec.c: Add support for 'clix' launcher (untested).
116409                 (execute_csharp_using_sscli): New function.
116410                 (execute_csharp_program): Call it.
116412         2006-06-21  Bruno Haible  <bruno@clisp.org>
116414                 Avoid warnings from recent versions of mcs.
116415                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
116416                 -o, -L, -r any more. Use options documented since mcs-1.0
116417                 instead. Similarly for -g.
116419         2005-07-09  Bruno Haible  <bruno@clisp.org>
116421                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
116422                 add a .dll suffix.
116423                 Reported by Mark Junker <mjscod@gmx.de>.
116425         2006-06-17  Bruno Haible  <bruno@clisp.org>
116427                 * config.charset: Update for NetBSD 3.0.
116429         2006-05-17  Bruno Haible  <bruno@clisp.org>
116431                 Cygwin portability.
116432                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
116434         2006-05-16  Bruno Haible  <bruno@clisp.org>
116436                 * localcharset.c [CYGWIN]: Include <windows.h>.
116437                 (get_charset_aliases): For Cygwin, return the same CPxxx
116438                 aliases list as under WIN32.
116439                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
116440                 the environment variables. Fall back to GetACP().
116442         2006-04-05  Bruno Haible  <bruno@clisp.org>
116444                 * config.charset: Update Juan Manuel Guerrero's address.
116446         2005-02-12  Bruno Haible  <bruno@clisp.org>
116448                 * allocsa.h: Add extern "C" for C++.
116450         2005-02-10  Bruno Haible  <bruno@clisp.org>
116452                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
116453                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
116455         2006-07-22  Bruno Haible  <bruno@clisp.org>
116457                 * gettext.h: Update to GNU gettext-0.15.
116459 2006-07-22  Bruno Haible  <bruno@clisp.org>
116461         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
116462         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
116463         lib-prefix.m4, longdouble.m4, ssize_t.m4.
116465 2006-07-21  Eric Blake  <ebb9@byu.net>
116467         * modules/stdlib-safer: New file.
116468         * MODULES.html.sh (File stream based Input/Output): Add
116469         stdlib-safer.
116471 2006-07-21  Eric Blake  <ebb9@byu.net>
116473         * lib/stdlib-safer.h: New file from coreutils, required by
116474         stdlib--.h.
116476 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
116478         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
116480 2006-07-20  Bruno Haible  <bruno@clisp.org>
116482         * gnulib-tool: Recognize new option --assume-autoconf.
116483         (autoconf_minversion): New variable.
116484         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
116486 2006-07-20  Bruno Haible  <bruno@clisp.org>
116488         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
116490 2006-07-19  Derek R. Price  <derek@ximbiot.com>
116492         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
116493         Reindent and repaginate.
116495 2006-07-19  Derek Price  <derek@ximbiot.com>
116497         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
116498         Correct grammar.
116500 2006-07-17  Bruno Haible  <bruno@clisp.org>
116502         * modules/list: New file.
116503         * modules/array-list: New file.
116504         * modules/carray-list, modules/carray-list-tests: New files.
116505         * modules/linked-list, modules/linked-list-tests: New files.
116506         * modules/avltree-list, modules/avltree-list-tests: New files.
116507         * modules/rbtree-list, modules/rbtree-list-tests: New files.
116508         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
116509         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
116510         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
116511         * modules/oset: New file.
116512         * modules/array-oset: New file.
116513         * modules/avltree-oset, modules/avltree-oset-tests: New files.
116514         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
116515         * tests/test-carray_list.c: New file.
116516         * tests/test-linked_list.c: New file.
116517         * tests/test-avltree_list.c: New file.
116518         * tests/test-rbtree_list.c: New file.
116519         * tests/test-linkedhash_list.c: New file.
116520         * tests/test-avltreehash_list.c: New file.
116521         * tests/test-rbtreehash_list.c: New file.
116522         * tests/test-avltree_oset.c: New file.
116523         * tests/test-rbtree_oset.c: New file.
116524         * MODULES.html.sh (Container data structures): New section.
116526 2006-07-17  Bruno Haible  <bruno@clisp.org>
116528         * m4/gl_list.m4: New file.
116530 2006-07-17  Bruno Haible  <bruno@clisp.org>
116532         * lib/gl_list.h: New file.
116533         * lib/gl_list.c: New file.
116534         * lib/gl_array_list.h: New file.
116535         * lib/gl_array_list.c: New file.
116536         * lib/gl_carray_list.h: New file.
116537         * lib/gl_carray_list.c: New file.
116538         * lib/gl_linked_list.h: New file.
116539         * lib/gl_linked_list.c: New file.
116540         * lib/gl_anylinked_list1.h: New file.
116541         * lib/gl_anylinked_list2.h: New file.
116542         * lib/gl_avltree_list.h: New file.
116543         * lib/gl_avltree_list.c: New file.
116544         * lib/gl_anyavltree_list1.h: New file.
116545         * lib/gl_anyavltree_list2.h: New file.
116546         * lib/gl_rbtree_list.h: New file.
116547         * lib/gl_rbtree_list.c: New file.
116548         * lib/gl_anyrbtree_list1.h: New file.
116549         * lib/gl_anyrbtree_list2.h: New file.
116550         * lib/gl_anytree_list1.h: New file.
116551         * lib/gl_anytree_list2.h: New file.
116552         * lib/gl_linkedhash_list.h: New file.
116553         * lib/gl_linkedhash_list.c: New file.
116554         * lib/gl_anyhash_list1.h: New file.
116555         * lib/gl_anyhash_list2.h: New file.
116556         * lib/gl_avltreehash_list.h: New file.
116557         * lib/gl_avltreehash_list.c: New file.
116558         * lib/gl_rbtreehash_list.h: New file.
116559         * lib/gl_rbtreehash_list.c: New file.
116560         * lib/gl_anytreehash_list1.h: New file.
116561         * lib/gl_anytreehash_list2.h: New file.
116563         * lib/gl_oset.h: New file.
116564         * lib/gl_oset.c: New file.
116565         * lib/gl_array_oset.h: New file.
116566         * lib/gl_array_oset.c: New file.
116567         * lib/gl_avltree_oset.h: New file.
116568         * lib/gl_avltree_oset.c: New file.
116569         * lib/gl_rbtree_oset.h: New file.
116570         * lib/gl_rbtree_oset.c: New file.
116571         * lib/gl_anytree_oset.h: New file.
116573 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
116575         * m4/mkancesdirs.m4: New file.
116576         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
116577         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
116578         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
116579         it.
116581 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
116583         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
116584         * lib/mkancesdirs.h: New files.
116585         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
116586         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
116587         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
116588         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
116589         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
116590         callers changed.  Revamp internals significantly, by not
116591         attempting to create directories that are temporarily more
116592         permissive than the final results.  Do not attempt to use
116593         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
116594         This removes some race conditions, fixes some bugs, and simplifies
116595         things.  Use new dirchownmod function to do owner and mode changes.
116596         * lib/mkdir-p.h: Likewise.
116597         * lib/modechange.c (octal_to_mode): New function.
116598         (struct mode_change): New member mentioned.
116599         (make_node_op_equals): New arg mentioned.  All callers changed.
116600         (mode_compile): Keep track of which mode bits the user has explicitly
116601         mentioned.
116602         (mode_adjust): New arg DIR, so that we implement the X op correctly.
116603         New arg PMODE_BITS, to keep track of which mode bits the user
116604         mentioned; it treats S_ISUID and S_ISGID speciall.
116605         All callers changed.
116606         * lib/modechange.h: Likewise.
116608 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
116610         * MODULES.html.sh: Add mkancestors.
116611         * modules/mkancesdirs: New module.
116612         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
116613         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
116614         The chdir-safer and afs files are now orphans; I'll remove them
116615         unless someone speaks up.
116616         Add lib/dirchownmod.c, lib/dirchownmod.h.
116617         (Depends-on): Remove alloca, chown, save-cwd, dirname.
116618         Add lchown, mkancesdirs.
116619         (Maintainer): Add self.
116621 2006-07-15  Karl Berry  <karl@gnu.org>
116623         * gnulib-tool: help message wording/arrangement.
116625 2006-07-14  Simon Josefsson  <jas@extundo.com>
116627         * doc/gnulib.texi (Libtool and Windows): New section.
116629 2006-07-12  Simon Josefsson  <jas@extundo.com>
116631         * modules/gendocs (License): Fix license, approved by Karl.
116633 2006-07-12  Eric Blake  <ebb9@byu.net>
116635         * MODULES.html.sh: Add gendocs.
116637 2006-07-11  Eric Blake  <ebb9@byu.net>
116639         * modules/fdl: New module, to install doc/fdl.texi.
116640         * MODULES.html.sh: Add new section for documentation modules.
116641         * gnulib-tool: Avoid space-tab.
116642         (--doc-base): New option, to manage files from doc.
116644 2006-07-11  Eric Blake  <ebb9@byu.net>
116646         * m4/absolute-header.m4: Fix comments to match recent change.
116648 2006-07-11  Eric Blake  <ebb9@byu.net>
116650         * gnulib-tool: List --doc-base before --tests-base.
116652 2006-07-11  Derek R. Price  <derek@ximbiot.com>
116654         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
116656 2006-07-11  Bruno Haible  <bruno@clisp.org>
116658         * README: Mention where to put documentation.
116660 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
116662         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
116664 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
116666         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
116667         to stdint.m4.
116669 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
116671         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
116672         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
116673         "no/such/file/stdint.h" when there is no such file, so that
116674         the resulting C code can be parsed by dodgy compilers.
116675         Problems reported by Bob Proulx.
116677 2006-07-10  Derek R. Price  <derek@ximbiot.com>
116679         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
116680         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
116681         macros into the GNU _D_EXACT_NAMLEN.
116682         * lib/savedir.c:  Likewise.
116683         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
116685 2006-07-10  Derek R. Price  <derek@ximbiot.com>
116686         and Paul Eggert  <eggert@cs.ucla.edu>
116688         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
116689         * m4/savedir.m4:
116690         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
116691         macros into the GNU _D_EXACT_NAMLEN.
116693 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
116695         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
116696         around the absolute name, to work around a problem with the HP-UX
116697         11.23 native C compiler, reported by Bob Proulx.
116699 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
116701         * doc/maintain.texi, make-stds.texi: Sync from
116702         <http://savannah.gnu.org/projects/gnustandards>.
116704 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
116706         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
116708 2006-07-09  Jim Meyering  <jim@meyering.net>
116710         * m4/glob.m4: Remove a doubled word in a comment.
116712 2006-07-09  Jim Meyering  <jim@meyering.net>
116714         * lib/argp-pv.c: Remove a doubled word in a comment.
116715         * lib/check-version.c (check_version): Likewise.
116716         * lib/javacomp.c (compile_java_class): Likewise.
116718 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
116720         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
116721         for the benefit of people using Autoconf 2.60.  If you want to
116722         support older Autoconf versions you can copy m4/onceonly_2_57.m4
116723         (or m4/onceonly.m4, if pre-2.57) manually.
116725 2006-07-08  Jim Meyering  <jim@meyering.net>
116727         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
116728         comment.
116729         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
116730         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
116731         comment.
116733 2006-07-08  Jim Meyering  <jim@meyering.net>
116735         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
116737 2006-07-07  Simon Josefsson  <jas@extundo.com>
116739         * tests/test-crc.c: Change expected crc value, the test vector
116740         were probably computed using the old broken crc.c?
116742 2006-07-06  Simon Josefsson  <jas@extundo.com>
116744         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
116745         now the canonical place for the M4 file).
116747         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
116748         from the sys_socket dependency now.
116750         * modules/inet_pton (Files): Ditto.
116752         * modules/inet_ntop (Files): Ditto.
116754 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
116756         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
116757         not gl_PREREQ_GETUSERSHELL.
116759 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
116761         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
116762         with only one argument, for Autoconf 2.60.
116763         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
116764         expand to nothing, so add a shell command to avoid syntax error.
116765         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
116767 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
116769         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
116771 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
116773         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
116774         no longer needed.  Check for isblank decl.
116775         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
116776         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
116777         of existence.
116779 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
116781         * lib/getloadavg.c: Use __VMS, not VMS.
116782         * lib/getopt.c: Likewise.
116783         * lib/getpagesize.h: Likewise.
116784         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
116785         and probably does not work.
116787 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
116789         * lib/.cppi-disable: Add wcwidth.
116790         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
116791         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
116792         (ISGRAPH): Remove.  All uses changed to isgraph.
116793         (FOLD) [!defined _LIBC]: Remove special case.
116794         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
116795         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
116796         HAVE_ISBLANK.
116797         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
116798         case.
116800 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
116802         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
116803         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
116804         brackets.  Other minor changes to suppress some compiler
116805         warnings.
116807 2006-07-06  Derek R. Price  <derek@ximbiot.com>
116808         and Paul Eggert  <eggert@cs.ucla.edu>
116810         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
116811         of invoking obsolescent AC_HEADER_DIRENT macro.
116812         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
116813         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
116814         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
116815         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
116816         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
116817         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
116818         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
116819         * m4/readdir.m4: Remove; no longer needed.
116821 2006-07-06  Derek R. Price  <derek@ximbiot.com>
116822         and Paul Eggert  <eggert@cs.ucla.edu>
116824         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
116825         Don't worry about this obsolete case any more.
116826         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
116827         directories.
116828         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
116829         worry about this obsolete case any more.
116830         * lib/fts.c: Likewise.
116831         * lib/getcwd.c: Likewise.
116832         * lib/glob.h: Likewise.
116833         * lib/savedir.c: Likewise.
116835 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
116837         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
116838         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
116839         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
116840         needed.
116841         All uses removed.
116842         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
116843         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
116844         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
116845         needed.
116846         * m4/getdate.m4 (gl_GETDATE): Likewise.
116847         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
116848         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
116849         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
116850         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
116851         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
116852         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
116853         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
116854         needed.
116856 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
116858         * lib/memcasecmp.c: Include <limits.h>.
116859         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
116860         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
116861         Don't assume isdigit succeeds only on '0' through '9'.
116863 2006-07-05  Eric Blake  <ebb9@byu.net>
116865         * modules/getaddrinfo (Depends-on): Add snprintf.
116867 2006-07-05  Eric Blake  <ebb9@byu.net>
116869         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
116870         to avoid 'header present but could not be compiled' on cygwin.
116872 2006-07-05  Eric Blake  <ebb9@byu.net>
116874         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
116875         missing from netdb.h.
116876         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
116878 2006-07-05  Derek R. Price  <derek@ximbiot.com>
116880         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
116881         no longer needed.
116882         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
116883         * m4/getdate.m4 (gl_GETDATE): Likewise.
116884         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
116885         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
116886         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
116887         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
116888         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
116890 2006-07-05  Derek R. Price  <derek@ximbiot.com>
116892         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
116893         All uses of is_space replaced by isspace.
116894         * lib/exit.h: Don't talk about STDC_HEADERS.
116895         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
116896         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
116897         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
116898         replaced by isprint etc.
116899         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
116900         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
116901         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
116902         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
116903         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
116904         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
116906 2006-07-05  Bruno Haible  <bruno@clisp.org>
116908         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
116909         the function exists, before testing against AIX.
116910         Reported by Martin Lambers <marlam@marlam.de>.
116912 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
116914         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
116915         From Mark D. Baushke.
116917 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
116919         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
116920         to the absolute name, not just one, to bypass Sun C 5.8's
116921         "warning: #include of /usr/include/... may be non-portable".
116923 2006-07-04  Eric Blake  <ebb9@byu.net>
116925         * modules/dirname-tests: New test module.
116926         * tests/test-dirname.c: New file, replacing dirname.c
116927         TEST_DIRNAME section that was recently deleted.
116929 2006-07-04  Bruno Haible  <bruno@clisp.org>
116931         Assume ANSI C header files and <ctype.h> functions.
116932         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
116933         (mbsnwidth): Use isprint, iscntrl instead.
116935 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
116937         Merge from coreutils.
116938         * MODULES.html.sh: Add xstrtold.
116939         * modules/xstrtold: New file.
116940         * modules/cycle-check (Files): Add lib/same-inode.h.
116941         * modules/dirname (Files): Add m4/double-slash-root.m4.
116942         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
116943         * modules/mkdir-p (Files): Add lib/same-inode.h.
116944         * modules/same (Files): Add lib/same-inode.h.
116946 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
116948         * m4/absolute-header.m4: Renamed from full-header-path.m4.
116949         This is to keep the terminology clean; POSIX talks about
116950         "absolute pathnames", not "full pathnames", but the GNU
116951         Coding Standards say to use "path" for something else;
116952         so use "absolute" to keep both sides happy.
116953         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
116954         Set gl_absolute_header, not gl_full_header_path.
116955         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
116956         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
116957         All uses changed.
116959         Merge from coreutils.
116961         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
116963         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
116964         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
116965         want to require the building of c-strtod.o.
116966         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
116967         needs -lm directly.
116968         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
116970         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
116972         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
116973         --as-needed option if available.  Problem reported by Albert Chin in
116974         <http://lists.gnu.org/r/bug-gnulib/2006-06/msg00114.html>.
116975         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
116976         cc merely issues a bunch of annoying warnings for --as-needed
116977         (this problem was reported by Bob Proulx).  Also, try linking with
116978         -lm to detect a bug in binutils 2.16 (this problem was reported
116979         by Ralf Wildenhues).
116981         2006-06-18  Jim Meyering  <jim@meyering.net>
116983         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
116984         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
116985         macro.
116986         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
116987         also check for glibc-2.4's abort-inducing bug.
116989         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
116990         Low-probability clean-up should be to use rmdir to get rid of
116991         the just-created directory, not unlink.
116993         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
116994         configure fail, and request a bug report to inform us about it.
116995         Add a comment that, barring reports to the contrary, in 2007 we'll
116996         assume ftruncate is universally available.
116998         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
117000         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
117002         2006-03-12  Jim Meyering  <jim@meyering.net>
117004         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
117005         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
117006         * m4/same.m4 (gl_SAME): Likewise.
117007         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
117009         2006-03-11  Eric Blake  <ebb9@byu.net>
117011         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
117012         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
117013         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
117014         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
117016 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
117018         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
117019         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
117020         reported by Mark D. Baushke, one in
117021         <http://lists.gnu.org/r/bug-gnulib/2006-07/msg00015.html>.
117023         Merge from coreutils.
117025         * lib/.cppi-disable: Add stdint_.h.
117026         * lib/.cvsignore: Add stdint.h.
117028         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
117030         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
117031         both double and long double versions.
117032         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
117033         * lib/xstrtold.c: New file.
117034         * lib/xstrtod.h (xstrtold): New decl.
117036         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
117038         * lib/filemode.c (setst): Remove.
117039         (strmode): Rewrite to avoid setst.  This makes the code shorter,
117040         (arguably) clearer, and the generated code is a bit smaller on my
117041         Debian GNU/Linux stable x86 host.
117043         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
117045         * lib/filemode.c: Include "filemode.h" first, to test the interface.
117046         Assume that filemode.h includes sys/types.h and sys/stat.h.
117047         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
117048         (ftypelet): Reorder to put common cases first, for efficiency.
117049         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
117050         to do 'M'.
117051         (strmode): Renamed from mode_string, and now stores 12 bytes instead
117052         of 10, for compatibility with FreeBSD.  All callers changed.
117053         (filemodestring): Now stores 12 bytes instead of 10, and sets file
117054         types that can't be deduced solely from st_mode.  First arg is now a
117055         const pointer.
117056         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
117057         (strmode): Renamed from mode_string.
117058         (filemodestring): New decl.
117059         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
117060         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
117061         needed.
117062         (S_ISPORT, S_ISWHT): New macros, if not already defined.
117064         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
117066         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
117067         fsusage.h now does that.  Include fsusage.h first, to test interface.
117068         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
117069         at most one method (the old code could have generated decls that
117070         didn't conform to C89, not that this was ever exercised).
117071         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
117073         2006-03-19  Jim Meyering  <jim@meyering.net>
117075         Work even in a chroot where d_ino values for entries in "/"
117076         don't match the stat.st_ino values for the same names.
117077         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
117078         number, iterate through all entries again, using lstat instead.
117079         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
117080         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
117082         * lib/getcwd.c (__getcwd): Clarify a comment.
117083         Use memcpy in place of a call to strcpy.
117085         2006-03-12  Jim Meyering  <jim@meyering.net>
117087         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
117088         matches that of the current directory (which we're about to chdir ".."
117089         out of), then save the dev-ino of the parent, instead.
117091         * lib/same-inode.h (SAME_INODE): New file/macro.
117092         * lib/chdir-safer.c (SAME_INODE): Remove definition.
117093         Include "same-inode.h", instead.
117094         * lib/same.c: Likewise.
117095         * lib/cycle-check.h: Include "same-inode.h".
117096         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
117097         * lib/cycle-check.c (SAME_INODE): Remove definition.
117098         * lib/root-dev-ino.h: Include "same-inode.h".
117100         2006-03-11  Eric Blake  <ebb9@byu.net>
117102         * lib/same.c (same_name): s/base_name/last_component/
117103         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
117104         * lib/filenamecat.c (file_name_concat): Likewise.
117106         2006-03-11  Eric Blake  <ebb9@byu.net>,
117107                     Paul Eggert  <eggert@cs.ucla.edu>
117109         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
117110         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
117111         drive prefix.
117112         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
117113         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
117114         (last_component): New method.
117115         * lib/dirname.c (dir_len): Determine when drive letters need a
117116         subsequent slash.  Preserve // when it is special.
117117         (dir_name): Don't append dot when drive letter is absolute.
117118         [TEST_DIRNAME]: Move into a full-blown gnulib test.
117119         * lib/basename.c (base_name): New semantics - malloc the result.
117120         Preserve // when it is special.  Preserve relative files that look
117121         like drive letters.
117122         (base_len): Preserve // when it is special.
117123         (last_component): New method, similar to old base_name semantics.
117124         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
117125         base_name.  Strip redundant slashes from ///.
117127 2006-07-03  Jim Meyering  <jim@meyering.net>
117129         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
117130         macro is used before the first cycle_check call.
117132 2006-07-03  Eric Blake  <ebb9@byu.net>
117134         * modules/dirname (Depends-on): Add xstrndup.
117136 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
117138         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
117139         test cases, so that config.log is a bit easier to follow.
117141 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
117143         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
117144         both are 64 bits, since this seems to be the tradition, and this
117145         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
117146         we ever run into a host that prefers long long to long in this
117147         case, we'll need another configure-time test.  Problem reported by
117148         Jim Meyering.
117150 2006-07-02  Eric Blake  <ebb9@byu.net>
117152         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
117154 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
117156         * modules/inttypes (Depends-on): No longer depends on stdint.
117157         * modules/stdint (Description): Say more about assumptions.
117158         Say that the fast types might differ.  Say macros are used.
117159         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
117160         (Makefile.am): Revise list of substituted symbols to match
117161         new stdint.m4.
117162         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
117163         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
117164         * tests/test-stdint.c (verify_same_types)
117165         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
117166         the code conforms to C99/C89.
117167         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
117168         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
117170 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
117172         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
117173         but fix a bug, by requiring at least 64 bits.
117174         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
117175         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
117176         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
117177         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
117179         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
117180         changes.  Make 2.59 a prerequisite.  Check and substitute for
117181         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
117182         inttypes.h.  Do not use special include files; just use the
117183         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
117184         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
117185         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
117186         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
117187         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
117188         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
117189         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
117190         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
117191         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
117192         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
117193         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
117194         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
117195         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
117196         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
117197         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
117198         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
117199         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
117200         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
117201         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
117202         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
117203         WINT_MAX.  Check for C99 conformance more strictly, by detecting
117204         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
117205         not check for things that C99 does not require, e.g., int8_t.  If
117206         a test isn't needed unless <stdint.h> isn't working, and is
117207         unlikely to be needed for any other reason, then don't do it
117208         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
117209         size_t, since we assume C89 freestanding at least.  Do not check
117210         for sig_atomic_t, wchar_t, or wint_t, since the code now does
117211         the right thing even if the types are not defined.  Instead use:
117212         (gl_STDINT_TYPE_PROPERTIES): New macro.
117213         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
117214         testing whether <sys/types.h> clashes, as Autoconf does this for
117215         us now.  All uses removed.
117216         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
117217         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
117218         (gl_CHECK_TYPE_SAME):
117219         Remove; no longer needed.
117220         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
117221         exists, since we'll return 0 anyway in that case.
117222         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
117224 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
117226         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
117227         possible collision with system files.
117228         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
117229         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
117230         WCHAR_MIN and WCHAR_MAX in this case.
117231         (<stddef.h>): Do not include; no longer needed.
117232         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
117233         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
117234         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
117235         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
117236         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
117237         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
117238         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
117239         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
117240         !defined(__c99))]: Include in this case too, since it's harmless
117241         now.
117242         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
117243         dangerous to do so.
117244         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
117245         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
117246         (_STDINT_MIN, _STDINT_MAX): New macros.
117247         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
117248         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
117249         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
117250         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
117251         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
117252         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
117253         macros, not typedefs; this simplifies things quite a bit.
117254         Use long int for all types narrower than int64_t.
117255         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
117256         Define in terms of long long int or int64_t or long int,
117257         not int64_t or int32_t.  This saves some compile-time testing.
117258         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
117259         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
117260         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
117261         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
117262         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
117263         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
117264         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
117265         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
117266         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
117267         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
117268         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
117269         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
117270         undef any previous version and define our own version, for
117271         simplicity and consistency with the new macros for types.
117272         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
117273         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
117274         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
117275         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
117276         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
117277         @WINT_T_SUFFIX@ to keep things simple here.
117278         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
117279         Simplify by assuming typical 8/16/32/64 host, since we're
117280         already doing that elsewhere anyway.
117281         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
117282         and assume long long int is 64 bits if available.  This
117283         speeds up 'configure'.
117285 2006-07-01  Eric Blake  <ebb9@byu.net>
117287         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
117288         Reported by Andreas Buening.
117290 2006-07-01  Eric Blake  <ebb9@byu.net>
117292         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
117294 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
117296         * lib/getaddrinfo.c: fixed typo
117298 2006-06-29  Jim Meyering  <jim@meyering.net>
117300         * modules/strftime (Maintainer): Add my name, since with the
117301         FPRINTFTIME changes strftime.c has forked from glibc.
117303 2006-06-29  Eric Blake  <ebb9@byu.net>
117305         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
117307 2006-06-29  Eric Blake  <ebb9@byu.net>
117309         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
117311 2006-06-29  Eric Blake  <ebb9@byu.net>
117313         * lib/stat_.h: New file.
117315 2006-06-29  Eric Blake  <ebb9@byu.net>
117317         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
117318         unused static function.
117320 2006-06-29  Eric Blake  <ebb9@byu.net>
117322         * doc/functions.texi (Function Portability): Document missing lstat
117323         on mingw.
117325 2006-06-29  Eric Blake  <ebb9@byu.net>
117327         * MODULES.html.sh: Add sys_stat.
117328         * modules/sys_stat: New module.
117329         * modules/mkstemp (Depends-on): Add sys_stat.
117331 2006-06-29  Derek R. Price  <derek@ximbiot.com>
117333         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
117335 2006-06-29  Derek R. Price  <derek@ximbiot.com>
117337         * m4/c-bs-a.m4: Removed.
117339 2006-06-29  Derek R. Price  <derek@ximbiot.com>
117341         * lib/strftime.c: Assume strftime() exists.
117343 2006-06-29  Derek Price  <derek@ximbiot.com>
117345         * modules/c-bs-a: Removed - \a is C89.
117346         * MODULES.html.sh: Remove c-bs-a.
117348 2006-06-29  Bruno Haible  <bruno@clisp.org>
117350         * modules/wcwidth (License): Change to LGPL.
117352 2006-06-28  Simon Josefsson  <jas@extundo.com>
117354         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
117355         on _WIN32.
117357         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
117358         getnameinfo.
117360 2006-06-28  Simon Josefsson  <jas@extundo.com>
117362         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
117364 2006-06-28  Simon Josefsson  <jas@extundo.com>
117366         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
117367         functions there.  It will succeed on Windows XP, but on Windows
117368         2000 and (presumably) earlier, it will fail, and use the internal
117369         re-implementation.
117370         (use_win32_p): New function.
117371         (getaddrinfo): Use strtoul on servname, to support numeric ports.
117372         Support AI_NUMERICSERV to disable getservbyname.
117373         (getnameinfo): New function, only supports
117374         NI_NUMERICHOST|NI_NUMERICSERV for now.
117376         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
117377         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
117378         getnameinfo.
117380 2006-06-28  Eric Blake  <ebb9@byu.net>
117382         * modules/wcwidth: New file.
117383         * modules/mbchar (Depends-on): Add wcwidth.
117384         * modules/mbswidth (Depends-on): Add wcwidth.
117385         * MODULES.html.sh: Add wcwidth.
117387 2006-06-28  Eric Blake  <ebb9@byu.net>
117389         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
117390         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
117392 2006-06-28  Eric Blake  <ebb9@byu.net>
117394         * lib/xvasprintf.h: Fix comments.
117396 2006-06-28  Eric Blake  <ebb9@byu.net>
117398         * lib/mbchar.h (wcwidth): Include wcwidth.h.
117399         * lib/mbswidth.c (wcwidth): Move from here...
117400         * lib/wcwidth.h: ...to this new file.
117402 2006-06-28  Derek R. Price  <derek@ximbiot.com>
117404         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
117406         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
117407         it's obsolete.
117408         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
117410 2006-06-28  Derek R. Price  <derek@ximbiot.com>
117412         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
117413         Autoconf 2.60 says this stuff was obsolete.
117415 2006-06-28  Bruno Haible  <bruno@clisp.org>
117417         * modules/wcwidth (Files): Add m4/wchar_t.m4.
117419 2006-06-28  Bruno Haible  <bruno@clisp.org>
117421         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
117422         gt_TYPE_WCHAR_T.
117424 2006-06-28  Bruno Haible  <bruno@clisp.org>
117426         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
117427         declaration for wcwidth.
117428         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctype.h>.
117430 2006-06-28  Bruno Haible  <bruno@clisp.org>
117432         * lib/mkdtemp.c [MINGW]: Include <io.h>.
117433         (mkdir): Define using _mkdir.
117435 2006-06-28  Bruno Haible  <bruno@clisp.org>
117437         * lib/getaddrinfo.h: Fix POSIX URL.
117438         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
117439         _WIN32.
117440         (use_win32_p): Make static.
117441         (getaddrinfo): Reject service name if it is empty or does not consist
117442         solely of decimal digits, or if its value is > 65535.
117443         (getnameinfo): Remove useless casts.
117445 2006-06-27  Simon Josefsson  <jas@extundo.com>
117447         * modules/sys_select: New file, suggested by Bruno Haible, Paul
117448         Eggert and Martin Lambers.
117450 2006-06-27  Simon Josefsson  <jas@extundo.com>
117452         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
117453         Eggert and Martin Lambers.
117455 2006-06-27  Bruno Haible  <bruno@clisp.org>
117457         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
117458         result to 0, not to empty.
117459         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
117461 2006-06-27  Bruno Haible  <bruno@clisp.org>
117463         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
117465 2006-06-26  Simon Josefsson  <jas@extundo.com>
117467         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
117468         present.
117470 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
117472         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
117473         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
117474         <http://lists.gnu.org/r/bug-gnulib/2006-06/msg00181.html>.
117476 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
117478         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
117480 2006-06-26  Bruno Haible  <bruno@clisp.org>
117482         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
117484 2006-06-26  Bruno Haible  <bruno@clisp.org>
117486         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
117488 2006-06-26  Bruno Haible  <bruno@clisp.org>
117490         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
117491         SGI C compiler in pre-C99 mode.
117492         Suggested by Mark D. Baushke and Larry Jones.
117494 2006-06-26  Bruno Haible  <bruno@clisp.org>
117496         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
117497         WCHAR_MAX.
117498         Reported by Mark D. Baushke and Larry Jones.
117500 2006-06-26  Bruno Haible  <bruno@clisp.org>
117502         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
117503         in pre-C99 mode.
117504         Suggested by Mark D. Baushke and Larry Jones.
117506 2006-06-23  Simon Josefsson  <jas@extundo.com>
117507             Bruno Haible  <bruno@clisp.org>
117509         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
117510         Emit mostlyclean-local rule.
117511         (func_emit_tests_Makefile_am): Likewise.
117512         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
117514 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
117516         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
117518 2006-06-23  Bruno Haible  <bruno@clisp.org>
117520         * tests/test-stdint.c: Update to match ISO C 99 Technical
117521         Corrigendum 1.
117523 2006-06-23  Bruno Haible  <bruno@clisp.org>
117525         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
117527 2006-06-23  Bruno Haible  <bruno@clisp.org>
117529         * lib/stdint_.h: Treat IRIX like OpenBSD.
117531 2006-06-23  Bruno Haible  <bruno@clisp.org>
117533         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
117534         ISO C 99 Technical Corrigendum 1.
117536 2006-06-22  Simon Josefsson  <jas@extundo.com>
117538         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
117539         MinGW.
117541 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
117543         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
117544         needed.  Some compiler complained about some of them.  Problem reported
117545         by Larry Jones in
117546         <http://lists.gnu.org/r/bug-gnulib/2006-06/msg00172.html>.
117548 2006-06-21  Simon Josefsson  <jas@extundo.com>
117550         * tests/test-getaddrinfo.c: New file.
117552         * modules/getaddrinfo-tests: New file.
117554         * MODULES.html.sh: Add inet_pton.
117556         * modules/inet_pton: New file.
117558 2006-06-21  Simon Josefsson  <jas@extundo.com>
117560         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
117561         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
117562         of using the (limited) gnulib implementation on Windows XP.
117564         * m4/inet_pton.m4: New file.
117566 2006-06-21  Simon Josefsson  <jas@extundo.com>
117568         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
117569         variable.
117571         * lib/socket_.h: Don't define WINVER.
117573         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
117574         slightly modified to work in gnulib.
117576 2006-06-21  Simon Josefsson  <jas@extundo.com>
117578         * doc/gnulib.texi (Windows sockets): Add.
117580 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
117582         * lib/read-file.c (fread_file): Start with buffer allocation of
117583         0 bytes rather than 1 byte; this simplifies the code.
117584         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
117585         code to free buffer and save/restore errno.
117586         (internal_read_file): Remove unused local.
117588 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
117590         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
117591         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
117592         Problem reported by Denis Excoffier in
117593         <http://lists.gnu.org/r/bug-tar/2006-06/msg00023.html>.
117595 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
117597         * modules/sys_socket, modules/socklen: Include sys/types since
117598         FreeBSD 4.x's sys/socket.h needs it.
117600 2006-06-19  Simon Josefsson  <jas@extundo.com>
117602         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
117604 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
117606         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
117608 2006-06-19  Bruno Haible  <bruno@clisp.org>
117610         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
117611         and FULL_PATH_INTTYPES_H in angle brackets.
117612         Reported by Mark D. Baushke <mdb@gnu.org>.
117614 2006-06-17  Eric Blake  <ebb9@byu.net>
117616         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
117617         errno.
117619 2006-06-17  Bruno Haible  <bruno@clisp.org>
117621         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
117622         <sys/inttypes.h>.
117624 2006-06-17  Bruno Haible  <bruno@clisp.org>
117626         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
117627         whether errno is declared. Assume <errno.h> declares errno.
117629 2006-06-17  Bruno Haible  <bruno@clisp.org>
117631         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
117633 2006-06-17  Bruno Haible  <bruno@clisp.org>
117635         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
117636         problem on Solaris 2.5.1.
117638 2006-06-16  Eric Blake  <ebb9@byu.net>
117640         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
117641         * lib/unicodeio.c [!defined errno]: Likewise.
117642         * lib/strtol.c [!defined errno]: Likewise.
117643         * lib/strtod.c [!defined errno]: Likewise.
117645 2006-06-15  Eric Blake  <ebb9@byu.net>
117647         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
117649 2006-06-15  Eric Blake  <ebb9@byu.net>
117651         * config/srclist.txt (ssize_t.m4): Lose sync.
117653 2006-06-15  Bruno Haible  <bruno@clisp.org>
117655         * modules/stdint (Files): Include m4/full-header-path.m4,
117656         m4/size_max.m4, m4/wchar_t.m4.
117657         (Makefile.am): Many more substitutions.
117658         * modules/stdint-tests: New file.
117659         * tests/test-stdint.c: New file.
117661 2006-06-15  Bruno Haible  <bruno@clisp.org>
117663         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
117664         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
117665         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
117666         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
117667         gl_CHECK_TYPE_SAME): New macros.
117669 2006-06-15  Bruno Haible  <bruno@clisp.org>
117671         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
117673 2006-06-15  Bruno Haible  <bruno@clisp.org>
117675         * lib/stdint_.h: Rewritten to be fully auto-configured.
117676         Fixes bug on HP-UX/IA64.
117678 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
117680         * lib/getdate.y (__attribute__): Don't define if already defined.
117681         Problem reported by Larry Jones.
117682         * lib/utimens.c (__attribute__): Likewise.
117684 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
117686         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
117687         reported by Andreas Schwab.
117689 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
117690             Bruno Haible  <bruno@clisp.org>
117692         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
117693         check for the declaration of strnlen and a run test that exposes the
117694         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
117695         rpl_strndup.
117697 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
117698             Bruno Haible  <bruno@clisp.org>
117700         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
117702 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
117704         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
117705         compile test, for Tru64 4.0D.
117707 2006-05-28  Karl Berry  <karl@gnu.org>
117709         * config/srclist.txt (printf-args.c): lose sync.
117711 2006-05-26  Martin Lambers  <marlam@marlam.de>
117713         * lib/getpass.c: Updates the test for the native W32 API, and adds
117714         missing includes, thus fixing compilation warnings.
117716 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
117718         * lib/exclude.c (exclude_fnmatch): New function.
117719         (excluded_file_name): Call exclude_fnmatch.
117720         * lib/exclude.h (excluded_file_name): New prototype
117722 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
117724         * lib/tempname.c (small_open, large_open): New macros.
117725         (__open, __open64) [!_LIBC]: Remove.
117726         (__gen_tempname): Use small_open and large_open instead of __open
117727         and __open64.  This fixes a portability bug on HP-UX 11.11i
117728         reported by Simon Wing-Tang in
117729         <http://lists.gnu.org/r/bug-coreutils/2006-05/msg00114.html>.
117731 2006-05-24  Bruno Haible  <bruno@clisp.org>
117733         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
117734         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
117735         Reported by Thorsten Maerz <torte@netztorte.de> via
117736         Aaron Stone <aaron@serendipity.cx>.
117738 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
117740         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
117741         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
117742         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
117743         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
117744         not really conditional on the cache.
117745         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
117747 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
117749         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
117750         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
117751         (my_usleep): Don't mishandle maximum value.
117753 2006-05-19  Jim Meyering  <jim@meyering.net>
117755         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
117757 2006-05-17  Bruno Haible  <bruno@clisp.org>
117759         Cygwin portability.
117760         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
117762 2006-05-17  Bruno Haible  <bruno@clisp.org>
117764         * lib/stdint_.h: Fix recognition of Cygwin.
117766 2006-05-15  Bruno Haible  <bruno@clisp.org>
117768         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
117769         on libtool patch by Ralf Wildenhues.
117771 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
117773         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
117774         test for C99 conformance; (bool) 0.5 is an integer constant
117775         expression, but (bool) -0.5 is not.  Problem reported by Fedor
117776         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
117778 2006-05-11  Simon Josefsson  <jas@extundo.com>
117780         * m4/xvasprintf.m4: Fix obvious typo.
117782 2006-05-11  Jim Meyering  <jim@meyering.net>
117784         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
117785         James Lemley.
117787 2006-05-10  Simon Josefsson  <jas@extundo.com>
117789         * lib/md4.c: Typo fix, update copyright years.
117790         (K1, K2): Don't use L because it turn computations into 64-bit on
117791         64-bit platforms.
117793 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
117795         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
117796         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
117797         unwanted sign propagation, e.g., on hosts with 64-bit int.
117798         There still are some problems with reeelly weird theoretical hosts
117799         (e.g., 33-bit int) but it's not worth worrying about now.
117800         * lib/sha1.c (rol): Likewise.
117801         (K1, K2, K3, K4): Remove unnecessary L suffix.
117803 2006-05-10  Bruno Haible  <bruno@clisp.org>
117805         * lib/des.c: Cast to avoid warnings.
117807 2006-05-09  Bruno Haible  <bruno@clisp.org>
117809         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
117810         (Depends-on): Depend also on xsize, stdarg.
117811         (configure.ac): Add gl_XVASPRINTF.
117813 2006-05-09  Bruno Haible  <bruno@clisp.org>
117815         * m4/xvasprintf.m4: New file.
117817 2006-05-09  Bruno Haible  <bruno@clisp.org>
117819         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
117820         (EOVERFLOW): Define fallback value.
117821         (xstrcat): New function.
117822         (xvasprintf): Recognize the special case of a string concatenation.
117824 2006-05-08  Eric Blake  <ebb9@byu.net>
117826         * gnulib-tool (func_version): Base copyright year on CVS date.
117827         (func_emit_copyright_notice): New function.
117828         (func_emit_lib_Makefile_am): Use it.
117829         (func_emit_tests_Makefile_am): Likewise.
117830         (func_import): Likewise.
117832 2006-05-08  Bruno Haible  <bruno@clisp.org>
117834         * modules/stdarg: New file.
117835         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
117837 2006-05-08  Bruno Haible  <bruno@clisp.org>
117839         * m4/stdarg.m4: New file, from GNU gettext.
117841 2006-05-08  Bruno Haible  <bruno@clisp.org>
117843         * config/srclist.txt (build-aux/config.rpath): different from latest
117844         release.
117846 2006-05-08  Bruno Haible  <bruno@clisp.org>
117848         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
117850 2006-05-05  Jim Meyering  <jim@meyering.net>
117852         * m4/warning.m4: New file, derived from bison's file by the same name.
117854 2006-05-03  Bruno Haible  <bruno@clisp.org>
117856         * lib/stdint_.h: Shorter URL.
117857         * lib/inttypes.h: Likewise.
117859 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
117861         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
117863 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
117865         * lib/verify.h: Document the internals better.  Most of this change
117866         was written by Bruno Haible.
117868 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
117870         * doc/verify.texi: New file, partly based on a proposal by
117871         Bruno Haible.
117873 2006-05-02  Bruno Haible  <bruno@clisp.org>
117875         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
117876         test from here...
117877         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
117879 2006-04-29  Bruno Haible  <bruno@clisp.org>
117881         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
117882         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
117884 2006-04-29  Bruno Haible  <bruno@clisp.org>
117886         * gnulib-tool: Make --update option actually work.
117888 2006-04-29  Bruno Haible  <bruno@clisp.org>
117890         * doc/gcd.texi: New file.
117891         * doc/gnulib.texi: Include it.
117893 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
117895         * lib/getdate.y (get_date): When adding relative date, start with the
117896         initial time, not with the result of the first mktime call.
117898 2006-04-25  Bruno Haible  <bruno@clisp.org>
117900         * gnulib-tool (func_import): Output the include directives in three
117901         blocks, sorted separately.
117902         Reported by Ben Pfaff <blp@cs.stanford.edu>.
117904 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
117906         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
117907         to define main with arguments, for C++.  Reported by Eric Blake.
117908         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
117909         Prefer 'int main ()' to 'int main (void)', for C++.
117910         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
117911         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
117912         for 'main', for C99 and C++.
117914 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
117916         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
117917         Don't assume that exit status -1 is valid.
117918         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
117919         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
117920         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
117921         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
117922         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
117923         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
117924         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
117925         functions can be used without declaring them, or that you can
117926         exit with status -1.
117927         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
117929 2006-04-24  Karl Berry  <karl@gnu.org>
117931         * config/srclist.txt (longdouble.m4): sync lost.
117933 2006-04-24  Eric Blake  <ebb9@byu.net>
117935         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
117937 2006-04-24  Bruno Haible  <bruno@clisp.org>
117939         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
117940         poll() implementation in AIX.
117941         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
117943 2006-04-24  Bruno Haible  <bruno@clisp.org>
117945         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
117946         assigned exactly once.
117948 2006-04-23  Claudio Fontana  <claudio@gnu.org>
117949             Bruno Haible  <bruno@clisp.org>
117951         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
117952         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
117953         for AM_CPPFLAGS.
117955 2006-04-23  Bruno Haible  <bruno@clisp.org>
117957         * modules/copy-file: Depend on unistd.
117958         * modules/execute: Likewise.
117959         * modules/fatal-signal: Likewise.
117960         * modules/findprog: Likewise.
117961         * modules/mkdtemp : Likewise.
117962         * modules/pipe: Likewise.
117963         * modules/wait-process: Likewise.
117965 2006-04-23  Bruno Haible  <bruno@clisp.org>
117967         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
117968         condition was already detected.
117969         Reported by Ben Pfaff <blp@cs.stanford.edu>.
117971 2006-04-23  Bruno Haible  <bruno@clisp.org>
117973         * lib/copy-file.c: Include <unistd.h> unconditionally.
117974         * lib/execute.c: Likewise.
117975         * lib/fatal-signal.c: Likewise.
117976         * lib/findprog.c: Likewise.
117977         * lib/mkdtemp.c: Likewise.
117978         * lib/pipe.h: Likewise.
117979         * lib/pipe.c: Likewise.
117980         * lib/wait-process.h: Likewise.
117982 2006-04-23  Bruno Haible  <bruno@clisp.org>
117984         * gnulib-tool (func_usage): Fix --import description. Document
117985         --update.
117986         (func_import): Create temporary file in a temporary directory, if
117987         --dry-run is specified. Silence errors from 'grep' when there are no
117988         m4 files in $m4dir.
117989         (func_create_testdir): Silence errors from 'grep' when there are no
117990         m4 files in $m4dir.
117991         Reported by Karl Berry <karl@freefriends.org>.
117993 2006-04-20  Bruno Haible  <bruno@clisp.org>
117995         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
117996         one argument, so that the code will be portable to Autoconf 2.60.
117997         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
117998         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
117999         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
118001 2006-04-19  Derek Price  <derek@ximbiot.com>
118002             Eric Blake  <ebb9@byu.net>
118004         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
118005         rather than "/full/path.h".  Update comment to match.  Shorten &
118006         generalize m4_translit call via AS_TR_CPP.
118008 2006-04-19  Derek Price  <derek@ximbiot.com>
118009             Eric Blake  <ebb9@byu.net>
118011         * lib/inttypes.h: Correct grammar in comment.
118013 2006-04-18  Derek Price  <derek@ximbiot.com>
118014             Paul Eggert  <eggert@cs.ucla.edu>
118016         * modules/inttypes: New file.
118017         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
118019 2006-04-18  Derek Price  <derek@ximbiot.com>
118020             Paul Eggert  <eggert@cs.ucla.edu>
118022         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
118023         New files.
118025 2006-04-18  Derek Price  <derek@ximbiot.com>
118026             Paul Eggert  <eggert@cs.ucla.edu>
118028         * lib/inttypes.h: New file.
118029         * lib/strtoimax.c: Assume <inttypes.h>.
118031 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
118033         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
118034         isn't mounted.  Problem reported by Kir Kolyshkin.
118036 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
118038         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
118039         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
118040         Derek R. Price.
118041         * lib/regex.h (RE_DUP_MAX): Update comment to match current
118042         implementation.
118044 2006-04-12  Eric Blake  <ebb9@byu.net>
118046         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
118047         is now done automatically by the corresponding Autoconf macro.
118049 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
118051         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
118052         time_r.h.
118054 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
118056         Merge regex changes from libc, removing some of our
118057         POSIX-conformance changes that were rejected and redoing them in a
118058         less-intrusive way.
118060         * lib/regcomp.c (re_compile_internal, init_dfa):
118061         Length arg is now size_t, not Idx.  All uses changed.
118062         (peek_token): Forward decl now says internal_function.
118063         (__re_error_msgid, __re_error_msgid_idx):
118064         Now static rather than extern with attribute_hidden.
118065         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
118066         For some reason libc prefers K&R style defns for external functions.
118067         (regerror) [!defined _LIBC]: Likewise.
118068         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
118069         (seek_collating_symbol_entry, lookup_collation_sequence_value):
118070         (build_range_exp, build_collating_symbol):
118071         Use K&R-style defn.
118072         (re_compile_fastmap): Use '\0' to memset, not 0.
118073         (utf8_sb_map): Make the calculations more obvious.
118074         (init_dfa, parse_bracket_exp, build_charclass_op):
118075         Call calloc and cast result, as glibc does.
118076         (init_word_char, fetch_token, peek_token, peek_token_bracket):
118077         (build_range_exp, build_collating_symbol):
118078         Now internal functions.
118080         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
118082         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
118083         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
118084         Don't depend on VMS; depend on __VMS instead, for POSIX
118085         namespace cleanness.
118086         (regoff_t): Define to ssize_t, not long int.
118088         Remove the REG_ macros named below.  Instead, make the old names
118089         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
118090         __USE_GNU_REGEX.
118091         (REG_BACKSLASH_ESCAPE_IN_LISTS):
118092         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
118093         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
118094         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
118095         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
118096         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
118097         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
118098         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
118099         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
118100         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
118101         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
118102         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
118103         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
118104         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
118105         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
118106         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
118107         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
118108         (REG_NREGS):
118109         Remove.  All uses replaced by the old RE_* names.
118110         (RE_BACKSLASH_ESCAPE_IN_LISTS):
118111         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
118112         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
118113         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
118114         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
118115         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
118116         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
118117         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
118118         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
118119         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
118120         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
118121         Don't bother having these macros be independent of each others'
118122         values, since they no longer exist in the POSIX name space.
118124         Rename the following member names back to their old names,
118125         unless !__USE_GNU_REGEX.  All uses changed back.
118126         (buffer): Renamed from re_buffer.
118127         (allocated): Renamed from re_allocated.
118128         (used): Renamed from re_used.
118129         (syntax): Renamed from re_syntax.
118130         (fastmap): Renamed from re_fastmap.
118131         (translate): Renamed from re_translate.
118132         (can_be_null): Renamed from re_can_be_null.
118133         (regs_allocated): Renamed from re_regs_allocated.
118134         (fastmap_accurate): Renamed from re_fastmap_accurate.
118135         (no_sub): Renamed from re_no_sub.
118136         (not_bol): Renamed from re_not_bol.
118137         (not_eol): Renamed from re_not_eol.
118138         (newline_anchor): Renamed from re_newline_anchor.
118139         (num_regs): Renamed from rm_num_regs.
118140         (start): Renamed from rm_start.
118141         (end): Renamed from rm_end.
118143         (free_state): Move up a bit.
118145         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
118146         #define to be empty.
118147         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
118148         when that is what is intended.
118149         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
118150         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
118151         (MAX): New macro.
118152         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
118153         All uses changed back to re_malloc, etc.  It's now the caller's
118154         responsibility to check for overflow; all callers changed.
118155         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
118156         (re_x2nrealloc): Remove.
118157         (free_state): Remove decl.
118159         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
118160         (re_set_registers, re_exec):
118161         Use K&R-style defn.
118163         2006-01-31  Roland McGrath  <roland@redhat.com>
118165         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
118166         Reported by Mike Frysinger <vapier@gentoo.org>.
118168         2006-01-15  Andreas Jaeger  <aj@suse.de>
118170         [BZ #1950]
118171         * lib/regex_internal.c (re_string_reconstruct): Adjust for
118172         build_wcs_upper_buffer change.
118173         (build_wcs_upper_buffer): Change return type.
118175         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
118177         * lib/regex_internal.h: Include <stdint.h> if available.
118179         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
118181         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
118183         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
118185         * lib/regcomp.c: Adjust for changed secondary hash function.
118187         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
118189         * lib/regex.h: Pretty printing.
118190         Clean up namespace a bit.
118192         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
118194         * lib/regexec.c (update_cur_sifted_state, check_arrival,
118195         check_arrival_add_next_nodes): Avoid using uninitialized variable.
118197         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
118198                     Ulrich Drepper  <drepper@redhat.com>
118200         [BZ #1302]
118201         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
118202         changed.
118203         (bitset_word_t): Renamed from bitset_word.  All uses changed.
118205         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
118207         [BZ #281]
118208         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
118209         * lib/regcomp.c: Remove unnecessary uses of
118210         unsigned RE_TRANSLATE_TYPE.
118211         * lib/regex_internal.h: Likewise.
118212         * lib/regex_internal.c: Likewise.
118213         * lib/regexec.c: Likewise.
118214         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
118216         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
118218         * lib/regexec.c (find_recover_state): Remove unnecessary
118219         initialization.
118220         (transit_state_bkref): Make DFA a const pointer.
118221         (get_subexp): Likewise.
118222         (check_arrival): Likewise.
118223         (update_cur_sifted_state): Likewise.
118224         (re_search_internal): Likewise.
118225         (prune_impossible_nodes): Likewise.
118226         (acquire_init_state_context): Likewise.
118227         (proceed_next_node): Likewise.
118228         (set_regs): Likewise.
118229         (free_fail_stack_return): Likewise.
118230         (check_arrival_expand_ecl): Mark DFA parameter as const.
118231         (check_arrival_expand_ecl_sub): Likewise.
118232         (check_subexp_limits): Likewise.
118233         (sub_epsilon_src_nodes):  Likewise.
118234         (add_epsilon_src_nodes):  Likewise.
118235         (merge_state_array): Likewise.
118236         (update_regs): Likewise.
118237         (build_trtable): Likewise.
118238         (sift_states_backward): Mark MCTX parameter as const.
118239         (build_sifted_states): Likewise.
118240         (update_cur_sifted_state): Likewise.
118241         (sift_states_mkref): Likewise.
118242         (check_arrival_expand_ecl): Mark eclosure as const.
118243         (check_dst_limits_calc_pos_1): Likewise.
118244         * lib/regex_internal.h (re_match_context_t): Make dfa a const
118245         pointer.
118247         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
118249         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
118250         (transit_state_sb): Likewise.
118251         (transit_state_mb): Likewise.
118252         (sift_states_iter_mb): Likewise.
118253         (check_arrival_add_next_nodes): Likewise.
118254         (check_node_accept_bytes): Change first parameter to pointer-to-const.
118255         [_LIBC] (re_search_2_stub): Use mempcpy.
118257         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
118258         mbrtowc for very simple UTF-8 case.
118260         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
118261         a pointer-to-const.
118262         (re_acquire_state_context): Likewise.
118263         * lib/regex_internal.h: Adjust prototypes.
118265         * lib/regex.c: Prevent using C++ compilers.
118267         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
118268         (re_acquire_state_context): Likewise.
118270 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
118272         * modules/regex (Depends-on): Add ssize_t.
118274 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
118276         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
118277         translation table.
118279 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
118281         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
118283 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
118284             Bruno Haible  <bruno@clisp.org>
118286         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
118287         <sys/types.h> and <inttypes.h>.
118289 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
118291         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
118292         `__error_t_defined', so argp.h will not typedef the former.
118294 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
118296         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
118297         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
118298         glibc names.  Even if glibc is changed to conform to POSIX, the
118299         traditional names will be available anyway, since regex depends on
118300         the extensions module.  Also, fix a longstanding typo in the
118301         implementation of Spencer ERE test #75 from grep 2.3.  Problems
118302         reported by Emanuele Giaquinta.  Also, change sense of cached
118303         variable, so that the message makes sense.
118305 2006-03-24  Simon Josefsson  <jas@extundo.com>
118307         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
118308         including some doc fixes.
118309         (base64_encode_alloc): Fix +1 bug on allocation failures.
118311 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
118313         * lib/base64.c (base64_encode): Do not read past end of array with
118314         unsanitized input on systems with CHAR_BIT > 8.
118316 2006-03-24  Eric Blake  <ebb9@byu.net>
118318         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
118320 2006-03-22  Karl Berry  <karl@gnu.org>
118322         * config/srclist.txt (*setenv.[ch]): get from coreutils.
118323         * config/srclistvars.sh (COREUTILS): new var.
118325 2006-03-17  Jim Meyering  <jim@meyering.net>
118327         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
118328         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
118330 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
118332         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
118333         no longer needs it.  Instead, check that regoff_t is as least
118334         as wide as ptrdiff_t.
118336         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
118337         so that our regex.h stays compatible with the installed regex.
118338         This is helpful for installers who configure --without-included-regex.
118339         Problem reported by Emanuele Giaquinta.
118341 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
118343         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
118344         Typedef to long int, not to off_, as POSIX will likely change
118345         in that direction.
118347 2006-03-15  Eric Blake  <ebb9@byu.net>
118349         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
118351 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
118353         * lib/argp-help.c (validate_uparams): Fix typo
118354         * lib/argp-parse.c (argp_default_options): Consistently begin help
118355         messages with a lowercase letter.
118357 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
118359         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
118360         overrun buffers and shouldn't be used (much as gets shouldn't be
118361         used).
118362         * lib/time_r.c (asctime_r, ctime_r): Likewise.
118364 2006-03-08  Simon Josefsson  <jas@extundo.com>
118366         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
118367         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
118369 2006-03-08  Simon Josefsson  <jas@extundo.com>
118371         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
118372         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
118374 2006-03-08  Simon Josefsson  <jas@extundo.com>
118376         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
118377         signal that configure disabled the device.
118379 2006-03-08  Simon Josefsson  <jas@extundo.com>
118381         * build-aux/maint.mk: Fix refresh-po, to handle no translated
118382         languages.
118384 2006-03-07  Simon Josefsson  <jas@extundo.com>
118386         * modules/getopt (Depends-on): Add unistd.
118388         * modules/unistd: New file.
118390 2006-03-07  Simon Josefsson  <jas@extundo.com>
118392         * modules/gc-random: New file.
118394 2006-03-07  Simon Josefsson  <jas@extundo.com>
118396         * m4/unistd_h.m4: New file.
118398 2006-03-07  Simon Josefsson  <jas@extundo.com>
118400         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
118401         test to be side-effect free by storing the result in the cache
118402         variable gl_cv_lib_readline, and moving the assignment of
118403         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
118404         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
118406 2006-03-07  Simon Josefsson  <jas@extundo.com>
118408         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
118409         error on missing devices (the functions will return an error).
118411         * m4/gc.m4: Move random stuff to gc-random.m4
118413 2006-03-07  Simon Josefsson  <jas@extundo.com>
118415         * lib/unistd_.h: New file.
118417 2006-03-07  Simon Josefsson  <jas@extundo.com>
118419         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
118421 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
118423         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
118424         Problem reported by Juan Manuel Guerrero.
118426 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
118428         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
118429         the unistd module.
118430         * lib/getlogin_r.c: Likewise.
118431         * lib/getlogin_r.h: Likewise.
118432         * lib/glob.c: Likewise.
118433         * lib/pagealign_alloc.c: Likewise.
118434         * lib/unistd_.h: Remove; no longer needed.
118436 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
118438         * MODULES.html.sh (Support for systems lacking POSIX:2001):
118439         Add unistd.
118440         * modules/c-stack (Depends-on): Add unistd.
118441         * modules/getlogin_r: Likewise.
118442         * modules/glob: Likewise.
118443         * modules/pagealign_alloc: Likewise.
118444         * modules/unistd (Files): Remove lib/unistd_.h.
118445         (EXTRA_DIST): Remove.
118446         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
118447         need unistd_.h.
118448         (MOSTLYCLEANFILES): Remove unistd.h-t.
118450 2006-03-03  Simon Josefsson  <jas@extundo.com>
118452         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
118454 2006-03-03  Simon Josefsson  <jas@extundo.com>
118456         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
118457         libidn and bison.
118459 2006-03-03  Simon Josefsson  <jas@extundo.com>
118461         * build-aux/maint.mk: Add indent target.
118463 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
118465         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
118466         our replacement poll.h in any case, to avoid a differing
118467         declaration from a system header.  Seen on AIX.
118469 2006-03-01  Simon Josefsson  <jas@extundo.com>
118471         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
118472         <kasal@ucw.cz>.
118474 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
118476         * modules/gettime (Depends-on): Add extensions module.
118477         * modules/nanosleep (Depends-on): Likewise.
118478         * modules/settime (Depends-on): Likewise.
118480 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
118482         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
118483         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
118484         pedantically.
118485         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
118486         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
118488         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
118489         not "==".  Reported by Ralf Wildenhues.
118491 2006-03-01  Karl Berry  <karl@gnu.org>
118493         * doc/Copyright/request-*: new files, synced from gnuorg.
118495 2006-03-01  Karl Berry  <karl@gnu.org>
118497         * config/srclist.txt (Copyright/*): new entries.
118499 2006-02-28  Simon Josefsson  <jas@extundo.com>
118501         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
118503 2006-02-27  Simon Josefsson  <jas@extundo.com>
118505         * lib/base64.h: Indent #define's.  From Jim Meyering
118506         <jim@meyering.net>.
118508 2006-02-27  Jim Meyering  <jim@meyering.net>
118510         Revert the change of 2006-02-24, so these files can continue
118511         to be sync'd from gettext.
118512         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
118513         of `config.h'.
118515 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
118517         * modules/intprops: New file.
118518         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
118519         Add intprops.
118520         * modules/getloadavg (Files): Remove lib/intprops.h.
118521         (Depends-on): Add intprops.
118522         * modules/human: Likewise.
118523         * modules/inttostr: Likewise.
118524         * modules/openat: Likewise.
118525         * modules/sig2str: Likewise.
118526         * modules/userspec: Likewise.
118527         * modules/utimecmp: Likewise.
118528         * modules/xnanosleep: Likewise.
118529         * modules/xstrtol: Likewise.
118531 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
118533         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
118534         * modules/lock-tests (TESTS): Use $(EXEEXT).
118535         * modules/tls-tests: Likewise.
118536         * modules/argp-tests: Likewise.
118537         (check_PROGRAMS): New var, replacing...
118538         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
118540 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
118542         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
118543         `config.h'.
118545 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
118547         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
118549 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
118551         Sync from coreutils.
118552         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
118553         gl_CHDIR_SAFER.
118555 2006-02-22  Jim Meyering  <jim@meyering.net>
118557         Sync from coreutils.
118558         * m4/chdir-safer.m4: New file.
118560 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
118562         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
118563         AT_FDCWD exceeds INT_MAX.
118564         * lib/openat.h (AT_FDCWD): Likewise.
118566 2006-02-17  Eric Blake  <address@hidden>
118568         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
118570 2006-02-16  Simon Josefsson  <jas@extundo.com>
118572         * modules/getaddrinfo (Depends-on): Add sys_socket.
118574 2006-02-15  Simon Josefsson  <jas@extundo.com>
118576         * build-aux/maint.mk: Add dsyntax-check rule.
118578 2006-02-15  Eric Blake  <ebb9@byu.net>
118580         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
118581         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
118582         'present but cannot compile' warnings on cygwin.
118583         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
118584         use ws2tcpip.h if sys/socket.h works.
118585         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
118586         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
118588 2006-02-14  Simon Josefsson  <jas@extundo.com>
118590         * modules/maintainer-makefile (Files): Rename.
118592         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
118593         and (the local) Makefile.cfg to maint-cfg.mk.
118595         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
118596         to the latter.
118598         * modules/maintainer-makefile: New module.
118600         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
118601         severaly stripped to make it possible to build it up from scratch
118602         with reliable tests.
118604         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
118605         fixes to permit overriding the default actions when configure and
118606         makefile are not available.
118608 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
118610         Sync from coreutils.
118611         * modules/lstat (Depends-on): Don't depend on xalloc.
118612         (License): Change from GPL to LGPL, since this is now simply a
118613         replacement for a libc function.
118615 2006-02-14  Jim Meyering  <jim@meyering.net>
118617         Sync from coreutils.
118619         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
118620         failure on deficient systems, and simplify gnulib lgpl dependencies.
118621         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
118622         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
118624         * lib/xalloc-die.c: Remove unused definition of N_.
118626 2006-02-14  Jim Meyering  <jim@meyering.net>
118628         Sync from coreutils.
118629         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
118630         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
118631         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
118632         double-quote uses of that variable, to accommodate the rare case in
118633         which getmntent is available in none of the libraries checked.  This
118634         happens at least on FreeBSD 5.0.
118636 2006-02-13  Simon Josefsson  <jas@extundo.com>
118638         * gnulib-tool (Usage): Fix --import, from
118639         karl@freefriends.org (Karl Berry).
118641 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
118643         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
118645 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
118647         * lib/argp-namefrob.h: Restore changes accidentally lost during the
118648         "autoupdate" on 2005-12-12.
118650 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
118652         * modules/closeout (Depends-on): Remove atexit.
118654 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
118656         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
118657         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
118659 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
118661         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
118662         __EXTENSIONS__ if this causes compilation to fail.  Problem
118663         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
118664         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
118666 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
118668         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
118669         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
118670         <http://lists.gnu.org/r/bug-gnulib/2006-01/msg00074.html>.
118671         All uses changed.
118673 2006-01-26  Simon Josefsson  <jas@extundo.com>
118675         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
118676         prototype is visible on mingw32.
118678         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
118679         for mingw32.
118681         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
118682         mingw32).
118684 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
118686         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
118687         attempt to open for write; this always fails, at least on POSIX
118688         hosts.  This reinstates the 2006-01-09 change, which was
118689         inadvertently removed.
118691 2006-01-26  Bruno Haible  <bruno@clisp.org>
118693         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
118694         Reported by Paul Eggert.
118696 2006-01-26  Bruno Haible  <bruno@clisp.org>
118697             Paul Eggert  <eggert@cs.ucla.edu>
118699         * lib/stdbool_.h (_Bool)
118700         [(! (defined __cplusplus || defined __BEOS__)
118701           && !defined __GNUC__
118702           && !(defined __HP_cc || defined __xlc__
118703                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
118704                || defined __sgi))]:
118705         #define to signed char in these cases too; this simplifies
118706         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
118707         etc., separately) and makes it more conservative.
118709 2006-01-25  Simon Josefsson  <jas@extundo.com>
118711         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
118712         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
118713         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
118715 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
118717         * lib/argp-namefrob.h: Bugfix. Remove stray #
118719 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
118721         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
118722         so that we test the test.
118723         Check for yet another HP-UX cc bug involving *bool |= bool.
118725 2006-01-25  Karl Berry  <karl@gnu.org>
118727         * config/srclist.txt (vasnprintf.c): sync lost.
118729 2006-01-25  Jim Meyering  <jim@meyering.net>
118731         Sync from the stable (b5) branch of coreutils:
118733         * lib/fts.c (fts_children): Don't let close() clobber errno from
118734         failed fchdir().
118736         * lib/fts.c (fts_stat): When following a symlink-to-directory,
118737         don't necessarily interpret stat-fails+lstat-succeeds as indicating
118738         a dangling symlink.  That can also happen at least for ELOOP.
118739         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
118740         FYI, this bug predates the inclusion of fts.c in coreutils.
118742         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
118743         in their own block, so pre-c99 compilers don't object.
118745         Avoid the double-free (first in fts_read, second in fts_close) that
118746         would occur when an `active' directory is made inaccessible (e.g.,
118747         via chmod a-x) during a traversal.
118748         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
118749         before returning.  Reproduce this failure by
118750         mkdir -p a/b; cd a; chmod a-x . b
118751         Reported by Stavros Passas.
118753 2006-01-25  Jim Meyering  <jim@meyering.net>
118755         * lib/fileblocks.c: Remove more useless parentheses.
118756         * lib/readutmp.h: Likewise.
118758 2006-01-25  Bruno Haible  <bruno@clisp.org>
118760         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
118761         warnings.
118762         Reported by Paul Eggert.
118764 2006-01-25  Bruno Haible  <bruno@clisp.org>
118766         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
118767         rid of a trap command. For Solaris sh.
118768         Reported by Mark D. Baushke <mdb@gnu.org>.
118770 2006-01-24  Simon Josefsson  <jas@extundo.com>
118772         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
118773         Bruno.
118775 2006-01-24  Karl Berry  <karl@gnu.org>
118777         * config/srclist.txt (argp-namefrob.h): sync lost.
118779 2006-01-24  Jim Meyering  <jim@meyering.net>
118781         * modules/openat (Files): Add lib/intprops.h.
118782         From Mark D. Baushke.
118784 2006-01-24  Jim Meyering  <jim@meyering.net>
118786         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
118787         Reported by Mark D. Baushke.
118789 2006-01-24  Jim Meyering  <jim@meyering.net>
118791         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
118793 2006-01-24  Bruno Haible  <bruno@clisp.org>
118795         * modules/strnlen (Maintainer): Change from glibc to all.
118797 2006-01-24  Bruno Haible  <bruno@clisp.org>
118799         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
118800         Patch by Paul Eggert.
118802 2006-01-24  Bruno Haible  <bruno@clisp.org>
118804         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
118805         already has it.
118806         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
118807         2005-11-26.
118809         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
118810         'signed char' to avoid problems with the built-in _Bool type.
118811         Reported by Paul Eggert on 2005-11-26.
118813 2006-01-24  Bruno Haible  <bruno@clisp.org>
118815         * gnulib-tool (func_import): Avoid constructing complicated sed
118816         expressions inside backquote.
118817         Report and solution by Mark D. Baushke <mdb@gnu.org>.
118819 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
118821         These changes imported from libc.
118822         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
118823         test and two separate function calls.
118824         * lib/strndup.c (__strndup): Add libc_hidden_def.
118826 2006-01-23  Simon Josefsson  <jas@extundo.com>
118828         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
118829         Remove the test_*_SOURCES variable: automake infers it by default.
118830         * modules/tls-tests: Likewise.
118832 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
118834         Work around porting bugs reported by Dieter in
118835         <http://lists.gnu.org/r/bug-bison/2006-01/msg00049.html>.
118836         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
118837         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
118838         Include "getopt.h" first, to check interface.
118839         (getenv): Declare only if defined HAVE_DECL_GETENV &&
118840         !HAVE_DECL_GETENV.
118841         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
118842         (__strndup): Revert to K&R-style function dfns, the glibc style.
118843         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
118844         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
118845         Include strnlen.h first, to get prototype properly.
118846         (strnlen): Renamed from __strnlen.
118847         Remove weak alias.
118849 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
118851         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
118853 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
118855         * config/srclist.txt: Adjust to reflect glibc reorganization.
118856         This affects only comments.
118858 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
118860          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
118861          Reported by Bruce Korb <bkorb@gnu.org>.
118863 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
118865         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
118866         to pacify gcc -Wswitch-default.
118868 2006-01-22  Bruno Haible  <bruno@clisp.org>
118870         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
118871         temporary buffer for sprintf, take into account the precision also
118872         for 'd', 'i', 'u', 'o', 'x', 'X'.
118874 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
118876         * modules/argp-tests: New module
118877         * tests/test-argp.c: New file
118878         * tests/test-argp-2.sh: New file
118880 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
118882         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
118883         (__argp_base_name): Removed
118884         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
118885         typo.
118886         (__argp_base_name): Provide macro definition or extern declaration
118887         depending on the configuration
118889 2006-01-20  Simon Josefsson  <jas@extundo.com>
118891         * modules/inet_ntop (Depends-on): Depend on sys_socket.
118893 2006-01-20  Simon Josefsson  <jas@extundo.com>
118895         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
118897 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
118899         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
118900         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
118901         Suggested by Bruno Haible.
118903 2006-01-20  Karl Berry  <karl@gnu.org>
118905         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
118906         until changes propagate, I guess.
118908 2006-01-19  Simon Josefsson  <jas@extundo.com>
118910         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
118912 2006-01-19  Simon Josefsson  <jas@extundo.com>
118914         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
118916 2006-01-19  Simon Josefsson  <jas@extundo.com>
118918         * gnulib-tool: Set check_PROGRAMS.
118920         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
118921         modules/des-tests, modules/gc-arcfour-tests,
118922         modules/gc-arctwo-tests, modules/gc-des-tests,
118923         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
118924         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
118925         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
118926         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
118927         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
118928         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
118929         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
118930         test_*_SOURCES.
118932 2006-01-18  Simon Josefsson  <jas@extundo.com>
118934         * modules/socklen (Depends-on): Depend on sys_socket.
118936 2006-01-18  Simon Josefsson  <jas@extundo.com>
118938         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
118939         modules/des-tests, modules/gc-arcfour-tests,
118940         modules/gc-arctwo-tests, modules/gc-des-tests,
118941         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
118942         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
118943         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
118944         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
118945         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
118946         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
118947         $(EXEEXT) to automake TESTS variable, for mingw32.
118949 2006-01-17  Simon Josefsson  <jas@extundo.com>
118951         * modules/socklen (Include): Need sys/socket.h.
118953 2006-01-17  Bruno Haible  <bruno@clisp.org>
118955         * modules/ssize_t (Include): Add <sys/types.h>.
118957 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
118959         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
118960         it's not portable and it doesn't work with cross-compiles.
118961         Problem reported by Bruno Haible.  Fix missing-$ typo in
118962         'test "gl_cv_ignore_unused_libraries" ...' that prevented
118963         -zignore from being used with Sun's C compiler.
118965 2006-01-12  Simon Josefsson  <jas@extundo.com>
118967         * lib/base64.c: Fix warning, reported by Bruno Haible
118968         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
118970 2006-01-12  Bruno Haible  <bruno@clisp.org>
118972         * modules/ldd: New file.
118973         * build-aux/ldd.sh.in: New file.
118974         * MODULES.html.sh (Support for building libraries and executables): Add
118975         ldd.
118977 2006-01-12  Bruno Haible  <bruno@clisp.org>
118979         * m4/ldd.m4: New file.
118981 2006-01-12  Bruno Haible  <bruno@clisp.org>
118983         * gnulib-tool (func_import, func_create_testdir): Don't go into an
118984         endless loop while replacing $auxdir with build-aux.
118986 2006-01-11  Simon Josefsson  <jas@extundo.com>
118988         * lib/stdint_.h (SIZE_MAX): Add missing (.
118990 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
118992         Sync from coreutils.
118993         * lib/md5.c: Fix commentary typos.
118994         (alignof, UNALIGNED_P): No need for a GCC-specific version.
118995         * lib/md5.h (__attribute__): Remove; unused.
118996         * lib/sha1.c: Fix commentary to match md5 better.
118997         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
118998         so that we don't need to worry about alignment.  All uses changed.
118999         This merges the 2005-10-28 md5 change into sha1.
119001 2006-01-11  Jim Meyering  <jim@meyering.net>
119003         Sync from coreutils.
119004         * lib/md5.c (OP): Fix spacing.
119006 2006-01-11  Bruno Haible  <bruno@clisp.org>
119008         Ensure automatic ordering between gl_LOCK and gl_ARGP.
119009         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
119010         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
119012 2006-01-11  Bruno Haible  <bruno@clisp.org>
119014         Ensure automatic ordering between gl_LOCK and gl_ARGP.
119015         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
119016         the "early" section as well.
119018 2006-01-11  Bruno Haible  <bruno@clisp.org>
119020         Avoid "ar: no archive members specified" error on MacOS X.
119021         * gnulib-tool (func_modules_add_dummy): New function.
119022         (func_import, func_create_testdir): Invoke it.
119024 2006-01-11  Bruno Haible  <bruno@clisp.org>
119026         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
119027         with $auxdir in AC_CONFIG_FILES statements.
119029 2006-01-11  Bruno Haible  <bruno@clisp.org>
119031         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
119032         Initialize also noinst_HEADERS to empty.
119034 2006-01-11  Bruno Haible  <bruno@clisp.org>
119036         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
119037         variables.
119038         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
119039         autoreconf.
119041 2006-01-11  Bruno Haible  <bruno@clisp.org>
119043         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
119044         overridable by the user.
119045         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
119047 2006-01-10  Simon Josefsson  <jas@extundo.com>
119049         * modules/sys_socket: New file.
119051 2006-01-10  Simon Josefsson  <jas@extundo.com>
119053         * m4/sys_socket_h.m4: New file.
119055 2006-01-10  Simon Josefsson  <jas@extundo.com>
119057         * lib/socket_.h: New file.
119059 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
119061         * modules/readutmp (Maintainer): Add myself.
119063 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
119065         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
119066         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
119067         People who are still concerned with buggy memcmp implementations
119068         can invoke gl_FUNC_MEMCMP themselves.
119070 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
119072         * lib/regex_internal.h (BITSET_WORD_BITS):
119073         Work around a bug in 64-bit PGC (before version 6.1-2), where the
119074         preprocessor mishandles large unsigned values as if they were signed.
119075         Problem reported by Claudio Fontana in
119076         <http://lists.gnu.org/r/bug-gnulib/2005-12/msg00061.html>.
119078 2006-01-10  Jim Meyering  <jim@meyering.net>
119080         Avoid the double-free (first in fts_read, second in fts_close) that
119081         would occur when an `active' directory is made inaccessible (e.g.,
119082         via chmod a-x) during a traversal.
119083         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
119084         before returning.  Reproduce this failure by
119085         mkdir -p a/b; cd a; chmod a-x . b
119086         Reported by Stavros Passas.
119088         Sync from coreutils.
119089         * lib/sha1.c: Tweak grammar in a comment.
119091 2006-01-10  Jim Meyering  <jim@meyering.net>
119093         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
119094         Patch by Joerg Sonnenberger.
119096 2006-01-10  Bruno Haible  <bruno@clisp.org>
119098         * modules/readutmp: Depend on module free.
119099         * modules/strtok_r: Depend on module restrict.
119101 2006-01-10  Bruno Haible  <bruno@clisp.org>
119103         * modules/gettext (configure.ac): Add an invocation of
119104         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
119106 2006-01-10  Bruno Haible  <bruno@clisp.org>
119108         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
119109         Reported by Werner Lemberg <wl@gnu.org>.
119111 2006-01-10  Bruno Haible  <bruno@clisp.org>
119113         * lib/localcharset.c: Update from GNU gettext.
119115 2006-01-10  Bruno Haible  <bruno@clisp.org>
119117         * lib/argp.h (__const): Remove macro. Use const instead.
119118         * lib/argp-fmtstream.h (__const): Likewise.
119119         * lib/glob_.h (__const): Remove macro.
119120         * lib/glob-libc.h: Use const instead of __const.
119122 2006-01-10  Bruno Haible  <bruno@clisp.org>
119124         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
119125         variable.
119126         Needed to avoid an automake error regarding the 'gettext' module.
119128 2006-01-09  Simon Josefsson  <jas@extundo.com>
119130         * modules/inet_ntop (Depends-on): Add restrict.
119132 2006-01-09  Simon Josefsson  <jas@extundo.com>
119134         * modules/gc-rijndael-tests (License): Put under LGPL.
119136         * modules/gc-des-tests (License): Likewise.
119138         * modules/gc-arcfour-tests (License): Likewise.
119140         * modules/gc-arctwo-tests (License): Likewise.
119142         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
119144         * modules/gc-hmac-sha1-tests (Files): Likewise.
119146         * modules/gc-hmac-md5-tests (License): Likewise.
119148         * modules/gc-sha1-tests (License): Likewise.
119150         * modules/gc-md5-tests (License): Likewise.
119152         * modules/gc-md4-tests (License): Likewise.
119154         * modules/gc-md2-tests (License): Likewise.
119156         * modules/gc-tests (License): Likewise.
119158         * modules/des-tests (License): Likewise.
119160         * modules/md4-tests (License): Likewise.
119162         * modules/md2-tests (License): Likewise.
119164 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
119166         Sync from coreutils:
119168         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
119169         * modules/lib-ignore: New file.
119170         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
119171         chdir-safer.m4, lchmod.m4.
119172         * modules/openat: Add mkdirat.c, openat-priv.h.
119174 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
119176         Sync from coreutils.
119177         * m4/lib-ignore.m4: New file.
119178         * m4/lchmod.m4: New file.
119180 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
119182         Sync from coreutils.
119183         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
119184         for write access: POSIX says that must fail.
119185         * lib/fts.c (diropen): Likewise.
119186         * lib/save-cwd.c (save_cwd): Likewise.
119187         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
119188         well, for minor improvements on hosts that lack O_DIRECTORY.
119189         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
119190         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
119191         Fall back on chown if open failed with EACCES.
119193         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
119194         Report an error at compile-time if only a 1-second nominal clock
119195         resolution is found.
119197         * lib/lchmod.h: New file.
119198         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
119199         (make_dir_parents): Use lchown rather than chown, and
119200         lchmod rather than chmod.
119202         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
119203         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
119204         "proc" reported by n0dalus.
119206         * lib/mountlist.c: Include <limits.h>.
119207         (dev_from_mount_options)
119208         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
119209         New function.  It no longer assumes "dev=" has the System V meaning
119210         on Linux (since it doesn't).  It also parses "dev=" more carefully.
119211         (read_file_system_list)
119212         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
119213         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
119214         dev= in that case.
119216         * lib/posixtm.h (PDS_PRE_2000): New macro.
119217         * lib/posixtm.c (year): Arg is now syntax_bits rather than
119218         allow_century.  All usages changed.  Reject dates outside the range
119219         1969-1999 if PDS_PRE_2000 is used.
119221 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
119223         Sync from coreutils.
119224         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
119225         (Time of day items): Mention the possibility of leap seconds.
119226         Problem reported by Dr. David Alan Gilbert.
119228 2006-01-09  Jim Meyering  <jim@meyering.net>
119230         Sync from coreutils.
119232         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
119234         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
119236         * lib/modechange.c (mode_compile): Reject an invalid mode string
119237         that starts with an octal digit.  From Andreas Gruenbacher.
119239         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
119240         and dup to open_safer and dup_safer, respectively.
119241         (openat_permissive): Fix typo in comment.
119243         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
119244         "gettext.h"; either no longer needed or are guaranteed by openat.h.
119245         (_): Remove; no longer needed.
119246         (openat): Renamed from rpl_openat; no need for rpl_openat
119247         since openat.h renames openat for us.
119248         Replace most of the body with a call to openat_permissive,
119249         to avoid duplicate code.
119250         Port to (probably hypothetical) environments were mode_t is
119251         wider than int.
119252         (openat_permissive): Require mode arg, so that we can check
119253         types better.  Put it just after flags.  Change cwd failure
119254         indicator from pointer-to-bool to pointer-to-errno-value.
119255         All callers changed.
119256         Invoke openat_save_fail and/or openat_restore_fail if
119257         cwd_errno is null, so that openat can call us.
119258         (openat_permissive, fdopendir, fstatat, unlinkat):
119259         Simplify errno handling to avoid some duplicate code,
119260         as it's OK to set errno on success.
119261         * lib/openat.h: Revamp code so that function macros depend on
119262         __OPENAT_PREFIX only, not also on AT_FDCWD.
119263         (openat_ro): Remove.  Caller changed to use openat_permissive.
119264         (openat_permissive): Now a macro, if not a function.
119265         (openat_restore_fail, openat_save_fail): Now always functions,
119266         since mkdirat needs them even if __OPENAT_PREFIX is defined.
119268         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
119269         and openat.c.
119270         * lib/mkdirat.c: Include openat-priv.h.
119271         Remove definitions of macros defined therein.
119272         * lib/openat.c: Likewise.
119274         * lib/mkdirat.c (mkdirat): New file and function.
119275         * lib/openat.h (mkdirat): Declare.
119277         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
119279         * lib/openat.h (openat_permissive): Declare.
119280         (openat_ro): Define.
119282         * lib/openat.c (EXPECTED_ERRNO): New macro.
119283         (openat_permissive): New function -- used in remove.c rewrite.
119284         (all functions): Set errno just before returning, only if there
119285         was an actual failure.
119286         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
119288         Emulate openat-family functions using Linux's procfs, if possible.
119289         Idea and some code based on Ulrich Drepper's glibc changes.
119291         * lib/openat.c: (BUILD_PROC_NAME): New macro.
119292         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
119293         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
119294         before falling back on save_cwd and restore_cwd.
119295         (fdopendir, fstatat, unlinkat): Likewise.
119297         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
119298         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
119300         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
119301         as second argument to va_arg.  Otherwise, some versions of gcc
119302         warn that `if this code is reached, the program will abort'.
119304 2006-01-09  Jim Meyering  <jim@meyering.net>
119306         Sync from coreutils.
119307         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
119308         Require openat-priv.h.
119310 2006-01-09  Bruno Haible  <bruno@clisp.org>
119312         * modules/strnlen (Include): Use strnlen.h.
119314 2006-01-09  Bruno Haible  <bruno@clisp.org>
119316         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
119318 2006-01-09  Bruno Haible  <bruno@clisp.org>
119320         * lib/sysexit_.h (EX_OK): New macro.
119321         Suggested by Martin Lambers <marlam@marlam.de>.
119323 2006-01-09  Bruno Haible  <bruno@clisp.org>
119325         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
119326         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
119328 2006-01-09  Bruno Haible  <bruno@clisp.org>
119330         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
119331         numbers.
119333 2006-01-09  Bruno Haible  <bruno@clisp.org>
119335         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
119336         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
119337         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
119338         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
119340 2006-01-09  Bruno Haible  <bruno@clisp.org>
119342         * build-aux/javacomp.sh.in: New file, moved from lib/.
119343         * modules/javacomp-script (Files): Update.
119344         (configure.ac): Add AC_CONFIG_FILES invocation.
119345         (EXTRA_DIST): Remove variable.
119347         * build-aux/javaexec.sh.in: New file, moved from lib/.
119348         * modules/javaexec (Files): Update.
119349         (configure.ac): Add AC_CONFIG_FILES invocation.
119350         (EXTRA_DIST): Remove javaexec.sh.in.
119352         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
119353         * modules/csharpcomp-script (Files): Update.
119354         (configure.ac): Add AC_CONFIG_FILES invocation.
119355         (EXTRA_DIST): Remove variable.
119357         * build-aux/csharpexec.sh.in: New file, moved from lib/.
119358         * modules/csharpexec (Files): Update.
119359         (configure.ac): Add AC_CONFIG_FILES invocation.
119360         (EXTRA_DIST): Remove csharpexec.sh.in.
119362 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
119364         Sync from coreutils.
119366         Add POSIX ACL support
119367         * lib/acl.h (copy_acl, set_acl): Add declarations.
119368         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
119369         systems other than Linux.
119370         (chmod_or_fchmod): New function: use fchmod when possible,
119371         and chmod otherwise.
119372         (file_has_acl): Add a POSIX ACL implementation, with a
119373         Linux-specific subcase.
119374         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
119375         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
119376         acls are unsupported.
119377         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
119378         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
119379         are unsupported.
119381 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
119383         Sync from coreutils.
119384         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
119386 2006-01-07  Bruno Haible  <bruno@clisp.org>
119388         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
119389         gl_EARLY.
119391 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
119393         * lib/strftime.c (tzname): Don't declare if it is already #defined.
119394         Problem reported for Mingw by Mark Junker.
119396 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
119398         * README: Gnulib normally doesn't generate a tarball.
119400 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
119402         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
119403         long int, not int, for nanosecond counts, so that people who are
119404         used to POSIX struct timespec won't be surprised.  Reported by Jim
119405         Meyering.
119407 2005-12-28  Bruno Haible  <bruno@clisp.org>
119409         * build-aux/config.rpath: Update from GNU gettext.
119411 2005-12-16  Jim Meyering  <jim@meyering.net>
119413         * modules/fprintftime: New module.
119414         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
119416 2005-12-16  Jim Meyering  <jim@meyering.net>
119418         * m4/fprintftime.m4: New file.
119420 2005-12-16  Jim Meyering  <jim@meyering.net>
119422         * lib/fprintftime.c, lib/fprintftime.h: New files.
119424 2005-12-15  Simon Josefsson  <jas@extundo.com>
119426         * modules/socklen (configure.ac): Fix M4 macro name, to align with
119427         new m4/socklen.m4.
119429 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
119431         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
119432         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
119434 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
119436         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
119437         * lib/argp-help.c (fill_in_uparams): Check if the constructed
119438         struct uparams is valid. Fall back to the default values if it is
119439         not.
119441 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
119443         * modules/argp (Files): Add argp-pin.c
119444         (Depends-on): dirname
119445         (lib_SOURCES): Add argp-pin.c
119447 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
119449         * m4/argp.m4:  Check if program_invocation_name and
119450         program_invocation_short_name are declared and define appropriate
119451         macros if they are not.
119453 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
119455         * lib/argp-help.c (__argp_base_name): New function
119456         (__argp_short_program_name): Rewrite using __argp_base_name
119457         * lib/argp-namefrob.h: Define program_invocation_name and
119458         program_invocation_short_name if requested
119459         (__argp_base_name): Add prototype
119460         * lib/argp-parse.c (argp_def): Use gettext wrappers
119461         (argp_default_parser): Use __argp_base_name
119462         * lib/argp-pin.c: New file. Defines program_invocation_name and
119463         program_invocation_short_name on systems that lack them.
119465 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
119467         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
119468         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
119469         porting problem reported by Georg Schwarz in
119470         <http://lists.gnu.org/r/bug-coreutils/2005-12/msg00083.html>.
119472 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
119474         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
119475         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
119476         porting problem reported by Georg Schwarz in
119477         <http://lists.gnu.org/r/bug-coreutils/2005-12/msg00083.html>.
119479 2005-12-05  Bruno Haible  <bruno@clisp.org>
119481         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
119482         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
119483         Reported by Mark Junker <mjscod@gmx.de>.
119485 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
119487         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
119488         Use implementation from Albert Chin, with some
119489         comments/corrections by Stepan Kasal and myself.
119491 2005-12-02  Bruno Haible  <bruno@clisp.org>
119493         * gnulib-tool (func_import): Accept GPLed build tool modules when
119494         --lgpl is given.
119495         * modules/csharpcomp-script: New file.
119496         * modules/csharpcomp: Depend on it.
119497         * modules/javacomp-script: New file.
119498         * modules/javacomp: Depend on it.
119499         Suggested by Simon Josefsson.
119501 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
119503         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
119504         statement, to work around an HP-UX 10.20 compiler bug reported by
119505         Peter O'Gorman.
119507 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
119509         * modules/savedir (Depends-on): Add openat.
119511 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
119513         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
119514         (uintmax_t) [defined uintmax_t]: Do not declare.
119515         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
119516         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
119517         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
119518         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
119519         sake of portability to weird hosts that C allows (though we don't
119520         know of any practical examples).
119522         * lib/savedir.h (fdsavedir): New decl.
119523         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
119524         contains most of the former guts of savedir.
119525         (savedir): Use savedirstream.
119526         Include "openat.h".
119528 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
119530         * modules/obstack (Files): Add m4/ulonglong.m4.
119531         Problem reported by Davide Angelocola.
119533 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
119535         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
119536         coreutils no longer futzes with rounding modes.
119538 2005-11-14  Jim Meyering  <jim@meyering.net>
119540         * lib/mkstemp-safer.c: Include <config.h>, required for possible
119541         replacement of mkstemp.
119543 2005-11-10  Simon Josefsson  <jas@extundo.com>
119545         * lib/readline.c: Remove EOL.
119547 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
119549         * modules/gethrxtime (Depends-on): Add gettime.
119551 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
119553         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
119554         or gettimeofday; no longer needed.
119556 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
119558         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
119559         time business.
119560         (gethrxtime) [! (HAVE_NANOUPTIME
119561         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
119562         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
119563         our own approximation.
119565 2005-11-08  Eric Blake  <ebb9@byu.net>
119567         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
119569 2005-11-08  Eric Blake  <ebb9@byu.net>
119571         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
119573 2005-11-04  Bruno Haible  <bruno@clisp.org>
119575         * gnulib-tool: Implement --update mode.
119577 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
119579         Fix porting problem reported by Theodoros V. Kalamatianos.
119580         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
119581         Don't assume that futimes failing means we must fail.
119583 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
119585         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
119586         variables to suggest the intended function of the PATH_MAX check.
119588 2005-10-30  Kean Johnston  <jkj@sco.com>
119590         Trivial changes to support SCO systems.
119591         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
119592         as PATH_MAX.
119593         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
119594         where __ptr is null when no I/O is pending.
119596 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
119598         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
119599         leave errno alone.  Problem reported by Dmitry V. Levin.
119601 2005-10-28  Simon Josefsson  <jas@extundo.com>
119603         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
119604         Test more.
119606         * tests/test-gc-md2.c, tests/test-md2.c: New files.
119608         * modules/md2, modules/md2-tests: New files.
119610 2005-10-28  Simon Josefsson  <jas@extundo.com>
119612         * m4/inet_ntop.m4: More tests.
119614         * m4/gc-md2.m4, md2.m4: New file.
119616 2005-10-28  Simon Josefsson  <jas@extundo.com>
119618         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
119619         "restrict" keywords, as per POSIX.  Protect the function
119620         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
119621         Don't use K&R prototypes.  Check the sprintf return values.
119622         Re-define EAFNOSUPPORT if not present.  Indent.
119624         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
119625         suggested by Bruno Haible <bruno@clisp.org>.
119627         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
119629         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
119631         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
119632         libgcrypt).
119634         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
119636         * lib/md2.h, lib/md2.c: New files.
119638 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
119640         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
119641         errno alone.  Problem reported by Frederic Jolliton.
119643 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
119645         * modules/verify (License): Change from GPL to LGPL.  This is a
119646         tiny module and there are apparently near-equivalents that are
119647         under the BSD license.
119649 2005-10-24  Simon Josefsson  <jas@extundo.com>
119651         * modules/sha1: Relicense to LGPL.
119653 2005-10-24  Simon Josefsson  <jas@extundo.com>
119655         * lib/md4.h: Shrink buffer size, now that we changed the type.
119657 2005-10-23  Simon Josefsson  <jas@extundo.com>
119659         * gnulib-tool (func_import): Fix --tests-base.
119661 2005-10-22  Simon Josefsson  <jas@extundo.com>
119663         * modules/arcfour (Depends-on): Need stdint.
119665 2005-10-22  Simon Josefsson  <jas@extundo.com>
119667         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
119668         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
119670 2005-10-22  Simon Josefsson  <jas@extundo.com>
119672         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
119673         suggested by Bruno Haible <bruno@clisp.org>.
119675 2005-10-22  Simon Josefsson  <jas@extundo.com>
119677         * lib/crc.h: Include stddef.h, for size_t.
119679 2005-10-22  Simon Josefsson  <jas@extundo.com>
119681         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
119682         arcfour_context struct (simplify test vector testing in GNU
119683         Shishi).
119685 2005-10-21  Simon Josefsson  <jas@extundo.com>
119687         * modules/des, modules/des-tests: New files.
119689         * modules/gc-des, modules/gc-des-tests: New files.
119691         * tests/test-des.c, tests/test-gc-des.c: New file.
119693 2005-10-21  Simon Josefsson  <jas@extundo.com>
119695         * modules/arctwo, modules/arctwo-tests: New files.
119697         * tests/test-arctwo.c: New file.
119699         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
119701         * tests/test-gc-arctwo.c: New file.
119703 2005-10-21  Simon Josefsson  <jas@extundo.com>
119705         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
119706         Bruno Haible <bruno@clisp.org>.
119708         * m4/gc-des.m4: New file.
119710 2005-10-21  Simon Josefsson  <jas@extundo.com>
119712         * m4/arctwo.m4: New file.
119714         * m4/gc-arctwo.m4: New file.
119716 2005-10-21  Simon Josefsson  <jas@extundo.com>
119718         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
119719         block.
119721 2005-10-21  Simon Josefsson  <jas@extundo.com>
119723         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
119724         <bruno@clisp.org>.
119726         * lib/hmac-sha1.c (hmac_sha1): Likewise.
119728         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
119729         Bruno Haible <bruno@clisp.org>.
119731         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
119732         <bruno@clisp.org>.
119734 2005-10-21  Simon Josefsson  <jas@extundo.com>
119736         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
119738 2005-10-21  Simon Josefsson  <jas@extundo.com>
119740         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
119742 2005-10-21  Simon Josefsson  <jas@extundo.com>
119744         * lib/des.h, lib/des.c: New files.
119746         * lib/gc-gnulib.c: Support DES.c
119748 2005-10-21  Simon Josefsson  <jas@extundo.com>
119750         * lib/arctwo.h, lib/arctwo.c: New files.
119752         * lib/gc-gnulib.c: Support ARCTWO.
119754 2005-10-21  Simon Josefsson  <jas@extundo.com>
119756         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
119757         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
119759 2005-10-21  Simon Josefsson  <jas@extundo.com>
119761         * gnulib-tool (func_import, func_create_testdir): Define automake
119762         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
119763         Makefile.am snippet),
119764         suggested by Bruno Haible <bruno@clisp.org>.
119766         * modules/gc (Makefile.am): Use it.
119768 2005-10-21  Bruno Haible  <bruno@clisp.org>
119770         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
119771         patch.
119773 2005-10-19  Simon Josefsson  <jas@extundo.com>
119775         * tests/test-gc-rijndael.c: New file.
119777         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
119779 2005-10-19  Simon Josefsson  <jas@extundo.com>
119781         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
119782         interface too.
119784 2005-10-19  Simon Josefsson  <jas@extundo.com>
119786         * tests/test-gc-arcfour.c: New file.
119788         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
119790 2005-10-19  Simon Josefsson  <jas@extundo.com>
119792         * modules/gc-md4, modules/gc-md4-tests: New file.
119794         * tests/test-gc-md4.c: New file.
119796 2005-10-19  Simon Josefsson  <jas@extundo.com>
119798         * m4/gc-md4.m4: New file.
119800 2005-10-19  Simon Josefsson  <jas@extundo.com>
119802         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
119803         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
119804         <kasal@ucw.cz>.
119806 2005-10-19  Simon Josefsson  <jas@extundo.com>
119808         * m4/gc-arcfour.m4: New file.
119810         * m4/gc-rijndael.m4: New file.
119812 2005-10-19  Simon Josefsson  <jas@extundo.com>
119814         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
119816 2005-10-19  Simon Josefsson  <jas@extundo.com>
119818         * lib/gc-gnulib.c: Support ARCFOUR.
119820 2005-10-19  Simon Josefsson  <jas@extundo.com>
119822         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
119823         support.
119825         * lib/gc.h: Add ECB enum type.
119827         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
119829 2005-10-18  Simon Josefsson  <jas@extundo.com>
119831         * tests/test-md5.c: New file.
119833         * modules/md5-tests: New file.
119835 2005-10-18  Simon Josefsson  <jas@extundo.com>
119837         * tests/test-md4.c: New file.
119839         * modules/md4, modules/md4-tests: New files.
119841 2005-10-18  Simon Josefsson  <jas@extundo.com>
119843         * m4/md4.m4: New file.
119845 2005-10-18  Simon Josefsson  <jas@extundo.com>
119847         * lib/md4.h, lib/md4.c: New files, based on md5.?.
119849 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
119851         * gnulib-tool (func_create_testdir): Omit the second check whether
119852         BUILT_SOURCES in nonempty.
119854 2005-10-17  Simon Josefsson  <jas@extundo.com>
119856         * tests/test-rijndael.c: New file.
119858 2005-10-17  Simon Josefsson  <jas@extundo.com>
119860         * modules/sha1: Depend on stdint instead of md5.
119862         * modules/md5: Depend on stdint, remove uint32_t.
119864 2005-10-17  Simon Josefsson  <jas@extundo.com>
119866         * modules/gc-sha1-tests: New file.
119868         * tests/test-gc-sha1.c: New file.
119870 2005-10-17  Simon Josefsson  <jas@extundo.com>
119872         * m4/md5.m4: Remove call to uint32_t.m4.
119874 2005-10-17  Simon Josefsson  <jas@extundo.com>
119876         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
119878         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
119879         md5.h.
119881         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
119883         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
119885 2005-10-17  Simon Josefsson  <jas@extundo.com>
119887         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
119889 2005-10-17  Simon Josefsson  <jas@extundo.com>
119891         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
119893 2005-10-17  Simon Josefsson  <jas@extundo.com>
119895         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
119897         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
119899 2005-10-17  Bruno Haible  <bruno@clisp.org>
119901         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
119902         that it can also be used in a test.
119904 2005-10-16  Bruno Haible  <bruno@clisp.org>
119906         * gnulib-tool (func_emit_tests_Makefile_am): Also define
119907         TESTS_ENVIRONMENT, so that individual tests can augment it.
119909         * gnulib-tool (func_create_testdir): Use an intermediate target for
119910         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
119911         macros, like $(ALLOCA_H), which cannot be passed through the command
119912         line.
119914 2005-10-15  Simon Josefsson  <jas@extundo.com>
119916         * modules/rijndael-tests: New file.
119918         * modules/rijndael: New file.
119920 2005-10-15  Simon Josefsson  <jas@extundo.com>
119922         * m4/rijndael.m4: New file.
119924 2005-10-15  Simon Josefsson  <jas@extundo.com>
119926         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
119928         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
119930 2005-10-14  Simon Josefsson  <jas@extundo.com>
119932         * tests/test-arcfour.c: New file.
119934         * modules/arcfour, modules/arcfour-tests: New files.
119936 2005-10-14  Simon Josefsson  <jas@extundo.com>
119938         * m4/arcfour.m4: New file.
119940 2005-10-14  Simon Josefsson  <jas@extundo.com>
119942         * lib/arcfour.h, lib/arcfour.c: New files.
119944 2005-10-14  Roland McGrath  <roland@redhat.com>
119946         Import from libc.  [BZ #1331]
119947         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
119948         macro argument.
119949         Reported by Matej Vela <vela@debian.org>.
119951 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
119953         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
119954         include <wchar.h>; no longer needed.
119956 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
119958         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
119960 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
119961         and  Ulrich Drepper  <drepper@redhat.com>
119963         Import from libc.
119964         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
119965         instead of inline stream orientation test and two separate
119966         function calls.  Pay no attention to USE_IN_LIBIO.
119968 2005-10-13  Simon Josefsson  <jas@extundo.com>
119970         * modules/gc-hmac-md5-tests: New file.
119972         * tests/test-gc-hmac-sha1.c: New file.
119974         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
119976         * modules/gc-hmac-md5-tests: New file.
119978         * tests/test-gc-md5.c: New file.
119980         * modules/gc-md5-tests: New file.
119982 2005-10-13  Simon Josefsson  <jas@extundo.com>
119984         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
119985         Move memory allocation outside of loop.
119987 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
119989         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
119990         intermediate directory is in a read-only file system.  Problem
119991         reported by Eric Blake.
119993 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
119995         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
119997 2005-10-12  Simon Josefsson  <jas@extundo.com>
119999         * tests/test-hmac-sha1.c: New file.
120001         * modules/hmac-sha1-tests: New file.
120003         * modules/hmac-sha1: New file.
120005 2005-10-12  Simon Josefsson  <jas@extundo.com>
120007         * modules/gc-sha1: New file.
120009 2005-10-12  Simon Josefsson  <jas@extundo.com>
120011         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
120013         * tests/test-gc-pbkdf2-sha1.c: New file.
120015 2005-10-12  Simon Josefsson  <jas@extundo.com>
120017         * modules/gc-md5, modules/gc-hmac-md5: New files.
120019         * modules/gc (Files): Remove md5, memxor and hmac files.
120021 2005-10-12  Simon Josefsson  <jas@extundo.com>
120023         * m4/gc-pbkdf2-sha1.m4: New file.
120025         * m4/gc-hmac-sha1.m4: New file.
120027         * m4/gc-sha1: New file.
120029         * m4/hmac-sha1.m4: New file.
120031 2005-10-12  Simon Josefsson  <jas@extundo.com>
120033         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
120035         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
120037 2005-10-12  Simon Josefsson  <jas@extundo.com>
120039         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
120040         suggested by Bruno Haible <bruno@clisp.org>.
120042 2005-10-12  Simon Josefsson  <jas@extundo.com>
120044         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
120046 2005-10-12  Simon Josefsson  <jas@extundo.com>
120048         * lib/gc-pbkdf2-sha1.c: New file.
120050         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
120052 2005-10-12  Simon Josefsson  <jas@extundo.com>
120054         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
120056         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
120058 2005-10-12  Simon Josefsson  <jas@extundo.com>
120060         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
120061         GC_USE_HMAC_MD5, respectively.
120063         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
120064         (gc_md5): Fix typo.
120066         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
120068         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
120070         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
120072 2005-10-12  Bruno Haible  <bruno@clisp.org>
120074         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
120075         Reported by Stepan Kasal <kasal@ucw.cz>.
120077 2005-10-11  Simon Josefsson  <jas@extundo.com>
120079         * tests/test-crc.c: New file.
120081         * modules/crc, modules/crc-tests: New files.
120083 2005-10-11  Simon Josefsson  <jas@extundo.com>
120085         * m4/crc.m4: New file.
120087 2005-10-11  Simon Josefsson  <jas@extundo.com>
120089         * lib/gc.h: Add gc_hash and gc_hash_buffer.
120091         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
120093         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
120095 2005-10-11  Simon Josefsson  <jas@extundo.com>
120097         * lib/crc.h, lib/crc.c: New files.
120099         * lib/gc.h (gc_hash_buffer): Add doc.
120101 2005-10-11  Bruno Haible  <bruno@clisp.org>
120103         * modules/c-strcasestr: New file.
120104         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
120106 2005-10-11  Bruno Haible  <bruno@clisp.org>
120108         * modules/c-strcase: New file.
120109         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
120111 2005-10-11  Bruno Haible  <bruno@clisp.org>
120113         * lib/strcasecmp.c: Include limits.h.
120114         (strcasecmp): Avoid integer overflow on exotic platforms.
120115         * lib/strncasecmp.c: Include limits.h.
120116         (strncasecmp): Avoid integer overflow on exotic platforms.
120117         Reported by Paul Eggert.
120119 2005-10-11  Bruno Haible  <bruno@clisp.org>
120121         * lib/c-strcasestr.h: New file, from GNU gettext.
120122         * lib/c-strcasestr.c: New file, from GNU gettext.
120124 2005-10-11  Bruno Haible  <bruno@clisp.org>
120126         * lib/c-strcase.h: New file, from GNU gettext.
120127         * lib/c-strcasecmp.c: New file, from GNU gettext.
120128         * lib/c-strncasecmp.c: New file, from GNU gettext.
120130 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
120132         * modules/mempcpy (License): GPL -> LGPL.
120133         * modules/strchrnul (License): Likewise.
120134         * modules/sysexits (License): Likewise.
120136 2005-10-08  Simon Josefsson  <jas@extundo.com>
120138         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
120140 2005-10-07  Simon Josefsson  <jas@extundo.com>
120142         * m4/memxor.m4: Remove gl_C_RESTRICT call.
120144 2005-10-06  Simon Josefsson  <jas@extundo.com>
120146         * tests/test-hmac-md5.c: New file.
120148         * modules/hmac-md5-tests: New file.
120150         * modules/hmac-md5: New file.
120152 2005-10-06  Simon Josefsson  <jas@extundo.com>
120154         * m4/hmac-md5.m4: New file.
120156         * m4/memxor.m4: Require gl_C_RESTRICT.
120158 2005-10-06  Simon Josefsson  <jas@extundo.com>
120160         * lib/memxor.c (memxor): Avoid casts and warnings.
120162 2005-10-06  Simon Josefsson  <jas@extundo.com>
120164         * lib/hmac-md5.c: New file.
120166         * lib/hmac.h: New file.
120168 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
120170         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
120171         promotes to int, not unsigned int, to catch the AIX 5.3
120172         compiler bug.
120174 2005-10-05  Simon Josefsson  <jas@extundo.com>
120176         * modules/memxor: New file.
120178         * modules/iconv (Files): Move config.rpath to havelib, it is used
120179         there.
120181         * modules/havelib (Files): Add config.rpath.
120183 2005-10-05  Simon Josefsson  <jas@extundo.com>
120185         * m4/memxor.m4: New file.
120187 2005-10-05  Simon Josefsson  <jas@extundo.com>
120189         * lib/memxor.c (memxor): Fix compiler error.
120191         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
120192         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
120194         * lib/memxor.h, lib/memxor.c: New files.
120196         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
120197         we assume all systems have it, suggested by Jim Meyering
120198         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
120199         any systems lack sys/socket.h; mingw32 is known to lack it, but we
120200         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
120201         same reasons.
120203 2005-10-05  Simon Josefsson  <jas@extundo.com>
120205         * config/srclist.txt: Add glibc bug 1423 for md5.h.
120207 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
120209         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
120210         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
120211         needed, since the source code now assumes these .h files.
120213 2005-10-05  Derek Price  <derek@ximbiot.com>
120215         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
120217 2005-10-05  Bruno Haible  <bruno@clisp.org>
120219         * modules/stdint (License): Change to LGPL.
120221 2005-10-04  Simon Josefsson  <jas@extundo.com>
120223         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
120224         D. Baushke" <mdb@gnu.org>.
120226 2005-10-04  Bruno Haible  <bruno@clisp.org>
120228         * lib/verify.h (verify_true): Provide alternative definition for C++.
120230 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
120232         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
120233         (SSIZE_MAX): New macro, if not already defined.
120234         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
120235         than 2 GiB.
120237 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
120239         Sync from coreutils.
120240         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
120241         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
120242         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
120243         ULLONG_MAX doesn't work with 2.7.2.1.
120245 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
120247         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
120248         From Ben Pfaff.
120250         * modules/exclude (Depends-on): Depend on verify.
120251         * modules/strtoimax (Depends-on): Likewise.
120252         * modules/utimecmp (Depends-on): Likewise.
120254 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
120256         * lib/exclude.c: Include verify.h.
120257         (verify): Remove.  All callers changed to use verify.h's version.
120258         * lib/strtoimax.c: Likewise.
120259         * lib/utimecmp.c: Likewis.e
120261         Sync from coreutils.
120262         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
120263         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
120264         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
120265         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
120266         bother returning ENOSYS if settimeofday or stime fails; just let
120267         them return whatever errno they want to return.
120268         * lib/utimens.c: Include unistd.h, for dup2.
120269         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
120270         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
120272 2005-10-02  Jim Meyering  <jim@meyering.net>
120274         Sync from coreutils.
120275         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
120276         from glibc-2.2.5 that fails for read-only files.
120278 2005-10-02  Jim Meyering  <jim@meyering.net>
120280         Sync from coreutils.
120281         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
120282         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
120283         `#if HAVE_CONFIG_H'.
120284         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
120285         Remove AT_FDCWD test.
120286         Do not consume the fd unless successful.
120287         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
120288         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
120289         block, so that we don't even try to compile it if settimeofday is
120290         available.  This works around a compilation failure on OSF1 V5.1,
120291         due to stime requiring a `long int*' while tv_sec is `int'.
120293 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
120295         Sync from coreutils.
120296         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
120297         against `yes', rather than just testing for nonempty.
120299 2005-10-01  Simon Josefsson  <jas@extundo.com>
120301         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
120302         and Darwin.
120304         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
120305         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
120306         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
120307         freeaddrinfo and gai_strerror are declared by the POSIX headers.
120308         Check if struct addrinfo is declared.
120310 2005-10-01  Simon Josefsson  <jas@extundo.com>
120312         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
120313         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
120314         AI_* and EAI_* definitions.  Protect function declarations.
120316 2005-10-01  Jim Meyering  <jim@meyering.net>
120318         Sync from coreutils.
120320         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
120321         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
120322         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
120323         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
120324         in the inet and nsl libraries.  Required on Solaris 5.7.
120326 2005-10-01  Jim Meyering  <jim@meyering.net>
120328         Sync from coreutils.
120329         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
120330         in the inet and nsl libraries.  Required on Solaris 5.7.
120332 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
120334         * lib/getdelim.c (getdelim): Remove unused variables.
120336 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
120338         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
120339         so that the code works even with ancient cpp.  Portability problem
120340         with GCC 2.7.2.1 reported by Thomas M.Ott.
120342 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
120344         * modules/regex (Depends-on): Add strcase.
120346         * modules/gethostname (Licence): Change from GPL to LGPL, since
120347         gethostname.c is a trivial implementation of a standard library
120348         function.
120349         * modules/poll (License): Change from GPL to LGPL, since it's
120350         derived from LGPL code.
120352 2005-09-27  Jim Meyering  <jim@meyering.net>
120354         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
120355         HAVE_CONFIG_H.
120357         * lib/intprops.h (signed_type_or_expr__): Define.
120358         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
120359         for unsigned types.
120361 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
120363         * lib/verify.h (verify_expr): Remove, replacing with:
120364         (verify_true): New macro that returns true instead of void.
120365         (verify_type__): Remove.
120366         (verify): Use verify_true rather than verify_type__.
120368 2005-09-26  Bruno Haible  <bruno@clisp.org>
120370         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
120371         is necessary.
120372         (lib_SOURCES): Remove mbchar.c.
120373         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
120374         (Files): Add m4/mbrtowc.m4.
120375         * modules/mbiter: Likewise.
120376         * modules/mbuiter: Likewise.
120378 2005-09-26  Bruno Haible  <bruno@clisp.org>
120380         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
120381         compile mbchar.c if they are not both present.
120382         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
120383         * m4/mbiter.m4 (gl_MBITER): Likewise.
120384         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
120385         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
120386         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
120388 2005-09-25  Jim Meyering  <jim@meyering.net>
120390         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
120391         also uses socklen_t.
120393 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
120395         * lib/utimens.c (ENOSYS): Define if not already defined.
120396         (futimens): Support having a null PATH if the file descriptor
120397         is nonnegative.
120399         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
120400         Remove.
120401         (__attribute): Define to empty unless GCC 3.1 or later.
120402         This works around a core dump on OpenBSD 3.4, which has GCC
120403         2.95.3, which dumps core when given __attribute__(()).  It also
120404         simplifies other tests, since we really don't want to bother with
120405         worrying about which ancient version of GCC supported what.
120406         Original problem reported by Yoann Vandoorselaere, with part of
120407         the fix suggested by Derek Price.
120409 2005-09-24  Jim Meyering  <jim@meyering.net>
120411         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
120412         so we can once again use a positive bitfield width of 1 -- now we
120413         don't have to explain why we were using a bitfield width of 2.
120415 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
120417         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
120418         and similarly for the other external symbols.  Problem reported
120419         by James Gallager.
120421         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
120422         bug reported by Jim Meyering.
120424         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
120425         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
120426         not needed, since socklen is a prerequisite module.
120428 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
120430         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
120431         Problem reported by Eric Blake.
120432         (getaddrinfo): Initialize se so that it's not garbage.
120433         Redo internal storage allocation so that it doesn't make unportable
120434         assumptions about alignment.
120435         Fix a memory leak.
120437         * lib/utimens.c (futimens): Use futimesat if available.
120438         Prefer it to futimes since it doesn't have the futimes bug.
120440         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
120441         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
120442         Instead, declare a function that returns a pointer to an array,
120443         and use verify_type__ to declare the size of the array.
120444         Problem and germ of a solution reported by Bruno Haible.
120445         (verify_type__): Use 2, not 1, for bitfield size, to avoid
120446         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
120448 2005-09-23  Jim Meyering  <jim@meyering.net>
120450         Sync from coreutils.
120451         Correct build failure (socklen_t not defined) on at least
120452         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
120453         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
120455 2005-09-23  Jim Meyering  <jim@meyering.net>
120457         * modules/getaddrinfo (Depends-on): Add socklen.
120459 2005-09-23  Bruno Haible  <bruno@clisp.org>
120461         * tests/test-verify.c: New file.
120463 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
120465         Sync from coreutils.
120467         * modules/argmatch (Depends-on): Add verify.
120468         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
120469         unistd-safer.
120470         * modules/save-cwd (Depends-on): Likewise.
120472         * modules/openat (Files): Add lib/openat-die.c.
120473         (Depends-on): Remove error, exitfail.
120474         Add dirname.
120476         * modules/verify: New file.
120477         * MODULES.html.sh (Diagnostics <assert.h>): New section,
120478         with "verify" module.
120480 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
120482         Sync from coreutils.
120484         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
120485         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
120486         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
120487         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
120488         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
120489         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
120490         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
120491         Don't bother checking for string.h, stdlib.h, unistd.h.
120492         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
120493         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
120494         module's job.
120495         * m4/jm-macros.m4 (gl_MACROS): Likewise.
120496         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
120498         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
120499         (gl_GETDATE): Use it.
120501         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
120503 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
120505         Sync from coreutils.
120507         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
120508         stat-time.h.
120509         * lib/argmatch.h: Include verify.h
120510         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
120511         (ARGMATCH_ASSERT): Remove; unused.
120512         * lib/canonicalize.c: Assume STDC_HEADERS.
120513         * lib/exclude.c: Include "strcase.h".
120514         * lib/regex_internal.h [!defined _LIBC]: Likewise.
120515         * lib/getusershell.c: Include stdio--.h rather than stdio.h
120516         and stdio-safer.h.
120517         (getusershell): Call fopen, not fopen_safer.
120518         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
120519         Do not include unistd-safer.h.
120520         (save_cwd): Don't call fd_safer; no longer needed
120521         now that we include fcntl--.h.
120523         * lib/getdate.y (relative_time): New type.
120524         (RELATIVE_TIME_0): New constant.
120525         (parser_control): Use relative_time instead of doing it ourselves.
120526         (%union): Add new relative_time rel member.
120527         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
120528         Now typeless.
120529         (relunit, relunit_snumber): Now of type rel.
120530         (zone, rel, relunit, get_date): Adjust to above changes.
120532         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
120533         Do not include unistd-safer.h.
120534         (getloadavg): Don't call fd_safer; no longer needed
120535         now that we include fcntl--.h.
120537         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
120538         (make_dir_parents): Treat ENOSYS like EEXIST.
120540         Improve quality of diagnostics on restore_cwd failure.
120541         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
120542         (make_dir_parents): Last arg is now int * (for errno), not bool *.
120543         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
120544         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
120545         each time through the loop.  Do not diagnose restore_cwd failure;
120546         that is the caller's job (and perhaps the caller does not care).
120548         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
120549         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
120550         If the file already exists but is not a directory, don't bother
120551         to try to make its parents.
120552         Close potential file descriptor leak if we can't chdir("/") (!).
120553         Don't always return true if chdir($PWD) fails; return true only
120554         if the requested action was done successfully (except for the
120555         chdir($PWD)).
120556         Don't log final directory unless we actually made it.
120557         Refactor to avoid duplicate code to fix up permissions.
120558         Don't attempt to fix up parent permissions if chdir($PWD) fails.
120560         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
120561         to make it a bit faster and (I hope) clearer.
120562         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
120563         Fix bug in formats like %2N.
120565         * lib/verify.h: New file.
120567 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
120569         Sync from coreutils.
120570         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
120572 2005-09-22  Jim Meyering  <jim@meyering.net>
120574         Sync from coreutils.
120576         * m4/lstat.m4 (gl_FUNC_LSTAT):
120577         Use AC_LIBSOURCES to require lstat.c and lstat.h.
120578         Remove obsolete comment.
120579         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
120580         * m4/xstrtod.m4: Likewise.
120582         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
120584 2005-09-22  Jim Meyering  <jim@meyering.net>
120586         Sync from coreutils.
120588         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
120590         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
120591         the .tm_year member, since otherwise gcc-4.0 would now warn about
120592         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
120594         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
120595         order to avoid an unsuppressible warning from gcc on 64-bit systems.
120597         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
120598         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
120599         when run in a time zone for which daylight savings time is in effect
120600         for the starting date.
120602         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
120603         stop us from restricting permissions of just-created absolute-named
120604         directories.
120605         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
120606         to restore initial working directory.
120607         * lib/mkdir-p.c (make_dir_parents): New parameter:
120608         different_working_dir, to tell caller if/when we change the working
120609         directory and are unable to return to the initial one.
120610         * lib/mkdir-p.h (make_dir_parents): Update prototype.
120611         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
120612         `return false'.  This fixes a bug introduced on 2004-07-30.
120614         * lib/openat.c (fdopendir): Be sure to close the supplied
120615         file descriptor before returning.  This makes our replacement
120616         implementation a little closer to Solaris's, where fdopendir
120617         ties the file descriptor to the returned DIR* pointer.
120618         * lib/openat.c (unlinkat): New function.
120619         * lib/openat.h (unlinkat): Add prototype.
120620         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
120621         (openat_restore_fail): Rename from openat_restore_die.
120622         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
120624         Provide an alternative to exiting immediately upon save_cwd or
120625         restore_cwd failure.  Now, an application can arrange e.g.,
120626         to perform a longjump in that case.
120627         * lib/openat.c: Include dirname.h.
120628         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
120629         (rpl_openat, fdopendir, fstatat): Call openat_save_die
120630         and openat_restore_die rather than calling error directly.
120631         Don't include "error.h" or "exitfail.h"; they're no longer needed.
120633         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
120634         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
120635         define.
120637         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
120638         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
120639                             int utc, int nanoseconds);
120640         Background:
120641         date should not have to allocate a megabyte of virtual memory to
120642         handle a format argument like +%1048575T.  When implemented with
120643         strftime, it must allocate such a buffer, use strftime to fill it
120644         in, print it, then free it.
120645         With fprintftime, it simply prints everything and exits.
120646         With no need for memory allocation, that's one fewer way to fail.
120647         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
120648         optional field width, not before, so we accept %9:z, not %:9z.
120649         (my_strftime): Be sure to use L_('x') for literals.
120651         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
120652         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
120653         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
120654         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
120655         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
120656         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
120657         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
120658         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
120659         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
120660         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
120661         * lib/xgethostname.c, lib/xreadlink.c:
120662         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
120664         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
120665         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
120666         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
120667         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
120668         and don't include <sys/file.h>).
120670 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
120672         Sync from coreutils.
120674         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
120675         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
120676         [!LDAV_DONE]: Avoid unused variable warning.
120678 2005-09-21  Bruno Haible  <bruno@clisp.org>
120680         * lib/unicodeio.h (unicode_to_mb): New declaration.
120682 2005-09-20  Derek Price  <derek@ximbiot.com>
120684         * lib/getaddrinfo.c: Don't include <netdb.h> included from
120685         getaddrinfo.h.
120687 2005-09-20  Bruno Haible  <bruno@clisp.org>
120689         * gnulib-tool: Remove trailing slashes from the values specified for
120690         --source-base, --m4-base, --tests-base, --aux-dir.
120691         Suggested by Simon Josefsson <jas@extundo.com>.
120693 2005-09-20  Bruno Haible  <bruno@clisp.org>
120695         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
120696         func_modules_to_filelist, func_import, func_create_testdir): Make all
120697         sorting results locale-independent, so that gnulib-cache.m4 doesn't
120698         change when gnulib-tool is invoked in a different locale.
120700 2005-09-19  Simon Josefsson  <jas@extundo.com>
120702         * m4/socklen.m4: Fix typo.
120704 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
120706         Use a consistent style for including <config.h>.
120707         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
120708         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
120709         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
120710         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
120711         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
120712         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
120713         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
120714         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
120715         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
120716         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
120717         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
120718         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
120719         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
120720         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
120721         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
120722         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
120723         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
120724         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
120725         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
120726         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
120727         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
120728         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
120729         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
120730         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
120731         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
120732         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
120733         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
120734         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
120735         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
120736         lib/xstrtoumax.c, lib/yesno.c:
120737         Standardize inclusion of config.h.
120738         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
120739         lib/inttostr.h:  Removed inclusion of config.h from header files.
120740         * lib/inttostr.c:  Adjusted in-tree users.
120741         * lib/timespec.h: Remove superfluous warning to include config.h.
120742         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
120743         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
120744         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
120745         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
120746         config.h with HAVE_CONFIG_H.
120748 2005-09-19  Jim Meyering  <jim@meyering.net>
120750         * modules/pathmax (License): Change to LGPL.
120752 2005-09-19  Derek Price  <derek@ximbiot.com>
120754         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
120756 2005-09-19  Bruno Haible  <bruno@clisp.org>
120758         * gnulib-tool (import): Provide default for --tests-base.
120760 2005-09-19  Bruno Haible  <bruno@clisp.org>
120762         * doc/quote.texi: New file, extracted from gnulib.texi.
120763         * doc/ctime.texi: New file, extracted from gnulib.texi.
120764         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
120765         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
120766         * doc/gnulib.texi: Include them.
120768 2005-09-18  Bruno Haible  <bruno@clisp.org>
120770         Portability fix.
120771         * gnulib-tool (func_readlink): New function.
120772         (func_ln_if_changed): Use it.
120774 2005-09-18  Bruno Haible  <bruno@clisp.org>
120776         * gnulib-tool: Support --with-tests also with --import.
120777         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
120778         (func_import): Use variables $testsbase and $inctests. Emit a
120779         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
120780         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
120781         SUBDIRS += $testsdir.
120782         (func_create_testdir): Update.
120784 2005-09-18  Bruno Haible  <bruno@clisp.org>
120786         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
120787         instead of $dry_run.
120788         (func_cp_if_changed, func_mv_if_changed): Remove functions.
120789         (func_ln_if_changed): Don't handle dry-run here.
120790         (func_import): In dry-run mode, detect more precisely which actions
120791         would be performed, and don't use "...ing" verbs.
120793 2005-09-18  Bruno Haible  <bruno@clisp.org>
120795         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
120796         (func_import): Use join on two temporary files instead of three nested
120797         loops, in order to determine which files are new or old.
120799 2005-09-18  Bruno Haible  <bruno@clisp.org>
120801         * gnulib-tool (func_import): Comment out code that spits out the
120802         new files with --dry-run.
120804 2005-09-18  Bruno Haible  <bruno@clisp.org>
120806         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
120808 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
120810         * lib/stat-time.h: New file.
120811         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
120812         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
120813         in a different way.
120814         (timespec_cmp): New function.
120815         * lib/utimecmp.c: Include stat-time.h.
120816         (SYSCALL_RESOLUTION): Depend on whether various struct stat
120817         members exist, not on the obsolescent ST_MTIM_NSEC.
120818         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
120820 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
120822         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
120824 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
120826         * MODULES.html.sh (File system functions): Add stat-time.
120827         * modules/stat-time: New file.
120828         * modules/timespec (Files): Remove m4/st_mtim.m4; this
120829         is now done in a different way, by the stat-time module.
120830         * modules/utimecmp (Depends-on): Add stat-time.
120832 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
120834         * m4/st_mtim.m4: Remove.  Superseded by...
120835         * m4/stat-time.m4: New file.
120836         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
120837         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
120839 2005-09-15  Derek Price  <derek@ximbiot.com>
120841         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
120843 2005-09-15  Derek Price  <derek@ximbiot.com>
120845         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
120846         * lib/regex_internal.c: Ditto, using this...
120847         (__GNUC_PREREQ): ...new macro.
120848         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
120849         using...
120850         (__GNUC_PREREQ): ...this new macro.
120852         * lib/strstr.h: Include string.h. Define strstr as a macro here.
120854 2005-09-15  Derek Price  <derek@ximbiot.com>
120855             Paul Eggert  <eggert@cs.ucla.edu>
120857         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
120858         changes, consolidating in...
120859         * lib/regex_internal.h: ...this file.
120861 2005-09-13  Jim Meyering  <jim@meyering.net>
120863         * lib/canon-host.c: Filter through gnu indent and reword comments
120864         slightly.
120865         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
120867 2005-09-13  Derek Price  <derek@ximbiot.com>
120869         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
120870         failure.
120871         Reported by Jim Meyering  <jim@meyering.net>.
120873 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
120875         * lib/base64.c: Typo.
120876         (base64_encode): Put b64str in initialized data section.
120878 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
120880         Merge glibc and coreutils changes into gnulib, plus a few
120881         extra fixes.
120882         * lib/md5.c: Use #error rather than a string.
120883         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
120884         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
120885         (__attribute__): Define to empty for non recent-GCC.
120886         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
120887         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
120888         Renamed from their non-__ counterparts, with new macros replacing
120889         them if not _LIBC.  Add __THROW attribute.
120890         (rol): Remove.
120891         (struct md5_ctx): Align buffer if using GCC.
120892         * lib/sha1.h (struct sha1_ctx): Likewise.
120893         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
120894         The old name was backwards.
120895         (NOTSWAP): Remove; not used.
120896         (rol): New macro, moved here from md5.h.
120897         (sha1_process_block): Remove a FIXME that doesn't make sense.
120899 2005-09-12  Derek Price  <derek@ximbiot.com>
120901         Return usable errors from canon-host.
120902         * lib/canon-host.h: New file.
120903         * lib/canon-host.c (canon_host): Wrap...
120904         (canon_host_r): ...this new function, which now relies exclusively on
120905         getaddrinfo.
120906         (ch_strerror): New function.
120907         (last_cherror): New global.
120908         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
120909         interface.
120910         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
120911         void *.
120912         (freeaddrinfo): Free ai->ai_canonname when set.
120914 2005-09-12  Derek Price  <derek@ximbiot.com>
120916         Make canon-host require getaddrinfo.
120917         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
120918         AC_LIBSOURCE canon-host.h.  Call...
120919         (gl_PREREQ_CANON_HOST): ...this new function, which requires
120920         gl_GETADDRINFO.
120921         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
120923 2005-09-12  Derek Price  <derek@ximbiot.com>
120925         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
120926         LGPL.
120927         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
120929 2005-09-12  Derek Price  <derek@ximbiot.com>
120931         * lib/gai_strerror.c: Include config.h when available.  Include
120932         getaddrinfo.h before other headers to test interface.
120933         Reported by Larry Jones <lawrence.jones@ugs.com>.
120935 2005-09-12  Derek Price  <derek@ximbiot.com>
120936             Paul Eggert  <eggert@cs.ucla.edu>
120938         * modules/glob (Files): Add glob-libc.h.
120940 2005-09-12  Derek Price  <derek@ximbiot.com>
120941             Paul Eggert  <eggert@cs.ucla.edu>
120943         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
120944         glob_.h, glob-libc.h.
120945         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
120947 2005-09-12  Derek Price  <derek@ximbiot.com>
120948             Paul Eggert  <eggert@cs.ucla.edu>
120950         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
120951         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
120952         protecting things that should be done only in gnulib contexts.
120953         * lib/glob_.h: New file, containing only the glob things needed for
120954         gnulib.
120955         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
120956         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
120957         (glob, globfree, glob_pattern_p): Now defined simply in terms of
120958         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
120959         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
120960         and to respect the namespace rules better.
120962 2005-09-08  Simon Josefsson  <jas@extundo.com>
120964         * modules/socklen: New file.
120966 2005-09-08  Simon Josefsson  <jas@extundo.com>
120968         * m4/socklen.m4: New file.
120970 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
120972         * modules/utimens (Files): Add m4/utimbuf.m4, since
120973         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
120974         Reported by Sergey Poznyakoff.
120976 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
120978         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
120979         definitions, since that's the preferred style in glibc.
120980         Fix a minor spacing issue, and update copyright notice to match
120981         glibc's.
120983 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
120985         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
120987 2005-09-06  Simon Josefsson  <jas@extundo.com>
120989         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
120990         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
120992 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
120994         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
120995         warning.
120997 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
120999         * config/srclist.txt: Add glibc bug 1302.
121001 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
121003         Change bitset word type from unsigned int to unsigned long int,
121004         as this has better performance on typical 64-bit hosts.
121005         Port bitset code to hosts with unusual word sizes.
121006         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
121007         (build_collating_symbol):
121008         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
121009         argument is a bitset.  This is merely a style issue, but it makes
121010         it clearer that an entire array is expected.
121011         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
121012         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
121013         Port to the case where bitset_word is not the same as unsigned int.
121014         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
121015         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
121016         Likewise.
121017         * lib/regexec.c (check_dst_limits_calc_pos_1,
121018         check_subexp_matching_top):
121019         (build_trtable, group_nodes_into_DFAstates):
121020         Likewise.
121021         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
121022         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
121023         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
121024         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
121025         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
121026         * lib/regcomp.c (optimize_subexps, lower_subexp):
121027         Work even if bitset_word has holes in its bitwise representation.
121028         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
121029         * lib/regexec.c (check_dst_limits_calc_pos_1,
121030         check_subexp_matching_top):
121031         Likewise.
121032         * lib/regex_internal.c (re_string_reconstruct):
121033         Don't assume UCHAR_MAX == 255.
121034         * lib/regex_internal.h (bitset_set_all): Likewise.
121035         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
121036         All uses changed.
121037         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
121038         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
121039         All uses changed.
121040         (BITSET_WORD_MAX): New macro.
121041         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
121042         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
121043         (bitset_empty, bitset_copy):
121044         Prefer sizeof (bitset) to multiplying it out ourselves.
121045         (bitset_not_merge): Remove; unused.
121046         (bitset_contain): Return bool, not unsigned int with one bit on.
121047         All callers changed.
121048         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
121049         alignment than re_node_set; do this by defining a new internal
121050         type struct dests_alloc and using it to allocate memory.
121052 2005-09-05  Bruno Haible  <bruno@clisp.org>
121054         * gnulib-tool (func_import): Fix comparison in handling of symbolic
121055         links.
121057 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
121059         * modules/size_max (Makefile.am): Add size_max.h
121061 2005-09-04  Derek Price  <derek@ximbiot.com>
121063         * gnulib-tool (func_import): Fix reversed $symbolic logic.
121065 2005-09-03  Simon Josefsson  <jas@extundo.com>
121067         * gnulib-tool: Fix typo.
121069 2005-09-03  Simon Josefsson  <jas@extundo.com>
121071         * config/srclist.txt: Add glibc bug 1293.
121073 2005-09-03  Derek Price  <derek@ximbiot.com>
121075         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
121076         From Larry Jones <lawrence.jones@ugs.com>.
121078 2005-09-02  Simon Josefsson  <jas@extundo.com>
121080         * modules/socklen: New file.
121082 2005-09-02  Simon Josefsson  <jas@extundo.com>
121084         * modules/havelib: New module.
121086         * modules/gettext, modules/iconv, modules/lock, modules/readline:
121087         Use havelib.
121089 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
121091         Check for arithmetic overflow when calculating sizes, to prevent
121092         some buffer-overflow issues.  These patches are conservative, in the
121093         sense that when I couldn't determine whether an overflow was possible,
121094         I inserted a run-time check.
121095         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
121096         macros.
121097         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
121098         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
121099         (re_xnrealloc, re_x2nrealloc): New inline functions.
121100         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
121101         parse_bracket_exp):
121102         (build_equiv_class, build_charclass): Check for arithmetic overflow
121103         in size expression calculations.
121104         * lib/regex_internal.c (re_string_realloc_buffers):
121105         (build_wcs_upper_buffer, re_node_set_add_intersect):
121106         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
121107         (re_dfa_add_node, register_state): Likewise.
121108         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
121109         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
121110         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
121111         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
121113 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
121115         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
121116         m4/ulonglong.m4.  Problem reported by Martin Lambers.
121118 2005-09-02  Bruno Haible  <bruno@clisp.org>
121120         Support for lib vs. lib64 distinction on biarch platforms.
121121         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
121122         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
121123         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
121125 2005-09-02  Bruno Haible  <bruno@clisp.org>
121127         * gnulib-tool (import): In the other first-use case, provide defaults
121128         as well.
121130 2005-09-02  Bruno Haible  <bruno@clisp.org>
121132         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
121133         patches not yet found in the latest gettext release.
121135 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
121137         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
121138         to avoid a collision with bits/local_lim.h in glibc.
121139         All uses changed.  Problem reported by Dmitry V. Levin in
121140         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
121142         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
121143         bugs in int versus size_t comparisons.
121144         (re_string_context_at): Fix bug where the code assumed that
121145         Idx is signed.
121147         Use bool where appropriate.
121148         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
121149         All callers changed.
121150         (calc_eclosure_iter): Likewise, for ROOT arg.
121151         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
121152         (build_charclass_op): Likewise, for NON_MATCH arg.
121153         * lib/regex_internal.c (re_string_allocate, re_string_construct):
121154         (re_string_construct_common): Likewise, for ICASE arg.
121155         * lib/regexec.c (re_search_2_stub, re_search_stub):
121156         Likewise, for RET_LEN arg.
121157         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
121158         (set_regs): Likewise, for FL_BACKTRACK arg.
121159         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
121160         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
121161         (calc_eclosure_iter, parse_bracket_exp):
121162         Use bool for internal variables that are booleans.
121163         * lib/regexec.c (re_search_internal, check_matching,
121164         proceed_next_node):
121165         (set_regs, build_sifted_states, sift_states_bkref):
121166         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
121167         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
121168         (find_collation_sequence_value):
121169         Likewise.
121170         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
121171         (re_node_set_compare):
121172         Return bool, not int. All callers changed.
121173         * lib/regexec.c (check_halt_node_context, check_dst_limits):
121174         (build_trtable, check_node_accept): Likewise.
121175         * lib/regex_internal.h: Include stdbool.h.
121177         Fix bugs uncovered when converting to bool.
121178         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
121179         failure instead of charging ahead blindly.
121180         * lib/regex_internal.c (register_state): Likewise.
121181         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
121182         for freeing internal storage.
121183         (group_nodes_into_DFA_states): Use unsigned int, not int, for
121184         bitset pieces used as boolean, to avoid undefined behavior
121185         on hosts that do int overflow checking.
121187 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
121189         * config/srclist.txt: Add glibc bugs 1285-1287.
121191 2005-09-01  Jim Meyering  <jim@meyering.net>
121193         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
121194         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
121195         Require gl_STAT_MACROS, too.
121197 2005-09-01  Bruno Haible  <bruno@clisp.org>
121199         * gnulib-tool (import): In the first-use case, provide defaults.
121201 2005-09-01  Bruno Haible  <bruno@clisp.org>
121203         * gnulib-tool (func_import): Remove the .tmp files.
121205 2005-09-01  Bruno Haible  <bruno@clisp.org>
121207         * gnulib-tool (func_import): Fix handling of symbolic links.
121209 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
121211         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
121212         old glibc regex code mishandles strings longer than 2**31 bytes.
121213         This patch fixes this when the regex code is used in gnulib
121214         (i.e., outside glibc).
121216         This patch should not affect the use of the regex code inside
121217         glibc.  No doubt this problem also needs to be handled for glibc
121218         as well, but the result will be an incompatible change to the
121219         glibc ABI, and the old ABI will have to be supported too.  That
121220         can be the subject for another patch.
121222         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
121223         governing whether the rest of this patch is active.  By default,
121224         the macro is disabled and the patch has no effect.
121225         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
121226         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
121227         (struct re_pattern_buffer, re_search, re_search_2, re_match):
121228         (re_match_2, re_set_registers): Use the new types.
121229         * lib/regex_internal.h (Idx, re_hashval_t): New types.
121230         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
121231         New macros.
121232         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
121233         (re_string_context_at, bin_tree_t, re_dfastate_t):
121234         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
121235         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
121236         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
121237         (re_string_char_size_at, re_string_wchar_at):
121238         (re_string_elem_size_at):
121239         Use the new types and macros to port to 64-bit hosts.
121240         Use unsigned types for internal values, so that the code
121241         mostly works even for arrays larger than SSIZE_MAX.
121242         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
121243         (search_duplicated_node, calc_eclosure_iter, fetch_number):
121244         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
121245         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
121246         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
121247         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
121248         (calc_inveclosure, parse_dup_op, build_range_exp):
121249         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
121250         (fetch_number, create_token_tree, mark_opt_subexp):
121251         Likewise.
121252         * lib/regex_internal.c (re_string_construct_common,
121253         create_ci_newstate):
121254         (create_cd_newstate, re_string_allocate, re_string_construct):
121255         (re_string_realloc_buffers, build_wcs_upper_buffer):
121256         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
121257         (re_string_reconstruct, re_string_peek_byte_case):
121258         (re_string_fetch_byte_case, re_string_context_at):
121259         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
121260         (re_node_set_init_copy, re_node_set_add_intersect):
121261         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
121262         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
121263         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
121264         (re_acquire_state, re_acquire_state_context, register_state):
121265         Likewise.
121266         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
121267         search_cur_bkref_entry):
121268         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
121269         (re_search_internal, re_search_2_stub, re_search_stub)
121270         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
121271         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
121272         (update_cur_sifted_state, check_dst_limits):
121273         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
121274         (check_subexp_limits, sift_states_bkref, merge_state_array):
121275         (check_subexp_matching_top, get_subexp, get_subexp_sub):
121276         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
121277         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
121278         (expand_bkref_cache, check_node_accept_bytes):
121279         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
121280         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
121281         (acquire_init_state_context, check_halt_node_context):
121282         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
121283         (sift_states_backward, clean_state_log_if_needed):
121284         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
121285         (find_recover_state, transit_state_sb, transit_state_mb):
121286         (transit_state_bkref, build_trtable, match_ctx_clean):
121287         Likewise.
121288         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
121289         to work around an assumption that REG_MISSING is negative.
121291         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
121292         (seek_collating_symbol_entry) [defined _LIBC]:
121293         (lookup_collation_sequence_value) [defined _LIBC]:
121294         (build_range_exp, build_collating_symbol) [defined _LIBC]:
121295         Use prototypes rather than old-style function definitions.
121296         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
121297         (transit_state_sb) [0]:
121298         (find_collation_sequence_value) [defined _LIBC]: Likewise.
121300         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
121301         rm_eo.
121303         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
121304         (optimize_subexps, lower_subexp):
121305         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
121306         since the signed shift might overflow.  Use 1u<<31 instead.
121307         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
121308         Likewise.
121309         * lib/regexec.c (check_dst_limits_calc_pos_1,
121310         check_subexp_matching_top): Likewise.
121312         * lib/regcomp.c (optimize_subexps, lower_subexp):
121313         Use CHAR_BIT rather than 8, for clarity.
121314         * lib/regexec.c (check_dst_limits_calc_pos_1):
121315         (check_subexp_matching_top): Likewise.
121316         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
121317         have to worry about portability issues when shifting it left.
121318         Remove no-longer-needed test for table_size > 0.
121319         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
121320         in a word, as the resulting behavior is undefined.
121321         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
121322         in one case, a <= should have been an <, and in another case the
121323         whole test was missing.
121324         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
121325         the standard name CHAR_BIT.
121326         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
121327         this is not true on one's complement and signed-magnitude hosts.
121329         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
121330         next_last_offset.
121331         (struct re_dfa_t): Remove unused member states_alloc.
121332         * lib/regcomp.c (init_dfa): Don't initialize unused members.
121334 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
121336         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
121337         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
121338         and large-file glibc and in 32-bit large-file Solaris.
121340 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
121342         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
121343         lengths fit in regoff_t; this isn't true if regoff_t is the same
121344         width as size_t.
121345         * lib/regex.c (re_search_internal): 5th arg is LAST_START
121346         (= START + RANGE) instead of RANGE.  This avoids overflow
121347         problems when regoff_t is the same width as size_t.
121348         All callers changed.
121349         (re_search_2_stub): Check for overflow when adding the
121350         sizes of the two strings.
121351         (re_search_stub): Check for overflow when adding START
121352         to RANGE; if it occurs, substitute the extreme value.
121354 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
121356         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
121358 2005-08-31  Jim Meyering  <jim@meyering.net>
121360         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
121361         a pointer-to-const.
121362         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
121363         (register_state): Likewise.
121364         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
121365         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
121366         (group_nodes_into_DFAstates): Likewise.
121368 2005-08-31  Jim Meyering  <jim@meyering.net>
121370         * check-module: Add a FIXME comment.
121372 2005-08-31  Eric Blake  <ebb9@byu.net>
121374         * modules/unistd-safer (Files): Add unistd--.h.
121375         * modules/stdio-safer (Files): Add stdio--.h.
121377 2005-08-31  Derek Price  <derek@ximbiot.com>
121379         * lib/getdelim.c (getdelim): Return EOF on EOF.
121380         Reported by Larry Jones <lawrence.jones@ugs.com>.
121382 2005-08-31  Bruno Haible  <bruno@clisp.org>
121384         Avoid unnecessary diffs in the generated lib/Makefile.am.
121385         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
121386         the generated files.
121387         (func_import): Don't set cmd.
121389 2005-08-31  Bruno Haible  <bruno@clisp.org>
121391         * lib/strstr.c: Include <stddef.h>, for NULL.
121392         * lib/strcasestr.c: Likewise.
121393         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
121395 2005-08-31  Bruno Haible  <bruno@clisp.org>
121397         * gnulib-tool: New option --macro-prefix.
121398         (func_import): Use macro_prefix.
121399         (import): Handle option --macro-prefix.
121401 2005-08-31  Bruno Haible  <bruno@clisp.org>
121403         * gnulib-tool (import): Rename most ac_* variables to cached_*.
121404         Also use new variables cached_lgpl, cached_libtool.
121406 2005-08-31  Bruno Haible  <bruno@clisp.org>
121408         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
121409         always instantiating them.
121411 2005-08-31  Bruno Haible  <bruno@clisp.org>
121413         * gnulib-tool (func_import): Read the previous cached settings
121414         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
121415         earlier added by gnulib but are now dropped. Warn when a gnulib file
121416         overwrites a non-gnulib file.
121418 2005-08-31  Bruno Haible  <bruno@clisp.org>
121420         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
121421         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
121422         projects that don't keep autogenerated files in CVS. Put into
121423         actioncmd only the specified modules, not the transitive closure.
121425 2005-08-31  Bruno Haible  <bruno@clisp.org>
121427         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
121428         Create directories that shall be filled.
121429         (import): Don't look for gl_* macros in configure.ac. Recurse across
121430         all directories containing a gnulib-cache.m4 files, if meaningful.
121432 2005-08-31  Bruno Haible  <bruno@clisp.org>
121434         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
121435         (import): Set seen_libtool when we see gl_LIBTOOL.
121437 2005-08-31  Bruno Haible  <bruno@clisp.org>
121439         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
121440         declaration macro definitions from generated gnulib.m4.
121442 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
121444         * lib/iconvme.h: Add prototype for iconv_alloc.
121446 2005-08-29  Simon Josefsson  <jas@extundo.com>
121448         * lib/iconvme.c: Fix errno.
121450 2005-08-29  Bruno Haible  <bruno@clisp.org>
121452         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
121453         that it works when the directory contains spaces.
121455 2005-08-29  Bruno Haible  <bruno@clisp.org>
121457         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
121459 2005-08-29  Bruno Haible  <bruno@clisp.org>
121461         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
121462         Emit more advice.
121464 2005-08-29  Bruno Haible  <bruno@clisp.org>
121465         and Stepan Kasal  <kasal@ucw.cz>
121467         * check-module: If more parameters are given, check each of them
121468         separately; add more exceptions, as noted by Jim Meyering.
121469         (check_module): New procedure.
121470         (%exempt_header): Now contains all exceptions.
121472 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
121474         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
121476 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
121478         * lib/iconvme.c: Split iconv_string into iconv_alloc.
121480 2005-08-28  Bruno Haible  <bruno@clisp.org>
121482         * m4/gnulib-tool.m4: New file.
121484 2005-08-27  Jim Meyering  <jim@meyering.net>
121486         * modules/unistd-safer (Files): Add pipe-safer.c.
121487         * modules/fcntl-safer (Files): Add creat-safer.c.
121489 2005-08-27  Jim Meyering  <jim@meyering.net>
121491         * m4/stdlib-safer.m4: New file.  From coreutils.
121492         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
121493         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
121494         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
121495         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
121496         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
121498 2005-08-27  Jim Meyering  <jim@meyering.net>
121500         * lib/fopen-safer.c: Merge minor changes from coreutils.
121501         * lib/dup-safer.c: Likewise.
121502         * lib/fd-safer.c: Likewise.
121504         Merge from coreutils.
121505         * lib/stdio--.h: New file.
121506         * lib/stdlib--.h: New file.
121507         * lib/mkstemp-safer.c: New file.
121509         GNU tar needs these.
121510         * lib/pipe-safer.c: New file.
121511         * lib/creat-safer.c: New file.
121512         * lib/fcntl--.h (creat): Define to creat_safer.
121513         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
121514         * lib/unistd--.h (pipe): Define to pipe_safer.
121515         * lib/unistd-safer.h: Declare pipe_safer.
121517 2005-08-26  Simon Josefsson  <jas@extundo.com>
121519         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
121520         Haible <bruno@clisp.org>.
121522 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
121524         * lib/regex_internal.h: Remove all references to
121525         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
121526         or better.
121527         (bitset_not, bitset_merge, bitset_not_merge):
121528         (bitset_mask, re_string_allocate, re_string_construct):
121529         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
121530         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
121531         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
121532         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
121533         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
121534         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
121535         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
121536         (re_acquire_state_context):
121537         Remove unnecessary forward decls.
121538         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
121539         Put __attribute at function definition,
121540         now that the function decl has been removed.
121541         * lib/regex_internal.c (re_string_peek_byte_case):
121542         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
121543         Likewise.
121545 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
121547         * m4/regex.m4: Add AC_PREREQ(2.50).
121548         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
121550 2005-08-25  Simon Josefsson  <jas@extundo.com>
121552         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
121553         __fsetlocking.
121555 2005-08-25  Simon Josefsson  <jas@extundo.com>
121557         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
121558         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
121559         GLIBC specific code.
121561 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
121563         Make regex safe for g++.  This fixes one real bug (an "err"
121564         that should have been "*err").  g++ problem reported by
121565         Sam Steingold.
121566         * lib/regex_internal.h (re_calloc): New macro, consistent with
121567         re_malloc etc.  All callers of calloc changed to use re_calloc.
121568         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
121569         not int.  All callers changed.
121570         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
121571         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
121572         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
121573         (find_recover_state): Change "err" to "*err"; this fixes what
121574         appears to be a real bug.
121575         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
121576         versus int.
121578 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
121580         * modules/regex (Depends-on): Add malloc, since the code
121581         assumes that !malloc(0) means failure.
121583 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
121585         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
121587         alloca modernization/simplification for regex.
121588         * lib/regex.c: Remove portability cruft for alloca.  This no longer
121589         needs to be at the start of the file, and can be moved into
121590         regex_internal.h and simplified.
121591         * lib/regex_internal.h: Include <alloca.h>.
121592         (__libc_use_alloca) [!defined _LIBC]: New macro.
121593         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
121594         now works outside glibc.
121596 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
121598         * config/srclist.txt: Add glibc bugs 1241, 1245.
121600 2005-08-25  Jim Meyering  <jim@meyering.net>
121602         * lib/open-safer.c: Include <config.h>.
121603         Otherwise, we'd lose LARGEFILE support in any file using
121604         e.g. "fcntl--.h"
121606 2005-08-25  Bruno Haible  <bruno@clisp.org>
121608         * m4/minmax.m4: Require autoconf 2.52.
121609         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
121610         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
121611         alternatives of translit over the alphabet.
121612         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
121614 2005-08-24  Simon Josefsson  <jas@extundo.com>
121616         * tests/test-getpass.c: New file.
121618 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
121620         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
121621         for GNU regex features.
121623 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
121625         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
121626         * lib/regex.h (regerror): Likewise.
121628         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
121629         requires this.  (The code never needed it.)
121631         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
121632         All uses of recently-renamed identifiers changed to use the new,
121633         POSIX-compliant names.  The code will build and run just fine
121634         without these changes, but it's better to eat our own dog food
121635         and use the standard-conforming names.
121637         * lib/regex.h: Fix a multitude of POSIX name space violations.
121638         These changes have an effect only for programs that define
121639         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
121640         do not change anything for programs compiled in the normal way.
121641         Also, there is no effect on the ABI.
121643         (_REGEX_SOURCE): New macro.
121644         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
121645         defined and _GNU_SOURCE is not; this fixes a name space violation.
121647         Rename the following macros to obey POSIX requirements.
121648         The old names are still visible as macros if _REGEX_SOURCE is defined.
121649         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
121650         RE_BACKSLASH_ESCAPE_IN_LISTS.
121651         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
121652         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
121653         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
121654         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
121655         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
121656         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
121657         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
121658         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
121659         (REG_INTERVALS): renamed from RE_INTERVALS.
121660         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
121661         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
121662         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
121663         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
121664         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
121665         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
121666         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
121667         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
121668         RE_UNMATCHED_RIGHT_PAREN_ORD.
121669         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
121670         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
121671         (REG_DEBUG): renamed from RE_DEBUG.
121672         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
121673         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
121674         unusual, since we can't clash with the POSIX REG_ICASE.
121675         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
121676         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
121677         (REG_NO_SUB): renamed from RE_NO_SUB.
121678         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
121679         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
121680         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
121681         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
121682         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
121683         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
121684         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
121685         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
121686         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
121687         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
121688         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
121689         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
121690         RE_SYNTAX_POSIX_MINIMAL_BASIC.
121691         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
121692         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
121693         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
121694         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
121695         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
121696         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
121697         (REG_FIXED): Renamed from REGS_FIXED.
121698         (REG_NREGS): Renamed from RE_NREGS.
121700         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
121701         of other REG_* macros, since POSIX says the user is allowed to
121702         #undef these macros selectively.
121704         (reg_errcode_t): Update comment stating what other tables need
121705         to be consistent.
121707         Rename the following enum values to obey POSIX requirements.
121708         The old names are still visible as macros.
121709         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
121710         is not defined, since GNU is supposed to be a superset of POSIX as
121711         much as possible, and since we want reg_errcode_t to be a signed
121712         type for implementation consistency.
121713         (_REG_NOERROR): Renamed from REG_NOERROR.
121714         (_REG_NOMATCH): Renamed from REG_NOMATCH.
121715         (_REG_BADPAT): Renamed from REG_BADPAT.
121716         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
121717         (_REG_ECTYPE): Renamed from REG_ECTYPE.
121718         (_REG_EESCAPE): Renamed from REG_EESCAPE.
121719         (_REG_ESUBREG): Renamed from REG_ESUBREG.
121720         (_REG_EBRACK): Renamed from REG_EBRACK.
121721         (_REG_EPAREN): Renamed from REG_EPAREN.
121722         (_REG_EBRACE): Renamed from REG_EBRACE.
121723         (_REG_BADBR): Renamed from REG_BADBR.
121724         (_REG_ERANGE): Renamed from REG_ERANGE.
121725         (_REG_ESPACE): Renamed from REG_ESPACE.
121726         (_REG_BADRPT): Renamed from REG_BADRPT.
121727         (_REG_EEND): Renamed from REG_EEND.
121728         (_REG_ESIZE): Renamed from REG_ESIZE.
121729         (_REG_ERPAREN): Renamed from REG_ERPAREN.
121730         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
121731         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
121732         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
121733         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
121735         (_REG_RE_NAME, _REG_RM_NAME): New macros.
121736         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
121737         changed.  But support the old name if the new one is not defined
121738         and if _REGEX_SOURCE.
121740         Change the following member names in struct re_pattern_buffer.
121741         The old names are still supported if !_REGEX_SOURCE.
121742         The new names are always supported, regardless of _REGEX_SOURCE.
121743         (re_buffer): Renamed from buffer.
121744         (re_allocated): Renamed from allocated.
121745         (re_used): Renamed from used.
121746         (re_syntax): Renamed from syntax.
121747         (re_fastmap): Renamed from fastmap.
121748         (re_translate): Renamed from translate.
121749         (re_can_be_null): Renamed from can_be_null.
121750         (re_regs_allocated): Renamed from regs_allocated.
121751         (re_fastmap_accurate): Renamed from fastmap_accurate.
121752         (re_no_sub): Renamed from no_sub.
121753         (re_not_bol): Renamed from not_bol.
121754         (re_not_eol): Renamed from not_eol.
121755         (re_newline_anchor): Renamed from newline_anchor.
121757         Change the following member names in struct re_registers.
121758         The old names are still supported if !_REGEX_SOURCE.
121759         The new names are always supported, regardless of _REGEX_SOURCE.
121760         (rm_num_regs): Renamed from num_regs.
121761         (rm_start): Renamed from start.
121762         (rm_end): Renamed from end.
121764         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
121765         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
121766         Prepend __ to parameter names.
121768         Undo yesterday's changes.
121770 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
121772         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
121773         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
121774         lib/regex.c.
121776 2005-08-24  Jim Meyering  <jim@meyering.net>
121778         Sync from coreutils.
121779         * m4/fcntl-safer.m4: New file.
121781         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
121782         and object files for this module.
121784 2005-08-24  Jim Meyering  <jim@meyering.net>
121786         Sync from coreutils.
121787         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
121789 2005-08-24  Jim Meyering  <jim@meyering.net>
121791         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
121792         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
121794 2005-08-24  Jim Meyering  <jim@meyering.net>
121796         * modules/fcntl-safer: New module.
121797         * modules/fts (Depends-on): Add fcntl-safer.
121798         * MODULES.html.sh (File descriptor based Input/Output):
121799         Add fcntl-safer.
121801 2005-08-24  Bruno Haible  <bruno@clisp.org>
121803         Support for unit test modules.
121804         * modules/README: Mention tests modules.
121805         * modules/TEMPLATE-TESTS: New file.
121806         * gnulib-tool: New options --extract-tests-module, --with-tests and
121807         --tests-base (unused for the moment).
121808         (testsbase, inctests): New variables.
121809         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
121810         (func_verify_module): Exclude TEMPLATE-TESTS.
121811         (func_verify_nontests_module, func_verify_tests_module): New functions.
121812         (func_get_dependencies): Add implicit dependency for tests modules.
121813         (func_get_tests_module): New function.
121814         (func_modules_transitive_closure): When --with-tests was specified,
121815         include the unit tests as well, unless explicitly avoided.
121816         (func_emit_lib_Makefile_am): Ignore the tests modules here.
121817         (func_emit_tests_Makefile_am): New function.
121818         (func_create_testdir): When --with-tests was specified, emit a
121819         tests/ directory.
121820         * MODULES.html.sh (Future developments): Update.
121822 2005-08-24  Bruno Haible  <bruno@clisp.org>
121824         * modules/tls-tests: New file.
121825         * tests/test-tls.c: New file, from GNU gettext.
121827 2005-08-24  Bruno Haible  <bruno@clisp.org>
121829         * modules/lock-tests: New file.
121830         * tests/test-lock.c: New file, from GNU gettext.
121832 2005-08-24  Bruno Haible  <bruno@clisp.org>
121834         * lib/lock.h: Add multiple inclusion guard.
121835         * lib/tls.h: Add multiple inclusion guard.
121837 2005-08-24  Bruno Haible  <bruno@clisp.org>
121839         * gnulib-tool: Add support for the --aux-dir option to
121840         --create-testdir, --create-megatestdir, --test, --megatest.
121841         (func_create_testdir, func_create_megatestdir): Optionally emit a
121842         AC_CONFIG_AUX_DIR directive.
121843         (create-testdir, create-megatestdir, test, megatest): Provide a
121844         default value for $auxdir.
121846 2005-08-24  Bruno Haible  <bruno@clisp.org>
121848         * gnulib-tool (import): Use compound statement instead of subshell
121849         where possible.
121851 2005-08-24  Bruno Haible  <bruno@clisp.org>
121853         * gnulib-tool (import): Change --aux-dir default to "build-aux".
121855 2005-08-24  Bruno Haible  <bruno@clisp.org>
121857         * gnulib-tool (func_version): Update.
121859 2005-08-24  Bruno Haible  <bruno@clisp.org>
121861         * gnulib-tool (func_import, func_create_testdir,
121862         func_create_megatestdir): Quote all autoconf macro arguments.
121864 2005-08-24  Bruno Haible  <bruno@clisp.org>
121866         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
121867         option --force, because --force causes the aclocal.m4 of each
121868         subdirectory to be newer than the corresponding config.h.in.
121870 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
121872         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
121873         All contents moved to gl_REGEX.
121874         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
121875         assume that it does.
121877 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
121879         * lib/regex.h (REG_NOSYS)
121880         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
121881         Define, since POSIX requires it as of 2001.
121882         (_REG_ENOSYS)
121883         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
121884         New private symbol, used to keep the enum signed in all cases.
121885         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
121886         Youngman in
121887         <http://lists.gnu.org/r/bug-gnulib/2005-07/msg00132.html>.
121889         * lib/regex_internal.c (re_string_skip_chars, register_state):
121890         (calc_state_hash):
121891         Remove forward decls; no longer needed now that we use prototypes.
121892         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
121893         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
121894         (clean_state_log_if_needed): Likewise.
121896 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
121898         * config/srclist.txt: Add glibc bugs 1231-1233.
121900 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
121902         Fix problems reported by Sam Steingold in
121903         <http://lists.gnu.org/r/bug-gnulib/2005-08/msg00007.html>.
121904         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
121905         assumed that reg_errcode_t is a signed type, which is not
121906         necessarily true if _XOPEN_SOURCE is not defined.
121907         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
121908         since some compilers warn about it otherwise.
121910 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
121912         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
121913         (init_word_char, create_initial_state, duplicate_node_closure):
121914         (fetch_token, peek_token_bracket, build_range_exp):
121915         (build_collating_symbol): Remove forward decls; no longer needed
121916         now that we use prototypes.
121918         * lib/regcomp.c:
121919         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
121920         (re_compile_fastmap_iter, regcomp, regerror, regfree):
121921         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
121922         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
121923         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
121924         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
121925         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
121926         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
121927         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
121928         (build_range_exp, build_collating_symbol, parse_bracket_exp):
121929         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
121930         (build_charclass, build_charclass_op, fetch_number, create_tree):
121931         (create_token_tree, mark_opt_subexp, duplicate_tree):
121932         Use prototypes rather than old-style definitions.
121934         * lib/regex_internal.c:
121935         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
121936         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
121937         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
121938         (re_string_reconstruct, re_string_peek_byte_case):
121939         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
121940         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
121941         (re_node_set_init_copy, re_node_set_add_intersect):
121942         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
121943         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
121944         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
121945         (re_acquire_state, re_acquire_state_context, register_state):
121946         (create_ci_newstate, create_cd_newstate, free_state):
121947         Likewise.
121948         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
121949         re_search_2):
121950         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
121951         (re_search_internal, prune_impossible_nodes):
121952         (acquire_init_state_context, check_matching, static):
121953         (check_halt_node_context, check_halt_state_context, proceed_next_node):
121954         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
121955         (update_regs, sift_states_backward, build_sifted_states):
121956         (clean_state_log_if_needed, merge_state_array):
121957         (update_cur_sifted_state, add_epsilon_src_nodes):
121958         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
121959         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
121960         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
121961         (find_recover_state, check_subexp_matching_top, transit_state_mb):
121962         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
121963         (check_arrival, check_arrival_add_next_nodes):
121964         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
121965         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
121966         (check_node_accept_bytes, check_node_accept, extend_buffers):
121967         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
121968         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
121969         (sift_ctx_init):
121970         Likewise.
121972         * lib/regex_internal.h:
121973         (re_string_allocate, re_string_construct, re_string_reconstruct):
121974         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
121975         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
121976         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
121977         (re_string_context_at, re_string_peek_byte_case):
121978         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
121979         is defined, since we now use prototypes always.
121981         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
121982         C89 or better.  All uses removed.
121984 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
121986         * config/srclist.txt: Add glibc bugs 1220-1227.
121988 2005-08-20  Jim Meyering  <jim@meyering.net>
121990         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
121991         of unused local, dfa.
121993 2005-08-20  Bruno Haible  <bruno@clisp.org>
121995         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
121997 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
121999         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
122000         (re_node_set_insert_last, re_dfa_add_node):
122001         Rename local variables to avoid GCC shadowing warnings.
122003 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
122005         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
122006         [defined lint]: Suppress bogus uninitialized-variable warnings.
122008         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
122009         and let the caller return REG_ESPACE if out of space.  This
122010         removes an uninitialied-variable warning with GCC 4.0.1, and also
122011         avoids taking the address of a local variable.  All callers
122012         changed.
122014 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
122016         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
122017         $LIBCSRC/posix/regexec.c.
122018         Add glibc bug 1217 for regcomp.c.
122020 2005-08-19  Jim Meyering  <jim@meyering.net>
122022         * lib/regexec.c (proceed_next_node): Redo local variables to
122023         avoid GCC shadowing warnings.
122025 2005-08-18  Bruno Haible  <bruno@clisp.org>
122027         * lib/strstr.c (strstr): Fix return value in multibyte case.
122028         * lib/strcasestr.c (strcasestr): Likewise.
122030 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
122032         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
122034 2005-08-17  Jim Meyering  <jim@meyering.net>
122036         Make the %s format (seconds since the epoch) work for a negative
122037         number and when used with a zero-padded field width, e.g. %015s.
122039         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
122040         label so that it precedes the code to set `digits'.  Otherwise,
122041         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
122042         print `00-22'.  Now, it prints `-0022', as it should.
122044 2005-08-17  Bruno Haible  <bruno@clisp.org>
122046         * modules/strstr (Files): Add m4/mbrtowc.m4.
122047         (Depends-on): Add mbuiter.
122049 2005-08-17  Bruno Haible  <bruno@clisp.org>
122051         * modules/strcasestr: New file.
122052         * MODULES.html.sh (String handling, based on ANSI C 89): Add
122053         strcasestr.
122055 2005-08-17  Bruno Haible  <bruno@clisp.org>
122057         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
122059 2005-08-17  Bruno Haible  <bruno@clisp.org>
122061         * modules/mbuiter: New file.
122062         * MODULES.html.sh (Extended multibyte and wide character utilities):
122063         Add mbuiter.
122065 2005-08-17  Bruno Haible  <bruno@clisp.org>
122067         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
122068         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
122070 2005-08-17  Bruno Haible  <bruno@clisp.org>
122072         * m4/strcasestr.m4: New file.
122074 2005-08-17  Bruno Haible  <bruno@clisp.org>
122076         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
122077         * lib/strstr.c: Completely rewritten, with multibyte locale support.
122079 2005-08-17  Bruno Haible  <bruno@clisp.org>
122081         * lib/strcasestr.h: New file.
122082         * lib/strcasestr.c: New file.
122084 2005-08-17  Bruno Haible  <bruno@clisp.org>
122086         * lib/strcasecmp.c: Use mbuiter.h.
122088 2005-08-17  Bruno Haible  <bruno@clisp.org>
122090         * lib/mbuiter.h: New file.
122092 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
122094         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
122095         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
122096         and gl_GETOPT are both invoked via different paths (as happens
122097         with GNU tar CVS because it uses both argp and getopt), the former
122098         wins.
122100 2005-08-16  Bruno Haible  <bruno@clisp.org>
122102         * modules/tls: New file.
122103         * MODULES.html.sh (Multithreading): Add tls.
122105 2005-08-16  Bruno Haible  <bruno@clisp.org>
122107         * modules/strnlen1: New file.
122108         * MODULES.html.sh (String handling): Add strnlen1.
122110 2005-08-16  Bruno Haible  <bruno@clisp.org>
122112         * modules/strcase (Files): Add m4/mbrtowc.m4.
122113         (Depends-on): Add strnlen1, mbchar.
122115 2005-08-16  Bruno Haible  <bruno@clisp.org>
122117         * modules/mbiter: New file.
122118         * MODULES.html.sh (Extended multibyte and wide character utilities):
122119         Add mbiter.
122121 2005-08-16  Bruno Haible  <bruno@clisp.org>
122123         * modules/mbfile: New file.
122124         * MODULES.html.sh (Extended multibyte and wide character utilities):
122125         Add mbfile.
122127 2005-08-16  Bruno Haible  <bruno@clisp.org>
122129         * modules/mbchar: New file.
122130         * MODULES.html.sh (Extended multibyte and wide character utilities):
122131         New section.
122133 2005-08-16  Bruno Haible  <bruno@clisp.org>
122135         * m4/tls.m4: New file, from GNU gettext.
122137 2005-08-16  Bruno Haible  <bruno@clisp.org>
122139         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
122140         always.
122141         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
122143 2005-08-16  Bruno Haible  <bruno@clisp.org>
122145         * m4/mbiter.m4: New file.
122147 2005-08-16  Bruno Haible  <bruno@clisp.org>
122149         * m4/mbfile.m4: New file.
122151 2005-08-16  Bruno Haible  <bruno@clisp.org>
122153         * m4/mbchar.m4: New file.
122155 2005-08-16  Bruno Haible  <bruno@clisp.org>
122157         * lib/tls.h: New file, from GNU gettext.
122158         * lib/tls.c: New file, from GNU gettext.
122160 2005-08-16  Bruno Haible  <bruno@clisp.org>
122162         * lib/strnlen1.h: New file.
122163         * lib/strnlen1.c: New file.
122165 2005-08-16  Bruno Haible  <bruno@clisp.org>
122167         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
122168         (mbi_init): Update.
122169         (mbi_avail, mbi_advance): Let the iteration end before the terminating
122170         NUL byte, not after it.
122172 2005-08-16  Bruno Haible  <bruno@clisp.org>
122174         * lib/strcase.h (strcasecmp): Add note in comments.
122175         * lib/strncasecmp.c: Use code from strcasecmp.c.
122176         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
122177         (strcasecmp): Work correctly in multibyte locales.
122179 2005-08-16  Bruno Haible  <bruno@clisp.org>
122181         * lib/mbiter.h: New file.
122183 2005-08-16  Bruno Haible  <bruno@clisp.org>
122185         * lib/mbfile.h: New file.
122187 2005-08-16  Bruno Haible  <bruno@clisp.org>
122189         * lib/mbchar.h: New file.
122190         * lib/mbchar.c: New file.
122192 2005-08-16  Bruno Haible  <bruno@clisp.org>
122194         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
122195         the valid ones. Makes the comparison operations transitive:
122196         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
122197         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
122199 2005-08-15  Simon Josefsson  <jas@extundo.com>
122201         * modules/ssize_t (License): Change to 'unlimited'.
122203         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
122205 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
122207         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
122208         Add comments for each pending glibc patch.
122210 2005-08-15  Bruno Haible  <bruno@clisp.org>
122212         * lib/regex.h (__restrict_arr): Don't define to __restrict if
122213         __cplusplus is defined.
122215 2005-08-14  Jim Meyering  <jim@meyering.net>
122217         Sync from coreutils.
122219         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
122220         Use the hash-table-based cycle-detection code not just when
122221         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
122222         Reported by James Youngman in
122223         <http://lists.gnu.org/r/bug-gnulib/2005-08/msg00011.html>.
122224         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
122225         FTS_TIGHT_CYCLE_CHECK.
122226         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
122227         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
122228         once again.
122229         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
122230         * lib/fts.c (fd_safer): Remove decl.
122231         Include fcntl--.h rather than unistd-safer.h
122232         (fts_safe_changedir): Don't call fd_safer; no longer needed
122233         now that we include fcntl--.h.
122235 2005-08-12  Simon Josefsson  <jas@extundo.com>
122237         * modules/getndelim2: Use ssize_t module.
122238         * modules/getnline: Likewise.
122239         * modules/safe-read: Likewise.
122240         * modules/xreadlink: Likewise.
122242         * modules/ssize_t: New file.
122244 2005-08-12  Simon Josefsson  <jas@extundo.com>
122246         * m4/readline.m4: Look for termcap, curses or ncurses if required.
122248 2005-08-12  Simon Josefsson  <jas@extundo.com>
122250         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
122251         ssize_t.
122253 2005-08-12  Simon Josefsson  <jas@extundo.com>
122255         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
122256         readline, getdelim and check_version.
122257         (Support for systems lacking ISO C 99: Sizes of integer types):
122258         Add size_max.
122260 2005-08-12  Bruno Haible  <bruno@clisp.org>
122262         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
122264 2005-08-11  Simon Josefsson  <jas@extundo.com>
122266         * modules/readline: New file.
122268         * modules/strnlen (Files): Add strnlen.h.
122270 2005-08-11  Simon Josefsson  <jas@extundo.com>
122272         * m4/readline.m4: New file.
122274 2005-08-11  Simon Josefsson  <jas@extundo.com>
122276         * lib/readline.h, readline.c: New file.
122278 2005-08-11  Simon Josefsson  <jas@extundo.com>
122280         * doc/gnulib.texi (Initial import, Finishing touches): Mention
122281         gl_AVOID.
122283 2005-08-11  Bruno Haible  <bruno@clisp.org>
122285         * lib/strnlen.h (strnlen): Change parameter name to match comment.
122287 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
122289         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
122291 2005-08-10  Simon Josefsson  <jas@extundo.com>
122293         * tests/test-iconvme.c: New file.
122295 2005-08-10  Simon Josefsson  <jas@extundo.com>
122297         * m4/strnlen.m4: New file.
122299         * m4/strndup.m4: Don't check for strnlen declaration, done in
122300         strnlen.m4.
122302 2005-08-10  Simon Josefsson  <jas@extundo.com>
122304         * lib/strndup.c: Use strnlen.h.
122306         * lib/strnlen.h: New file.
122308 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
122310         * README: Typos.
122312 2005-08-02  Simon Josefsson  <jas@extundo.com>
122314         * modules/readline: New file.
122316 2005-08-02  Simon Josefsson  <jas@extundo.com>
122318         * modules/getdelim: New file.
122320         * modules/getline: Rewrite, don't use getndelim2.
122322 2005-08-02  Simon Josefsson  <jas@extundo.com>
122324         * m4/getline.m4: Separate out getdelim stuff into separate module.
122326         * m4/getdelim.m4: New file.
122328 2005-08-02  Simon Josefsson  <jas@extundo.com>
122330         * lib/getline.h, getline.c: Rewrite.
122332         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
122334 2005-07-31  Bruno Haible  <bruno@clisp.org>
122336         * lib/lock.h (gl_lock_initializer): New macro.
122337         (gl_lock_define_initialized): Use it.
122338         (gl_rwlock_initializer): New macro.
122339         (gl_rwlock_define_initialized): Use it.
122340         (gl_recursive_lock_initializer): New macro.
122341         (gl_recursive_lock_define_initialized): Use it.
122343 2005-07-30  Karl Berry  <karl@gnu.org>
122345         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
122346         Report from Ben Pfaff, regarding getopt.
122348 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
122350         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
122351         normal way.
122352         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
122353         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
122354         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
122355         (gl_GETOPT): Use the new macros.  Most of the implementation
122356         is moved to the new macros.  This is for programs like Emacs
122357         that don't want all the functionality of gl_GETOPT.
122359 2005-07-26  Bruno Haible  <bruno@clisp.org>
122361         * m4/lock.m4: Update from GNU gettext.
122363 2005-07-26  Bruno Haible  <bruno@clisp.org>
122365         * lib/lock.h: Update from GNU gettext.
122366         * lib/lock.c: Update from GNU gettext.
122368 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
122370         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
122371         obsolescent AC_TRY_RUN.  Include the default includes files, for
122372         'exit'.
122374 2005-07-24  Bruno Haible  <bruno@clisp.org>
122376         * modules/visibility: New file.
122377         * MODULES.html.sh (Misc): Add visibility.
122379 2005-07-24  Bruno Haible  <bruno@clisp.org>
122381         * m4/visibility.m4: New file.
122383 2005-07-24  Bruno Haible  <bruno@clisp.org>
122385         * doc/visibility.texi: New file.
122387 2005-07-22  Bruno Haible  <bruno@clisp.org>
122389         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
122390         $(ALLOCA_H), redundant through BUILT_SOURCES.
122391         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
122392         redundant through BUILT_SOURCES.
122393         * modules/byteswap (Makefile.am): Remove explicit dependency on
122394         $(BYTESWAP_H), redundant through BUILT_SOURCES.
122395         * modules/fnmatch (Makefile.am): Remove explicit dependency on
122396         $(FNMATCH_H), redundant through BUILT_SOURCES.
122397         * modules/getopt (Makefile.am): Remove explicit dependency on
122398         $(GETOPT_H), redundant through BUILT_SOURCES.
122399         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
122400         redundant through BUILT_SOURCES.
122401         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
122402         redundant through BUILT_SOURCES.
122403         * modules/stdbool (Makefile.am): Remove explicit dependency on
122404         $(STDBOOL_H), redundant through BUILT_SOURCES.
122405         * modules/stdint (Makefile.am): Remove explicit dependency on
122406         $(STDINT_H), redundant through BUILT_SOURCES.
122407         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
122408         Remove explicit dependency on $(SYSEXITS_H).
122409         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
122411 2005-07-18  Simon Josefsson  <jas@extundo.com>
122413         * lib/check-version.c (check_version): Accept identical versions too.
122415 2005-07-18  Bruno Haible  <bruno@clisp.org>
122417         * modules/lock: New file.
122418         * MODULES.html.sh (Multithreading): New section.
122420 2005-07-18  Bruno Haible  <bruno@clisp.org>
122422         * m4/lock.m4: New file, from GNU gettext.
122424 2005-07-18  Bruno Haible  <bruno@clisp.org>
122426         * lib/lock.h: New file, from GNU gettext.
122427         * lib/lock.c: New file, from GNU gettext.
122429 2005-07-18  Bruno Haible  <bruno@clisp.org>
122431         * lib/lock.h (gl_once_t): New type.
122432         (gl_once_define, gl_once): New macros.
122433         * lib/lock.c (fresh_once): New variable.
122434         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
122435         functions.
122437 2005-07-16  Simon Josefsson  <jas@extundo.com>
122439         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
122440         workaround, suggested by Bruno.
122442 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
122444         * modules/xalloc (Depends-on): Add xalloc-die.
122445         * modules/xvasprintf (Depends-on): Add xalloc-die.
122447 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
122449         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
122450         with a minor change.
122452 2005-07-15  Bruno Haible  <bruno@clisp.org>
122454         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
122455         When using lib/poll.c, define poll as rpl_poll.
122457 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
122459         * modules/argp (Depends-on): Remove unlocked-io.
122461 2005-07-14  Derek Price  <derek@ximbiot.com>
122463         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
122464         for glob symlink bug.
122466 2005-07-14  Bruno Haible  <bruno@clisp.org>
122468         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
122469         Instead, test for *_unlocked function declarations directly.
122471 2005-07-11  Simon Josefsson  <jas@extundo.com>
122473         * modules/size_max: New file.
122475         * modules/xsize: Depend on size_max module for size_max.m4.
122477 2005-07-11  Simon Josefsson  <jas@extundo.com>
122479         * lib/size_max.h: New file.
122481 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
122483         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
122484         copyright symbol and the year.
122485         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
122486         (version_etc_va): Use parameterized copyright notice.
122487         Reword to conform to the current GNU coding standards.
122489 2005-07-11  Karl Berry  <karl@gnu.org>
122491         * doc/gnulib.texi (Quoting): new node.
122492         (Initial import): more info, from Patrice.
122494 2005-07-11  Bruno Haible  <bruno@clisp.org>
122496         * gnulib-tool (func_usage): Document option --avoid.
122497         (Command line options): Handle --avoid.
122498         (func_acceptable): New function.
122499         (func_modules_transitive_closure): Use it.
122501 2005-07-11  Bruno Haible  <bruno@clisp.org>
122503         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
122504         Reported by Jim Meyering.
122506 2005-07-10  Bruno Haible  <bruno@clisp.org>
122508         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
122509         Needed when size_t is smaller than 'unsigned int'.
122510         Reported by Paul Eggert.
122512 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
122514         * modules/argp (Depends-on): Add unlocked-io
122516 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
122518         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
122519         block of defines.
122521 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
122523         * config/srclist.txt: Comment out regcomp.c, since we have a porting
122524         fix now.
122526 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
122527         and Paul Eggert  <eggert@cs.ucla.edu>
122529         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
122530         in wint_t, not wchar_t.  Remove now-unnecessary cast.
122532 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
122534         * modules/regex (Files): Add lib/regex_internal.c,
122535         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
122536         (Depends-on): Add extensions.
122537         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
122539 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
122541         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
122542         pathconf.
122543         * m4/same.m4 (gl_SAME): Likewise.
122544         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
122546         * m4/regex.m4: Adjust to new libc regex implementation.
122547         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
122548         all the .c and .h parts of (the new) regex.
122549         Quote the m4 stuff better.
122550         Check for RE_ICASE bug of old gnulib.
122551         Check for REG_STARTEND of recent libc.
122552         Rename local variables from jm_* to gl_*.
122553         Quote operand of "test -f".
122554         Say "recent enough" version of libc, not "version 2".
122555         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
122556         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
122557         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
122558         Remove check for btowc, isascii.
122559         Require AM_LANGINFO_CODESET.
122561 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
122563         * lib/regex.c, regex.h: Sync from libc.
122564         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
122565         * lib/regexec.c:
122566         New files, synced from libc, except that regex_internal.h
122567         currently has a small porting fix.
122569 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
122571         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
122572         regex_internal.c, regexec.c.
122573         Add regex_internal.h too, but as a comment, since the libc version
122574         is currently broken in gnulib mode.
122576 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
122578         Support programs like Emacs that use gnulib but not gettext.
122579         * MODULES.html.sh (Internationalization functions): Add gettext-h.
122580         * modules/gettext-h: New file.
122581         * modules/gettext (Files): Remove lib/gettext.h.
122582         (Depends-on): Add gettext-h.
122583         (Makefile.am): Remove lib_SOURCES.
122584         * modules/argmatch, modules/c-stack, modules/closeout:
122585         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
122586         * modules/execute, modules/file-type, modules/getaddrinfo:
122587         * modules/getopt, modules/human, modules/javacomp:
122588         * modules/javaexec, modules/mkdir-p, modules/obstack:
122589         * modules/openat, modules/pagealign_alloc, modules/pipe:
122590         * modules/quotearg, modules/regex, modules/rpmatch:
122591         * modules/unicodeio, modules/userspec, modules/version-etc:
122592         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
122593         * modules/xsetenv:
122594         Depend on gettext-h, not gettext.
122596 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
122598         * gnulib-tool (func_import): Add support for 'public domain' license.
122599         * modules/alloca, modules/atexit, modules/memmove:
122600         Now public domain, not GPL.
122601         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
122602         * modules/realloc, modules/strerror, modules/strtod:
122603         Now LGPL, not GPL.
122605 2005-07-05  Bruno Haible  <bruno@clisp.org>
122607         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
122608         autoconf CVS. Needed for mingw.
122610 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
122612         Remove the dependency of the strftime module on the tzset module.
122613         * modules/strftime (Depends-on): Remove dependency on tzset.
122615 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
122617         Remove the dependency of the strftime module on the tzset module.
122618         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
122619         gl_FUNC_TZSET_CLOBBER.
122621 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
122623         Remove the dependency of the strftime module on the tzset module.
122624         * lib/strftime.c (my_strftime)
122625         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
122626         Copy the input structure, to work around some of the bug with
122627         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
122628         Solaris releases, you should also use the tzset module, but we won't
122629         require it as a dependency any more since we don't want LGPLed code
122630         to depend on GPLed code.
122632 2005-07-02  Jim Meyering  <jim@meyering.net>
122634         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
122635         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
122636         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
122637         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
122639 2005-07-02  Jim Meyering  <jim@meyering.net>
122641         * lib/backupfile.c (backup_args): Change a `0' to NULL.
122643 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
122645         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
122646         declares only 'struct timespec;' (!).
122648 2005-07-01  Jim Meyering  <jim@meyering.net>
122650         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
122651         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
122652         * lib/save-cwd.c, tempname.c:
122653         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
122654         and don't include <sys/file.h>).
122656 2005-06-29  Jim Meyering  <jim@meyering.net>
122658         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
122659         type name.  Use the variable name instead.
122660         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
122661         Likewise.
122663 2005-06-28  Simon Josefsson  <jas@extundo.com>
122665         * modules/check-version (Files): Add check-version.m4.
122667 2005-06-28  Simon Josefsson  <jas@extundo.com>
122669         * m4/check-version.m4: New file, suggested by Jim Meyering
122670         <jim@meyering.net>.
122672 2005-06-28  Simon Josefsson  <jas@extundo.com>
122674         * lib/check-version.h, lib/check-version.c: New files.
122676 2005-06-28  Simon Josefsson  <jas@extundo.com>
122678         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
122679         collision with global variable.  Better indentation.  Don't
122680         increment buffer pointer beyond buffer end.  Based on comments
122681         from Paul Eggert <eggert@cs.ucla.edu>.
122683         * lib/base64.h: Indent.
122685 2005-06-28  Simon Josefsson  <jas@extundo.com>
122687         * doc/gnulib.texi (Library version handling): New section.
122689 2005-06-28  Jim Meyering  <jim@meyering.net>
122691         * check-module (find_included_lib_files): Hard-code another
122692         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
122693         but modules/fts-lgpl (correctly) does not list those files.
122695         * modules/canonicalize (Files): Add lib/pathmax.h.
122697 2005-06-25  Simon Josefsson  <jas@extundo.com>
122699         * modules/check-version: New file.
122701 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
122703         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
122704         initializer of struct addrinfo, as an indication that we don't
122705         care how many members the structure has.
122707 2005-06-24  Derek Price  <derek@ximbiot.com>
122708         and Bruno Haible  <bruno@clisp.org>
122710         Remove stat module & update lstat.
122711         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
122712         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
122713         * m4/stat.m4: Remove this file.
122715 2005-06-24  Derek Price  <derek@ximbiot.com>
122716         and Bruno Haible  <bruno@clisp.org>
122718         Remove stat module & update lstat.
122719         * lib/stat.c: Remove this file...
122720         (slash_aware_lstat): ...moving this content and its support...
122721         * lib/lstat.c (rpl_lstat): ...into here.
122722         * lib/lstat.h: New file.
122724 2005-06-24  Derek Price  <derek@ximbiot.com>
122725         and Bruno Haible  <bruno@clisp.org>
122727         Remove stat module & update lstat.
122728         * config/srclist.txt (libc sources): Remove stat.
122730 2005-06-24  Derek Price  <derek@ximbiot.com>
122731         and Bruno Haible  <bruno@clisp.org>
122733         Remove stat module & update lstat.
122734         * MODULES.html.sh (stat): Remove.
122735         * MODULES.html: Regenerated.
122736         * modules/lstat (Description): Correct function name.
122737         (Files): Add "lstat.h".
122738         (Depends-on): Remove stat, add xalloc, stat-macros.
122739         * modules/stat: Remove this file.
122740         (Include): Add "lstat.h", remove <sys/stat.h>.
122742 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
122744         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
122745         (ranged_convert): Don't save conversion in a temporary struct.
122746         This causes a warning with GCC 4.0.0, and anyway in the typical
122747         case it's not worth the extra 100 bytes or so of code.
122748         (ranged_convert, __mktime_internal): When calling a function via a
122749         pointer P, use P () rather than (*P) (), as we now assume C89 or
122750         better.
122752 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
122754         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
122755         "who -r" failed to give output.  Problem reported by Tim Waugh.
122757         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
122758         (xcalloc): Use it to avoid needless tests.
122759         Problem reported by Jim Meyering.
122761 2005-06-20  Derek Price  <derek@ximbiot.com>
122763         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
122764         unnecessary for Autoconfs > 2.59c.
122766 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
122768         * lib/argp.h (__option_is_short): Check upper limit of
122769         __key. Isprint() requires its argument to have the value
122770         of an unsigned char or EOF.
122772 2005-06-16  Jim Meyering  <jim@meyering.net>
122774         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
122775         when either N or S is zero.
122777 2005-06-16  Derek Price  <derek@ximbiot.com>
122779         * m4/bison.m4: Declare YACC & YFLAGS precious.
122781 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
122783         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
122784         multibyte string or pattern, fall back on unibyte matching.
122785         Problem reported by James Youngman.
122787 2005-06-08  Bruno Haible  <bruno@clisp.org>
122789         * modules/csharpcomp: New file.
122790         * MODULES.html.sh (C#): Add csharpcomp.
122792 2005-06-08  Bruno Haible  <bruno@clisp.org>
122794         * m4/csharpcomp.m4: New file, from GNU gettext.
122796 2005-06-08  Bruno Haible  <bruno@clisp.org>
122798         * lib/csharpcomp.h: New file, from GNU gettext.
122799         * lib/csharpcomp.c: New file, from GNU gettext.
122800         * lib/csharpcomp.sh.in: New file, from GNU gettext.
122802 2005-06-08  Bruno Haible  <bruno@clisp.org>
122804         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
122805         warning on mingw.
122807 2005-06-07  Derek Price  <derek@ximbiot.com>
122809         Sync from CVS.
122810         * lib/glob_.h: Indent nested #ifdef.
122812 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
122814         Sync from coreutils.
122815         Use "file name" when talking about file names, instead of "filename"
122816         or "path", as per the GNU coding standards.
122817         * lib/mkdir-p.c: Renamed from makepath.c.
122818         (make_dir_parents): Renamed from make_path.  All callers changed.
122819         * lib/mkdir-p.h: Likewise.  All includers changed.
122820         * lib/filenamecat.c: Renamed from path-concat.c.
122821         (file_name_concat): Renamed from path_concat.  All callers changed.
122822         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
122823         * lib/filenamecat.h: Likewise.  All includers changed.
122824         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
122825         in comments or local variable names.
122826         * lib/basename.c: Likewise.
122827         * lib/canonicalize.c, canonicalize.h: Likewise.
122828         * lib/dirname.c, dirname.h: Likewise.
122829         * lib/euidaccess.c: Likewise.
122830         * lib/exclude.c: Likewise
122831         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
122832         * lib/fsusage.c, fsuage.h: Likewise.
122833         * lib/fts.c, fts_.h: Likewise.
122834         * lib/getcwd.c: Likewise.
122835         * lib/getloadavg.c: Likewise.
122836         * lib/mkstemp.c: Likewise.
122837         * lib/mountlist.c, mountlist.h: Likewise.
122838         * lib/openat.c, openat.h: Likewise.
122839         * lib/readlink-stub.c: Likewise.
122840         * lib/readutmp.c, readutmp.h: Likewise.
122841         * lib/rename.c: Likewise.
122842         * lib/rmdir.c: Likewise.
122843         * lib/same.c: Likewise.
122844         * lib/savedir.c: Likewise.
122845         * lib/stripslash.c: Likewise.
122846         * lib/tempname.c: Likewise.
122847         * lib/xreadlink.c: Likewise.
122848         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
122849         All uses changed.
122850         * lib/exclude.h: Likewise.
122852         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
122853         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
122854         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
122855         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
122856         * lib/pathmax.h: Include <limits.h> unconditionally, since other
122857         files have been getting away with it for years (MORE/BSD 4.3
122858         is extinct now).
122859         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
122860         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
122862         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
122863         Define to 256, not 255, as per modern POSIX.
122865 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
122867         Sync from coreutils.
122868         Use "file name" when talking about file names, instead of "filename"
122869         or "path", as per the GNU coding standards.
122870         * MODULES.html.sh: mkdir-p renamed from makepath.
122871         filenamecat renamed from path-concat.
122872         * modules/filenamecat: Renamed from modules/path-concat.
122873         (Files): filenamecat.h and filenamecat.c renamed from
122874         path-concat.h and path-concat.c.
122875         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
122876         (Include): filenamecat.h, not path-concat.h.
122877         * modules/mkdir-p: Renamed from modules/makepath.
122878         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
122879         makepath.c.
122880         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
122881         (Include): mkdir-p.h, not makepath.h.
122883 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
122885         Sync from coreutils.
122886         * m4/mkdir-p.m4: Renamed from makepath.m4.
122887         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
122888         Rename files from makepath.c to mkdir-p.c, and from
122889         makepath.h to mkdir-p.h.
122890         * m4/filenamecat.m4: Renamed from path-concat.m4.
122891         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
122892         Rename files from path-concat.c to filenamecat.c,
122893         and from path-concat.h to filenamecat.h.
122894         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
122895         "file name" in local variables or comments.
122896         * m4/rename.m4: Likewise.
122898 2005-06-01  Bruno Haible  <bruno@clisp.org>
122900         * modules/csharpexec: New file.
122901         * MODULES.html.sh (C#): New section.
122903 2005-06-01  Bruno Haible  <bruno@clisp.org>
122905         * m4/csharp.m4: New file, from GNU gettext.
122906         * m4/csharpexec.m4: New file, from GNU gettext.
122908 2005-06-01  Bruno Haible  <bruno@clisp.org>
122910         * lib/csharpexec.h: New file, from GNU gettext.
122911         * lib/csharpexec.c: New file, from GNU gettext.
122912         * lib/csharpexec.sh.in: New file, from GNU gettext.
122914 2005-05-31  Derek Price  <derek@ximbiot.com>
122915             Paul Eggert  <eggert@cs.ucla.edu>
122917         Sync from cvs.
122918         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
122920 2005-05-31  Derek Price  <derek@ximbiot.com>
122921             Paul Eggert  <eggert@cs.ucla.edu>
122923         Sync from cvs.
122924         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
122926 2005-05-29  Derek Price  <derek@ximbiot.com>
122928         * config/srclist.txt (glob_.h, glob.c): Add these files.
122930 2005-05-29  Derek Price  <derek@ximbiot.com>
122932         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
122933         * modules/glob: New file.
122934         * modules/getlogin_r: Add link to POSIX spec in description.
122936 2005-05-29  Derek Price  <derek@ximbiot.com>
122937             Paul Eggert  <eggert@cs.ucla.edu>
122939         * m4/glob.m4: New file.
122941 2005-05-29  Derek Price  <derek@ximbiot.com>
122942             Paul Eggert  <eggert@cs.ucla.edu>
122944         * lib/glob_.h, lib/glob.c: New files.
122946 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
122948         * modules/fts (Files): Remove m4/inttypes-pri.m4.
122949         * modules/fts-lgpl (Depends-on): Remove gettext.
122951 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
122953         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
122954         and don't require gt_INTTYPES_PRI.
122956 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
122958         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
122960         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
122961         the configuration hassle isn't worth it.
122962         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
122963         (LONGEST_MODIFIER, PRIuMAX): Remove.
122965 2005-05-27  Bruno Haible  <bruno@clisp.org>
122967         * lib/getlogin_r.h: Remove second include of <stddef.h>.
122969 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
122971         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
122972         _POSIX_PTHREAD_SEMANTICS for Solaris.
122974 2005-05-25  Derek Price  <derek@ximbiot.com>
122976         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
122978 2005-05-25  Derek Price  <derek@ximbiot.com>
122979             Paul Eggert  <eggert@cs.ucla.edu>
122981         * modules/getlogin_r, m4/getlogin_r.m4: New files.
122982         * lib/getlogin_r.c, getlogin_r.h: New files.
122984 2005-05-25  Bruno Haible  <bruno@clisp.org>
122985             Derek Price  <derek@ximbiot.com>
122987         * lib/getlogin_r.h: Simplify API documentation.
122989 2005-05-23  Derek Price  <derek@ximbiot.com>
122991         * modules/minmax (Files): Add m4/minmax.m4.
122992         (configure.ac): Add gl_MINMAX.
122994 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
122996         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
122997         so that unistd-safer.h (GPL'ed code) need not be included.
122999 2005-05-22  Bruno Haible  <bruno@clisp.org>
123001         * m4/minmax.m4: New file.
123002         Based on a patch by Derek Price <derek@ximbiot.com>.
123004 2005-05-22  Bruno Haible  <bruno@clisp.org>
123006         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
123007         (INT64_MIN): Fix definition.
123008         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
123010         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
123011         NEED_SIGNED_INT_TYPES.
123013         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
123014         HAVE_SYSTEM_INTTYPES.
123016 2005-05-22  Bruno Haible  <bruno@clisp.org>
123018         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
123019         Also include <sys/param.h> if it defines MIN, MAX.
123020         Based on a patch by Derek Price <derek@ximbiot.com>.
123022 2005-05-21  Jim Meyering  <jim@meyering.net>
123024         * modules/fts (Files): Add m4/inttypes-pri.m4.
123025         (Depends-on): Add lstat and remove gettext.  Alphabetize.
123027 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
123029         New fts module.
123030         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
123031         (setup_dir, free_dir): New functions.
123032         (enter_dir, leave_dir): Define trivial
123033         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
123034         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
123035         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
123036         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
123037         Move to fts-cycle.c.
123038         (fts_open): Use setup_dir.
123039         (fts_close): Use free_dir.
123040         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
123041         This adds a label and some gotos, but the alternatives were messier.
123042         Check for memory allocation failure when entering a dir.
123043         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
123044         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
123045         (FTS): New member fts_cycle, that is a union that contains the
123046         old active_dir_ht and cycle_state.  All uses changed to mention
123047         fts_cycle.ht and fts_cycle.state.
123048         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
123049         fts.c, with the following changes:
123050         (setup_dir, free_dir): New functions.
123051         (enter_dir): Now returns bool.  Return true if successful, false
123052         if memory exhausted.  All callers changed.
123053         Do not bother partly cleaning up on
123054         memory allocation failure; that is free_dir's job.
123055         However, free ad if hash_insert fails, to avoid memory leak.
123056         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
123057         fts->fts_options to see which union member to use.
123059 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
123061         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
123062         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
123064 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
123066         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
123068 2005-05-20  Jim Meyering  <jim@meyering.net>
123070         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
123071         Now a macro, to pacify GCC.
123073 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
123075         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
123076         of -1.
123078 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
123080         * lib/chown.c (rpl_chown): Return -1 on failure.
123082 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
123084         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
123085         Don't check for stddef.h.
123086         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
123087         don't use its results.
123088         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
123089         since we include them unconditionally.  Don't require
123090         AM_STDBOOL_H, since stdbool is a prerequisite.
123091         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
123092         since we assume C89 or better.
123093         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
123094         as we don't use their results.
123095         Don't check for fchdir, memmove, memset, strrchr, as we use
123096         them unconditionally.
123097         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
123098         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
123100 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
123102         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
123103         Include <stddef.h> unconditionally, since we assume C89 now.
123104         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
123105         * lib/fts.c: Include fts_.h first, to check interface.
123106         Do not include intprops.h; no longer needed.
123107         Include cycle-check.h and hash.h, since fts_.h no longer does.
123108         Remove unnecessary casts of closedir to void.
123109         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
123110         decide whether to decrement nlinks.
123111         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
123112         (FTS): Use struct hash_table * instead of Hash_table, so that
123113         we no longer need to include hash.h here.
123115 2005-05-18  Jim Meyering  <jim@meyering.net>
123117         * modules/dirfd (License): Change to LGPL.  Most of the code
123118         is already in the public domain.
123120 2005-05-18  Jim Meyering  <jim@meyering.net>
123122         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
123123         Reported by Yoann Vandoorselaere.
123125 2005-05-17  Jim Meyering  <jim@meyering.net>
123127         * m4/fts.m4: New file, from coreutils.
123129 2005-05-17  Jim Meyering  <jim@meyering.net>
123131         * lib/fts.c, lib/fts_.h: New files, from coreutils.
123133 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
123135         Sync from coreutils.
123136         * m4/unlinkdir.m4: New file.
123138 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
123140         Sync from coreutils.
123141         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
123142         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
123143         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
123144         White space changes only.
123145         * lib/makepath.c (make_path): Port to hosts where leading "//" is
123146         special.
123147         * lib/yesno.c: Include getline.h, not ctype.h.
123148         (yesno): Don't remove leading white space; POSIX doesn't allow it.
123149         Use getline to remove arbitrary restriction on response length.
123151 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
123153         * config/srclist-update: Spell out "Street" in FSF postal
123154         mail address; this is the style the FSF seems to prefer.
123156         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
123157         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
123158         this updates FSF postal mail address.
123160         Sync from coreutils.
123161         * modules/unlinkdir: New file.
123162         * modules/yesno (Depends-on): Add getline.
123163         * MODULES.html.sh (File system functions): Add unlinkdir.
123165 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
123167         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
123168         lib/strsep.h:
123169         Change the initial comment to refer to GPL, not LGPL.
123170         gnulib-tool will change it to LGPL as needed.
123172         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
123173         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
123174         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
123175         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
123176         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
123177         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
123178         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
123179         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
123180         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
123181         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
123182         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
123183         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
123184         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
123185         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
123186         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
123187         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
123188         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
123189         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
123190         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
123191         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
123192         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
123193         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
123194         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
123195         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
123196         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
123197         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
123198         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
123199         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
123200         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
123201         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
123202         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
123203         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
123204         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
123205         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
123206         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
123207         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
123208         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
123209         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
123210         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
123211         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
123212         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
123213         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
123214         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
123215         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
123216         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
123217         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
123218         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
123219         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
123220         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
123221         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
123222         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
123223         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
123224         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
123225         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
123226         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
123227         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
123228         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
123229         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
123230         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
123231         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
123232         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
123233         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
123234         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
123235         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
123236         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
123237         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
123238         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
123239         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
123240         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
123241         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
123242         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
123243         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
123244         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
123245         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
123246         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
123247         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
123248         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
123249         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
123250         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
123251         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
123252         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
123253         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
123254         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
123255         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
123256         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
123257         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
123258         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
123259         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
123260         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
123261         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
123262         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
123263         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
123264         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
123265         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
123266         lib/yesno.c, lib/yesno.h:
123267         Update FSF postal mail address.
123269 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
123271         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
123272         tests/test-memmem.c, tests/test-stpncpy.c:
123273         Update FSF postal mail address.
123275 2005-05-13  Bruno Haible  <bruno@clisp.org>
123277         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
123278         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
123279         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
123280         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
123281         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
123282         Add support for 64-bit integers in the MSVC compiler.
123284 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
123286         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
123288 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
123290         * gnulib-tool (func_import): Sort and uniquify recommended includes.
123292 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
123294         * doc/getdate.texi (General date syntax): Don't say that date
123295         date --iso-8601=ns generates acceptable dates; it doesn't yet.
123296         Problem reported by Nic Ferrier.
123298 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
123300         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
123301         specified in ai_socktype. Fix invalid ai_protocol
123302         check. ai_protocol is usually set to 0 or depending on
123303         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
123304         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
123305         ai_socktype / ai_protocol in the returned addrinfo structure.
123307 2005-05-10  Simon Josefsson  <jas@extundo.com>
123309         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
123310         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
123312 2005-05-10  Karl Berry  <karl@gnu.org>
123314         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
123315         (from http://www.gnu.org/licenses).
123316         * doc/COPYING.LIB: also rename to COPYING.LESSER.
123317         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
123318         fdl.texi suffices.
123320 2005-05-10  Karl Berry  <karl@gnu.org>
123322         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
123323         (COPYING.DOC): remove.
123325         * config/srclist-update: new FSF address.
123327 2005-05-10  Derek Price  <derek@ximbiot.com>
123329         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
123330         possible.
123332 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
123333             Bruno Haible  <bruno@clisp.org>
123335         * modules/inet_ntop: New file.
123336         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
123337         inet_ntop.
123339 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
123340             Bruno Haible  <bruno@clisp.org>
123342         * m4/inet_ntop.m4: New file.
123344 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
123345             Bruno Haible  <bruno@clisp.org>
123347         * lib/inet_ntop.h: New file.
123348         * lib/inet_ntop.c: New file, from glibc with modifications.
123350 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
123352         * modules/time_r (License): Change to LGPL.
123353         * modules/extensions (License): Change to LGPL.  Actually,
123354         the license is more permissive than that, but currently gnulib-tool
123355         doesn't know how to handle more-permissive licenses.
123357         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
123358         Problem reported by Dave Love.
123360 2005-05-08  Jim Meyering  <jim@meyering.net>
123362         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
123363         blank.
123365 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
123367         * modules/argmatch (Depends-on): Add stdbool.
123368         * modules/backupfile (Depends-on): Likewise.
123369         * modules/chdir-long (Depends-on): Likewise.
123370         * modules/closeout (Depends-on): Likewise.
123371         * modules/cycle-check (Depends-on): Likewise.
123372         * modules/dirname (Depends-on): Likewise.
123373         * modules/fnmatch (Depends-on): Likewise.
123374         * modules/fsusage (Depends-on): Likewise.
123375         * modules/fwriteerror (Depends-on): Likewise.
123376         * modules/getcwd (Depends-on): Likewise.
123377         * modules/getloadavg (Depends-on): Likewise.
123378         * modules/hard-locale (Depends-on): Likewise.
123379         * modules/makepath (Depends-on): Likewise.
123380         * modules/mountlist (Depends-on): Likewise.
123381         * modules/nanosleep (Depends-on): Likewise.
123382         * modules/posixtm (Depends-on): Likewise.
123383         * modules/quotearg (Depends-on): Likewise.
123384         * modules/readtokens (Depends-on): Likewise.
123385         * modules/readtokens0 (Depends-on): Likewise.
123386         * modules/readutmp (Depends-on): Likewise.
123387         * modules/save-cwd (Depends-on): Likewise.
123388         * modules/strftime (Depends-on): Likewise.
123389         * modules/userspec (Depends-on): Likewise.
123390         * modules/utimecmp (Depends-on): Likewise.
123391         * modules/xgetcwd (Depends-on): Likewise.
123392         * modules/xnanosleep (Depends-on): Likewise.
123393         * modules/xstrtod (Depends-on): Likewise.
123394         * modules/yesno (Depends-on): Likewise.
123396 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
123398         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
123399         needless checks.
123401 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
123403         Merge from coreutils.  Among other things,
123404         add bulletproofing for cases where stdin, stdout, or stderr are closed.
123405         * lib/fd-safer.c: New file.
123406         * lib/fcntl-safer.h, open-safer.c: Remove.
123407         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
123408         * lib/dup-safer.c: Include unistd-safer.h first.
123409         Don't include errno.h.
123410         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
123411         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
123412         * lib/file-type.c: Rely on file-type.h change.
123413         * lib/getloadavg.c: Include unistd-safer.h.
123414         (getloadavg): Use safer open.
123415         * lib/getusershell.c: Include "stdio-safer.h".
123416         (getusershell): Use safer fopen.
123417         * lib/long-options.c (long_options): Use NULL rather than 0.
123418         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
123419         'free'.
123420         * lib/modechange.c: Likewise.
123421         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
123422         (MODE_DONE): New constant.
123423         (struct mode_change): Remove 'next' member.
123424         (make_node_op_equals): New function; like the old one of the
123425         same name, except it allocates an array.
123426         (mode_compile, mode_create_from_ref): Use it.
123427         (mode_compile): Allocate result as an array, not a linked list.
123428         Parse octal string ourself, so that we catch mistakes like "+0".
123429         (mode_adjust): Arg is an array, not a linked list.
123430         * lib/modechange.c: Include stat-macros.h, xalloc.h.
123431         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
123432         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
123433         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
123434         Remove.  This is now stat-macros.h's job.
123435         (talloc): Remove.  All callers replaced by xalloc, so that
123436         our invokers don't have to worry about reporting memory failures.
123437         (make_node_op_equals): Remove.
123438         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
123439         New constants.
123440         (struct mode_change): Moved here from modechange.h.
123441         (mode_append_entry): Remove.
123442         (mode_compile): Remove MASKED_OPS arg, since it encouraged
123443         apps to have incorrect behavior.  Use simpler algorithm for head
123444         and tail.  Don't futz with umask; that's now the job of mode_adjust.
123445         Detect more invalid usages rather than having somewhat-random behavior.
123446         Don't insert an "a=" action, as that leads to incorrect behavior.
123447         (mode_compile, mode_create_from_ref): Return NULL on error instead
123448         of an enum, since now there's only one way to have an error.  All
123449         callers changed.
123450         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
123451         at the correct time.  Simplify calculation of "+u" and its ilk.
123452         Don't mishandle "+X".
123453         (mode_free): Remove "register" and localize decls.
123454         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
123455         (struct mode_change): Move to modechange.c; callers don't
123456         need to see this stuff.
123457         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
123458         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
123459         (mode_change, mode_adjust): Reflect the new signatures noted above.
123460         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
123461         that might redefine system include files.
123462         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
123463         (my_usleep): Use NULL rather than (void *) 0.
123464         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
123465         Use siginterrupt to specify that system calls should be interrupted.
123466         (rpl_nanosleep): Move initialization of suspended closer to call of
123467         my_usleep.
123468         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
123469         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
123470         (desirable_utmp_entry): New function.
123471         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
123472         using x2nrealloc, to simplify logic.
123473         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
123474         size calculation.  Do not assume utmp file is a regular file.
123475         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
123476         (READ_UTMP_CHECK_PIDS): New constant.
123477         * lib/save-cwd.c: Include unistd-safer.h.
123478         (save_cwd): Use fd_safer.
123479         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
123480         [!_LIBC] Include "stat-macros.h" instead.
123481         * lib/unistd-safer.h (fd_safer): New decl.
123483 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
123485         * modules/getloadavg (Depends-on): Add unistd-safer.
123486         * modules/getusershell (Depends-on): Add stdio-safer.
123487         * modules/lstat (Depends-on): Remove xalloc.
123488         * modules/mkstemp (Depends-on): Add stat-macros.
123489         * modules/modechange (Depends-on): Remove xstrtol.
123490         Add stat-macros, xalloc.
123491         * modules/save-cwd (Depends-on): Add unistd-safer.
123492         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
123493         * modules/unistd-safer (Files): Add lib/fd-safer.c
123494         (Makefile.am): Remove lib_SOURCES.
123496         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
123497         Remove fcntl-safer; unistd-safer supersedes it.
123499 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
123501         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
123502         AC_HEADER_STAT.
123503         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
123504         (gl_PREREQ_CHOWN): Remove.
123505         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
123506         it.  Don't require AC_HEADER_STAT.
123507         (gl_PREREQ_LSTAT): Remove.
123508         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
123509         Don't require AC_HEADER_STAT.
123510         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
123511         (gl_PREREQ_RMDIR): Remove.
123512         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
123513         mention stat-macros.h or AC_HEADER_STAT, since we'll make
123514         the stat-macros module a prerequisite.
123515         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
123516         * m4/filemode.m4 (gl_FILEMODE): Likewise.
123517         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
123518         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
123519         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
123520         variable names.
123521         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
123522         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
123523         variable prefixes.
123524         * m4/fcntl-safer.m4: Remove.
123525         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
123526         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
123527         Invoke gl_PREREQ_FD_SAFER.
123528         (gl_PREREQ_FD_SAFER): New macro.
123529         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
123530         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
123531         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
123532         Remove duplicate call to AC_LIBOBJ(readutmp).
123533         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
123535         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
123536         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
123538 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
123540         * MODULES.html.sh (Misc): Add byteswap.
123542 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
123544         * modules/getcwd (Depends-on): Add extensions.
123545         * modules/openat (Depends-on): Likewise.
123547 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
123549         * modules/byteswap: New file.
123551 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
123553         * m4/byteswap.m4: New file.
123555 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
123557         * lib/byteswap_.h: New file.
123559 2005-04-25  Karl Berry  <karl@gnu.org>
123561         * m4/gettext.m4: Update from GNU gettext 0.14.4.
123563 2005-04-25  Albert Chin  <china@thewrittenword.com>
123565         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
123566         Toolkit C bug.
123568 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
123570         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
123571         (func_ln_if_changed): Remove forcibly for no error message
123572         in case file does not exist.
123574 2005-04-19  Simon Josefsson  <jas@extundo.com>
123576         * gnulib-tool (Options): Make --symlink mean --symbolic.
123578 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
123580         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
123582 2005-04-16  Simon Josefsson  <jas@extundo.com>
123584         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
123586 2005-04-15  Simon Josefsson  <jas@extundo.com>
123588         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
123590 2005-04-15  Simon Josefsson  <jas@extundo.com>
123592         * gnulib-tool: Rename --symlink to --symbolic.
123594 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
123596         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
123597         symbolic links to files instead of copying/moving.  Add --aux-dir,
123598         specifying directory relative --dir where auxiliary build tools
123599         are placed.
123601 2005-04-14  Bruno Haible  <bruno@clisp.org>
123603         * modules/allocsa (License): Change to LGPL.
123604         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
123606 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
123608         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
123609         that "UTC +1 second" continues to work.  Problem reported
123610         by Dmitry V. Levin.
123611         (relunit_snumber): New rule.
123612         (relunit): Use it.
123614 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
123616         * lib/getdate.y (universal_time_zone_table): New constant.
123617         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
123618         universal_time_zone_table.
123619         (lookup_zone): Prefer universal_time_zone_table to
123620         local_time_zone_table, so that "GMT" time stamps are allowed in
123621         London during the summer.  Problem reported by Ian Abbott.
123623 2005-04-12  Jim Meyering  <jim@meyering.net>
123625         * lib/human.c (humblock): Set *options even when returning due to
123626         xstrtoumax conversion failure.  Thanks to a used-uninitialized
123627         warning from gcc-4.
123629 2005-04-09  Jim Meyering  <jim@meyering.net>
123631         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
123632         -Wuninitialized: initialize tm0.tm_year.
123634 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
123636         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
123637         count, since there's no maximum.  All uses changed.
123638         Add member dsts_seen.
123639         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
123640         not being INT_MAX.
123641         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
123642         Use pc_rels_seen to decide whether a date is absolute.
123644         * lib/getdate.y (number): Don't overwrite year.
123645         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
123646         check.
123648 2005-04-02  Simon Josefsson  <jas@extundo.com>
123650         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
123651         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
123653 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
123655         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
123656         where no absolute path name can be longer than PATH_MAX.
123658 2005-03-27  Jim Meyering  <jim@meyering.net>
123660         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
123662 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
123664         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
123665         "one's complement" -> "ones' complement" in comment, as per Knuth.
123666         "value of type" -> "type or expression" in comment.
123667         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
123669 2005-03-26  Jim Meyering  <jim@meyering.net>
123671         Comment nits.
123672         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
123673         Correct typos: s/or/of/.
123675 2005-03-26  Jim Meyering  <jim@meyering.net>
123677         * modules/check-include-files: Move to ../ and rename to...
123678         * check-module: ...this.
123680 2005-03-25  Jim Meyering  <jim@meyering.net>
123682         * modules/xvasprintf (Files): Add xalloc.h.
123684 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
123686         * modules/gettext (Files): config/config.rpath ->
123687         build-aux/config.rpath
123688         * modules/iconv (Files): Likewise.
123689         Problem reported by Oskar Liljeblad.
123691 2005-03-23  Jim Meyering  <jim@meyering.net>
123693         * modules/check-include-files: New script to check for
123694         missing dependencies, multiple includes, etc.
123696         * modules/c-strtold (Depends-on): Add xalloc.
123697         * modules/c-strtod (Depends-on): Add xalloc.
123698         * modules/hash (Depends-on): Add xalloc.
123699         (Files): Remove lib/xalloc.h.
123701         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
123702         * modules/userspec (Files): Add lib/inttostr.h.
123704 2005-03-23  Jim Meyering  <jim@meyering.net>
123706         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
123708 2005-03-22  Jim Meyering  <jim@meyering.net>
123710         * modules/stat-macros: New module.
123711         * modules/canonicalize, modules/euidaccess, modules/file-type,
123712         * modules/filemode, modules/lchown, modules/makepath,
123713         * modules/rmdir, modules/stat: Depend on new stat-macros module
123714         rather than listing lib/stat-macros.h manually.
123715         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
123717 2005-03-22  Jim Meyering  <jim@meyering.net>
123719         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
123721 2005-03-22  Bruno Haible  <bruno@clisp.org>
123723         * config/srclist.txt: Replace target directory 'config' with
123724         'build-aux'.
123725         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
123726         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
123727         ../build-aux/.
123729 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
123731         * modules/chdir-long (Depends-on): Add mempcpy.
123733         * modules/acl, modules/backupfile, modules/c-strtod,
123734         modules/c-strtold, modules/canon-host, modules/canonicalize,
123735         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
123736         modules/exclude, modules/exitfail, modules/file-type,
123737         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
123738         modules/getdate, modules/getline, modules/getpagesize,
123739         modules/getpass, modules/getugroups, modules/group-member,
123740         modules/hard-locale, modules/hash, modules/human, modules/idcache,
123741         modules/inttostr, modules/long-options, modules/makepath,
123742         modules/md5, modules/memcasecmp, modules/memcoll,
123743         modules/modechange, modules/mountlist, modules/path-concat,
123744         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
123745         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
123746         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
123747         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
123748         modules/strftime, modules/strndup, modules/strverscmp,
123749         modules/timespec, modules/unlocked-io, modules/userspec,
123750         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
123751         modules/yesno:
123752         Remove lib_SOURCES line from Makefile.am section, as this is now
123753         done automatically by the corresponding Autoconf macro.
123755 2005-03-21  Jim Meyering  <jim@meyering.net>
123757         Changes imported from coreutils.
123759         * lib/cycle-check.c: Don't include xalloc.h.
123761         * lib/path-concat.c: Don't include assert.h.
123762         (path_concat): Remove assertion that would have triggered
123763         for ABASE starting with more than one slash.
123764         Reported by Andreas Schwab.
123766         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
123767         properly when ABASE is an absolute file name.
123768         Correct the description of this function.
123769         Include <assert.h>.
123770         Add an assertion and a test driver.
123771         This fixes a bug introduced on 2004-07-02.
123772         Andreas Schwab reported the resulting failure of cp --parents:
123773         http://lists.gnu.org/r/bug-coreutils/2005-01/msg00130.html
123775 2005-03-21  Jim Meyering  <jim@meyering.net>
123777         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
123778         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
123780 2005-03-21  Jim Meyering  <jim@meyering.net>
123781         and  Paul Eggert  <eggert@cs.ucla.edu>
123783         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
123784         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
123785         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
123786         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
123787         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
123788         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
123789         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
123790         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
123791         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
123792         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
123793         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
123794         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
123795         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
123796         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
123797         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
123798         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
123799         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
123800         for these modules.
123802 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
123804         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
123805         (which shouldn't happen), generate nothing instead of returning 0
123806         immediately, so that nstrftime (NULL, ...) doesn't return 0.
123808 2005-03-16  Bruno Haible  <bruno@clisp.org>
123810         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
123811         HAVE_LONGLONG_64BIT.
123813 2005-03-16  Bruno Haible  <bruno@clisp.org>
123815         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
123816         HAVE_LONGLONG_64BIT.
123818 2005-03-16  Bruno Haible  <bruno@clisp.org>
123820         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
123821         HAVE_LONGLONG_64BIT.
123823 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
123825         * lib/strftime.c (my_strftime): Prepend space to format so that we can
123826         reliably distinguish strftime failure from empty output on POSIX
123827         hosts.
123829 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
123831         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
123832         (iconv_string): Don't guess a size-zero buffer, as that might cause
123833         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
123834         result would be 'too large', where 'too large' is (heuristically)
123835         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
123836         overflow concerns.  This will prevent some unwanted malloc failures
123837         when the inputs are very large.
123839 2005-03-15  Karl Berry  <karl@gnu.org>
123841         * config/srclist.txt (config.rpath): from gettext.
123842         * config/config.rpath: update.
123844 2005-03-15  Bruno Haible  <bruno@clisp.org>
123846         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
123847         to 'negate'.
123849         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
123850         variable.
123852         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
123853         results.
123855 2005-03-14  Simon Josefsson  <jas@extundo.com>
123857         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
123858         <fx@gnu.org>.
123860 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
123862         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
123863         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
123864         intprops.h.
123865         * lib/strtol.c: Likewise.
123867 2005-03-14  Jim Meyering  <jim@meyering.net>
123869         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
123870         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
123871         to be nonzero so that we (and caller) can detect the difference
123872         between a valid zero-length expansion and an error return, even
123873         when the underlying strftime fails before writing anything into
123874         that location.
123876 2005-03-14  Bruno Haible  <bruno@clisp.org>
123878         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
123879         Update from GNU gettext 0.14.3.
123881 2005-03-10  Jim Meyering  <jim@meyering.net>
123883         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
123885 2005-03-10  Jim Meyering  <jim@meyering.net>
123887         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
123888         so that this module works on systems without fchdir.
123890 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
123892         Factor int-properties macros into a single file, except for
123893         glibc-related files.
123894         * lib/intprops.h: New file.
123895         * lib/getloadavg.c: Include it instead of limits.h.
123896         (INT_STRLEN_BOUND): Remove.
123897         * lib/human.c: Include intprops.h.
123898         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
123899         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
123900         302/1000.
123901         * lib/inttostr.h: Include intprops.h instead of limits.h.
123902         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
123903         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
123904         for consistency with intprops.h.
123905         (time_t_is_integer, twos_complement_arithmetic): Use them.
123906         * lib/sig2str.h: Include <signal.h>, intprops.h.
123907         (INT_STRLEN_BOUND): Remove.
123908         * lib/strftime.c (TYPE_SIGNED): Remove.
123909         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
123910         * lib/strtol.c: Adjust comments to match intprops.h.
123911         * lib/userspec.c: Include intprops.h.
123912         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
123913         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
123914         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
123915         instead of rolling our own expressions.
123916         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
123918         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
123919         instead of int.
123920         (my_strftime): Do not mishandle years close to INT_MAX, by doing
123921         the right thing even if adding 1900 would overflow.  Similarly
123922         for tm_mon + 1 and tm_yday + 1.
123923         Make %Y always equivalent to %C%y, and similarly for %G and %g.
123924         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
123925         (DO_SIGNED_NUMBER): New macro.
123926         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
123928 2005-03-07  Bruno Haible  <bruno@clisp.org>
123930         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
123932 2005-03-07  Bruno Haible  <bruno@clisp.org>
123934         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
123936 2005-03-04  Derek R. Price  <derek@ximbiot.com>
123938         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
123939         (func_import): Only replace files via --import when they have actually
123940         changed.
123942 2005-03-03  Derek R. Price  <derek@ximbiot.com>
123944         * m4/mmap-anon.m4: New file.
123945         * m4/pagealign_alloc.m4: New file.
123947 2005-03-03  Derek R. Price  <derek@ximbiot.com>
123948             Bruno Haible  <bruno@clisp.org>
123950         * modules/pagealign_alloc: New file.
123951         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
123953 2005-03-03  Derek R. Price  <derek@ximbiot.com>
123954             Bruno Haible  <bruno@clisp.org>
123956         * lib/pagealign_alloc.h: New file.
123957         * lib/pagealign_alloc.c: New file.
123959 2005-03-03  Bruno Haible  <bruno@clisp.org>
123961         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
123962         Use an all-permissive copyright notice, recommended by RMS.
123964 2005-03-02  Bruno Haible  <bruno@clisp.org>
123966         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
123967         of AIX, the replacement has to be done only after <string.h> is
123968         included, therefore not in config.h. stpncpy.h does the replacement,
123969         and stpncpy.c uses it.
123971 2005-03-02  Bruno Haible  <bruno@clisp.org>
123973         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
123974         stpncpy.c uses it.
123976 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
123978         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
123979         The workaround isn't strictly needed for POSIX conformance, and
123980         it's too much of a pain to configure and maintain.  We'll ask
123981         people to fix their kernels instead.
123982         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
123983         (NANOSLEEP_BUG_WORKAROUND): Remove.
123984         (xnanosleep): Remove the workaround.
123986 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
123988         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
123989         Reported by Derek Price.
123990         (Include): Add "timespec.h".
123992         * modules/xnanosleep (Depends-on): Remove gethrxtime.
123994 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
123996         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
123997         to detect nanosleep bug.
123999 2005-03-01  Bruno Haible  <bruno@clisp.org>
124001         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
124003 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
124005         * modules/gethrxtime: New file.
124006         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
124007         (Depends-on): Add gethrxtime.
124008         (configure.ac): Add gl_XNANOSLEEP.
124009         (Makefile.am): Remove lib_SOURCES line.
124011 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
124013         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
124014         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
124016 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
124018         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
124019         * lib/timespec.h (gettime): Return void, since it always
124020         succeeds now.  All uses changed.
124021         * lib/gettime.c (gettime): Likewise.
124022         [HAVE_NANOTIME]: Prefer nanotime.
124023         Assume gettimeofday succeeds, as POSIX requires.
124024         Assime time () succeeds, since other code already does.
124025         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
124026         (timespec_subtract): Remove.
124027         (NANOSLEEP_BUG_WORKAROUND): New constant.
124028         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
124029         things considerably.  Use it only on GNU/Linux hosts, since the
124030         workaround shouldn't be needed elsewhere.
124032 2005-02-24  Bruno Haible  <bruno@clisp.org>
124034         * modules/gettext (Files): Add m4/glibc2.m4.
124036 2005-02-24  Bruno Haible  <bruno@clisp.org>
124038         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
124039         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
124040         * m4/progtest.m4:
124041         Update from GNU gettext 0.14.2.
124042         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
124044 2005-02-24  Bruno Haible  <bruno@clisp.org>
124046         * lib/localcharset.c: Update from GNU gettext 0.14.2.
124047         * lib/config.charset: Update from GNU gettext 0.14.2.
124049 2005-02-24  Bruno Haible  <bruno@clisp.org>
124051         * lib/gettext.h: Update from GNU gettext 0.14.2.
124053 2005-02-23  Simon Josefsson  <jas@extundo.com>
124055         * m4/iconvme.m4: New file.
124057 2005-02-23  Jim Meyering  <jim@meyering.net>
124059         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
124060         change.
124061         Thanks to Bruno Haible for catching it.
124063 2005-02-22  Simon Josefsson  <jas@extundo.com>
124065         * modules/iconvme: New file.
124067         * MODULES.html.sh: Add iconvme.
124069 2005-02-22  Simon Josefsson  <jas@extundo.com>
124071         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
124073 2005-02-22  Simon Josefsson  <jas@extundo.com>
124075         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
124077 2005-02-22  Jim Meyering  <jim@meyering.net>
124079         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
124080         s/ifndef/ifdef/.
124082 2005-02-20  Neil Conway  <neilc@samurai.com>
124084         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
124085         returned by OSX/Darwin if the specified buffer is not large
124086         enough for the hostname.
124088 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
124090         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
124091         pass it to _help, otherwise the latter coredumps trying to
124092         dereference state.root_argp.
124094 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
124096         * modules/chdir-long (Depends-on): Add memrchr.
124097         * modules/memrchr (Files): Add lib/memrchr.h.
124098         (Include): "memrchr.h".
124100 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
124102         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
124104 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
124106         * lib/memrchr.h: New file.
124107         * lib/chdir-long.c: Include it.
124108         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
124109         Don't bother including stddef.h.
124111 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
124113         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
124114         inclusion.
124115         Include <sys/types.h>, for dev_t.
124116         (ME_DUMMY, ME_REMOTE): Move from here....
124117         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
124118         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
124119         Dmitry V. Levin.
124120         Include mountlist.h first, to test the interface.
124122 2005-01-29  Bruno Haible  <bruno@clisp.org>
124124         * lib/progname.c (program_name): Initialize.
124125         Needed when linking statically on MacOS X.
124127 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
124129         Sync from coreutils.
124130         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
124131         (Depends-on): Add c-strtod.
124132         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
124134 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
124136         Sync from coreutils.
124137         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
124139         Remove files that are specific to coreutils.
124140         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
124142 2005-01-28  Bruno Haible  <bruno@clisp.org>
124144         * modules/javacomp: New file.
124145         * MODULES.html.sh (Java): Add javacomp.
124147 2005-01-28  Bruno Haible  <bruno@clisp.org>
124149         * m4/javacomp.m4: New file, from GNU gettext.
124151 2005-01-28  Bruno Haible  <bruno@clisp.org>
124153         * lib/javacomp.sh.in: New file, from GNU gettext.
124154         * lib/javacomp.h: New file, from GNU gettext.
124155         * lib/javacomp.c: New file, from GNU gettext.
124157 2005-01-26  Simon Josefsson  <jas@extundo.com>
124159         * lib/gai_strerror.c: Use GPL in header.
124161 2005-01-26  Bruno Haible  <bruno@clisp.org>
124163         * modules/javaexec: New file.
124164         * MODULES.html.sh (Java): Add javaexec.
124166 2005-01-26  Bruno Haible  <bruno@clisp.org>
124168         * m4/javaexec.m4: New file, from GNU gettext.
124170 2005-01-26  Bruno Haible  <bruno@clisp.org>
124172         * lib/javaexec.sh.in: New file, from GNU gettext.
124173         * lib/javaexec.h: New file, from GNU gettext.
124174         * lib/javaexec.c: New file, from GNU gettext.
124176 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
124178         * modules/lchown (Depends-on): Remove lchown.h
124180 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
124182         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
124183         must be defined if the header file was not found, in order
124184         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
124186 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
124188         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
124189         initializers for struct pentry_state.
124190         (__argp_error): Check return value of __asprintf
124191         (__argp_failure): Translate error message
124193         * lib/argp-parse.c: Removed braces around the expansion of N_()
124195 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
124197         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
124198         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
124199         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
124200         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
124201         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
124202         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
124203         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
124204         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
124205         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
124206         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
124207         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
124208         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
124209         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
124210         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
124211         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
124212         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
124213         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
124214         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
124215         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
124216         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
124217         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
124218         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
124219         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
124220         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
124221         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
124222         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
124223         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
124224         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
124225         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
124226         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
124227         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
124228         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
124229         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
124230         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
124231         xstrtol.m4, xstrtoumax.m4, yesno.m4:
124232         Use an all-permissive copyright notice, recommended by RMS.
124234 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
124236         * modules/chdir-long (Depends-on): Remove mempcpy.
124238 2005-01-21  Jim Meyering  <jim@meyering.net>
124240         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
124241         same value as for Solaris 9.
124243         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
124244         component length.  This included changing the parameter to be
124245         of type `char *' rather than `char const *'.
124246         * lib/chdir-long.h (chdir_long): Update prototype.
124248         * lib/openat.c (fdopendir, fstatat): New functions.
124249         * lib/openat.h: Include headers required for use of DIR and struct
124250         stat.
124251         [AT_SYMLINK_NOFOLLOW]: Define.
124252         (fdopendir, fstatat): Add prototypes.
124254 2005-01-21  Bruno Haible  <bruno@clisp.org>
124256         * modules/classpath: New file.
124257         * MODULES.html.sh (Java): Add classpath.
124259 2005-01-21  Bruno Haible  <bruno@clisp.org>
124261         * lib/classpath.h: New file, from GNU gettext.
124262         * lib/classpath.c: New file, from GNU gettext.
124264 2005-01-20  Simon Josefsson  <jas@extundo.com>
124266         * modules/version-etc-fsf: New file.
124268 2005-01-20  Simon Josefsson  <jas@extundo.com>
124270         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
124271         * lib/version-etc.c: Remove version_etc_copyright.
124272         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
124273         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
124275 2005-01-20  Simon Josefsson  <jas@extundo.com>
124277         * lib/base64.h (isbase64): Add.
124279         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
124280         using a unsigned prototype, don't inline.
124281         (base64_decode): Use it.
124283 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
124285         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
124286         it.
124288 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
124290         * lib/save-cwd.c (save_cwd): Remove code to support the case
124291         where fchdir is missing or flaky.
124293 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
124295         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
124297 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
124299         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
124300         AC_LIBSOURCES now does this.
124301         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
124302         with new ullong_max module.
124304 2005-01-19  Bruno Haible  <bruno@clisp.org>
124306         * modules/sh-quote: New file.
124307         * MODULES.html.sh (Executing programs): Add sh-quote.
124309 2005-01-19  Bruno Haible  <bruno@clisp.org>
124311         * lib/sh-quote.h: New file, from GNU gettext.
124312         * lib/sh-quote.c: New file, from GNU gettext.
124314 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
124316         Merge from coreutils.
124317         * m4/ullong_max.m4: New file.
124318         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
124319         (gl_MACROS): Assume localeconv exists.
124321 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
124323         Merge changes from coreutils, as described below in several
124324         changelogs dated today.
124326         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
124327         (O_DIRECTORY): Remove; not needed here, since "." must be
124328         a directory.  All uses removed.
124329         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
124330         universal on Suns, and we also need to test for IRIX.
124331         Revamp code to use 'if' rather than '#if'.
124332         Avoid unnecessary comparison of cwd->desc to 0.
124334         * lib/utimens.c (futimens): Robustify the previous patch, by checking
124335         for known valid error numbers rather than observed invalid ones.
124337 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
124339         * modules/ullong_max: New file.
124341         * modules/chdir-long, modules/openat: New files.
124342         * modules/save-cwd (Depends-on): Depend on chdir-long.
124343         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
124345 2005-01-18  Jim Meyering  <jim@meyering.net>
124347         Merge from coreutils.
124348         * m4/chdir-long.m4, m4/openat.m4: New files.
124349         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
124350         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
124351         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
124352         is sane and DOES follow symlinks.  Besides, testing 20 different
124353         systems found no broken chown implementations.
124354         Prompted by a change in rsync's copy of this macro.
124355         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
124357         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
124359         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
124360         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
124361         NULL-means-set-to-current-time semantics.
124362         Remove temporary file immediately, rather than waiting
124363         for configure's at-exit trap code to do it.
124365 2005-01-18  Jim Meyering  <jim@meyering.net>
124367         * lib/version-etc.c (version_etc_copyright): Update copyright date.
124369         * lib/utimens.c (futimens): Account for the fact that futimes
124370         can also fail with errno == ENOSYS or errno == ENOENT.
124371         Patch from Dmitry V. Levin.
124373         Change the name of the robust chdir function from chdir to chdir_long.
124374         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
124375         (restore_cwd): Use chdir_long, not chdir.
124376         * lib/chdir-long.c: Renamed from chdir.c.
124377         * lib/chdir-long.h: Renamed from chdir.h.
124378         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
124379         Hurd.
124381 2005-01-18  Bruno Haible  <bruno@clisp.org>
124383         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
124384         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
124385         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
124386         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
124387         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
124388         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
124389         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
124390         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
124391         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
124392         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
124393         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
124394         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
124395         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
124396         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
124397         Use an all-permissive copyright notice, recommended by RMS.
124399 2005-01-18  Bob Proulx  <bob@proulx.com>
124401         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
124402         simplify offsetof() macro construct to avoid compile failure with
124403         native HP-UX 11.0 ANSI C compiler.
124405 2005-01-17  Bruno Haible  <bruno@clisp.org>
124407         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
124408         redundant because stpncpy.m4 takes care of it.
124410 2005-01-17  Bruno Haible  <bruno@clisp.org>
124412         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
124414 2005-01-17  Bruno Haible  <bruno@clisp.org>
124416         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
124417         used.
124419 2005-01-17  Bruno Haible  <bruno@clisp.org>
124421         * lib/fwriteerror.h (fwriteerror): Change specification to include
124422         fclose.
124423         * lib/fwriteerror.c: Include <stdbool.h>.
124424         (fwriteerror): At the end, close the file stream. Record whether
124425         stdout was already closed.
124427 2005-01-17  Bruno Haible  <bruno@clisp.org>
124429         * lib/execute.c (environ): Declare if needed.
124430         * lib/pipe.c (environ): Likewise.
124431         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
124433 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
124435         * modules/argp: Depend on vsnprintf
124437 2005-01-10  Jim Meyering  <jim@meyering.net>
124439         * modules/closeout (Depends-on): Add atexit.
124441 2005-01-06  Bruno Haible  <bruno@clisp.org>
124443         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
124445 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
124447         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
124448         definitions to be after all include files, to avoid collisions.
124449         Problem reported by Bob Proulx.
124451 2005-01-04  Jim Meyering  <jim@meyering.net>
124453         Changes imported from coreutils.
124454         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
124455         as the mkstemp template, use a temporary directory and an
124456         8.3-friendly template to avoid trouble on systems like DJGPP.
124457         Reported by Juan M. Guerrero via Stepan Kasal.
124458         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
124459         close. Remove the temporary directory right away, rather than waiting
124460         for configure's at-exit trap code to do it.
124461         Suggestion from Stepan Kasal.
124463 2005-01-01  Simon Josefsson  <jas@extundo.com>
124465         * gnulib-tool: Print #include directives when --import'ing.
124467 2004-12-28  Simon Josefsson  <jas@extundo.com>
124469         * tests/test-base64.c: Include required header files.  Remove
124470         unused variables.
124472 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
124474         * modules/error (Depends-on): Remove gettext.
124476 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
124478         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
124479         not needed.  This removes a dependency on the gettext module.
124480         [defined _LIBC]: Do not include <libintl.h>; not needed.
124482 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
124484         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
124485         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
124487 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
124489         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
124490         HAVE_DECL_STRTOLD.
124492 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
124494         * modules/getdate (Depends-on): Remove alloca-opt.
124496 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
124498         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
124500 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
124502         * lib/argp-parse.c: Include <stddef.h>.
124503         (alignof, alignto): New macros.
124504         (parser_init): Don't assume that void * is aligned sufficiently
124505         for struct option.
124507         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
124508         need to extend the stack.
124509         (YYINITDEPTH): New macro, so that the initial stack isn't overly
124510         large.
124512 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
124514         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
124516 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
124518         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
124519         (2004-10-24) change.  Apparently this was a false alarm.
124521         * modules/getdate: Depend on alloca-opt, not alloca.
124523 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
124525         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
124526         Remove now-obsolete comment about AIX.
124527         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
124528         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
124529         (YYMAXDEPTH): New macro.
124531 2004-12-18  Simon Josefsson  <jas@extundo.com>
124533         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
124535 2004-12-18  Bruno Haible  <bruno@clisp.org>
124537         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
124539 2004-12-18  Bruno Haible  <bruno@clisp.org>
124541         * lib/fatal-signal.c (fatal_signals): Make non-const.
124542         (init_fatal_signals): New function.
124543         (uninstall_handlers, install_handlers): Ignore signals that were set to
124544         SIG_IGN.
124545         (at_fatal_signal): Call init_fatal_signals.
124546         (init_fatal_signal_set): Likewise. Ignore signals that were set to
124547         SIG_IGN.
124548         Reported by Paul Eggert.
124550 2004-12-18  Bruno Haible  <bruno@clisp.org>
124552         * doc/alloca.texi: New file.
124553         * doc/alloca-opt.texi: New file.
124555 2004-12-17  Jim Meyering  <jim@meyering.net>
124557         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
124558         Otherwise, install-sh could exit with improper exit status when
124559         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
124561 2004-12-16  Simon Josefsson  <jas@extundo.com>
124563         * tests/test-base64.c: Add license.
124565 2004-12-15  Stepan Kasal  <address@hidden>
124567         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
124569 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
124571         * modules/getcwd (Files): Add m4/d-ino.m4.
124572         Suggested by Mark D. Baushke.
124574 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
124576         * lib/getdate.y (textint): New member "negative".
124577         (time_zone_hhmm): New function.
124578         Expect 14 shift-reduce conflicts, not 13.
124579         (o_colon_minutes): New rule.
124580         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
124581         (yylex): Set the "negative" member of signed numbers.
124583 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
124585         * doc/getdate.texi (Time of day items, Time zone items):
124586         Describe new formats +00:00, UTC+00:00.
124588 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
124590         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
124591         spurious "-l"s.  Problem reported by Stepan Kasal.
124593 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
124595         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
124596         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
124598 2004-12-04  Simon Josefsson  <jas@extundo.com>
124600         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
124601         Vandoorselaere <yoann@prelude-ids.org>.
124603 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
124605         Changes imported from coreutils.
124606         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
124607         exist.
124608         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
124610 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
124612         Changes imported from coreutils.
124613         * lib/hard-locale.c: Assume <locale.h> exists.
124614         Include "strdup.h".
124615         (GLIBC_VERSION): New macro.
124616         (hard_locale): Assume setlocale exists.
124617         Rewrite to avoid #ifdef.
124618         Use strdup rather than malloc + strcpy.
124619         * lib/human.c: Assume <locale.h> exists.
124620         (human_readable): Assume localeconv exists.
124622 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
124624         * modules/hard-locale (Depends-on): Add strdup.
124626 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
124628         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
124629         convert T2, not T.  (Imported from libc.)
124631 2004-11-30  Simon Josefsson  <jas@extundo.com>
124633         * modules/restrict (License): Change to LGPL.
124635 2004-11-30  Simon Josefsson  <jas@extundo.com>
124637         * m4/restrict.m4: Add copyright and copying conditions.
124639 2004-11-30  Simon Josefsson  <jas@extundo.com>
124641         * m4/base64.m4: New file.
124643 2004-11-30  Simon Josefsson  <jas@extundo.com>
124645         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
124646         base64.
124648         * tests/test-base64.c: New file.
124650         * modules/base64: New file.
124652 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
124654         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
124655         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
124657         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
124659 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
124661         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
124662         (__getcwd.c): Don't restore errno; glibc doesn't.
124663         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
124664         first, falling back to our code only if its results look suspicious.
124665         Ensure that the resulting buffer is only as large as necessary.
124667         * lib/readutmp.c: Include readutmp.h first.
124668         Include <errno.h>, since readutmp.h no longer does that.
124669         * lib/readutmp.h: Don't include <errno.h>,
124670         <sys/param.h>, <time.h>; not needed to establish interface.
124671         (errno): Remove decl.
124672         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
124673         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
124674         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
124676 2004-11-28  Simon Josefsson  <jas@extundo.com>
124678         * lib/base64.h, base64.c: New file.
124680 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
124682         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
124684 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
124686         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
124687         (Depends-on): Remove pathmax, same.  Add mempcpy.
124688         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
124689         (Makefile.am): Append getcwd.h to lib_SOURCES.
124690         (Include): Add getcwd.h.
124691         (Maintainer): Change from Jim Meyering to "all, glibc",
124692         since getdate now uses intended-for-glibc code.
124693         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
124694         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
124696 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
124698         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
124699         HP's ANSI C compiler.
124700         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
124701         Declaring int functions causes warnings on some modern systems and
124702         shouldn't be needed to compile on ancient ones.
124703         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
124704         defined.
124706         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
124707         with the following changes.
124708         (__set_errno): Parenthesize properly.
124709         Include <stdbool.h>.
124710         (MIN, MAX, MATCHING_INO): New macros.
124711         (__getcwd): Define with prototype, not K&R form.
124712         Use heuristics to allocate default buffer on stack if possible.
124713         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
124714         behavior, and to avoid the PATH_MAX limit when computing
124715         ../../../../...
124716         Use MATCHING_INO to compare inode number to file.
124717         Check for arithmetic overflow in size calculations.
124718         Fix bug in reallocation of dot array that caused getcwd to fail
124719         on directories nested deeper than 75.
124720         Be more careful about saving errno on error.
124721         Do not use realloc; use only free+malloc, as this is a bit
124722         more flexible and avoids a needless copy operation.
124723         Do not inspect st_dev and st_ino for symbolic links; POSIX
124724         doesn't specify the latter.
124725         Check for closedir errors.
124726         Avoid needless casts.
124727         Use "#ifdef weak_alias" around weak_alias, to be like other
124728         glibc code.
124729         The following changes to getcwd.c have effect only when used in
124730         gnulib; they have no effect inside glibc proper.
124731         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
124732         as alloca isn't used.
124733         (alloca, __alloca): Likewise.
124734         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
124735         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
124736         unconditionally, as gnulib assumes C89 or better.
124737         Do not include <sys/param.h>.
124738         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
124739         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
124740         better.
124741         (NULL) [!defined NULL]: Remove; we assume C89 or better.
124742         Include <dirent.h> in a way that is compatible with modern Autoconf.
124743         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
124744         New macros, if not already defined.
124745         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
124746         Use "_LIBC", not "defined _LIBC", for consistency.
124747         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
124748         a mempcpy module.
124749         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
124750         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
124751         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
124752         credit only to Jim Meyering and adjust the copyright dates.
124753         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
124754         <stdlib.h>, <unistd.h>, "pathmax.h".
124755         Instead, include "xgetcwd.h" (first) and "getcwd.h".
124756         (INITIAL_BUFFER_SIZE): Remove.
124757         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
124759 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
124761         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
124762         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
124763         Use the _ONCE methods, for efficiency.
124764         Check for fcntl.h.  In test program, include <errno.h>
124765         and <fcntl.h> if available.  Remove old K&R cruft from
124766         test program.  Check for common errors in GNU/Linux,
124767         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
124768         don't do AC_LIBOBJ, as that's getcwd.m4's job.
124769         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
124770         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
124771         name accordingly.
124772         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
124773         accommodate new getcwd.c.
124774         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
124775         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
124776         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
124777         that's all we need now.
124779 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
124781         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
124782         argp-parse.c depends on getopt internals, that means we should
124783         always use our getopt, to be on the safe side.
124784         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
124785         order not to spoil the result of an eventual previous invocation
124786         of gl_GETOPT_SUBSTITUTE.
124788 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
124790         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
124791         redefinition warnings. To avoid them, include the defines
124792         in `#if !defined __need_getopt ... #endif'. The only place
124793         where __getopt_argv_const is used is in definitions
124794         of getopt_long and getopt_long_only below, which are as well
124795         protected by `#ifndef __need_getopt'.
124796         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
124797         __need_getopt after including <stdio.h> and <unistd.h> These
124798         headers might have defined it.
124800 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
124802         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
124804 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
124806         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
124807         (futimens): New function, which uses futimes if available.
124808         (futimens, utimens): Support timespec==NULL, with same semantics
124809         as utime and utimens.
124810         * lib/utimens.h (futimens): New decl.
124812 2004-11-23  Jim Meyering  <jim@meyering.net>
124814         * lib/getopt_.h: Remove trailing blanks.
124816 2004-11-23  Jim Meyering  <jim@meyering.net>
124818         * lib/__fpending.c: Add comment.
124820 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
124822         * modules/canonicalize (Depends-on): Add xreadlink.
124823         Problem reported by James Youngman.
124825 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
124827         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
124828         New macros.
124829         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
124830         optopt): Use them instead of invoking ## directly; otherwise, the
124831         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
124833 2004-11-19  Bruno Haible  <bruno@clisp.org>
124835         * lib/strtok_r.c: Move comments from here...
124836         * lib/strtok_r.h: ... to here.
124838 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
124840         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
124841         implementations that mishandle size_t overflow.
124843 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
124845         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
124846         might fail.  Problem reported by Yoann Vandoorselaere.
124847         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
124848         implementations that mishandle size_t overflow.
124850 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
124852         * modules/canon-host (Depends-on): Add strdup.
124854 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
124856         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
124858 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
124860         * lib/canon-host.c: Include "strdup.h".
124861         (canon_host): Use getaddrinfo if available, so that IPv6 works.
124862         Use strdup instead of malloc/strcpy to duplicate strings.
124864         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
124865         (human_space_before_unit): New constant.
124866         * lib/human.c (human_readable): Support it.
124868         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
124869         (xgetcwd): Set errno correctly when failing.
124870         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
124871         the failure is actually due to a PATH_MAX problem.
124873         Further getopt changes to make it more likely that glibc will
124874         buy the changes back.
124875         * lib/getopt.c (POSIXLY_CORRECT): New constant.
124876         (getopt): Use it, so to preserve glibc semantic
124877         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
124878         when compiling for libc.
124879         * lib/getopt_.h (__getopt_argv_const): Bring it back.
124880         (getopt_long, getopt_long_only): Use it.
124882         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
124883         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
124884         (getopt): Argv is now char * const *, as per standard.
124885         (_getopt_internal_r, _getopt_internal): Argv is now char **,
124886         not char *__getopt_argv_const *.
124887         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
124888         _getopt_long_only_r): Likewise.
124889         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
124890         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
124891         _getopt_long_r, _getopt_long_only_r): Likewise.
124892         * lib/getopt_.h (__getopt_argv_const): Remove.
124893         (getopt): Argv is now char * const *, as per standard.
124895         * lib/getdate.y (tORDINAL): New token.
124896         (day, relunit): Allow it for relative times.
124897         (relative_time_table): Use tORDINAL for ordinals.
124899 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
124901         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
124902         Document that "second" isn't allowed as an ordinal number.
124904 2004-11-16  Jim Meyering  <jim@meyering.net>
124906         * modules/closeout (Depends-on): Add fpending.
124908 2004-11-15  Jim Meyering  <jim@meyering.net>
124910         * lib/closeout.c: Include "__fpending.h" once again.
124911         Include <stdbool.h>.
124912         (close_stdout): Don't fail just because stdout was closed initially,
124913         since some programs don't write to stdout in the normal course of
124914         operation (other than --version and --help), and we don't want this
124915         function to make e.g. `touch file >&-' fail.
124916         But do fail if it was closed and someone has tried to write to it.
124917         E.g., `printf foo >&-' must fail.
124919 2004-11-13  Jim Meyering  <jim@meyering.net>
124921         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
124923 2004-11-12  Simon Josefsson  <jas@extundo.com>
124925         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
124926         small doc fix is still pending.
124928 2004-11-11  Simon Josefsson  <jas@extundo.com>
124930         * modules/strtok_r: New file.
124932         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
124933         strtok_r.
124935 2004-11-11  Simon Josefsson  <jas@extundo.com>
124937         * m4/strtok_r.m4: New file.
124939         * m4/getopt.m4: Replace opterr.
124941 2004-11-11  Simon Josefsson  <jas@extundo.com>
124943         * lib/strtok_r.h, strtok_r.c: New file.
124945 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
124947         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
124948         of replacing opterr, getopt, etc.  This should handle the
124949         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
124951 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
124953         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
124954         we can stop lying to compilers about the constness of argv when we
124955         are compiled outside glibc.
124956         (getopt, getopt_long, getopt_long_only): Use it.
124957         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
124958         _getopt_internal, getopt): Likewise.
124959         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
124960         _getopt_long_only_r): Likewise.
124961         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
124962         _getopt_long_r, _getopt_long_only_r): Likewise.
124964         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
124965         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
124966         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
124967         the other external symbols.
124968         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
124969         declaration, since the above renaming now works around collisions.
124971 2004-11-11  Jim Meyering  <jim@meyering.net>
124973         * lib/linebreak.c: Remove trailing blanks.
124974         * lib/alloca_.h: Likewise.
124975         * lib/acosl.c: Likewise.
124976         * lib/euidaccess.c: Likewise.
124977         * lib/allocsa.h: Likewise.
124979 2004-11-10  Simon Josefsson  <jas@extundo.com>
124981         * m4/getaddrinfo.m4: New file.
124983 2004-11-10  Simon Josefsson  <jas@extundo.com>
124985         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
124987 2004-11-10  Simon Josefsson  <jas@extundo.com>
124989         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
124990         getaddrinfo.
124992         * modules/getaddrinfo: New file.
124994 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
124996         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
124998 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
125000         * lib/mktime.c (SHR): New macro, which is a portable
125001         substitute for >> that should work even on Crays.
125002         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
125003         Problem reported by Mark D. Baushke in
125004         <http://lists.gnu.org/r/bug-gnulib/2004-11/msg00071.html>.
125005         * lib/getdate.y (SHR): Likewise.
125006         (tm_diff): Use it.
125007         * lib/strftime.c (SHR): Likewise.
125008         (tm_diff): Use it.
125009         * lib/quotearg.c (struct quoting_options): Use unsigned int for
125010         quote_these_too, so that right shifts are well defined.  All uses
125011         changed.
125013 2004-11-10  Jim Meyering  <jim@meyering.net>
125015         Ensure that no close failure goes unreported.
125016         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
125017         return early when it seems there's nothing to flush.
125018         Don't include __fpending.h.
125020 2004-11-10  Jim Meyering  <jim@meyering.net>
125022         * modules/closeout (Depends-on): Remove fpending.
125024 2004-11-10  Jim Meyering  <jim@meyering.net>
125026         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
125028 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
125030         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
125031         gl_FUNC_STRFTIME.
125032         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
125033         and AC_REQUIRE when possible, to avoid duplicate checks.
125034         Check for <wchar.h>.
125036 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
125038         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
125040 2004-11-09  Bruno Haible  <bruno@clisp.org>
125042         * m4/sockpfaf.m4: New file.
125044 2004-11-05  Bruno Haible  <bruno@clisp.org>
125046         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
125047         Reported by Mark D. Baushke <mdb@cvshome.org>.
125049 2004-11-04  Bruno Haible  <bruno@clisp.org>
125051         2004-09-11  Bruno Haible  <bruno@clisp.org>
125052                 * allocsa.valgrind: New file.
125053         2004-02-06  Bruno Haible  <bruno@clisp.org>
125054                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
125055                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
125056                 Reported by Christopher Seip <chris.seip@hp.com>.
125058 2004-11-04  Bruno Haible  <bruno@clisp.org>
125060         * modules/allocsa (Files): Add lib/allocsa.valgrind.
125061         (Makefile.am): Distribute it.
125063 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
125065         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
125066         with errno == ERANGE if the buffer is too small.
125067         Problem reported by Mark D. Baushke.
125069 2004-11-03  Albert Chin  <china@thewrittenword.com>
125070             Paul Eggert  <eggert@cs.ucla.edu>
125072         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
125073         equivalent, substitute $ac_type for equivalent type rather than
125074         blindly using uint32_t *always* which won't work if uint32_t is not
125075         available.  Define _UINT32_T to work around typedef of uint32_t if
125076         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
125077         2.5.1.
125079 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
125081         * m4/jm-macros.m4: Sync from coreutils.
125082         (gl_MACROS): Check for mbrlen, for pathchk.
125083         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
125085 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
125087         * lib/xreadlink.c (MAXSIZE): New macro.
125088         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
125089         size does not exceed MAXSIZE.  Avoid cast.
125090         As suggested by Mark D. Baushke in
125091         <http://lists.gnu.org/r/bug-gnulib/2004-11/msg00009.html>,
125092         if readlink fails with buffer size just under MAXSIZE, try again
125093         with MAXSIZE.
125095 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
125097         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
125099 2004-11-02  Derek R. Price  <derek@ximbiot.com>
125100         and  Paul Eggert  <eggert@cs.ucla.edu>
125102         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
125103         (get_date): Overparenthesize to avoid GCC warning.
125105 2004-11-02  Bruno Haible  <bruno@clisp.org>
125107         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
125108         returns void.
125110 2004-11-02  Bruno Haible  <bruno@clisp.org>
125112         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
125113         function returns void.
125115 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
125117         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
125118         fflush_unlocked, flockfile, funlockfile, funlockfile,
125119         fputs_unlocked, putc_unlocked.
125121 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
125123         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
125124         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
125125         already declared.
125127 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
125129         * modules/getdate (Files): Add doc/getdate.texi.
125130         (Depends-on): Add setenv, xalloc.
125132 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
125134         * lib/getdate.y: Add support for TZ="foo" within a date string.
125135         Fix some bugs near time_t boundaries.  Reject dates with
125136         out-of-range components, e.g., "Sept 31".
125137         Include <stdlib.h>, "setenv.h", "xalloc.h".
125138         (ISDIGIT_LOCALE): Remove; unused.
125139         Note that the TZ and time functions used here are not reentrant.
125140         (mktime_ok, get_tz): New functions.
125141         (TZBUFSIZE): New constant.
125142         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
125143         This requires that we sometimes generate our own TZ="XXX..." setting.
125145 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
125147         * doc/getdate.texi: New file, from coreutils with modifications for
125148         the new TZ parsing.
125150 2004-10-27  Derek R. Price  <derek@ximbiot.com>
125152         * lib/mktime.c (not_equal_tm): Remove redundant check.
125154 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
125156         * modules/regex (lib_SOURCES): Add regex.c.
125157         Reported by James Youngman in
125158         <http://lists.gnu.org/r/bug-gnulib/2004-10/msg00199.html>.
125160 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
125162         * lib/getdate.y: Use Bison 1.875 features, and some minor
125163         code cleanups.  This change does not affect semantics.
125164         Don't include <stdlib.h>; no longer needed.
125165         Don't include unlocked-io.h; only the "#if TEST" code uses
125166         stdio, and performance isn't crucial there.
125167         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
125168         Bison 1.875 features as described below.
125169         All uses of "PC." replaced by "pc->".
125170         (YYSTYPE): Add a forward declaration.
125171         (yylex, yyerror): Use full prototypes in forward decls.
125172         Use "%pure-parser" rather than obsolescent "%pure_parser".
125173         Use %parse-param and %lex-param instead of obsolescent
125174         YYPARSE_PARAM and YYLEX_PARAM.
125175         (meridian_table, month_and_day_table, time_units_table,
125176         relative_time_table, time_zone_table, military_table,
125177         lookup_zone, lookup_word, get_date):
125178         Use NULL instead of 0 where appropriate.
125179         (to_hour): Avoid abort (), to avoid a dependency on
125180         stdlib.h.
125181         (yyerror, yylex): Now accepts parser_control * arg.
125182         (main) [TEST]: Use '\0' rather than 0 for char.
125184 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
125186         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
125188 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
125190         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
125191         It's now the caller's responsibility to handle the case where
125192         !HAVE_GETPAGESIZE && !defined getpagesize.
125194         * lib/mktime.c (leapyear): Arg is long int, not int.
125196 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
125198         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
125200 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
125202         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
125203         missing.  Problem reported by James Youngman.
125205 2004-10-16  Simon Josefsson  <jas@extundo.com>
125207         * gnulib-tool: Fix comments.  Fix parse problem.
125208         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
125210 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
125212         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
125213         implementation of getopt_long.  Problem reported by Alexander Taler in:
125214         http://lists.gnu.org/r/bug-gnulib/2004-10/msg00103.html
125216 2004-10-15  Bruno Haible  <bruno@clisp.org>
125218         * gnulib-tool: Untabify. Initialize supplied_libname.
125219         (func_usage): More homogenous output.
125220         (func_modules_transitive_closure, func_modules_to_filelist,
125221         func_emit_lib_Makefile_am): New functions.
125222         (func_import): New function, extracted from big case statement. Use
125223         func_get_license, func_modules_transitive_closure,
125224         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
125225         opt_lgpl. Don't use test -a, as it's not portable.
125226         (func_create_testdir): Use func_modules_transitive_closure,
125227         func_modules_to_filelist, func_emit_lib_Makefile_am.
125229 2004-10-15  Bruno Haible  <bruno@clisp.org>
125231         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
125233 2004-10-15  Bruno Haible  <bruno@clisp.org>
125235         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
125236         the portions belonging to each module.
125237         Suggested by Derek Robert Price <derek@ximbiot.com>.
125239 2004-10-12  Simon Josefsson  <jas@extundo.com>
125241         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
125242         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
125243         to real functions.
125245 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
125247         * modules/vsnprintf: New file.
125249 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
125251         * m4/vsnprintf.m4: New file.
125253 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
125255         * lib/vsnprintf.h: New file.
125256         * lib/vsnprintf.c: New file.
125258 2004-10-11  Bruno Haible  <bruno@clisp.org>
125260         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
125261         vsnprintf.
125263 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
125265         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
125267 2004-10-07  Bruno Haible  <bruno@clisp.org>
125269         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
125270         fits into the provided buffer.
125272 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
125274         * lib/diacrit.c, diacrit.h: Add GPL notice.
125276         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
125277         notice.
125278         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
125279         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
125280         This avoids a potential constant-folding bug.
125282 2004-10-05  Bruno Haible  <bruno@clisp.org>
125284         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
125285         for the declaration of strsep.
125287 2004-10-05  Bruno Haible  <bruno@clisp.org>
125289         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
125291 2004-10-04  Simon Josefsson  <jas@extundo.com>
125293         * modules/memmem: New file.
125294         * tests/test-memmem.c: New file.
125295         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
125297 2004-10-04  Simon Josefsson  <jas@extundo.com>
125299         * m4/memmem.m4: New file.
125301 2004-10-04  Simon Josefsson  <jas@extundo.com>
125303         * lib/memmem.h: New file.
125304         * lib/memmem.c: New file, taken from glibc.
125306 2004-10-04  Simon Josefsson  <jas@extundo.com>
125308         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
125309         '#ifdef USE_UNLOCKED_IO'.
125311 2004-10-04  Simon Josefsson  <jas@extundo.com>
125313         * config/srclist.txt: Add memmem from glibc.
125315 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
125317         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
125319         * modules/argmatch, modules/argp, modules/closeout, modules/error,
125320         modules/exclude, modules/getdate, modules/getline,
125321         modules/getndelim2, modules/getpass, modules/getpass-gnu,
125322         modules/getusershell, modules/linebuffer, modules/md5,
125323         modules/mountlist, modules/posixtm, modules/readtokens,
125324         modules/readutmp, modules/regex, modules/sha1,
125325         modules/version-etc, modules/yesno:
125326         Remove dependency on unlocked-io.
125328 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
125330         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
125332         * m4/unlocked-io.m4: Add copyright notice.
125333         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
125335 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
125337         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
125338         * lib/xmalloc.c (xmemdup): Likewise.
125339         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
125340         XFREE): Remove these long-obsolescent macros.
125341         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
125342         * lib/xstrdup.c: Remove.
125344         * lib/regex.c (re_comp): Cast gettext return value to char *,
125345         Problem reported by Martin Neitzel via Mark D. Baushke.
125347 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
125349         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
125350         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
125351         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
125352         regex.c, sha1.c, version-etc.c, yesno.c:
125353         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
125354         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
125355         the includer's responsibility.
125357         Sync from coreutils.
125359         * lib/modechange.c (mode_compile): Don't decrement a pointer that
125360         points to the start of a string, as the C Standard says the
125361         resulting behavior is undefined.
125363         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
125364         simple -> simple_backups, numbered_existing ->
125365         numbered_existing_backups, numbered -> numbered_backups
125366         to avoid shadowing problems.  All uses changed.
125367         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
125368         * lib/backupfile.c (check_extension, numbered_backup):
125369         Rename locals to avoid shadowing 'basename'.
125370         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
125371         once.
125373         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
125374         * lib/.cvsignore: Add getopt.h.
125376 2004-10-04  Bruno Haible  <bruno@clisp.org>
125378         * modules/README: New file.
125379         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
125380         not a module.
125382 2004-10-02  Jim Meyering  <jim@meyering.net>
125384         * lib/dirfd.h, getpagesize.h: Add copyright notice.
125386 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
125388         * modules/strsep: New file.
125390 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
125392         * m4/strsep.m4: New file.
125394 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
125396         * lib/strsep.h: New file.
125397         * lib/strsep.c: New file.
125399 2004-10-01  Simon Josefsson  <jas@extundo.com>
125401         * lib/snprintf.c (snprintf): Handle size==0.
125403 2004-10-01  Simon Josefsson  <jas@extundo.com>
125404             Bruno Haible  <bruno@clisp.org>
125406         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
125407         (snprintf): Declare 'args'.
125409 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
125411         * lib/snprintf.c: Remove comments as to why each header is needed.
125413 2004-10-01  Bruno Haible  <bruno@clisp.org>
125415         * MODULES.html.sh: Add strsep.
125417 2004-09-30  Simon Josefsson  <jas@extundo.com>
125419         * modules/snprintf: New file.
125421 2004-09-30  Simon Josefsson  <jas@extundo.com>
125423         * m4/snprintf.m4: New file.
125425 2004-09-30  Simon Josefsson  <jas@extundo.com>
125427         * lib/snprintf.h, lib/snprintf.c: New files.
125429 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
125431         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
125432         (hol_entry_help): Never translate an empty string.
125433         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
125434         * lib/argp.h (OPTION_NO_TRANS): New option.
125436 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
125438         * modules/argp (Maintainer): Replace Simon Josefsson
125439         by Sergey Poznyakoff.
125441 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
125443         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
125444         changes merged back into glibc.
125446 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
125448         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
125450 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
125452         * lib/xvasprintf.c: Include xalloc.h.
125453         (xvasprintf): Use xalloc_die, not xmalloc_die.
125455 2004-09-29  Bruno Haible  <bruno@clisp.org>
125457         * modules/alloca-opt: New file, derived from modules/alloca.
125458         * modules/allocsa: Depend on alloca-opt instead of alloca.
125459         * modules/setenv: Likewise.
125460         * modules/vasnprintf: Likewise.
125461         * MODULES.html.sh: Add alloca-opt.
125463 2004-09-28  Simon Josefsson  <jas@extundo.com>
125465         * gnulib-tool: New parameter --lgpl, to asseert that modules are
125466         LGPL, and to replace license template from GPL to LGPL.
125468 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
125470         * modules/dummy: Change license to LGPL.
125472 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
125474         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
125476 2004-09-24  Simon Josefsson  <jas@extundo.com>
125478         * modules/minmax (License): Change from GPL to LGPL.
125480 2004-09-23  Simon Josefsson  <jas@extundo.com>
125482         * gnulib-tool (--import): Typo.
125484 2004-09-23  Simon Josefsson  <jas@extundo.com>
125486         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
125488 2004-09-22  Bruno Haible  <bruno@clisp.org>
125490         * modules/*: Add 'License' field.
125491         * gnulib-tool: Accept --extract-license option.
125492         (func_get_license): New function.
125494 2004-09-21  Bruno Haible  <bruno@clisp.org>
125496         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
125497         Reported by Simon Josefsson.
125499 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
125501         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
125502         gl_AC_TYPE_LONG_LONG.
125504 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
125506         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
125508 2004-09-18  Simon Josefsson  <jas@extundo.com>
125509         and  Paul Eggert  <eggert@cs.ucla.edu>
125511         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
125512         calls with autoreconf.  Define GL_LIB.
125514 2004-09-14  Karl Berry  <karl@gnu.org>
125516         * config/srclist.txt: unsync setenv.c, sigh.
125518 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
125520         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
125521         Problem reported by Bruno Haible in:
125522         http://lists.gnu.org/r/bug-tar/2004-09/msg00023.html
125524 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
125526         * config/srclist.txt: Comment out argp-pvh.c.
125528 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
125530         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
125531         in case some system header has #define'd it.  Problem reported by
125532         Soeren D. Schulze in
125533         <http://lists.gnu.org/r/bug-gnulib/2004-09/msg00017.html>.
125535 2004-09-09  Karl Berry  <karl@gnu.org>
125537         * regex.[ch]: delete from the root.  These were supposed to be
125538                 synced with emacs cvs, but this has not happened for about
125539                 a year, and anyway nothing else uses emacs regex.[ch].
125540                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
125541                 lib/regex[.ch] is untouched.
125543 2004-09-09  Bruno Haible  <bruno@clisp.org>
125545         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
125547 2004-09-09  Bruno Haible  <bruno@clisp.org>
125549         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
125550         modifications.
125551         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
125553 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
125555         * modules/xvasprintf: New file.
125556         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
125558 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
125560         * lib/xvasprintf.h: New file.
125561         * lib/xvasprintf.c: New file.
125562         * lib/xasprintf.c: New file.
125564 2004-09-08  Bruno Haible  <bruno@clisp.org>
125566         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
125568 2004-09-08  Bruno Haible  <bruno@clisp.org>
125570         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
125571         length is > INT_MAX.
125572         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
125573         more.
125575 2004-09-08  Bruno Haible  <bruno@clisp.org>
125577         * lib/stdint_.h: New file, taken from GNU clisp.
125579 2004-09-08  Bruno Haible  <bruno@clisp.org>
125580             Oskar Liljeblad  <oskar@osk.mine.nu>
125582         * modules/stdint: New file.
125583         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
125585 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
125587         Import from coreutils.
125588         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
125589         strings on unbounded length.  alloca's performance benefits aren't
125590         that important here.
125591         (V_STRDUP): Remove.
125592         (parse_with_separator): New function, with most of the internals
125593         of the old parse_user_spec.  Allow user to omit both user and group,
125594         for compatibility with FreeBSD.
125595         Clone only the user name, not the entire spec.
125596         Do not set *uid, *gid unless entirely successful.
125597         Avoid memory leak in some failing cases.
125598         Fix regression for USER.GROUP reported by Dmitry V. Levin in
125599         <http://lists.gnu.org/r/bug-coreutils/2004-08/msg00102.html>
125600         (parse_user_spec): Rewrite to use parse_with_separator.
125602 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
125604         * modules/userspec: Don't depend on alloca.
125606 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
125608         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
125610 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
125612         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
125613         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
125614         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
125616 2004-08-16  Simon Josefsson  <jas@extundo.com>
125618         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
125619         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
125620         Add --dry-run for --import.
125621         Let user provided command line parameters override configure.ac
125622         settings.
125624 2004-08-12  Simon Josefsson  <jas@extundo.com>
125626         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
125627         as discussed with Paul Eggert in threads rooted at
125628         <http://lists.gnu.org/r/bug-gnulib/2004-06/msg00039.html>
125629         and
125630         <http://lists.gnu.org/r/bug-gnulib/2004-07/msg00001.html>.
125631         Before, the test was empty, and relied on ELIDE_CODE in source
125632         code.)
125633         (gl_PREREQ_GETOPT): New macro.
125634         (gl_GETOPT): Use them.
125636 2004-08-12  Simon Josefsson  <jas@extundo.com>
125638         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
125639         * lib/getopt_.h: Renamed from getopt.h.
125641 2004-08-12  Simon Josefsson  <jas@extundo.com>
125643         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
125644         Change default library name from libfoo to libgnu.
125645         Now, if you have a configure.ac that says:
125646                 gl_SOURCE_BASE(gl)
125647                 gl_M4_BASE(gl/m4)
125648                 gl_MODULES(error getopt etcetera)
125649                 gl_INIT
125650         you can import all you need by running:
125651                 ../gnulib/gnulib-tool --import
125653         * modules/getopt (Files): Rename getopt.h to getopt_.h.
125654         (Makefile.am): Rewrite, use logic from argz.
125655         (Include): Use <getopt.h> instead of "getopt.h".
125657 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
125659         * modules/argp (Files): Add m4/unlocked-io.m4.
125660         (Depends-on): Add extensions.
125662 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
125664         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
125665         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
125666         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
125667         Check for program_invocation_name, program_invocation_short_name,
125668         flockfile, funlockfile, features.h, _getopt_long_only_r.
125670 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
125672         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
125673         its complicated substitute.
125674         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
125675         and program_invocation_name.
125676         (__argp_basename) [!_LIBC]: Remove; the only use was
125677         replaced by its body.
125678         (__argp_short_program_name): Change condition from
125679         !defined __argp_short_program_name to
125680         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
125681         to match argp-namefrob.h.
125682         (__argp_failure): Don't assume strerror_r returns char *.
125683         * lib/argp-parse.c (N_): Define unconditionally.
125684         (argp_default_options): Fill out initializers with 0 to avoid
125685         gcc warnings.
125687 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
125689         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
125690         getopt1.c.
125692 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
125694         Merge from coreutils.
125696         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
125698         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
125699         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
125701 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
125703         Merge from coreutils.
125705         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
125706         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
125707         for Reliant Unix 5.43.
125709         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
125710         (union fooround): Use uintmax_t, not long int.
125711         The rest is a merge from libc:
125712         [defined _LIBC]: Include <shlib-compat.h>.
125713         (_obstack) [defined _LIBC]: Remove after 2.3.4.
125715         * lib/settime.c (settime): Recode to avoid warning with
125716         Sun Forte C 6U2.
125718         * lib/strverscmp.c: Convert to UTF-8.
125720 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
125722         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
125723         m4/uintmax_t.m4.
125725 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
125727         * modules/xalloc-die: New file.
125728         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
125730         * modules/md5 (Files): Add m4/uint32_t.m4.
125731         * modules/sha1: Renamed from modules/sha.
125732         (Files):
125733         Rename lib/sha.h to lib/sha1.h.
125734         Rename lib/sha.c to lib/sha1.c.
125735         Rename m4/sha.m4 to m4/sha1.m4.
125736         (lib_SOURCES): Likewise.
125737         (configure.ac): Rename gl_SHA to gl_SHA1.
125738         (Include): sha.h -> sha1.h.
125740 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
125742         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
125743         * m4/sha1.m4: Renamed from sha.m4.
125744         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
125746 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
125748         * lib/obstack.h (obstack_empty_p):
125749         Don't assume that chunk->contents is suitably aligned.
125750         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
125751         Likewise. Problem reported by Benno in
125752         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
125754         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
125755         readable.  This could be improved further but it'd take some work.
125757 2004-08-08  Simon Josefsson  <jas@extundo.com>
125759         * modules/xgethostname (Depends-on): Remove exit and error (not
125760         used).
125762         * modules/getpass-gnu: Add getpass.h.
125763         (Depends-on): Add stdbool.
125764         * modules/getpass: Add getpass.h.
125766 2004-08-08  Simon Josefsson  <jas@extundo.com>
125768         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
125769         Check getpass declaration.
125771 2004-08-08  Simon Josefsson  <jas@extundo.com>
125773         * lib/xgethostname.c: Don't include error.h (not used).
125775         * lib/getpass.h: Add.
125776         * lib/getpass.c: Include getpass.h first.
125778 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
125780         * lib/xalloc-die.c: New file.
125781         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
125782         All uses removed.
125783         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
125784         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
125785         xalloc-die.c.
125786         (_, N_, xalloc_die): Move to xalloc-die.c.
125787         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
125788         so that we needn't mess with xalloc_msg_memory_exhausted.
125790         * lib/sha1.h: Renamed from sha.h.
125791         (SHA1_H): Renamed from _SHA_H.
125792         (sha1_ctx): Renamed from sha_ctx.
125793         (sha1_init_ctx): Renamed from sha_init_ctx.
125794         (sha1_process_block): Renamed from sha_process_block.
125795         (sha1_process_bytes): Renamed from sha_process_bytes.
125796         (sha1_finish_ctx): Renamed from sha_finish_ctx.
125797         (sha1_read_ctx): Renamed from sha_read_ctx.
125798         (sha1_stream): Renamed from sha_stream.
125799         (sha1_buffer): Renamed from sha_buffer.
125800         * lib/sha1.c: Likewise; renamed from sha.c.
125801         Do not include <sys/types.h>.
125802         Include <stddef.h> rather than <stdlib.h>.
125804 2004-08-08  Bruno Haible  <bruno@clisp.org>
125806         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
125807         FILESYSTEM_PREFIX_LEN.
125808         * lib/progreloc.c: Likewise.
125809         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
125811 2004-08-06  Simon Josefsson  <jas@extundo.com>
125813         * modules/progname (Depends-on): Don't depend on stdbool.
125815 2004-08-06  Simon Josefsson  <jas@extundo.com>
125817         * modules/getsubopt: New file.
125818         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
125819         getsubopt.
125821 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
125823         More merge from coreutils.
125825         * m4/utimens.m4, m4/utimecmp.m4: New files.
125826         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
125827         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
125828         prereq.m4, sha.m4: Import changes from coreutils.
125830 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
125832         More merge from coreutils.
125833         * modules/raise, modules/readtokens0, modules/utimens:
125834         * modules/utimecmp, module/xnanosleep: New files.
125835         * modules/strftime: Add lib/strftime.h.
125836         Change include from <time.h> to "strftime.h".
125837         * modules/yesno: Add lib/yesno.h.
125838         * modules/backupfile: Remove lib/addext.c.
125839         * modules/euidaccess: Add stat-macros.h.
125840         * modules/canonicalize, modules/euidaccess,
125841         modules/filemode, modules/lchown, modules/makepath,
125842         modules/rmdir, modules/stat: Likewise.
125844 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
125846         Merge from tar.
125847         * lib/argp-help.c (make_hol, hol_append): Don't assume that
125848         SIZE_MAX is a valid preprocessor constant.
125849         (__argp_basename): Change from "#ifndef _LIBC"
125850         to "#ifndef __argp_short_program_name", so that
125851         we don't compile these functions for tar.
125853         More merges from coreutils.
125854         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
125855         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
125856         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
125857         * lib/addext.c: Remove; no longer needed.
125858         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
125859         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
125860         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
125861         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
125862         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
125863         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
125864         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
125865         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
125866         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
125867         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
125868         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
125869         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
125870         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
125871         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
125872         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
125873         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
125874         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
125875         Import changes from coreutils.
125877 2004-08-05  Simon Josefsson  <jas@extundo.com>
125879         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
125881 2004-08-05  Simon Josefsson  <jas@extundo.com>
125883         * m4/getsubopt.m4: New file.
125885 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
125887         Merge from coreutils.
125889         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
125890         * m4/getcwd-path-max.m4: New files.
125892         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
125893         FILESYSTEM_PREFIX_LEN ->
125894         FILE_SYSTEM_PREFIX_LEN.
125895         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
125896         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
125897         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
125898         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
125900         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
125901         prerequisite modules now handle the DOS stuff.
125902         Don't check for unistd.h.
125904 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
125906         Merge from coreutils.
125908         * lib/.gdb-history: Remove; this doesn't belong here.
125910         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
125911         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
125912         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
125913         * lib/getcwd.c: New files.
125915         * lib/dirname.h: Include <stdbool.h>.
125916         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
125917         for consistency with POSIX terminology.  All uses changed.
125918         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
125919         (strip_trailing_slashes): Use bool for booleans.
125920         * lib/stripslash.c (strip_trailing_slashes): Likewise.
125922         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
125923         sometimes returns a positive errno value even when it succeeds.
125924         (print_errno_message) [!LIBC]: Fall back on strerror if
125925         __strerror_r fails.
125927         * lib/path-concat.c (mempcpy): Don't define if a system header defines
125928         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
125929         (longest_relative_suffix): New function.
125930         (path_concat): Use it.  Assume first argument is not NULL.
125931         Port to DOS.  Omit redundant separators.
125932         Report an error instead of returning NULL.
125933         Use mempcpy instead of memcpy.
125934         (xpath_concat): Remove: not declared or used.
125936         * lib/same.h: Include <stdbool.h>
125937         (same_name): Return bool, not int.
125938         * lib/same.c (same_name): Likewise.
125939         (errno): Don't declare; we assume C89 or better now.
125941         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
125942         if not already defined.
125944         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
125945         * lib/dup-safer.c (errno): Likewise.
125947 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
125949         Merge from coreutils.
125950         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
125951         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
125952         * modules/path-concat: Don't depend on strdup.
125954 2004-08-03  Simon Josefsson  <jas@extundo.com>
125956         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
125957         * lib/progname.h: Don't include stdbool.h.
125959 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
125961         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
125962         * MODULES.html.sh (func_all_modules): Remove fatal.
125964 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
125966         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
125968 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
125970         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
125971         working.
125973 2004-08-02  Simon Josefsson  <jas@extundo.com>
125975         * lib/getsubopt.h: New file, with comments from Bruno Haible.
125976         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
125977         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
125979 2004-08-01  Simon Josefsson  <jas@extundo.com>
125981         * lib/xgetdomainname.c: Include stdlib.h, for free().
125983 2004-07-19  Bruno Haible  <bruno@clisp.org>
125985         * MODULES.html.sh (func_all_modules): Add dummy.
125987 2004-07-16  Simon Josefsson  <jas@extundo.com>
125989         * modules/dummy: New file.
125991 2004-07-16  Simon Josefsson  <jas@extundo.com>
125993         * lib/dummy.c: New file.
125995 2004-07-16  Bruno Haible  <bruno@clisp.org>
125997         * lib/backupfile.h: Add extern "C" for C++.
125998         * lib/closeout.h: Likewise.
125999         * lib/copy-file.h: Likewise.
126000         * lib/findprog.h: Likewise.
126001         * lib/full-write.h: Likewise.
126002         * lib/pathname.h: Likewise.
126003         * lib/progname.h: Likewise.
126004         * lib/stpcpy.h: Likewise.
126005         * lib/stpncpy.h: Likewise.
126006         * lib/strcase.h: Likewise.
126007         * lib/strstr.h: Likewise.
126008         * lib/xalloc.h: Likewise.
126010         * lib/mbswidth.h: Add extern "C" for C++.
126011         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
126013 2004-07-13  Robert Millan  <robertmh@gnu.org>
126015         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
126017 2004-07-09  Simon Josefsson  <jas@extundo.com>
126019         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
126020         failed without this.)
126022 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
126024         * modules/chown (Files): Add lib/fchown-stub.c, since
126025         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
126027 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
126029         * lib/fchown-stub.c: New file.
126031 2004-06-24  Jim Meyering  <jim@meyering.net>
126033         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
126035 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
126037         * modules/argz: Omit "#include".
126039         * MODULES.html.sh (func_all_modules): Add calloc, to match
126040         2004-06-01 addition of calloc module.
126042 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
126044         * m4/argz.m4: New file, which is autoupdated from libtool.
126046 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
126048         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
126049         libtool.
126051 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
126053         * config/srclist-update: Don't insist on "USA." before the
126054         close-comment, as libtool omits the period and puts the */ on a
126055         separate line.
126056         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
126057         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
126059 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
126061         * modules/argz: New file.
126062         * MODULES.html.sh (func_all_modules): Add argz.
126064 2004-06-12  Jim Meyering  <jim@meyering.net>
126065         and  Paul Eggert  <eggert@cs.ucla.edu>
126067         * modules/hash (Files): Add lib/xalloc.h.
126068         * modules/pipe (Depends-on): Add wait-process.
126069         * modules/stat (Depends-on): Add xalloc.
126070         * modules/userspec (Files): Add lib/userspec.h.
126071         * modules/xstrto
126073         Upgrade from gettext-0.13.
126074         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
126075         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
126076         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
126078 2004-06-10  Jim Meyering  <jim@meyering.net>
126080         * lib/calloc.c: New file.
126082 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
126084         * lib/getdate.y (yylex): Allow space between sign and number.
126085         Problem reported by Dan Jacobson.
126087 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
126089         Merge from coreutils CVS.
126091         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
126092         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
126093         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
126094         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
126095         xstrtol.m4: Fix copyright date and/or serial number.
126097         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
126098         See if we need an fchown replacement.
126099         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
126100         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
126101         and use the replacement function if we detect either defect.
126103         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
126104         gl_UTIMECMP.
126106 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
126107         and  Jim Meyering  <jim@meyering.net>
126109         Merge from coreutils CVS.
126111         * lib/stat-macros.h: New file, with contents from file-type.h
126112         and coreutils' system.h.
126113         * lib/file-type.c: Include "stat-macros.h".
126114         * lib/file-type.h (file_type): Move all macro definitions to new file,
126115         stat-macros.h.
126117         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
126118         Wrap old code with this conditional.
126119         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
126120         function that does not dereference symlinks.
126121         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
126123         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
126124         dependency problems.
126125         (xreadlink): Accept new arg SIZE, for efficiency.
126126         All decls and uses changed.
126127         * lib/xreadlink.h: Include <stddef.h>, for size_t.
126129         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
126130         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
126132         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
126133         sysexits.h.
126135 2004-06-01  Jim Meyering  <jim@meyering.net>
126137         * m4/calloc.m4: New file.
126139 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
126141         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
126142         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
126143         Also, fix a typo in a diagnostic.
126145 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
126147         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
126148         or AC_FUNC_REALLOC.
126150 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
126152         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
126153         macros to be defined.
126154         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
126155         the allocator returns NULL because the requested size is zero.
126157 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
126159         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
126160         var.  Add comment explaining why libc still defines it.  This
126161         merges the following patch from glibc:
126162         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
126164 2004-05-20  Andreas Schwab  <schwab@suse.de>
126166         * m4/free.m4: Replace free if it not known to work, not the other
126167         way round.
126169 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
126171         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
126172         present in glibc since revision 1.1 of this file.
126173         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
126174         obstack_alignment_mask, obstack_alloc, obstack_base,
126175         obstack_blank, obstack_blank_fast, obstack_chunk_size,
126176         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
126177         obstack_grow0, obstack_init, obstack_int_grow,
126178         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
126179         obstack_next_free, obstack_object_size, obstack_ptr_grow,
126180         obstack_ptr_grow_fast, obstack_room): Remove declarations of
126181         nonexistent functions.
126183 2004-05-18  Karl Berry  <karl@gnu.org>
126185         * config/srclist.txt: break link for vasnprintf.c.
126187 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
126189         Port obstack to the AS/400, where pointers are 16 bytes wide and
126190         you cannot cast an integer to a valid pointer.  This patch is
126191         currently waiting to be integrated into glibc; see
126192         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
126194         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
126195         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
126196         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
126197         (struct obstack): temp member is now a union of a pointer and
126198         an integer, instead of an integer.  All integer uses changed.
126199         This does not affect the physical layout of struct obstack,
126200         except on hosts (like the AS/400) where the size or alignment of
126201         void * is greater than that of ptrdiff_t.
126202         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
126203         __STDC__)]: Store temporary in pointer member of union, not
126204         integer member.
126205         * lib/obstack.c: Include <stddef.h>, for offsetof.
126206         (struct fooalign): Remove; it doesn't need a name.
126207         (union fooround): Change double to long double, and add void *.
126208         (DEFAULT_ALIGNMENT): Use offsetof to compute.
126209         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
126210         not a macro.  Hence the values are always int; so remove all
126211         casts-to-int in uses.
126213 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
126215         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
126216         we can get this patch merged into glibc.
126218 2004-05-17  Derek R. Price  <derek@ximbiot.com>
126219             Paul Eggert  <eggert@cs.ucla.edu>
126221         * m4/argp: Depend on alloca.
126223 2004-05-17  Derek R. Price  <derek@ximbiot.com>
126224             Paul Eggert  <eggert@cs.ucla.edu>
126226         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
126227         freecoding.
126229 2004-05-17  Bruno Haible  <bruno@clisp.org>
126231         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
126232         precision that consists of a '.' followed by an empty digit string.
126233         Patch by Tor Lillqvist <tml@iki.fi>.
126235 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
126237         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
126238         for backward compatibility with older code.  We need our own
126239         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
126240         it under some other name, and our alloca.h will define it.
126242 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
126243             Derek Price  <derek@ximbiot.com>
126245         * lib/alloca.c: Include <alloca.h>, to get our interface.
126246         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
126247         include <alloca.h> first.  Use C89 prototype for alloca; this
126248         requires including <stddef.h> for size_t.  Use extern "C" if C++.
126249         Use #elif for simplicity, since we can assume C89 now.
126250         Don't try to source the system alloca.h since it will not be found
126251         and to prevent recursively including its replacement.
126252         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
126253         * lib/regex.c: Likewise.
126255 2004-05-16  Derek Price  <derek@ximbiot.com>
126256             Paul Eggert  <eggert@cs.ucla.edu>
126258         getline cleanup.  This changes the getndelim2 API: both order of
126259         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
126260         no delimiter).
126262         * lib/getline.c: Don't include stddef.h or stdio.h, since our
126263         interface does that.
126264         (getline): Always use getdelim, so that we don't have two
126265         copies of this code.
126266         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
126267         if available.
126268         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
126269         (GETNDELIM2_MAXIMUM): New macro.
126270         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
126271         instead of the old practice of delim2==0.  All callers changed.
126272         Return -1 on overflow, instead of returning junk.
126273         Do not set *linesize unless allocation succeeds.
126274         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
126275         that we include sys/types.h.
126276         * lib/getnline.h: Likewise.
126277         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
126278         (getndelim2): Reorder arguments.
126279         * lib/getnline.c (getnline, getndelim):
126280         Don't discard the NMAX argument.
126281         (getnline): Invoke getndelim, to avoid code duplication.
126282         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
126283         of (size_t) -1 by callers of the getnline family.
126285 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
126287         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
126288         Check for gettimeofday.
126289         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
126290         Check for settimeofday, stime.
126292 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
126294         * lib/nanosleep.c (suspended): Change its type from int to
126295         sig_atomic_t volatile.
126296         (first_call): Make it private to rpl_nanosleep, and have it
126297         be zero initially as that's a bit faster.
126298         (my_usleep): Round up fractional times instead of truncating them,
126299         as this is the usual meaning for 'sleep'.
126301         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
126302         doesn't work.
126303         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
126304         (ENOSYS): Define if not defined.
126305         (settime): Fall back on stime if it exists and settimeofday fails.
126306         But don't bother with fallbacks if a method fails with errno == EPERM.
126308 2004-05-11  Jim Meyering  <jim@meyering.net>
126310         Prior to this change, the save_cwd caller required read access to the
126311         current directory on most systems (ones with the fchdir function).
126313         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
126314         fails, try write-only, and finally, resort to using xgetcwd.
126316 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
126318         * lib/obstack.c, obstack.h: Import changes from libc.
126320 2004-04-28  Bruno Haible  <bruno@clisp.org>
126322         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
126323         also implicitly appends .exe to executables.
126324         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
126325         accepts Windows pathnames.
126326         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
126327         Treat Cygwin like Windows, since it now accepts Windows pathnames.
126328         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
126329         Treat Cygwin like Windows, since it now accepts Windows pathnames.
126330         Reported by Derek Robert Price <derek@ximbiot.com>.
126332 2004-04-21  Karl Berry  <karl@gnu.org>
126334         * config/srclist.txt (localcharset.c): break sync.
126336 2004-04-20  Paul Eggert  <eggert@twinsun.com>
126338         * m4/host-os.m4: Add a copyright notice.
126340 2004-04-20  Jim Meyering  <jim@meyering.net>
126342         Change UTILS_ to gl_ in AC_DEFINE'd names.
126343         Change utils_- and jm_-prefixed variables, too.
126344         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
126345         UTILS_FUNC_MKDIR_TRAILING_SLASH.
126346         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
126348         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
126349         Don't emit trailing blanks.
126350         Also rename jm_-prefixed variables to have gl_ prefix.
126352         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
126353         Also rename jm_-prefixed variables to have gl_ prefix.
126355         * m4/jm-macros.m4: Reflect the renamings.
126356         * m4/prereq.m4: Likewise.
126358 2004-04-20  Jim Meyering  <jim@meyering.net>
126360         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
126361         memory.
126363 2004-04-20  Jim Meyering  <jim@meyering.net>
126364             Bruno Haible  <bruno@clisp.org>
126366         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
126367         memory when realloc fails.
126369 2004-04-19  Jim Meyering  <jim@meyering.net>
126371         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
126372         now that readutmp.c may call `free (0)'.
126374 2004-04-19  Bruno Haible  <bruno@clisp.org>
126376         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
126377         * m4/inttypes_h.m4: Likewise.
126378         * m4/stdint_h.m4: Likewise.
126379         * m4/intmax_t.m4: Likewise.
126380         * m4/uintmax_t.m4: Likewise.
126382 2004-04-18  Jim Meyering  <jim@meyering.net>
126384         * m4/prereq.m4: Don't forbid jm_ prefix.
126386         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
126387         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
126388         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
126389         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
126390         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
126391         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
126392         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
126393         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
126394         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
126395         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
126396         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
126397         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
126398         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
126399         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
126400         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
126401         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
126402         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
126403         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
126404         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
126406 2004-04-18  Jim Meyering  <jim@meyering.net>
126408         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
126409         failure, don't leak memory and do call END_UTMP_ENT.
126411 2004-04-16  Jim Meyering  <jim@meyering.net>
126413         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
126414         coreutils' stat program.
126415         (gl_PREREQ): Don't require jm_PREREQ_STAT.
126417 2004-04-11  Paul Eggert  <eggert@twinsun.com>
126419         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
126420         C89.
126421         (CHAR_BIT): Remove, since we assume C89.
126422         Include <stdint.h> if available, as per current Autoconf CVS advice.
126424 2004-03-31  Jim Meyering  <jim@meyering.net>
126426         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
126427         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
126428         * m4/xalloc.m4: Likewise.
126430 2004-03-30  Paul Eggert  <eggert@twinsun.com>
126432         Merge from coreutils.
126434         * m4/inttostr.m4: New file.
126435         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
126436         Require AM_STDBOOL_H and gl_TIMESPEC instead.
126437         Require gl_CLOCK_TIME.
126438         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
126440 2004-03-30  Paul Eggert  <eggert@twinsun.com>
126442         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
126443         not bool, to be more consistent with Unix conventions.
126444         Suggested by Bruno Haible.
126446         Merge from coreutils.
126448         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
126449         * lib/umaxtostr.c: New files.
126451         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
126452         the usual <time.h> dance.
126453         (get_date): Change signature to support fractional time stamps.
126454         All callers changed.
126455         * lib/getdate.y: Include "getdate.h" first, as we can now
126456         assume C89 and don't need to worry about 'const'.
126457         Similarly, include "unlocked-io.h" near start, not in middle.
126458         Include <limits.h>.
126459         (textint.value): Use long int rather than int.
126460         (textint.digits): Use size_t rather than int.
126461         (BILLION, LOG10_BILLION): New constants.
126462         (parser_control): New member rel_ns.  Members day_ordinal,
126463         time_zone, month, day, hour, minutes, rel_year, rel_month,
126464         rel_day, rel_hour, rel_minutes, rel_seconds
126465         are now long int, not int.  Member seconds is now struct timespec,
126466         not int.  New member timespec_seen.  Members dates_seen, days_seen,
126467         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
126468         not int.
126469         (%union.intval): Now long int, not int.
126470         New member timespec.
126471         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
126472         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
126473         (spec): Now is a timespec or an item list.
126474         (timespec, items): New nonterminals.
126475         (time, rel, relunit, number, get_date):
126476         Add support for fractional seconds.
126477         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
126478         (gmtime, localtime, mktime): Remove decls; not needed with C89.
126479         (to_hour): First arg is now long int, not int.
126480         (to_year): Returns long int, not int.
126481         Don't treat year -70 like 70.
126482         (tm_diff): Returns long int, not int.
126483         (lookup_word): Use bool instead of int when appropriate.
126484         (yylex): Use size_t for count, not int.
126485         Detect overflow when parsing large integer constants.
126486         Add support for fractions.
126487         (get_date): Make pointers 'const' if possible.
126488         Use more-portable code to detect integer overflow.
126489         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
126490         Don't use ctime; it's not reliable if the year has >4 digits.
126492         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
126493         This is for compatibility with BSD.
126495         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
126496         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
126497         From coreutils' system.h.
126499         * lib/userspec.c: Don't include "posixver.h".
126500         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
126501         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
126502         compatible extension.  Simplify code by removing a boolean int
126503         that was always nonzero if a string was nonnull.
126505 2004-03-30  Jim Meyering  <jim@meyering.net>
126507         Merge from coreutils.
126509         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
126510         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
126511         on some systems one must include <grp.h> before it.
126512         Reported by Christian Krackowizer.
126514 2004-03-30  Jim Meyering  <jim@meyering.net>
126516         Merge from coreutils.
126518         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
126520         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
126521         an empty input stream.
126523         * lib/readtokens.c: Include <stdbool.h>.
126524         (readtoken): Use `size_t' rather than int/long.
126525         All callers adjusted.
126526         Use `bool' rather than `int' where appropriate.
126527         Use memset rather than an explicit loop.
126528         Use x2nrealloc rather than xrealloc.
126529         Allow the use of `\0' as a delimiter.
126530         (readtokens): Likewise.
126531         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
126533 2004-03-30  Jim Meyering  <jim@meyering.net>
126535         * m4/realloc.m4: Remove file, since now it does no more than
126536         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
126537         the `configure.ac' section of module/realloc.
126538         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
126540 2004-03-30  Bruno Haible  <bruno@clisp.org>
126542         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
126543         nonnull.
126545 2004-03-29  Paul Eggert  <eggert@twinsun.com>
126547         Merge changes to getloadavg.c from coreutils and Emacs.
126549         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
126550         Define to an expression, not to the empty string.
126551         Include cloexec.h and xalloc.h.
126552         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
126553         Use set_cloexec_flag rather than rolling our own.
126554         * lib/cloexec.c, lib/cloexec.h: New files.
126556 2004-03-29  Paul Eggert  <eggert@twinsun.com>
126558         * m4/cloexec.m4: New file.
126560 2004-03-18  Paul Eggert  <eggert@twinsun.com>
126562         * lib/getopt.h: Sync with libc CVS.
126564 2004-03-18  Paul Eggert  <eggert@twinsun.com>
126565             Bruno Haible  <bruno@clisp.org>
126567         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
126568         mbswidth.
126570 2004-03-18  Paul Eggert  <eggert@twinsun.com>
126571             Bruno Haible  <bruno@clisp.org>
126573         * lib/mbswidth.h: Include <wchar.h> only if
126574         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
126575         <wchar.h>.
126576         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
126578 2004-03-09  Paul Eggert  <eggert@twinsun.com>
126580         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
126581         Sync with libc CVS.
126582         * lib/getopt_int.h: New file, also synced from libc.
126584 2004-03-09  Paul Eggert  <eggert@twinsun.com>
126586         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
126587         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
126588         Bring back getopt.c, getopt.h, getopt1.c.
126590 2004-03-07  Paul Eggert  <eggert@twinsun.com>
126592         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
126593         All uses changed.  Check for sa_sigaction member; this fixes
126594         a bug first reported by Jason Andrade in
126595         <http://mail.gnu.org/r/bug-textutils/2003-03/msg00027.html>.
126597 2004-03-07  Paul Eggert  <eggert@twinsun.com>
126599         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
126600         '#if' expressions.  Unlike the code it replaces, it does not
126601         depend on (defined _SC_PAGESIZE).  However, it does depend on
126602         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
126603         first reported by Jason Andrade in
126604         <http://mail.gnu.org/r/bug-textutils/2003-03/msg00027.html>.
126606 2004-02-25  Simon Josefsson  <jas@extundo.com>
126608         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
126610 2004-02-25  Simon Josefsson  <jas@extundo.com>
126612         * lib/strdup.h: New file.
126613         * lib/strdup.c: Include it.
126614         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
126615         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
126617 2004-02-23  Karl Berry  <karl@gnu.org>
126619         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
126620         (from fencepost.gnu.org:/gd/gnuorg).
126622 2004-02-23  Karl Berry  <karl@gnu.org>
126624         * config/srclistvars.sh (GNUORG) [karl]: redefine.
126625         * config/srclist.txt: add maintain/standards documents.
126627 2004-02-18  Bruno Haible  <bruno@clisp.org>
126629         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
126630         Reported by Derek Robert Price <derek@ximbiot.com>.
126632 2004-02-16  Karl Berry  <karl@gnu.org>
126634         * config/mkinstalldirs, install-sh: update from automake.
126636 2004-02-06  Karl Berry  <karl@gnu.org>
126638         * m4/po.m4: update from gettext 0.14.1.
126640 2004-02-06  Karl Berry  <karl@gnu.org>
126642         * lib/config.charset: update from gettext 0.14.1.
126644 2004-02-05  Paul Eggert  <eggert@twinsun.com>
126646         Add comments and code, prompted by suggestions from Bruno Haible
126647         for sh-quote.
126648         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
126649         describing the enum quoting_style values.
126650         * lib/quotearg.c (quotearg_alloc): New function.
126651         (quotearg_buffer_restyled): Treat lone { and } as special.
126652         Treat = as special.  Work around bug with older shells
126653         that "see" a '\' that is really the 2nd byte of a multibyte char.
126654         Quote empty string with shell_quoting_style.
126656 2004-02-03  Bruno Haible  <bruno@clisp.org>
126658         * m4/pipe.m4: New file, from GNU gettext.
126660 2004-02-03  Bruno Haible  <bruno@clisp.org>
126662         * lib/pipe.h: New file, from GNU gettext.
126663         * lib/pipe.c: New file, from GNU gettext.
126665 2004-01-27  Bruno Haible  <bruno@clisp.org>
126667         * m4/execute.m4: New file, from GNU gettext.
126669 2004-01-27  Bruno Haible  <bruno@clisp.org>
126671         * lib/execute.h: New file, from GNU gettext.
126672         * lib/execute.c: New file, from GNU gettext.
126673         * lib/w32spawn.h: New file, from GNU gettext.
126675 2004-01-24  Paul Eggert  <eggert@twinsun.com>
126677         Merge from diffutils.
126679         * lib/file-type.c (file_type): Add typed memory objects.
126680         * lib/file-type.h (S_TYPEISTMO): New macro.
126682         * lib/c-stack.h (c_stack_action): Remove argv argument.
126683         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
126684         (die): Don't calculate message unless segv_action returns.
126685         (get_stack_location, min_address_from_argv, max_address_from_argv,
126686         volatile stack_base, volatile_stack_size): Remove.
126687         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
126688         that every segmentation violation is a stack overflow.  (Ouch!)
126689         See Debian bug 136249 (still outstanding) for more info about why
126690         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
126692 2004-01-24  Paul Eggert  <eggert@twinsun.com>
126694         Exit-status fix from coreutils.
126696         Use exit_failure consistently in place of EXIT_FAILURE,
126697         so that program exit statuses are consistent on failure.
126699         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
126700         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
126701         * lib/argmatch.h: Comment fix to match the above.
126702         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
126703         Now a macro referring to exit_failure, instead of a separate
126704         variable.  Include "exitfail.h" to get it.
126705         * lib/xstrtol.h: Include "exitfail.h".
126706         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
126708         * lib/long-options.c (parse_long_options): Use prototype
126709         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
126710         for clarity.
126712 2004-01-21  Jim Meyering  <jim@meyering.net>
126714         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
126715         so as not to conflict with a different-sized __mktime_internal
126716         function in GNU libc.
126717         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
126718         Problem building statically-linked `ls' reported by Michael Brunnbauer.
126720 2004-01-20  Karl Berry  <karl@gnu.org>
126722         * config/config.guess: update from config.
126724         * config/srclistvars.sh: GNUWWWLICENSES for karl.
126726 2004-01-20  Bruno Haible  <bruno@clisp.org>
126728         Safer stack allocation.
126729         * lib/setenv.c: Include allocsa.h.
126730         (alloca): Remove fallback definition.
126731         (freea): Remove macro.
126732         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
126733         instead of freea.
126735 2004-01-20  Bruno Haible  <bruno@clisp.org>
126737         * m4/eealloc.m4: New file, from GNU gettext.
126739 2004-01-20  Bruno Haible  <bruno@clisp.org>
126741         * m4/allocsa.m4: New file, from GNU gettext.
126743 2004-01-20  Bruno Haible  <bruno@clisp.org>
126745         * lib/xallocsa.h: New file, from GNU gettext.
126746         * lib/xallocsa.c: New file, from GNU gettext.
126748 2004-01-20  Bruno Haible  <bruno@clisp.org>
126750         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
126752 2004-01-20  Bruno Haible  <bruno@clisp.org>
126754         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
126755         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
126756         specially.
126758 2004-01-20  Bruno Haible  <bruno@clisp.org>
126760         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
126761         patch.
126763 2004-01-20  Bruno Haible  <bruno@clisp.org>
126765         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
126767 2004-01-20  Bruno Haible  <bruno@clisp.org>
126769         * lib/eealloc.h: New file.
126771 2004-01-20  Bruno Haible  <bruno@clisp.org>
126773         * lib/binary-io.h: Avoid warnings on Cygwin.
126775 2004-01-20  Bruno Haible  <bruno@clisp.org>
126777         * lib/allocsa.h: New file, from GNU gettext.
126778         * lib/allocsa.c: New file, from GNU gettext.
126780 2004-01-18  Karl Berry  <karl@gnu.org>
126782         * doc/gpl.texi, doc/lgpl.texi: new files.
126784 2004-01-18  Karl Berry  <karl@gnu.org>
126786         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
126787         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
126789 2004-01-15  Paul Eggert  <eggert@twinsun.com>
126791         Merge from coreutils.
126793         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
126794         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
126795         (gl_DEFAULT_POSIX2_VERSION): Move
126796         the documentation from 'configure' into 'config.hin',
126797         so that 'configure --help' isn't burdened by it and
126798         we don't have to worry about its formatting there.
126799         Reword the documentation so that it's more succinct
126800         and can be run together into a single paragraph.
126801         * m4/same.m4 (gl_SAME): Check for pathconf.
126803 2004-01-15  Paul Eggert  <eggert@twinsun.com>
126805         Merge from coreutils.
126807         * lib/posixver.c: Include posixver.h.
126809         * lib/same.c: Include <stdbool.h>, <limits.h>.
126810         (_POSIX_NAME_MAX): Define if not defined.
126811         (MIN): New macro.
126812         (same_name): If file names are silently truncated, report
126813         that the file names are the same if they are the same after
126814         the silent truncation.
126816         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
126817         conversion function.
126818         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
126819         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
126820         longer needed.
126822 2004-01-15  Jim Meyering  <jim@meyering.net>
126824         Merge from coreutils.
126826         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
126827         if no library is required.
126828         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
126829         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
126830         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
126831         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
126832         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
126833         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
126834         value, $ac_cv_search_crypt, if it's "none required".
126835         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
126836         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
126837         not gl_FUNC_GETLOADAVG.
126838         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
126839         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
126841 2004-01-15  Jim Meyering  <jim@meyering.net>
126843         Merge from coreutils.
126845         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
126846         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
126847         http://mail.gnu.org/r/bug-coreutils/2003-11/msg00144.html
126849         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
126850         optional configure-time default.
126852         * lib/version-etc.c (version_etc_copyright): Update copyright date.
126854         * lib/xreadlink.c (xreadlink): Correct outdated comment.
126856 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
126858         Merge from coreutils.
126860         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
126861         value, $ac_cv_search_nanosleep, if it's "none required".
126863 2004-01-14  Paul Eggert  <eggert@twinsun.com>
126865         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
126866         with like-named macro in fnmatch.c.
126867         (EXT): Use an internal constant instead.
126869         Merge fnmatch patches from glibc.
126870         * lib/fnmatch.c (mbsinit): Remove define.
126871         Add libc_hidden_ver (__fnmatch, fnmatch).
126872         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
126873         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
126875 2004-01-14  Karl Berry  <karl@gnu.org>
126877         * config/install-sh: update from automake.
126879 2004-01-13  Karl Berry  <karl@gnu.org>
126881         * config/install-sh: update from automake.
126883 2004-01-09  Karl Berry  <karl@gnu.org>
126885         * config/install-sh: update from automake.
126887 2004-01-05  Karl Berry  <karl@gnu.org>
126889         * config/config.{sub,guess}: update from config.
126891 2003-12-31  Karl Berry  <karl@gnu.org>
126893         * config/depcomp: update from automake.
126895 2003-12-14  Karl Berry  <karl@gnu.org>
126897         * lib/config.charset: update from gettext-runtime.
126899 2003-12-03  Paul Eggert  <eggert@twinsun.com>
126901         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
126902         Bug reported by Alfred M. Szmidt.
126904 2003-12-03  Bruno Haible  <bruno@clisp.org>
126906         * m4/gettext.m4: Upgrade from gettext-0.13.
126907         * m4/po.m4: Upgrade from gettext-0.13.
126908         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
126909         * m4/intmax.m4: New file, from gettext-0.13.
126910         * m4/printf-posix.m4: New file, from gettext-0.13.
126912 2003-11-29  Karl Berry  <karl@gnu.org>
126914         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
126916 2003-11-25  Paul Eggert  <eggert@twinsun.com>
126917             Bruno Haible  <bruno@clisp.org>
126919         * lib/printf-parse.h: Don't include sys/types.h.
126920         (ARG_NONE): New macro.
126921         (char_directive): Change type of *arg_index fields to size_t.
126922         * lib/printf-parse.c: Don't include sys/types.h.
126923         (SSIZE_MAX): Remove macro.
126924         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
126925         Remove unnecessary overflow check.
126926         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
126927         fields.
126929 2003-11-25  Bruno Haible  <bruno@clisp.org>
126931         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
126933 2003-11-25  Bruno Haible  <bruno@clisp.org>
126935         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
126936         gt_TYPE_SSIZE_T.
126938 2003-11-24  Paul Eggert  <eggert@twinsun.com>
126940         * modules/alloca: Remove dependency on xalloc.
126942 2003-11-24  Paul Eggert  <eggert@twinsun.com>
126944         * lib/alloca.c: Remove dependency on xalloc module.
126945         (xalloc_die): Remove.
126946         (memory_full) [!defined emacs]: New macro.
126947         [!defined emacs]: Don't include xalloc.h.
126948         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
126949         address arithmetic overflows.  Change datatypes a bit to avoid
126950         unnecessary casts.
126952 2003-11-22  Jim Meyering  <jim@meyering.net>
126954         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
126955         s/size/size_t/.
126957 2003-11-21  Karl Berry  <karl@gnu.org>
126959         * config/config.{sub,guess}: update from config.
126961 2003-11-18  Karl Berry  <karl@gnu.org>
126963         * config/config.{sub,guess}: update from config.
126965         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
126967 2003-11-17  Paul Eggert  <eggert@twinsun.com>
126969         * README: Mention that S+T cannot overflow if S is the size of
126970         an existing object and T is sufficiently small.
126972 2003-11-17  Jim Meyering  <jim@meyering.net>
126974         On systems without utime and without a utimes function capable of
126975         dealing with a NULL struct utimbuf* argument, this utime replacement
126976         could -- in unusual circumstances -- leak a file descriptor.
126977         * lib/utime.c: Include <unistd.h> and <errno.h>.
126978         (utime_null): Be sure to close `fd' and to preserve errno.
126979         Reported by Geoff Collyer via Arnold Robbins.
126981 2003-11-17  Bruno Haible  <bruno@clisp.org>
126983         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
126984         (Depends-on): Add xsize.
126986 2003-11-17  Bruno Haible  <bruno@clisp.org>
126988         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
126990 2003-11-17  Bruno Haible  <bruno@clisp.org>
126992         * lib/vasnprintf.c (alloca): Remove fallback definition.
126993         (freea): Remove definition.
126994         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
126995         Reported by Paul Eggert.
126997 2003-11-16  Paul Eggert  <eggert@twinsun.com>
126998             Bruno Haible  <bruno@clisp.org>
127000         Protect against address arithmetic overflow.
127001         * lib/printf-args.h: Include stddef.h.
127002         (arguments): Change type of field 'count' to size_t.
127003         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
127004         'unsigned int' where appropriate.
127005         * lib/printf-parse.h: Include sys/types.h.
127006         (char_directive): Change type of *arg_index fields to ssize_t.
127007         (char_directives): Change type of fields 'count', max_*_length to
127008         size_t.
127009         * lib/printf-parse.c: Include sys/types.h and xsize.h.
127010         (SSIZE_MAX): Define fallback value.
127011         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
127012         instead of 'int' where appropriate. Check a_allocated, d_allocated
127013         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
127014         * lib/vasnprintf.c: Include xsize.h.
127015         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
127016         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
127017         overflow. Avoid wraparound when converting a width or precision from
127018         decimal to binary.
127020 2003-11-16  Bruno Haible  <bruno@clisp.org>
127022         Update from GNU gettext.
127023         * lib/printf-parse.c: Generalize to it can be compiled for wide
127024         strings.
127025         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
127026         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
127027         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
127028         SNPRINTF): New macros.
127029         Don't include <alloca.h> if the file is used inside libintl.
127030         (local_wcslen): New function, for Solaris 2.5.1.
127031         (VASNPRINTF): Use it instead of wcslen.
127033 2003-11-16  Bruno Haible  <bruno@clisp.org>
127035         * lib/xsize.h (xmax): New function.
127036         (xsum, xsum3, xsum4): Declare as "pure" functions.
127038 2003-11-12  Paul Eggert  <eggert@twinsun.com>
127040         * modules/xalloc (Files): Undo latest change, since xalloc.h
127041         no longer needs SIZE_MAX or PTRDIFF_MAX.
127043 2003-11-12  Paul Eggert  <eggert@twinsun.com>
127045         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
127046         gl_PTRDIFF_MAX.
127048 2003-11-12  Paul Eggert  <eggert@twinsun.com>
127050         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
127051         "return", to pacify some unknown compiler.  Problem reported
127052         by Joerg Schilling.
127054 2003-11-12  Paul Eggert  <eggert@twinsun.com>
127056         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
127057         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
127058         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
127059         heuristic is just as accurate as far as we know, and it removes a
127060         dependency on size_max.m4 and ptrdiff_max.m4.
127062 2003-11-11  Bruno Haible  <bruno@clisp.org>
127064         * modules/xsize (Files): Add m4/size_max.m4.
127065         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
127067 2003-11-11  Bruno Haible  <bruno@clisp.org>
127069         * m4/size_max.m4: New file.
127070         * m4/ptrdiff_max.m4: New file.
127071         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
127072         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
127073         (gl_XALLOC): Invoke it.
127075 2003-11-11  Bruno Haible  <bruno@clisp.org>
127077         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
127078         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
127079         defined.
127081 2003-11-10  Paul Eggert  <eggert@twinsun.com>
127083         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
127084         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
127085         rejected some allocations of exactly SIZE_MAX - 2 bytes.
127086         From Bruno Haible.
127087         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
127088         not (size_t) -1, since it's defined here.
127090 2003-11-09  Karl Berry  <karl@gnu.org>
127092         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
127094 2003-11-06  Paul Eggert  <eggert@twinsun.com>
127096         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
127097         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
127098         Reject sizes of exactly SIZE_MAX bytes.
127099         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
127100         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
127102 2003-11-05  Bruno Haible  <bruno@clisp.org>
127104         * lib/xsize.h: Include limits.h, to avoid a possible collision with
127105         SIZE_MAX defined in <limits.h> on Solaris.
127107 2003-11-04  Jim Meyering  <jim@meyering.net>
127109         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
127110         variable names, rather than @VAR@.
127111         * modules/poll: Likewise.
127113 2003-11-04  Bruno Haible  <bruno@clisp.org>
127115         * modules/xsize: New file.
127116         * modules/linebreak: Depend on xsize.
127117         * MODULES.html.sh (func_all_modules): Add xsize.
127119 2003-11-04  Bruno Haible  <bruno@clisp.org>
127121         * m4/xsize.m4: New file.
127123 2003-11-04  Bruno Haible  <bruno@clisp.org>
127125         * lib/xsize.h: New file.
127126         * lib/linebreak.c: Include xsize.h.
127127         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
127128         argument for overflow.
127129         Suggested by Paul Eggert.
127131 2003-11-03  Karl Berry  <karl@gnu.org>
127133         * config/config.{guess,sub}: update from config.
127135 2003-11-03  Jim Meyering  <jim@meyering.net>
127137         * modules/userspec (lib_SOURCES): Add userspec.h.
127138         (Include): Add "userspec.h".
127139         Improve description.
127141 2003-11-03  Jim Meyering  <jim@meyering.net>
127143         * lib/userspec.c: Include "userspec.h".
127144         * lib/userspec.h: New file.
127146 2003-11-03  Bruno Haible  <bruno@clisp.org>
127148         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
127150 2003-11-03  Bruno Haible  <bruno@clisp.org>
127152         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
127153         available, to avoid (extremely rare) race condition.
127154         Suggested by Paul Eggert.
127156 2003-11-02  Karl Berry  <karl@gnu.org>
127158         * config/srclist.txt (vasprintf.c): sync broken, sigh.
127160 2003-10-31  Paul Eggert  <eggert@twinsun.com>
127162         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
127163         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
127164         (read_filesystem_list): Set and use me_type_malloced.
127165         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
127166         whatever the type happens to be), for brevity and consistency.
127167         Check for size calculation overflow on Alphas running OSF/1.
127169 2003-10-31  Jim Meyering  <jim@meyering.net>
127171         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
127173         * lib/linebuffer.c: Include <string.h> for declaration of memset.
127175 2003-10-30  Paul Eggert  <eggert@twinsun.com>
127176             Bruno Haible  <bruno@clisp.org>
127178         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
127179         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
127181 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
127183         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
127184         netbsd*-gnu*.  Suggested by Robert Millan.
127186 2003-10-29  Paul Eggert  <eggert@twinsun.com>
127188         * modules/group-member: Depend on stdbool.
127190 2003-10-29  Paul Eggert  <eggert@twinsun.com>
127192         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
127194 2003-10-29  Paul Eggert  <eggert@twinsun.com>
127196         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
127197         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
127198         after the 'gnu' in these cases.  This fixes some bugs in the
127199         previous change, and is based on suggestions by Robert Millan.
127201 2003-10-29  Paul Eggert  <eggert@twinsun.com>
127203         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
127204         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
127205         no longer needed.
127206         * lib/quotearg.c (quotearg_n_options): Use it.
127207         * lib/group-member.c: Include <stdbool.h>.
127208         (free_group_info): Arg is now const *; don't free arg.
127209         (get_group_info): Now returns bool and accepts struct group_info *,
127210         rather than returning a malloc'ed struct group_info *.
127211         All uses changed.  Check for overflow in internal size calculation.
127213         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
127214         rather than xmalloc/xrealloc.
127215         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
127216         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
127217         conformance bug: the old code used a pointer after freeing the
127218         storage that it addressed.
127219         * lib/hash.c (hash_initialize): Simplify the code by using
127220         xalloc_oversized rather than doing it by hand.
127221         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
127222         the buffer preserved.  Use free and xmalloc instead.
127223         * lib/quotearg.c (quotearg_n_options): Likewise.
127224         Use a simpler test for size overflow.  Don't use xalloc_oversized
127225         because unsigned int might be wider than size_t (!); this suggests
127226         that we should switch from unsigned int to size_t for slot numbers.
127228 2003-10-28  Paul Eggert  <eggert@twinsun.com>
127230         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
127231         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
127232         NetBSD kernels.  Requested by Richard Stallman.
127234 2003-10-27  Paul Eggert  <eggert@twinsun.com>
127236         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
127237         to allocate the returned structure.  Do not allocate a subarray,
127238         as x2nrealloc will do that.
127239         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
127240         instead of xnrealloc.
127241         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
127243 2003-10-27  Bruno Haible  <bruno@clisp.org>
127245         * lib/stdbool_.h: Better support for BeOS.
127247 2003-10-26  Paul Eggert  <eggert@twinsun.com>
127249         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
127250         now uses inline.
127252 2003-10-26  Paul Eggert  <eggert@twinsun.com>
127254         * lib/xalloc.h (xalloc_oversized): New static inline function, for
127255         callers that want to do their own size-overflow checking.  Include
127256         <stdbool.h>, since xalloc_oversized returns bool.
127257         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
127258         to use xalloc_oversized.
127260         Add two functions x2realloc, x2nrealloc, for programs that grow
127261         arrays dynamically by doubling their sizes.
127262         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
127263         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
127264         New functions.
127266         Port to C99 semantics for 'inline' of external functions.
127267         Bug reported by Bruno Haible.
127268         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
127269         with the old contents of xnmalloc.
127270         (xnmalloc, xmalloc): Use it.
127271         (xnrealloc_inline): New static inline function,
127272         with the old contents of xnrealloc.
127273         (xnrealloc, xrealloc): Use it.
127275         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
127276         that.
127278 2003-10-26  Karl Berry  <karl@gnu.org>
127280         * config/srclist.txt (COPYING.DOC): no longer available from
127281         /gd/gnuorg; don't know where the ultimate source is.
127283 2003-10-25  Paul Eggert  <eggert@twinsun.com>
127285         Fix several address-calculation bugs in the hash modules,
127286         plus some minor code cleanup.
127288         * lib/hash.h: Include <stdbool.h>, for bool.
127289         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
127290         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
127291         hash_get_n_entries, hash_get_max_bucket_length,
127292         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
127293         hash_rehash): Use size_t rather than unsigned.
127294         * lib/hash.c (struct hash_table, hash_get_n_buckets,
127295         hash_get_n_buckets_used, hash_get_n_entries,
127296         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
127297         hash_get_entries, hash_do_for_each, hash_string, is_prime,
127298         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
127299         Likewise.
127300         (SIZE_MAX): Define if not defined.
127301         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
127302         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
127303         hash_print):
127304         Use const * when possible.
127305         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
127306         (check_tuning): Fix bug: if tuning parameters were very close to
127307         0 or 1, rounding errors could have caused subscript violations.
127308         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
127309         (hash_initialize): Add 'fail:' label
127310         to free table and return NULL, and use it to simplify code.
127311         Use calloc rather than clearing the storage ourself.
127312         (hash_initialize, hash_rehash): Check for arithmetic overflow in
127313         buffer size calculations.
127314         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
127315         Include <stddef.h>, for size_t.
127316         * lib/hash-pjw.c (hash_pjw): Likewise.
127317         Switch to method described by Bruno Haible.
127318         Include <limits.h>, for CHAR_BIT.
127319         (SIZE_BITS): New macro.
127321 2003-10-23  Paul Eggert  <eggert@twinsun.com>
127323         * m4/getline.m4 (AM_FUNC_GETLINE):
127324         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
127325         hosts.  Problem reported by Derek Robert Price in
127326         <http://mail.gnu.org/r/bug-gnulib/2003-10/msg00092.html>.
127327         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
127328         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
127330 2003-10-21  Paul Eggert  <eggert@twinsun.com>
127332         * lib/getndelim2.c (getndelim2): When size calculation overflows,
127333         ceiling the allocation at NMAX bytes rather than silently
127334         discarding input bytes before NMAX is reached.  This makes
127335         a difference only if NMAX exceeds SIZE_MAX / 2.
127337         * lib/obstack.c: Merge from glibc.
127338         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
127339         Add libc_hidden_def (_obstack_newchunk).
127340         (_obstack_free) [! defined _LIBC]: Remove.
127341         [defined _LIBC]: Make a strong alias from obstack_free, rather than
127342         a clone of the function body.
127343         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
127344         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
127346         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
127347         glibc.
127348         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
127349         arg to memcpy.
127351         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
127352         (obstack_ptr_grow_fast, obstack_int_grow_fast):
127353         Don't use lvalue casts, as GCC plans to remove support for them
127354         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
127355         was also present in the non-GCC version, indicating that this
127356         code had always been buggy and had never been widely used.
127357         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
127358         Use the fast variant of each macro, rather than copying the
127359         definiens of the fast variant; that way, we'll be more likely to
127360         catch future bugs in the fast variants.
127362 2003-10-20  Bruno Haible  <bruno@clisp.org>
127364         * modules/wait-process: New file.
127365         * MODULES.html.sh (func_all_modules): Add wait-process.
127367 2003-10-20  Bruno Haible  <bruno@clisp.org>
127369         * m4/wait-process.m4: New file.
127371 2003-10-20  Bruno Haible  <bruno@clisp.org>
127373         * lib/wait-process.h: New file, from GNU gettext.
127374         * lib/wait-process.c: New file, from GNU gettext.
127376 2003-10-19  Jim Meyering  <jim@meyering.net>
127378         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
127379         HPUX 10.20.
127381 2003-10-18  Karl Berry  <karl@gnu.org>
127383         * config/config.guess: update from config.
127385 2003-10-16  Paul Eggert  <eggert@twinsun.com>
127387         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
127388         (getgroups): First arg is int, not size_t.
127389         Don't let 'free' mangle errno.
127391 2003-10-16  Paul Eggert  <eggert@twinsun.com>
127393         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
127395 2003-10-16  Karl Berry  <karl@gnu.org>
127397         * config/config.{guess,sub}: update from config.
127399 2003-10-16  Jim Meyering  <jim@meyering.net>
127401         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
127402         memcpy.
127404 2003-10-15  Paul Eggert  <eggert@twinsun.com>
127406         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
127407         (SIZE_MAX): Remove.
127408         (new_exclude, add_exclude_file): Initial size no longer needs to
127409         be a power of 2.
127410         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
127411         our own address arithmetic overflow checking.
127413         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
127414         (fnmatch): Do not alloca more than 2000 wide characters;
127415         instead, use malloc for large buffers.
127416         Check for address arithmetic overflow, and return -1
127417         with errno set to ENOMEM in that case.
127418         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
127419         (NEW_PATTERN): Do not alloca more than 8000 bytes;
127420         instead, return -1.  Check for address arithmetic overflow.
127422 2003-10-14  Paul Eggert  <eggert@twinsun.com>
127424         Handle invalid suffixes and overflow independently, so that
127425         callers can treat them independently as needed.  Fix some bugs in
127426         suffix handling, e.g., "100k@" was not diagnosed as an invalid
127427         suffix for a human-readable blocksize.  The major caller-visible
127428         change is the addition of a new
127429         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
127430         that both overflow and suffix chars were found.
127432         * lib/human.c (humblock): Don't check separately for invalid suffix
127433         char; that is xstrtoumax's job (now that its bug is fixed).
127434         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
127435         INTMAX_MAX]: New macros.
127436         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
127437         TYPE_MAXIMUM): New macros.
127438         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
127439         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
127440         if overflow occurs, as it's what __strtol does and it's more useful
127441         in practice.
127442         (__xstrtol): If __strtol reports some error other than ERANGE,
127443         reflect it to the caller as LONGINT_INVALID.  If it reports
127444         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
127445         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
127446         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
127447         value.
127448         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
127449         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
127450         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
127451         [defined UINTMAX_MAX]: New macros.
127453 2003-10-14  Bruno Haible  <bruno@clisp.org>
127455         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
127457 2003-10-14  Bruno Haible  <bruno@clisp.org>
127459         * m4/sig_atomic_t: New file, from GNU gettext.
127460         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
127462 2003-10-14  Bruno Haible  <bruno@clisp.org>
127464         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
127465         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
127466         Also use volatile where needed.
127468 2003-10-12  Paul Eggert  <eggert@twinsun.com>
127470         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
127471         Change maintainer from Bruno Haible to 'all'.
127473 2003-10-12  Paul Eggert  <eggert@twinsun.com>
127475         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
127477 2003-10-12  Paul Eggert  <eggert@twinsun.com>
127479         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
127480         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
127481         and define in terms of the other primitives.
127482         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
127483         (SIZE_MAX): Define if not already defined.
127484         (array_size_overflow): New function.
127485         (xalloc_die): Abort instead of exiting if 'error' returns.
127486         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
127487         (xmalloc, xrealloc): Use them.
127488         (xcalloc): Check for address arithmetic overflow.
127489         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
127490         a bit faster than strcpy.
127492 2003-10-10  Simon Josefsson  <jas@extundo.com>
127494         * modules/argp (Depends-on): Add restrict and strcase.
127496 2003-10-10  Simon Josefsson  <jas@extundo.com>
127498         * m4/argp.m4: Add AC_C_INLINE.
127500 2003-10-08  Paul Eggert  <eggert@twinsun.com>
127502         Merge getpass from libc, plus a few fixes.
127504         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
127505         Include <stdbool.h>.
127506         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
127507         __fsetlocking to empty.
127508         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
127509         do include <bits/libc-lock.h>.
127510         Do not include <fcntl.h>; not needed.
127511         [_LIBC]: Include <wchar.h>.
127512         (NOTCANCEL_MODE): New macro.
127513         (flockfile, funlockfile) [_LIBC]: New macros.
127514         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
127515         [!_LIBC]: New macros.
127516         (call_fclose): New function.
127517         (getpass): Use it.  Save tty stream separately; this simplifies the
127518         code and makes it more reliable if stdin happens to equal stdout.
127519         Invoke __fsetlocking on tty.
127520         Handle thread cancellation if needed.
127521         Namespace cleanup (use __tcgetattr, __getline).
127522         Use bool for Booleans.
127523         [USE_IN_LIBIO]: Handle wide streams.
127524         [!_LIBC]: Unconditionally do the fseek, since we don't know what
127525         stream might go where.
127527         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
127528         doesn't have to include <stdio.h> before us.
127529         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
127530         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
127531         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
127532         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
127533         if not declared, so that we can use getpass.c code from libc without
127534         rewriting it.
127535         (flockfile, ftrylockfile, funlockfile): New macros.
127537 2003-10-08  Paul Eggert  <eggert@twinsun.com>
127539         * modules/getpass: Depend on stdbool.
127541 2003-10-08  Paul Eggert  <eggert@twinsun.com>
127543         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
127545 2003-10-07  Karl Berry  <karl@gnu.org>
127547         * config/config.{guess,sub}: update from config.
127549 2003-10-06  Jim Meyering  <jim@meyering.net>
127550             Bruno Haible  <bruno@clisp.org>
127552         This lets translators provide better translations for the
127553         "Written by ..." part of --version output.
127554         * lib/version-etc.h: Include stdarg.h.
127555         (version_etc_copyright): Declare as readonly.
127556         (version_etc): Make this function variadic with a NULL-terminated list
127557         of author name strings.
127558         (version_etc_va): New declaration.
127559         * lib/version-etc.c: Include stdarg.h, stdlib.h.
127560         (version_etc_copyright): Declare as readonly.
127561         (version_etc_va): New function. Provide a different translatable string
127562         for each possible number of authors < 10. Abbreviate when there are 10
127563         authors or more.
127564         (version_etc): Make this function variadic. Call version_etc_va.
127565         Suggestion from Gary V. Vaughan.
127567         * lib/long-options.h (parse_long_options): Change prototype: the
127568         authors string is moved to the end and becomes variadic.
127569         * lib/long-options.c: Include stdarg.h.
127570         (parse_long_options): Make this function variadic, too.
127571         Call version_etc_va, not version_etc.
127573 2003-10-06  Bruno Haible  <bruno@clisp.org>
127575         * modules/version-etc-2: Remove file.
127576         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
127578 2003-10-06  Bruno Haible  <bruno@clisp.org>
127580         * modules/fatal-signal: New file.
127581         * MODULES.html.sh (func_all_modules): Add fatal-signal.
127583 2003-10-06  Bruno Haible  <bruno@clisp.org>
127585         * m4/fatal-signal.m4: New file.
127586         * m4/signalblocking.m4: New file, from GNU gettext.
127588 2003-10-06  Bruno Haible  <bruno@clisp.org>
127590         * lib/version-etc-2.h: Remove file.
127591         * lib/version-etc-2.c: Remove file.
127593 2003-10-06  Bruno Haible  <bruno@clisp.org>
127595         * lib/fatal-signal.h: New file, from GNU gettext.
127596         * lib/fatal-signal.c: New file, from GNU gettext.
127598 2003-10-05  Paul Eggert  <eggert@twinsun.com>
127600         * README: Rework advice for preventing empty .o files.
127601         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
127602         not <sys/types.h>.
127604 2003-10-04  Karl Berry  <karl@gnu.org>
127606         * lib/argp*: update from libc.
127608 2003-10-04  Karl Berry  <karl@gnu.org>
127610         * config/config.{guess,sub}: update from config.
127612 2003-10-02  Bruno Haible  <bruno@clisp.org>
127614         * modules/lchown (Include): Add lchown.h.
127615         * modules/time_r (Include): Use "..." syntax.
127616         * modules/xgetdomainname (Include): Add xgetdomainname.h.
127618 2003-10-01  Simon Josefsson  <jas@extundo.com>
127620         * MODULES.html.sh (func_all_modules): Move gethostname from section
127621         'based on' to section 'lacking' POSIX:2001.
127623 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
127625         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
127626         to output mode on the same stream.
127628 2003-09-29  Paul Eggert  <eggert@twinsun.com>
127630         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
127631         Fix arg typo in previous patch.
127633 2003-09-28  Jim Meyering  <jim@meyering.net>
127635         * lib/error.c: Correct cpp indentation.
127637 2003-09-27  Paul Eggert  <eggert@twinsun.com>
127639         * modules/free: New file.
127641 2003-09-27  Paul Eggert  <eggert@twinsun.com>
127643         * m4/free.m4: New file.
127645 2003-09-27  Paul Eggert  <eggert@twinsun.com>
127647         * lib/minmax.h (MIN, MAX)
127648         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
127649         Omit the special code that used __typeof__, since we worry that
127650         it could be more trouble than it's worth.  See:
127651         http://mail.gnu.org/r/bug-gnulib/2003-01/msg00090.html
127652         http://mail.gnu.org/r/bug-gnulib/2003-01/msg00095.html
127654         * lib/free.c: New file.
127656 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
127658         Trivial fixes to Makefile.am parts of module listings.
127659         * modules/strstr: Append strstr.h to lib_SOURCES.
127660         * modules/strcase: Likewise, for strcase.h.
127662 2003-09-27  Karl Berry  <karl@gnu.org>
127664         * config/mkinstalldirs: update from automake.
127666 2003-09-26  Paul Eggert  <eggert@twinsun.com>
127668         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
127669         (error_tail): Do not loop, reallocating temporary buffer, since
127670         the output cannot contain more wide characters than the input
127671         contains bytes, the size must be big enough already.  This avoids
127672         one potential size overflow calculation.  Check for size overflow
127673         when calculating temporary buffer size.  Free temporary buffer
127674         when done, if it was allocated with malloc; this plugs a memory
127675         leak.  Remove casts from void * to pointers, that are no longer
127676         needed now that we're assuming C89 or better.
127678         Merge error changes from glibc.
127680         * lib/error.c, error.h: Update copyright notice header to match glibc.
127681         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
127682         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
127683         Disable cancellation while printing error.
127684         * lib/error.h: Prepend __ to parameter names.
127686 2003-09-26  Jim Meyering  <jim@meyering.net>
127688         * lib/error.c (error_tail): Move some declarations
127689         into inner scope where the local variables are used.
127691 2003-09-26  Bruno Haible  <bruno@clisp.org>
127693         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
127694         stpncpy().
127695         Don't define stpncpy through config.h; it's now done through stpncpy.h.
127697 2003-09-26  Bruno Haible  <bruno@clisp.org>
127699         * lib/stpncpy.h (gnu_stpncpy): New declaration.
127700         (stpncpy): Define as alias for gnu_stpncpy.
127701         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
127703 2003-09-25  Simon Josefsson  <jas@extundo.com>
127705         * lib/xgetdomainname.h: New file.
127706         * lib/xgetdomainname.c: New file.
127708 2003-09-25  Simon Josefsson  <jas@extundo.com>
127709             Bruno Haible  <bruno@clisp.org>
127711         * modules/getdomainname: New file.
127712         * modules/xgetdomainname: New file.
127713         * MODULES.html.sh (func_all_modules): Add getdomainname,
127714         xgetdomainname.
127716 2003-09-25  Simon Josefsson  <jas@extundo.com>
127717             Bruno Haible  <bruno@clisp.org>
127719         * m4/getdomainname.m4: New file.
127721 2003-09-25  Simon Josefsson  <jas@extundo.com>
127722             Bruno Haible  <bruno@clisp.org>
127724         * lib/getdomainname.h: New file.
127725         * lib/getdomainname.c: New file.
127727 2003-09-25  Karl Berry  <karl@gnu.org>
127729         * lib/argp-fmtstream.c, argp-help.c: update from libc.
127731 2003-09-25  Karl Berry  <karl@gnu.org>
127733         * config/install-sh: update from automake.
127735 2003-09-25  Bruno Haible  <bruno@clisp.org>
127737         * modules/version-etc-2: New file, from modules/version-etc with
127738         modifications.
127739         * MODULES.html.sh (func_all_modules): Add version-etc-2.
127741 2003-09-25  Bruno Haible  <bruno@clisp.org>
127743         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
127744         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
127746 2003-09-24  Simon Josefsson  <jas@extundo.com>
127748         * modules/xgethostname: Add xgethostname.h.
127750 2003-09-24  Paul Eggert  <eggert@twinsun.com>
127752         * lib/linebuffer.c (freebuffer): Don't free the argument, just
127753         the buffer associated with the argument.  Bug reported by
127754         Simon Josefsson.
127756 2003-09-24  Paul Eggert  <eggert@twinsun.com>
127758         * README: Document assumptions that 'int' is at least 32 bits
127759         wide, that integer arithmetic is 2's complement without overflow,
127760         that there are no holes in integer values, that adding sizes of
127761         two nonoverlapping objects can't overflow, and that all-bits-zero
127762         yields scalar zero.  Fix spelling and capitalization typos.
127764 2003-09-19  Karl Berry  <karl@gnu.org>
127766         * lib/argp.h: update from libc.
127768 2003-09-17  Paul Eggert  <eggert@twinsun.com>
127770         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
127771         to avoid spurious warnings like "AC_RUN_IFELSE was called before
127772         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
127774 2003-09-17  Paul Eggert  <eggert@twinsun.com>
127776         * gnulib-tool: Use "test -h", not "test -L", for portability
127777         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
127778         (tags_regexp): Remove, since \| doesn't conform to POSIX.
127779         (sed_extract_prog): Issue s commands one-by-one, rather than
127780         using \| in one s command.
127782 2003-09-16  Paul Eggert  <eggert@twinsun.com>
127784         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
127785         input error, instead of returning NULL the next time we are called
127786         (and therefore losing track of errno).
127788 2003-09-16  Bruno Haible  <bruno@clisp.org>
127790         * gnulib-tool (func_create_testdir): Warn about duplicated
127791         dependencies.
127793 2003-09-15  Paul Eggert  <eggert@twinsun.com>
127795         * modules/argmatch, modules/fatal, modules/obstack,
127796         modules/xalloc, modules/xgethostname: Sort dependencies by
127797         importance, not alphabetically.
127799 2003-09-15  Paul Eggert  <eggert@twinsun.com>
127801         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
127802         fails, so that the caller gets the proper errno.
127804         * lib/readutmp.c (read_utmp): Likewise.
127805         Check for fstat error.  Close stream and free storage
127806         when failing.
127808 2003-09-14  Karl Berry  <karl@gnu.org>
127810         * config/srclist.txt (strdup.c): disable for c89 changes.
127812 2003-09-14  Jim Meyering  <jim@meyering.net>
127814         * lib/getloadavg.c: Correct cpp indentation.
127815         * lib/strdup.c: Likewise.
127816         * lib/vasnprintf.c: Likewise.
127818 2003-09-14  Bruno Haible  <bruno@clisp.org>
127820         * modules/fwriteerror: New file.
127821         * MODULES.html.sh (func_all_modules): Add fwriteerror.
127823 2003-09-14  Bruno Haible  <bruno@clisp.org>
127825         * lib/fwriteerror.h: New file.
127826         * lib/fwriteerror.c: New file.
127828 2003-09-12  Paul Eggert  <eggert@twinsun.com>
127830         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
127831         modules/xgethostname, modules/xalloc: Depend on exit.
127833 2003-09-12  Paul Eggert  <eggert@twinsun.com>
127835         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
127837         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
127838         and AC_MINIX, too, so that their extensions are available.
127840         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
127841         This macro has been superseded by gl_BACKUPFILE.
127843         More patches to assume C89 or better.
127845         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
127847         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
127848         unconditionally.
127849         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
127850         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
127851         Include <string.h>, <stdlib.h> unconditionally.
127852         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
127853         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
127854         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
127855         headers or for string.h.
127856         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
127857         or strtoul.
127859         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
127860         headers.
127861         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
127862         * m4/userspec.m4 (gl_USERSPEC): Likewise.
127863         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
127864         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
127865         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
127866         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
127867         memcpy, memset.
127868         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
127869         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
127870         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
127871         strtol.
127872         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
127873         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
127874         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
127875         strtoul.
127877 2003-09-12  Paul Eggert  <eggert@twinsun.com>
127879         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
127880         * lib/obstack.c [!defined _LIBC]: Likewise.
127881         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
127882         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
127883         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
127885         More changes to assume C89 or better.
127887         * lib/error.c (error_tail): Assume vprintf.
127889         * lib/argmatch.c (getenv): Remove decl.
127890         * lib/progreloc.c (get_full_program_name): Define via prototype.
127891         * lib/setenv.c (clearenv): Likewise.
127892         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
127893         needed.
127894         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
127895         (malloc, memcpy): Remove decls.
127896         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
127897         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
127898         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
127899         (memcpy): Remove macro.
127900         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
127901         (__P): Remove.  All uses removed.
127902         (PTR): Remove.  All uses changed to void *.
127903         (CHAR_BIT, NULL): Remove.
127904         (spaces, zeros, memset_space, memset_zero)
127905         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
127906         Remove.
127907         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
127908         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
127909         Define with prototype.
127910         Remove now-unnecessary prototype decl.
127911         (extra_args_spec): Assume ANSI C.  All uses changed.
127912         (extra_args_spec_iso): Remove.
127913         (my_strftime, emacs_strftimeu): Define via prototype.
127914         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
127915         unconditionally.
127916         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
127917         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
127918         (strtoul, strtol): Remove decls.
127919         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
127920         LONG_MAX): Remove.
127921         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
127922         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
127923         (LOCALE_PARAM_PROTO): New macro.
127924         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
127925         (INTERNAL (strtol), strtol): Define with a prototype.
127926         (PARAMS): Remove.  All uses removed.
127927         * lib/tempname.c: Include <string.h> unconditionally.
127928         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
127929         * lib/xgethostname.c (main): Define with a prototype.
127930         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
127931         Include <stdlib.h> unconditionally.
127932         (calloc, malloc, realloc, free): Remove decls.
127933         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
127934         Include <stdlib.h> unconditionally.  Sort include file names.
127935         (strtod): Remove.
127936         (xstrtod): Define with a prototype.
127937         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
127938         (strtol, strtoul): Remove decls.
127940 2003-09-11  Paul Eggert  <eggert@twinsun.com>
127942         More patches to assume C89 or better.
127943         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
127944         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
127945         string.h, memchr, STDC_HEADERS.
127947 2003-09-11  Paul Eggert  <eggert@twinsun.com>
127949         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
127950         Include <stdlib.h>, <string.h> unconditionally.
127951         Remove now-unnecessary cast to char *.
127952         * lib/strnlen.c: Include <string.h> unconditionally.
127953         * lib/yesno.c (yesno): Define with a prototype.
127955 2003-09-11  Bruno Haible  <bruno@clisp.org>
127957         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
127959 2003-09-10  Jim Meyering  <jim@meyering.net>
127961         * lib/error.c: Correct indentation of cpp directives.
127963 2003-09-10  Bruno Haible  <bruno@clisp.org>
127965         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
127966         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
127967         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
127968         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
127969         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
127970         <stdlib.h> and <string.h> checks.
127971         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
127972         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
127974 2003-09-10  Bruno Haible  <bruno@clisp.org>
127976         * lib/strcspn.c: Include <string.h> unconditionally.
127977         * lib/strpbrk.c: Include <string.h> unconditionally.
127978         * lib/strstr.c: Include <string.h> unconditionally.
127979         * lib/unicodeio.c: Include <string.h> unconditionally.
127980         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
127981         * lib/unsetenv.c: Likewise.
127982         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
127983         * lib/yesno.c: Include <stdlib.h> unconditionally.
127984         (rpmatch): Add prototype.
127986 2003-09-09  Paul Eggert  <eggert@twinsun.com>
127988         More patches to assume C89 or better.
127989         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
127990         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
127991         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
127992         or for string.h.
127993         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
127994         stdlib.h.
127995         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
127996         C headers.
127997         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
127998         string.h.
127999         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
128000         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
128001         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
128002         or for string.h.
128003         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
128004         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
128005         C headers.
128006         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
128007         memcpy.
128008         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
128009         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
128010         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
128011         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
128012         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
128013         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
128014         string.h, free.
128015         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
128016         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
128017         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
128018         C headers, or for string.h.
128019         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
128020         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
128021         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
128022         headers, memory.h, stdlib.h, string.h, strings.h.
128023         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
128024         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
128025         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
128026         strchr.
128027         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
128028         headers, memory.h, string.h.
128029         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
128030         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
128031         free.
128032         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
128033         headers.
128034         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
128035         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
128036         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
128037         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
128038         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
128040 2003-09-09  Paul Eggert  <eggert@twinsun.com>
128042         More K&R removal.
128044         * lib/acosl.c (main): Use a prototype.
128045         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
128046         tanl.c: Likewise.
128048         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
128050         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
128051         (getopt, etopt_long, getopt_long_only, _getopt_internal)
128052         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
128053         with a prototype.
128054         * lib/getopt.c (const): Remove macro.
128055         Include <string.h> unconditionally.
128056         (my_index): Remove; all uses changed to strchr.
128057         (strlen): Remove decl.
128058         (exchange): Remove forward decl; no longer needed.
128059         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
128060         Define with prototype.
128061         * lib/getopt1.c (const): Remove macro.
128062         (getopt_long, getopt_long_only, main): Define with prototype.
128064         * lib/getugroups.c: Include <string.h> unconditionally.
128066         * lib/getusershell.c: Include <stdlib.h> unconditionally.
128067         (getusershell, setusershell, endusershell, readname, main):
128068         Define with prototypes.
128070         * lib/group-member.c: Include group-member.h first.
128071         Include <stdlib.h> unconditionally.
128073         * lib/hard-locale.c: Include hard-locale.h first.
128074         Include <stdlib.h>, <string.h> unconditionally.
128076         * lib/hash.c (free, malloc): Remove decls.
128077         Include <stdlib.h> unconditionally.
128079         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
128080         (getenv): Do not declare.
128082         * lib/idcache.c: Include <string.h> unconditionally.
128084         * lib/long-options.c: Include long-options.h first, to test interface.
128085         Include <stdlib.h> unconditionally.
128087         * lib/makepath.c: Include makepath.h first, to test interface.
128088         Include <stdlib.h> and <string.h> unconditionally.
128090         * lib/linebuffer.c: Include <stdlib.h>.
128091         (free): Remove decl.
128093         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
128094         stddef.h. rpl_malloc returns void *, not char *.
128095         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
128096         prototype.
128098         * lib/md5.h: Include <limits.h> unconditionally.
128099         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
128100         (__P): Remove; all uses removed.
128101         * lib/md5.c: Include "md5.h" first.
128102         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
128103         md5_buffer, md5_process_bytes, md5_process_block):
128104         Define with prototypes.
128105         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
128106         * lib/sha.c: Include "sha.h" first.
128107         Include <stdlib.h>, <string.h> unconditionally.
128109         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
128110         * lib/memcmp.c (__ptr_t): Likewise.
128111         * lib/memrchr.c (__ptr_t): Likewise.
128112         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
128113         Include <string.h> unconditionally.
128114         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
128115         * lib/memchr.c: Include <stdlib.h> unconditionally.
128116         * lib/memchr.c (LONG_MAX): Remove.
128117         * lib/memrchr.c (LONG_MAX): Likewise.
128118         * lib/memchr.c (__memchr): Define via a prototype.
128119         * lib/memrchr.c (__memrchr): Likewise.
128120         * lib/memcmp.c (__P): Remove, and remove all uses.
128121         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
128122         Remove forward decls; no longer needed.
128123         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
128124         Use types required by C89 in prototype.
128126         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
128127         * lib/savedir.c: Likewise.
128128         * lib/mkdir.c (free): Remove decl.
128129         * lib/rmdir.c (rmdir): Define with a prototype.
128130         * lib/savedir.c: Include savedir.h first, to test interface.
128132         * lib/mktime.c (STDC_HEADERS): Remove.
128133         Include <stdlib.h>, <string.h> unconditionally.
128135         * lib/modechange.c: Include <stdlib.h> unconditionally.
128136         (malloc): Remove decl.
128138         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
128139         (free): Remove decl.
128141         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
128142         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
128143         (This type really should be intptr_t, but that's a C99ism.)
128144         (_obstack_memcpy): Remove: all uses changed to memcpy.
128145         Include <string.h> unconditionally.
128146         (struct obstack): Assume __STDC__ for types of members
128147         chunkfun, freefun, extra_arg.
128148         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
128149         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
128150         obstack_begin, obstack_specify_allocation,
128151         obstack_specify_allocation_with_arg, obstack_chunkfun,
128152         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
128153         Remove unprototyped decls and the macros that use them.
128154         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
128155         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
128156         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
128157         (defined __STDC__ && __STDC__)]:
128158         Remove nonprototyped code.
128159         Include <stdlib.h> unconditionally.
128160         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
128161         _obstack_allocated_p, _obstack_free, obstack_free,
128162         _obstack_memory_used, print_and_abort):
128163         Define using prototypes.
128164         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
128165         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
128166         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
128167         obstack_next_free, obstack_object_size, obstack_room) [0]:
128168         Remove unused, unprototyped code.
128170         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
128172         * lib/physmem.c (physmem_total, physmem_available, main): Define
128173         with prototypes.
128175         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
128176         (main): Define with a prototype.
128178         * lib/posixver.c (getenv): Remove decl.
128180         * lib/putenv.c (malloc): Returns void *, not char *.
128181         Include <string.h> unconditionally.
128182         (strchr, memcpy, NULL): Do not define.
128184         * lib/readtokens.c: Include readtokens.h first, to test interface.
128185         Include <stdlib.h>, <string.h> unconditionally.
128186         (init_tokenbuffer): Define with a prototype.
128188         * lib/regex.c (PARAMS): Remove.  All uses removed.
128189         All uses of _RE_ARGS removed, too.
128190         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
128191         unconditionally.
128192         (bzero): Assume memset exists.
128193         (memcmp, memcpy, NULL): Remove.
128194         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
128195         char, or assignments to local vars of type signed char.
128196         (init_syntax_once, PREFIX(extract_number_and_incr),
128197         PREFIX(print_partial_compiled_pattern),
128198         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
128199         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
128200         PREFIX(regex_grow_registers), PREFIX(regex_compile),
128201         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
128202         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
128203         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
128204         wcs_compile_range, byte_compile_range, truncate_wchar,
128205         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
128206         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
128207         count_mbs_length, wcs_re_match_2_internal,
128208         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
128209         PREFIX(alt_match_null_string_p),
128210         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
128211         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
128212         regfree, PREFIX(extract_number)): Define with prototype.  Remove
128213         now-unnecessary declaration, if any.
128214         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
128215         regcomp, regexec):
128216         Remove now-unnecessary casts among pointer types.
128217         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
128219         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
128220         (free): Remove decl.
128222         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
128224         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
128225         (free): Remove decl.
128227         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
128228         * lib/xgetcwd.c: Likewise.
128230         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
128231         (free): Remove decl.
128233         * lib/strchrnul.c (strchrnul): Define with a prototype.
128234         Fix bug: c_in was not converted to char before searching.
128236         The following changes are not K&R related:
128238         * lib/group-member.h: Include <sys/types.h>, so that this file is
128239         self-contained.
128240         * lib/makepath.h: Likewise.
128242         * lib/getusershell.c (readname, default_index, line_size, readname):
128243         Use size_t, not int, for sizes.
128244         (readname): If the size overflows, report an error instead of
128245         looping forever.
128247 2003-09-09  Paul Eggert  <eggert@twinsun.com>
128249         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
128250         libc.
128252 2003-09-09  Paul Eggert  <eggert@twinsun.com>
128254         * README: New section: portability guidelines.
128256 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
128258         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
128259         C89 spec.
128261 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
128263         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
128265 2003-09-08  Paul Eggert  <eggert@twinsun.com>
128267         Assume C89 or better; remove K&R cruft.
128268         A few of these changes were first proposed by Derek Robert Price
128269         in <http://mail.gnu.org/r/bug-gnulib/2003-07/msg00105.html>.
128271         * lib/addext.c: Include <string.h> unconditionally.
128272         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
128273         Don't declare getenv or malloc.
128275         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
128276         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
128277         (NULL): Remove.
128278         (find_stack_direction, alloca): Use prototypes.
128280         * lib/atexit.c (atexit): Define using a prototype.
128282         * lib/basename.c, dirname.c, stripslash.c:
128283         Include <string.h> unconditionally.
128285         * lib/bcopy.c: Include <stddef.h>.
128286         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
128288         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
128290         * lib/error.h (error, error_at_line, error_print_progname)
128291         [! (defined (__STDC__) && __STDC__)]: Remove decls.
128292         * lib/error.c: Include error.h first, to check interface.
128293         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
128294         (VA_START): Remove; all uses changeed to va_start.
128295         (exit, strerror): Remove decls.
128296         (error_print_progname): Prototype uncondionally.
128297         Don't include <errno.h>; no longer needed.
128298         (private_strerror): Remove.
128299         (error_tail): Always define.
128300         (error, error_at_line): Assume C89 or better; always use prototypes.
128301         * lib/fatal.c: Include "fatal.h" first, to test interface.
128302         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
128303         (VA_START): Remove; all uses changed to va_start.
128304         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
128305         this case.
128306         (exit): Remove decl.
128307         (fatal): Prototype unconditionally.  Assume va_start works.
128308         Abort at end, to pacify gcc.
128310         * lib/euidaccess.c (main): Define with a prototype.
128312         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
128314         * lib/exitfail.c: Include <stdlib.h> unconditionally.
128316         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
128317         prototypes.
128318         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
128319         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
128320         (getenv): Remove decl.
128321         (fnmatch): Define using a prototype.
128322         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
128323         (FCT): Define using a prototype.
128325         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
128327         * lib/gethostname.c: Include <stddef.h>.
128328         (gethostname): Define with prototype.  Length is size_t, not int.
128330 2003-09-08  Paul Eggert  <eggert@twinsun.com>
128332         Assume C89 or better; remove K&R cruft.
128333         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
128334         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
128335         string.h, getenv, malloc.
128336         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
128337         headers.
128338         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
128339         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
128340         do not check for strerror.
128341         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
128342         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
128343         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
128344         do not check for doprnt or vprintf.
128345         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
128346         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
128348 2003-09-08  Paul Eggert  <eggert@twinsun.com>
128350         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
128351         getversion.c should have been removed then, but was accidentally
128352         preserved.
128354         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
128355         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
128357 2003-09-08  Karl Berry  <karl@gnu.org>
128359         * config/config.sub, config.guess, srclistvars.sh: update from savannah
128360                 config, forget about prep.
128362         * config/depcomp, missing: update from automake.
128364 2003-09-07  Paul Eggert  <eggert@twinsun.com>
128366         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
128367         <http://mail.gnu.org/r/bug-gnulib/2003-09/msg00028.html>.
128369 2003-09-07  Paul Eggert  <eggert@twinsun.com>
128371         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
128372         copy_tm_result.  Bug reported by Simon Josefsson in
128373         <http://mail.gnu.org/r/bug-gnulib/2003-09/msg00028.html>.
128375 2003-09-06  Paul Eggert  <eggert@twinsun.com>
128377         * m4/time_r.m4: New file.
128378         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
128379         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
128380         is. Check for timegm declaration.
128381         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
128382         Do not check for gmtime_r.
128383         Replace mktime if __mktime_internal does not exist and if mktime
128384         hasn't been replaced already.
128386 2003-09-06  Paul Eggert  <eggert@twinsun.com>
128388         * lib/time_r.c, lib/time_r.h: New files.
128390         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
128391         __localtime_r.
128392         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
128393         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
128395         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
128396         __gmtime_r.
128397         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
128398         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
128399         Include <time_r.h>.
128401         * lib/timegm.c: Switch to glibc implementation, with the following
128402         changes:
128403         [defined HAVE_CONFIG_H]: Include <config.h>.
128404         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
128405         (__mktime_internal) [!defined _LIBC]: New decl.
128406         (__gmtime_r) [!defined _LIBC]: New macro and function.
128407         (timegm): Use a prototype, since gnulib assumes C89.
128408         Do not bother declaring tmp to be const, as it's not really usefu.
128409         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
128410         (timegm): Declare only if HAVE_DECL_TIMEGM.
128412 2003-09-06  Paul Eggert  <eggert@twinsun.com>
128414         * MODULES.html.sh (func_all_modules): Add time_r.
128415         * modules/time_r: New file.
128416         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
128417         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
128419 2003-09-03  Paul Eggert  <eggert@twinsun.com>
128421         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
128422         Bug reported by Lute Kamstra in
128423         <http://mail.gnu.org/r/bug-gnulib/2003-09/msg00003.html>.
128425         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
128426         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
128427         course with correspondingly smaller numbers for tomorrow and
128428         yesterday.  From Tadayoshi Funaba.  Originally installed into
128429         sh-utils on 1999-08-07, but the patch got lost (I guess during the
128430         coreutils merge?).
128432 2003-08-31  Simon Josefsson  <jas@extundo.com>
128434         * modules/timegm: New file.
128435         * MODULES.html.sh (func_all_modules): Add timegm.
128437 2003-08-31  Simon Josefsson  <jas@extundo.com>
128439         * m4/timegm.m4: New file.
128441 2003-08-31  Simon Josefsson  <jas@extundo.com>
128443         * lib/timegm.h: New file.
128444         * lib/timegm.c: New file.  Based on
128445         wget-1.8.2/src/http.c:mktime_from_utc.
128447 2003-08-31  Karl Berry  <karl@gnu.org>
128449         * lib/argp.h: update from libc.
128451 2003-08-28  Bruno Haible  <bruno@clisp.org>
128453         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
128454         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
128455         followed by '#define fnmatch fnmatch_posix' gives an error.
128457 2003-08-28  Bruno Haible  <bruno@clisp.org>
128459         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
128460         warning on QNX, which defines O_BINARY to 000000.
128462 2003-08-27  Jim Meyering  <jim@meyering.net>
128464         * m4/mkstemp.m4: Require that the system mkstemp be able to create
128465         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
128466         would fail after 32.  Reported by Danny Levinson.  Details here:
128467         http://mail.gnu.org/r/bug-coreutils/2003-08/msg00124.html
128469 2003-08-24  Bruno Haible  <bruno@clisp.org>
128471         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
128472         MSVC7 <stdio.h> is included later.
128474 2003-08-22  Simon Josefsson  <jas@extundo.com>
128476         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
128478 2003-08-20  Karl Berry  <karl@gnu.org>
128480         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
128482 2003-08-20  Bruno Haible  <bruno@clisp.org>
128484         * modules/progname: New file.
128485         * MODULES.html.sh (func_all_modules): Add progname.
128487 2003-08-20  Bruno Haible  <bruno@clisp.org>
128489         * lib/progname.h: New file, from GNU gettext.
128490         * lib/progname.c: New file, from GNU gettext.
128491         * lib/progreloc.c: New file, from GNU gettext.
128493 2003-08-19  Jim Meyering  <jim@meyering.net>
128495         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
128496         http://mail.gnu.org/r/bug-gnulib/2003-08/msg00155.html
128498 2003-08-19  Bruno Haible  <bruno@clisp.org>
128500         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
128501         more.
128503 2003-08-19  Bruno Haible  <bruno@clisp.org>
128505         * lib/xstrdup.c: Assume <string.h> exists.
128507 2003-08-18  Paul Eggert  <eggert@twinsun.com>
128509         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
128510         in makefile rules.
128512 2003-08-18  Jim Meyering  <jim@meyering.net>
128514         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
128515         * m4/lib-ld.m4: Likewise.
128517 2003-08-18  Jim Meyering  <jim@meyering.net>
128519         * lib/setenv.h: Indent nested cpp directive.
128520         * lib/vasnprintf.c: Remove trailing blanks.
128522 2003-08-17  Simon Josefsson  <jas@extundo.com>
128524         * modules/xstrndup: New file.
128525         * MODULES.html.sh (func_all_modules): Add xstrndup.
128527 2003-08-17  Simon Josefsson  <jas@extundo.com>
128529         * modules/argp: Fix autoconf macro name. Add more dependencies.
128531 2003-08-17  Simon Josefsson  <jas@extundo.com>
128533         * m4/xstrndup.m4: New file.
128535 2003-08-17  Simon Josefsson  <jas@extundo.com>
128537         * m4/argp.m4: New file.
128539 2003-08-17  Simon Josefsson  <jas@extundo.com>
128540             Bruno Haible  <bruno@clisp.org>
128542         * lib/xstrndup.h: New file.
128543         * lib/xstrndup.c: New file.
128545 2003-08-17  Bruno Haible  <bruno@clisp.org>
128547         * modules/strndup (Files, Include): Add lib/strndup.h.
128549 2003-08-17  Bruno Haible  <bruno@clisp.org>
128551         * modules/euidaccess (Files): Add lib/euidaccess.h.
128553 2003-08-17  Bruno Haible  <bruno@clisp.org>
128555         * lib/strndup.h: New file.
128557 2003-08-17  Bruno Haible  <bruno@clisp.org>
128559         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
128560         like AC_GNU_SOURCE.
128561         * modules/extensions (configure.ac): Comment out the invocation of
128562         gl_USE_SYSTEM_EXTENSIONS.
128564 2003-08-16  Paul Eggert  <eggert@twinsun.com>
128566         Merges from coreutils, etc.
128567         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
128568         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
128569         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
128570         fixing a typo.
128571         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
128572         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
128574 2003-08-16  Paul Eggert  <eggert@twinsun.com>
128576         Document merge from coreutils.
128577         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
128578         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
128579         * modules/utime: Add m4/utimes-null.m4.
128581 2003-08-16  Paul Eggert  <eggert@twinsun.com>
128583         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
128584         space, undoing this 2003-08-12 change:
128585         <http://mail.gnu.org/r/bug-gnulib/2003-08/msg00080.html>
128587 2003-08-16  Paul Eggert  <eggert@twinsun.com>
128589         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
128590         strtoul.c from libc, undoing this 2003-08-12 change:
128591         <http://mail.gnu.org/r/bug-gnulib/2003-08/msg00080.html>
128593 2003-08-16  Jim Meyering  <jim@meyering.net>
128595         Merges from coreutils.
128596         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
128597         prefix.  Adjust cache variables similarly.  Create 500 rather than
128598         just 300 files, to exercise bug on Darwin6.5, too.
128599         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
128600         $missing_dir.
128601         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
128602         AM_SYS_POSIX_TERMIOS.
128603         Reported by mkc@mathdogs.com.
128604         Also change use of $am_cv_sys_posix_termios
128605         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
128606         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
128607         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
128608         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
128609         in /proc/mounts until it finds one with matching device number.  This
128610         is unnecessary when the FILE argument *is* a mount point.  No stat call
128611         is necessary in that case.  So, disable the statvfs-testing code on
128612         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
128613         as RedHat bug# 84846.
128614         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
128615         to 1MB, so as not to render systems with no stack size limit (e.g.,
128616         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
128617         Include <unistd.h>.  On some systems,
128618         it is required for the definition of _SC_PAGESIZE.
128620 2003-08-16  Jim Meyering  <jim@meyering.net>
128622         Merge from coreutils.
128623         * lib/xstrtoimax.c: #else #if -> #elif.
128624         * lib/xstrtoumax.c: Likewise.
128626 2003-08-16  Jim Meyering  <jim@meyering.net>
128628         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
128629         * m4/utimes.m4: Removed.
128630         * m4/utimes-null.m4: Renamed from utimes.m4.
128632         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
128633         to 1MB, so as not to render systems with no stack size limit (e.g.,
128634         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
128635         Include <unistd.h>.  On some systems,
128636         it is required for the definition of _SC_PAGESIZE.
128638 2003-08-16  Jim Meyering  <jim@meyering.net>
128639         and Paul Eggert  <eggert@cs.ucla.edu>
128641         Merges from coreutils, etc.
128643         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
128644         using the latest version from cvs.  This avoids problems with #line
128645         directives using a vendor (Sun) compiler.
128646         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
128647         Don't set GETGROUPS_LIB here; now it's
128648         done via getgroups.m4's wrapper function.
128649         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
128650         rather than just in sh-util/configure.in, so that the
128651         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
128652         same.
128653         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
128654         AC_FUNC_GETLOADAVG where to find getloadavg.c.
128655         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
128656         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
128657         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
128658         Remove code that is now done by the newly-required macros.
128659         Append $(EXEEXT) to DF_PROG.
128660         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
128661         Do not invoke or require the following here,
128662         since prereq.m4 or some gnulib .m4 now does this for us:
128663         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
128664         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
128665         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
128666         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
128667         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
128668         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
128669         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
128670         AC_FUNC_OBSTACK.
128671         Do not replace the following functions, as this is now the job
128672         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
128673         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
128674         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
128675         atexit getpass, strdup, getpagesize.
128676         Replace 'raise'.
128677         Do not check for the following functions, as this is now the job
128678         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
128679         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
128680         setregid.
128681         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
128682         Check for sys/sysctl.h.
128683         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
128684         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
128685         of checking for ssize_t ourselves.
128687         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
128688         Require every macro that gnulib/modules/* suggests for us.
128689         (jm_PREREQ_ADDEXT): New macro.
128690         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
128691         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
128693         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
128694         (gl_PHYSMEM): Use it.
128695         Also check for `table' function.
128696         Check for new headers and functions.
128697         Add check for sys/sysmp.h.
128698         With suggestions from Kaveh Ghazi.
128699         Ignore headers that are present but cannot be compiled.  This
128700         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
128701         C 5.4.
128703 2003-08-15  Paul Eggert  <eggert@twinsun.com>
128705         Document merge from coreutils.
128706         * modules/userspec: Depend on posixver.
128707         * modules/strftime: Depend on tzset.
128709 2003-08-15  Paul Eggert  <eggert@twinsun.com>
128711         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
128712         rather than tab, after '#' in shell-script copyright notices.
128713         Suggested by Bruno Haible.
128715 2003-08-15  Paul Eggert  <eggert@twinsun.com>
128717         * config/srclist-update: Use three spaces, rather than tab, after '#'
128718         in shell-script copyright notices.  Suggested by Bruno Haible.
128719         Remove unnecessary parenthesization in regular expression.
128721 2003-08-15  Jim Meyering  <jim@meyering.net>
128723         Merge from coreutils.
128724         * lib/xgethostname.c: Include <stdlib.h>.
128725         (xghostname): Don't exit for anything other than memory-related
128726         failure; just return NULL.
128727         * lib/userspec.c: Include "posixver.h".
128728         (parse_user_spec): Accept `.' as a separator only
128729         in pre-POSIX-200112 mode.
128730         * lib/strtoimax.c: Use #elif rather than #else #if.
128731         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
128732         Remove function, now that we can rely on a working tzset function.
128733         [!_LIBC]: Ensure that the required autoconf test has been run.
128734         [!defined _NL_CURRENT && HAVE_STRFTIME]:
128735         Use underlying_strftime for %r.
128736         * lib/sha.c: Merge in some clean-up and optimization changes from
128737         glibc.
128738         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
128739         Ensure that it is a multiple of 64.
128740         Rearrange loop exit tests so as to avoid performing an
128741         additional fread after encountering an error or EOF.
128742         * lib/realloc.c: Update copyright date.
128744 2003-08-15  Jim Meyering  <jim@meyering.net>
128745         and Paul Eggert  <eggert@twinsun.com>
128747         Merge from coreutils.
128748         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
128749         member but strut utmpx does not.  Needed for AIX 4.3.3.
128750         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
128752 2003-08-15  Jim Meyering  <jim@meyering.net>
128753         and Paul Eggert  <eggert@cs.ucla.edu>
128755         Merges from coreutils, etc.
128756         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
128757         Require gl_FUNC_TZSET_CLOBBER.
128758         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
128759         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
128760         members.
128762 2003-08-14  Paul Eggert  <eggert@twinsun.com>
128764         Help the merge from coreutils.
128765         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
128766         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
128767         * m4/tzset.m4: Use it too.
128769 2003-08-14  Paul Eggert  <eggert@twinsun.com>
128771         * modules/tzset: New file.
128773 2003-08-14  Jim Meyering  <jim@meyering.net>
128775         Merges from coreutils.
128776         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
128777         variable names, rather than @FNMATCH_H@.
128778         * modules/alloca: Likewise for $(ALLOCA_H).
128780         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
128781         the three copies of the literal target, `fnmatch.h'.
128782         * modules/alloca (alloca.h): Likewise.
128784 2003-08-14  Jim Meyering  <jim@meyering.net>
128786         Merge from coreutils.
128787         * m4/tzset.m4: New file.
128788         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
128789         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
128790         otherwise, AIX 5.1 systems would end up using the latter.
128791         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
128792         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
128793         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
128794         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
128796 2003-08-14  Jim Meyering  <jim@meyering.net>
128798         Merge from coreutils.
128799         * lib/obstack.h: Whitespace changes.
128800         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
128801         and xcalloc return values.
128802         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
128803         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
128804         hang on OSF/1 5.1 for DIR on both local and remote file systems.
128805         Reported by (and fix confirmed by) Nelson H. F. Beebe.
128806         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
128807         error from mntctl.
128808         Use mntctl's return value to drive the entry-processing loop, since
128809         we can't rely on the value of the vmt_length member in the last
128810         entry.  On some systems doing so could result in exhausting
128811         virtual memory.  Based in part on a patch from Mike Jetzer.
128813 2003-08-14  Jim Meyering  <jim@meyering.net>
128814         and Paul Eggert  <eggert@twinsun.com>
128816         Merges from coreutils, plus other fixes.
128817         * lib/physmem.c: Merge in portability changes from gcc/libiberty
128818         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
128819         for credits and details.  Thanks to Kaveh Ghazi for helping
128820         to keep these files in sync.
128821         (ARRAY_SIZE): Define it.
128822         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
128823         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
128824         (memcasecmp): Don't assume size_t fits in unsigned int.
128825         Remove casts and duplicate code.
128826         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
128827         (memcpy): Remove definition.
128828         Merge in some clean-up and optimization changes from glibc.
128829         [BLOCKSIZE]: Move definition to top of file.
128830         Ensure that it is a multiple of 64.
128831         Rearrange loop exit tests so as to avoid performing an
128832         additional fread after encountering an error or EOF.
128833         * lib/md5.h (md5_uintptr): Define.
128834         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
128835         return to the initial working directory.  Preserve errno
128836         for caller.
128837         * lib/idcache.c: Include "xalloc.h".
128838         (xmalloc, xrealloc): Remove decls.
128839         (getuser): Remove casts no longer required in C89.
128840         * lib/human.c: Include stdio.h, for sprintf.
128841         * lib/group-member.c: Include "xalloc.h".
128842         (xmalloc, xrealloc): Remove decls.
128843         (get_group_info): Remove casts no longer required in C89.
128844         * lib/getusershell.c (readname): Remove casts no longer required in
128845         C89.
128846         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
128847         * lib/getline.c: Whitespace fix, from coreutils.
128849 2003-08-13  Paul Eggert  <eggert@twinsun.com>
128851         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
128852         Check for isascii.
128854         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
128855         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
128856         Undo previous (whitespace-only) change.
128858 2003-08-13  Paul Eggert  <eggert@twinsun.com>
128860         * lib/exclude.c: Include <ctype.h>
128861         (IN_CTYPE_DOMAIN): New macro.
128862         (is_space): New fn.
128863         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
128864         and empty lines.
128866         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
128867         Undo previous (whitespace-only) change.
128869 2003-08-13  Paul Eggert  <eggert@twinsun.com>
128871         * config/srclist-update: Change update back to the old behavior,
128872         leaving whitespace alone.  Use one 'sed' command rather than a
128873         pipeline.
128874         (fixlicense): Now a variable, not a function.
128875         (remove_trailing_blanks): Remove.
128876         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
128877         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
128878         Undo previous (whitespace-only) change.
128880 2003-08-12  Paul Eggert  <eggert@twinsun.com>
128882         Merge from coreutils.
128883         * modules/euidaccess: Add lib_SOURCES, include for new
128884         file euidaccess.h
128886 2003-08-12  Paul Eggert  <eggert@twinsun.com>
128888         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
128889         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
128890         Normalize leading white space and remove trailing white space.
128892         Merge from coreutils
128893         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
128895         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
128896         0.12.1.  These files are now being upgraded automatically by
128897         ../config/srclist-update.
128899 2003-08-12  Paul Eggert  <eggert@twinsun.com>
128901         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
128902         Normalize leading white space and remove trailing white space.
128903         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
128904         notice, as per ../config/srclist-update.
128906         Merge from coreutils.
128907         * lib/euidaccess.h: New file.
128908         * lib/euidaccess.c: Include it.
128909         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
128910         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
128911         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
128913 2003-08-12  Paul Eggert  <eggert@twinsun.com>
128915         * config/srclist-update: Add copyright notice.
128916         (remove_id_lines, remove_trailing_blanks): New constants.
128917         (fixfile): Use them to normalize spacing a bit in copied files.
128918         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
128919         Normalize leading white space and remove trailing white space.
128921         * config/texinfo.tex: Sync with texinfo.
128923         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
128924         strtoul.c from libc, to merge coreutils whitespace changes.
128926         * config/srclist.txt: Get the following m4 files from gettext:
128927         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
128928         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
128929         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
128930         wint_t.m4.
128932 2003-08-12  Karl Berry  <karl@gnu.org>
128934         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
128935         been made.
128937 2003-08-11  Paul Eggert  <eggert@twinsun.com>
128939         * modules/gnu-source, m4/gnu-source.m4:
128940         Remove; we're assuming Autoconf 2.54 or later now.
128941         Suggested by Bruno Haible.
128942         * MODULES.html.sh (func_all_modules): Remove gnu-source.
128944 2003-08-11  Bruno Haible  <bruno@clisp.org>
128946         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
128948 2003-08-11  Bruno Haible  <bruno@clisp.org>
128950         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
128951         (vasnprintf): Use it instead of wcslen.
128953 2003-08-11  Bruno Haible  <bruno@clisp.org>
128955         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
128956         value to ensure that _Bool promotes to int. Use #define for _Bool when
128957         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
128959 2003-08-10  Karl Berry  <karl@gnu.org>
128961         * lib/regex.h: update from libc (whitespace fix).
128963 2003-08-09  Paul Eggert  <eggert@twinsun.com>
128965         Merge some files from coreutils.  These changes were
128966         originally made by Jim Meyering.
128967         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
128968         many older Unixes require this.
128969         * lib/alloca.c (alloca): Remove cast to argument of free;
128970         no longer needed in C89.
128971         * lib/alloca_.h, regex.h: Fix white space to match
128972         what GNU indent does.
128974 2003-08-09  Paul Eggert  <eggert@twinsun.com>
128976         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
128977         apparently Emacs's Unicode mode got confused before my 2003-08-05
128978         checkin.
128980 2003-08-08  Paul Eggert  <eggert@twinsun.com>
128982         * m4/extensions.m4: New file.
128983         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
128984         Require gl_USE_SYSTEM_EXTENSIONS.
128985         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
128986         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
128988 2003-08-08  Paul Eggert  <eggert@twinsun.com>
128990         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
128991         * modules/extensions, modules/gnu-source: New files.
128992         * modules/timespec, modules/unlocked-io: Depend on extensions.
128994 2003-08-07  Paul Eggert  <eggert@twinsun.com>
128996         * modules/restrict: New file.
128997         * MODULES.html.sh (func_all_modules): Add restrict.
128998         * modules/regex: Depend on restrict.
129000 2003-08-07  Paul Eggert  <eggert@twinsun.com>
129002         * m4/restrict.m4: New file.
129003         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
129005 2003-08-07  Bruno Haible  <bruno@clisp.org>
129007         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
129008         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
129010 2003-08-07  Bruno Haible  <bruno@clisp.org>
129012         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
129013         makes the module 'getndelim2' compatible with the module 'getline'.
129015 2003-08-05  Paul Eggert  <eggert@twinsun.com>
129017         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
129018         byte with "\201" to avoid glitches when editing that source file
129019         with multi-gnome-terminal.
129021 2003-08-05  Paul Eggert  <eggert@twinsun.com>
129023         * lib/bumpalloc.h: Remove.
129025 2003-08-05  Paul Eggert  <eggert@twinsun.com>
129027         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
129028         * modules/bumpalloc: Remove.
129030 2003-08-04  Paul Eggert  <eggert@twinsun.com>
129032         * lib/getloadavg.c: Change copyright notice and spacing to conform to
129033         GNU coding style.
129035         Merge from coreutils.
129036         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
129037         1. From glibc.
129038         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
129039         from Karl Berry, implemented by Jim Meyering.
129040         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
129041         from Dmitry V. Levin.
129042         Remove anachronistic cast of xrealloc.
129043         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
129044         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
129045         type. Otherwise, it wouldn't compile with at least /bin/cc on
129046         ymp-cray-unicos9.0.2.X.
129047         Combine two mostly-identical uses of alloca into one.
129048         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
129050 2003-08-04  Dave Love  <d.love@dl.ac.uk>
129052         [From Emacs.]
129054         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
129055         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
129056         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
129057         obsolete NLIST_NAME_UNION.
129058         [__GNU__]: Undef BSD and FSCALE.
129059         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
129061 2003-08-03  Paul Eggert  <eggert@twinsun.com>
129063         * lib/stdbool_.h (_Bool): Make it signed char, instead of
129064         an enum type, so that it's guaranteed to promote to int.  See:
129065         <http://mail.gnu.org/r/bug-gnulib/2003-07/msg00124.html>
129067 2003-08-03  Karl Berry  <karl@gnu.org>
129069         * config/depcomp: update from automake.
129071 2003-07-31  Paul Eggert  <eggert@twinsun.com>
129073         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
129074         (strerror): Don't assume that a printable int fits in 14 bytes.
129076 2003-07-31  Bruno Haible  <bruno@clisp.org>
129078         * modules/getpass-gnu: New file.
129079         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
129081 2003-07-31  Bruno Haible  <bruno@clisp.org>
129083         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
129085 2003-07-24  Karl Berry  <karl@gnu.org>
129087         * config/missing: update from automake.
129089 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
129090             Bruno Haible  <bruno@clisp.org>
129092         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
129093         * lib/getline.c (getline, getdelim): Likewise.
129094         Remove _GNU_SOURCE define; now it's defined in config.h through
129095         m4/getline.m4.
129097 2003-07-23  Karl Berry  <karl@gnu.org>
129099         * config/config.sub: update from prep.
129101 2003-07-22  Paul Eggert  <eggert@twinsun.com>
129103         * modules/xalloc (Depends-on): Add exitfail.
129104         * modules/xmemcoll: Likewise.
129106 2003-07-22  Paul Eggert  <eggert@twinsun.com>
129108         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
129109         over-parenthesization in macros.
129111         Sync with coreutils.
129113         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
129114         required by C99.
129116         Use `exit_failure' for xalloc and xmemcoll instead of their own
129117         private exit-failure variables.
129118         * lib/xalloc.h (xalloc_exit_failure): Remove.
129119         * lib/xmalloc.c: Likewise.  Include exitfail.h.
129120         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
129121         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
129122         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
129123         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
129125 2003-07-20  Jim Meyering  <jim@meyering.net>
129127         * modules/closeout (Depends-on): Add exitfail.
129128         Suggestion from Bruno Haible.
129130 2003-07-19  Karl Berry  <karl@gnu.org>
129132         * config/config.sub: update from prep.
129134 2003-07-18  Paul Eggert  <eggert@twinsun.com>
129136         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
129137         Remove.
129138         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
129139         to test that it can stand by itself.  Include "exitfail.h".
129140         Clients should set exit_failure instead.
129141         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
129143 2003-07-18  Bruno Haible  <bruno@clisp.org>
129145         * modules/getndelim2: New file.
129146         * modules/getline: Share files with module getndelim2.
129147         * modules/getnline: Depend on getndelim2 instead of sharing files with
129148         it. Add getnline.c to lib_SOURCES.
129149         * MODULES.html.sh (func_all_modules): Add getndelim2.
129151 2003-07-18  Bruno Haible  <bruno@clisp.org>
129153         * m4/getndelim2.m4: New file.
129154         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
129155         invoke gl_PREREQ_GETNDELIM2.
129156         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
129157         gl_PREREQ_GETNDELIM2.
129158         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
129159         gl_GETNDELIM2.
129161 2003-07-18  Bruno Haible  <bruno@clisp.org>
129163         * lib/getndelim2.h: New file.
129164         * lib/getndelim2.c: Make into a module of its own. Include config.h,
129165         getndelim2.h.
129166         (getndelim2): Make non-static. Change return type to ssize_t.
129167         * lib/getline.h: Change argument names.
129168         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
129169         * lib/getnline.c: Include getndelim2.h.
129171 2003-07-18  Andreas Schwab  <schwab@suse.de>
129173         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
129175 2003-07-17  Karl Berry  <karl@gnu.org>
129177         * config/config.sub: update from prep.
129179 2003-07-17  Bruno Haible  <bruno@clisp.org>
129181         * modules/getnline: New file.
129182         * modules/getline: Add lib/getndelim2.c to source file list.
129183         * MODULES.html.sh (func_all_modules): Add getnline.
129185 2003-07-17  Bruno Haible  <bruno@clisp.org>
129187         * m4/getnline.m4: New file.
129189 2003-07-17  Bruno Haible  <bruno@clisp.org>
129191         * m4/Makefile.am.in: Remove file.
129192         * m4/Makefile.am: Remove file.
129193         * m4/Makefile.in: Remove file.
129195 2003-07-17  Bruno Haible  <bruno@clisp.org>
129197         * lib/getnline.h: New file.
129198         * lib/getnline.c: New file.
129199         * lib/getndelim2.c: New file, extracted from getline.c.
129200         (getndelim2): Renamed from getdelim2, with added nmax argument.
129201         * lib/getline.c: Include getndelim2.c.
129202         (getdelim2): Moved out to getndelim2.c.
129203         (getline, getdelim): Update.
129205 2003-07-17  Bruno Haible  <bruno@clisp.org>
129207         * lib/Makefile.am: Remove file.
129208         * lib/Makefile.in: Remove file.
129210 2003-07-17  Bruno Haible  <bruno@clisp.org>
129212         * configure.in: Remove file.
129213         * Makefile.in: Remove file.
129215 2003-07-17  Bruno Haible  <bruno@clisp.org>
129217         * MODULES.html.sh: Put the </BODY> right before </HTML>.
129219 2003-07-16  Karl Berry  <karl@gnu.org>
129221         * config/srclist-update: was running fixlicense twice, which caused
129222                 texinfo.tex to be nullified for some reason.  Simplify,
129223                 $gplsrc is no longer needed as far as I can see?
129225 2003-07-16  Jim Meyering  <jim@meyering.net>
129227         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
129229 2003-07-15  Paul Eggert  <eggert@twinsun.com>
129231         * config/srclist.txt: Get the following files from gettext-runtime/intl
129232         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
129233         ref-del.sin.  From Bruno Haible.
129234         * config/srclist-update (fixfile): Change grep pattern again, since the
129235         previous fix didn't work (there was another trailing $).  Use
129236         '[$]' to escape the $s.
129238 2003-07-15  Karl Berry  <karl@gnu.org>
129240         * lib/vasnprintf.c: update from gettext.
129242 2003-07-15  Karl Berry  <karl@gnu.org>
129244         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
129245         gets expanded when surrounded by '$'.
129247 2003-07-15  Jim Meyering  <jim@meyering.net>
129249         * modules/save-cwd: Don't depend on error.  From Derek Price.
129251 2003-07-15  Jim Meyering  <jim@meyering.net>
129253         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
129255 2003-07-14  Simon Josefsson  <jas@extundo.com>
129257         * modules/mempcpy: New file.
129258         * MODULES.html.sh (func_all_modules): Add mempcpy.
129260 2003-07-14  Simon Josefsson  <jas@extundo.com>
129262         * m4/mempcpy.m4: New file.
129264 2003-07-14  Simon Josefsson  <jas@extundo.com>
129266         * lib/mempcpy.h: New file.
129267         * lib/mempcpy.c: New file.
129269 2003-07-14  Paul Eggert  <eggert@twinsun.com>
129271         * modules/getdate, modules/posixtm: Depend on mktime.
129273 2003-07-14  Paul Eggert  <eggert@twinsun.com>
129275         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
129276         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
129277         unicodeio.c, unicodeio.h, unlocked-io.h:
129278         Switch from LGPL to GPL.
129280 2003-07-14  Paul Eggert  <eggert@twinsun.com>
129282         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
129283         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
129284         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
129285         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
129286         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
129287         updated automatically by ../config/srclist-update.  This changes
129288         their license from LPGL to GPL.
129290 2003-07-14  Paul Eggert  <eggert@twinsun.com>
129292         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
129293         assumed to refer to the root of the most recent stable gettext version.
129294         * config/srclistvars.sh: Add defaults for eggert.
129295         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
129296         Match "This program" as well as "The program".  This is needed
129297         for gettext.
129299 2003-07-14  Jim Meyering  <jim@meyering.net>
129301         Don't emit diagnostics.  Let callers do that.
129302         * lib/save-cwd.c: Don't include "error.h".
129303         (save_cwd): Don't call error.  Ensure that errno is valid
129304         when returning nonzero.
129306         * lib/save-cwd.h (restore_cwd): Update prototype.
129307         * lib/save-cwd.c (restore_cwd): Remove two parameters.
129308         Simplify.  Don't call error upon failure.  Let callers do that.
129309         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
129310         when auditing is enabled.  But don't bother updating the #if.
129312 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
129314         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
129315         it breaks C++ compilation.
129316         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
129318 2003-07-10  Simon Josefsson  <jas@extundo.com>
129320         * modules/strchrnul (Makefile.am): Add strchrnul.h.
129322 2003-07-10  Jim Meyering  <jim@meyering.net>
129324         * m4/clock_time.m4: Remove trailing blank.
129325         * m4/intmax_t.m4: Likewise.
129327 2003-07-10  Jim Meyering  <jim@meyering.net>
129329         * lib/vasnprintf.c: Remove trailing blanks.
129330         Make cpp indentation consistent.
129332 2003-07-09  Paul Eggert  <eggert@twinsun.com>
129334         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
129335         posixver.c, strftime.c, strnlen.c, strverscmp.c:
129336         Switch from LGPL to GPL.
129338 2003-07-09  Paul Eggert  <eggert@twinsun.com>
129340         * config/srclist.txt: Sort sublists.  Add
129341         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
129342         that differ from gnulib for one reason or another; we'd like this list
129343         to be smaller but for now let's document what we have.
129345 2003-07-08  Paul Eggert  <eggert@twinsun.com>
129347         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
129348         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
129349         and sweeter "eval x=$x".
129350         * config/srclist.txt: Get lib/argp* from glibc.
129352 2003-07-07  Paul Eggert  <eggert@twinsun.com>
129354         * lib/mktime.c: Fix some boundary cases and remove need for floating
129355         point.
129357         Issue a compile-time diagnostic if time_t is floating point, or if
129358         two's complement arithmetic is not in effect, or if arithmetic
129359         right shift does not propagate the sign.  These assumptions were
129360         all in the original code but they weren't checked.
129362         (TIME_T_MIDPOINT, verify): New macros.
129363         (__isleap): Remove; it has integer overflow problems.
129364         (leapyear): New function, without those problems.
129365         (ydhms_tm_diff): Remove; splitting into two parts.
129366         (ydhms_diff): New function, containing the arithmetic part of
129367         the old ydhms_tm_diff function.  Issue a compile-time
129368         diagnostic if we are not using C99 integer division.
129369         Avoid casts when possible.
129370         (guess_time_tm): New function, containing the checking part of
129371         the old ydhms_tm_diff function.  Return the new value, rather than
129372         the difference between it and the old.  Accept a new argument T
129373         so that *T specifies the old value.  Check for overflow in the result.
129375         (__mktime_internal): Use a time_t offset, not a long int offset.
129376         This undoes the 2003-06-04 change, which is no longer needed now
129377         that we have better overflow checking.
129378         (localtime_offset): Likewise.
129380         (__mktime_internal): Avoid harmful overflow on hosts where time_t
129381         and long are 64-bit but int is only 32-bit.
129382         (ydhms_diff): Use long int to store year1 and yday1.
129383         Issue a compile-time diagnostic if long int is not wide enough.
129385         (__mktime_internal): Use long int to store adjusted year and yday.
129386         Use plain C rather than preprocessor commands, if that doesn't
129387         affect efficiency.
129388         Check for overflow (and try to repair) after each probe
129389         rather than checking only at the very end.  This avoids some bugs
129390         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
129391         does not equal GMT offset at maximum time).
129392         Use integer to check for overflow rather than floating point; this
129393         is more portable to non-IEEE hosts, and is a tad faster.
129394         When we detect that we are oscillating between two values,
129395         don't check whether tm_isdst has the requested value, since
129396         we already know the answer.  When tm_isdst has the wrong value,
129397         use a different heuristic to find the right one, based on the
129398         extreme values actually observed in practice in tz2003a,
129399         rather than the (overly optimistic) "previous 3 calendar quarters".
129401         (not_equal_tm, print_tm, check_result): Use "const T" rather than
129402         "T const" to accommodate glibc style.
129403         (check_result): Use less-confusing report format.  "long" -> "long int.
129404         (main): Likewise.
129405         Don't loop if the iteration overflows time_t.
129406         Allow a negative step in the iteration.
129408 2003-07-06  Karl Berry  <karl@gnu.org>
129410         * config/depcomp: update from automake.
129411         * config/config.sub: update from prep.
129413 2003-07-03  Karl Berry  <karl@gnu.org>
129415         * config/config.guess: update from prep.
129417 2003-07-01  Paul Eggert  <eggert@twinsun.com>
129419         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
129420         xreadlink.c now includes it unconditionally.
129422 2003-07-01  Paul Eggert  <eggert@twinsun.com>
129424         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
129425         having it depend on HAVE_SYS_TYPES_H.
129427 2003-07-01  Bruno Haible  <bruno@clisp.org>
129429         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
129430         <sys/types.h> should be sufficient.
129431         Reported by Paul Eggert.
129433 2003-06-26  Karl Berry  <karl@gnu.org>
129435         * config/depcomp: update from automake.
129437 2003-06-26  Bruno Haible  <bruno@clisp.org>
129439         * modules/human: Depend on module stdbool.
129441 2003-06-25  Bruno Haible  <bruno@clisp.org>
129443         * modules/readlink: New file.
129444         * modules/xreadlink: Depend on it.
129445         * MODULES.html.sh (func_all_modules): Add readlink.
129447 2003-06-25  Bruno Haible  <bruno@clisp.org>
129449         * m4/readlink.m4: New file.
129451 2003-06-25  Bruno Haible  <bruno@clisp.org>
129453         * lib/readlink.c: New file.
129455 2003-06-22  Karl Berry  <karl@gnu.org>
129457         * config/srclist.txt: update mkinstalldirs from automake.
129458         * config/mkinstalldirs: update.
129460 2003-06-22  Bruno Haible  <bruno@clisp.org>
129462         Portability to mingw32.
129463         * m4/ssize_t.m4: New file, from GNU gettext.
129464         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
129465         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
129467 2003-06-22  Bruno Haible  <bruno@clisp.org>
129469         * modules/safe-read: Add m4/ssize_t.m4.
129470         * modules/xreadlink: Add m4/ssize_t.m4.
129472 2003-06-20  Bruno Haible  <bruno@clisp.org>
129474         Assume C89, so PARAMS isn't needed.
129475         * lib/unicodeio.h (PARAMS): Remove.
129476         * lib/unicodeio.c: Don't use PARAMS.
129478 2003-06-18  Karl Berry  <karl@gnu.org>
129480         * config/config.{guess,sub}: update from prep.
129482 2003-06-18  Jim Meyering  <jim@meyering.net>
129484         Merge changes from coreutils.
129485         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
129486         Remove explicit declarations of xmalloc and realloc.
129487         Include xalloc.h.
129488         (read_utmp): Remove anachronistic cast of xmalloc.
129490 2003-06-17  Paul Eggert  <eggert@twinsun.com>
129492         Assume C89, so PARAMS isn't needed.
129493         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
129494         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
129495         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
129496         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
129497         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
129498         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
129499         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
129500         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
129501         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
129502         lib/xstrtod.h, lib/xstrtol.h: Likewise.
129503         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
129504         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
129505         no longer needed. Anyway, config.h should always be included before any
129506         other file.
129508 2003-06-11  Simon Josefsson  <jas@extundo.com>
129510         * modules/sysexits: New file.
129511         * MODULES.html.sh (func_all_modules): Add sysexits.
129513 2003-06-11  Simon Josefsson  <jas@extundo.com>
129515         * lib/sysexit_.h: New file.
129517 2003-06-11  Derek Price  <derek@ximbiot.com>
129519         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
129520         necessary.
129522 2003-06-11  Bruno Haible  <bruno@clisp.org>
129524         * m4/sysexits.m4: New file.
129526 2003-06-10  Simon Josefsson  <jas@extundo.com>
129528         * lib/argp.h: New file, from glibc.
129529         * lib/argp-ba.c: New file, from glibc.
129530         * lib/argp-eexst.c: New file, from glibc.
129531         * lib/argp-fmtstream.c: New file, from glibc.
129532         * lib/argp-fmtstream.h: New file, from glibc.
129533         * lib/argp-fs-xinl.c: New file, from glibc.
129534         * lib/argp-help.c: New file, from glibc.
129535         * lib/argp-namefrob.h: New file, from glibc.
129536         * lib/argp-parse.c: New file, from glibc.
129537         * lib/argp-pv.c: New file, from glibc.
129538         * lib/argp-pvh.c: New file, from glibc.
129539         * lib/argp-xinl.c: New file, from glibc.
129541 2003-06-10  Simon Josefsson  <jas@extundo.com>
129543         * modules/strchrnul: New file.
129545 2003-06-10  Simon Josefsson  <jas@extundo.com>
129547         * modules/argp: New file.
129549 2003-06-10  Simon Josefsson  <jas@extundo.com>
129551         * m4/strchrnul.m4: New file.
129553 2003-06-10  Simon Josefsson  <jas@extundo.com>
129555         * lib/strchrnul.h: New file.
129556         * lib/strchrnul.c: New file.
129558 2003-06-10  Bruno Haible  <bruno@clisp.org>
129560         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
129562 2003-06-07  Karl Berry  <karl@gnu.org>
129564         * config/config.{guess,sub}: update from prep.
129566 2003-06-07  Jim Meyering  <jim@meyering.net>
129568         * modules/strtod: Use $(...) notation, not @...@ for
129569         AC_REPLACE'd variables.
129570         * modules/localcharset: Likewise.
129572 2003-06-07  Jim Meyering  <jim@meyering.net>
129574         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
129575         in place of my name in the copyright comment.
129576         Remove definition and uses of __P.
129578         From coreutils.
129579         * lib/stat.c: Don't declare xmalloc explicitly.
129580         Instead, include "xalloc.h".
129581         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
129582         xrealloc, and xcalloc return values.
129583         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
129584         Improve comment.
129585         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
129587 2003-06-07  Bruno Haible  <bruno@clisp.org>
129589         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
129590         avoid AC_CONFIG_LINKS.
129591         * modules/fnmatch (Makefile.am): Use explicit creation rule for
129592         fnmatch.h, to avoid AC_CONFIG_LINKS.
129593         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
129595 2003-06-07  Bruno Haible  <bruno@clisp.org>
129597         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
129598         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
129599         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
129600         directory.
129601         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
129602         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
129603         directory.
129605 2003-06-06  Jim Meyering  <jim@meyering.net>
129607         Merge from coreutils.
129608         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
129609         Consolidate declarations and initializations of *_base* locals.
129611         Merge from coreutils.
129612         This avoids a core dump on systems without GNU putenv,
129613         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
129614         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
129615         (unsetenv): New static function, from GNU libc.
129616         (rpl_putenv): Use it.
129618         * lib/modechange.c: Remove trailing blanks.
129620         Merge from coreutils.
129621         * lib/fsusage.c: Remove declaration of statfs.
129622         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
129624         * lib/posixtm.c: Include <stdbool.h> unconditionally.
129626 2003-06-06  Jim Meyering  <jim@meyering.net>
129628         * lib/stdbool_.h: Renamed from stdbool.h.in.
129630 2003-06-06  Jim Meyering  <jim@meyering.net>
129631             Bruno Haible  <bruno@clisp.org>
129633         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
129634         Adjust Makefile.am snippet not to redirect directly to target.
129635         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
129637 2003-06-05  Paul Eggert  <eggert@twinsun.com>
129639         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
129640         mismatch, look in future quarters as well as past.  This fixes a
129641         bug when processing fall-backwards gaps immediately after a long
129642         period of daylight-saving time.
129644         * lib/mktime.c: Assume freestanding C89 or better.
129645         (HAVE_LIMITS_H): Remove.  Assume it's 1.
129646         (__P): Remove; not used.
129647         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
129648         (mktime, not_equal_tm, print_tm, check_result,
129649         main): Use prototypes.  Use const * where appropriate.
129650         (main): Fix typo in testing code that uncovered by above changes.
129651         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
129653 2003-06-04  Paul Eggert  <eggert@twinsun.com>
129655         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
129656         locale.h, localeconv.  This merges changes from coreutils.
129658         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
129659         It can be removed after the next Autoconf is released.
129660         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
129661         needed.
129663 2003-06-04  Paul Eggert  <eggert@twinsun.com>
129665         * lib/mktime.c: Fix Debian bug 177940
129666         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
129667         (localtime_offset): Now long int, not time_t, because we want it
129668         to be guaranteed to be signed.  All uses changed.
129669         (__mktime_internal): If overflow would occur when adding offset,
129670         don't add it.
129672         Merge 'human' changes from coreutils.  Rewrite to support
129673         locale-specific notations like thousands separators.
129674         * lib/human.c: Simplify authorship notice.
129675         Include human.h immediately after config.h.
129676         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
129677         <limits.h>: Do not include, since human.h does.
129678         (SIZE_MAX, UINTMAX_MAX): New macros.
129679         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
129680         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
129681         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
129682         (power_letter): Renamed from suffixes.
129683         (generate_suffix_backwards): Remove.
129684         (adjust_value): Now takes int style (because of human.h changes)
129685         and long double value (for greater precision on some platforms).
129686         (group_number): New function.
129687         (human_readable): Use it.  Use integer options, not enum.
129688         Put the options before the sizes in the arg list.
129689         Support all the new options.
129690         The old human_readable function has been removed;
129691         use inttostr.h instead.
129692         (human_readable, default_block_size, humblock):
129693         Use uintmax_t, not int, for block sizes.
129694         (human_readable_inexact, block_size_types): Remove.
129695         (block_size_opts): New constant.
129696         (human_options): Renamed from human_block_size, with new signature
129697         that allows block sizes up to UINTMAX_MAX.  All callers changed.
129698         * lib/human.h: Add copyright and authorship notice.
129699         Include <limits.h> and <stdbool.h> unconditionally.
129700         (PARAMS): Remove.  All uses removed.
129701         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
129702         (enum human_inexact_style): Remove tag; now a nameless enum.
129703         (human_floor, human_ceiling, human_round_to_even): Now have
129704         values 2, 0, 1 rather than -1, 1, 0.
129705         (human_group_digits, human_suppress_point_zero, human_autoscale,
129706         human_base_1024, human_SI, human_B): New constants.
129707         (human_readable_inexact, human_block_size): Remove.
129708         (human_readable): Size args are now uintmax_t, not int.
129709         (human_options): New decl.
129711         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
129712         unnecessary now that we assume C89 or better.  This change
129713         imported from coreutils.
129715         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
129716         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
129717         in the 2003-05-30 sync from glibc.
129719         .h files should stand alone, but we shouldn't include <sys/types.h>
129720         if we can get away with just <stddef.h>.
129722         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
129723         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
129724         rather than <sys/types.h>, as we merely need size_t.
129725         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
129726         to get size_t.
129727         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
129728         Include <stdio.h>, to get FILE.
129729         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
129730         memcasecmp.h has included <stddef.h> and all we need is size_t.
129731         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
129732         our interface, instead of including <sys/types.h>
129734 2003-06-04  Paul Eggert  <eggert@twinsun.com>
129736         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
129737         now, as glibc mktime is buggy on non-glibc systems.
129739 2003-06-03  Karl Berry  <karl@gnu.org>
129741         * config/config.sub: update from prep.
129743 2003-06-02  Paul Eggert  <eggert@twinsun.com>
129745         [from coreutils]
129746         Fix some minor time-related bugs with POSIX time arguments.
129747         Some valid time stamps were being rejected (notably -1, and
129748         time stamps before 1900 on 64-bit hosts).  And some invalid
129749         time stamps were being accepted, e.g. September 31.
129751         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
129752         that we can return (time_t) -1 successfully.
129753         * lib/posixtm.c: Likewise.
129754         [HAVE_STDBOOL_H]: Include <stdbool.h>.
129755         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
129756         (t): Remove static var.
129757         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
129758         of static var.  All uses changed.
129759         (year): Do not reject years before 1900; they can occur with
129760         64-bit time_t.
129761         (posix_time_parse): Do not check for out-of-range components;
129762         that is now the caller's responsibility, since our checks were
129763         only approximations.
129764         (posixtime): Use mktime to check for out-of-range components,
129765         since it knows them exactly.
129766         If mktime returns (time_t) -1, check whether an error actually occurred
129767         by invoking localtime on -1.
129768         (main) [TEST_POSIXTIME]: Check for input data errors, and report
129769         posixtime failures better.
129770         Improve the test data (in comments only).
129772 2003-06-02  Karl Berry  <karl@gnu.org>
129774         * config/mkinstalldirs (version): new variable.
129775         (--version): new option.
129776         (usage): improve message.
129778 2003-05-30  Karl Berry  <karl@gnu.org>
129780         * lib/mktime.c: update from libc.
129782 2003-05-30  Bruno Haible  <bruno@clisp.org>
129784         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
129785         * config/config.rpath: Upgrade to gettext-0.12.1.
129787 2003-05-30  Bruno Haible  <bruno@clisp.org>
129789         * m4/gettext.m4: Upgrade to gettext-0.12.1.
129790         * m4/nls.m4: New file, from gettext-0.12.1.
129791         * m4/po.m4: New file, from gettext-0.12.1.
129792         * m4/progtest.m4: Upgrade to gettext-0.12.1.
129794 2003-05-30  Bruno Haible  <bruno@clisp.org>
129796         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
129797         * lib/localcharset.h: Likewise.
129798         * lib/localcharset.c: Likewise.
129800 2003-05-29  Karl Berry  <karl@gnu.org>
129802         * config/config.rpath: update from gettext.
129804 2003-05-28  Paul Eggert  <eggert@twinsun.com>
129806         Assume the headers required for C89 freestanding compilers.
129807         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
129808         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
129809         * m4/human.m4 (gl_HUMAN): Likewise.
129810         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
129811         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
129812         * m4/userspec.m4 (gl_USERSPEC): Likewise.
129813         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
129814         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
129815         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
129817 2003-05-28  Paul Eggert  <eggert@twinsun.com>
129819         Assume the headers required for C89 freestanding compilers.
129820         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
129821         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
129822         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
129823         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
129824         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
129825         define, since <limits.h> is guaranteed to do that.
129826         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
129827         * lib/exclude.c: Include <stdbool.h> unconditionally.
129828         * lib/tempname.c: Include <stddef.h> unconditionally.
129829         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
129830         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
129831         <stddef.h> does that.
129832         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
129833         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
129834         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
129835         needed.
129836         * lib/xstrtol.c: Likewise.
129837         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
129838         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
129840         * lib/addext.c (addext): Use assignment rather than cast, to avoid
129841         warnings on some platforms.
129843         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
129844         arbitrarily.
129846 2003-05-26  Jim Meyering  <jim@meyering.net>
129848         Merge in a change from coreutils:
129849         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
129850         that is guaranteed to be `no'.  Use `no_such_member' to indicate
129851         that condition, rather than `-1' which is slightly misleading.
129852         Change the name of the cache variable to have the gl_ prefix.
129853         Prompted by a patch from Richard Dawe for DJGPP.
129855 2003-05-24  Karl Berry  <karl@gnu.org>
129857         * config/config.guess: update from prep.
129859 2003-05-22  Karl Berry  <karl@gnu.org>
129861         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
129863 2003-05-20  Karl Berry  <karl@gnu.org>
129865         * config/config.guess: update from prep.
129867 2003-05-18  Karl Berry  <karl@gnu.org>
129869         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
129870         might actually be set by the user.
129872         * config/depcomp, install-sh, mdate-sh: update from automake.
129874 2003-05-17  Bruno Haible  <bruno@clisp.org>
129876         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
129877         invalid expansion for AC_EGREP_CPP.
129878         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
129879         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
129880         Suggested by Akim Demaille <akim@epita.fr> in
129881         http://mail.gnu.org/r/bug-autoconf/2003-05/threads.html
129883 2003-05-12  Jim Meyering  <jim@meyering.net>
129885         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
129886         the space-padded-by-default conversion specifiers, %e, %k, %l.
129888 2003-05-12  Bruno Haible  <bruno@clisp.org>
129890         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
129891         the string is longer than 4 KB.
129893 2003-05-11  Karl Berry  <karl@gnu.org>
129895         * config/config.{guess,sub}: update from prep.
129897 2003-05-09  Bruno Haible  <bruno@clisp.org>
129899         * modules/error: Add m4/strerror_r.m4 to file list.
129901 2003-05-03  Bruno Haible  <bruno@clisp.org>
129903         Upgrade to Unicode-4.0.
129904         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
129905         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
129906         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
129907         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
129908         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
129909         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
129910         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
129911         Change width of U+E0100..U+E01EF from 1 to 0.
129913 2003-04-25  Jim Meyering  <jim@meyering.net>
129915         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
129916         of type size_t, not int.
129918 2003-04-25  Bruno Haible  <bruno@clisp.org>
129920         * lib/copy-file.c: Include <stddef.h>, for size_t.
129922 2003-04-21  Paul Eggert  <eggert@twinsun.com>
129924         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
129925         code which expansion is under static control.  Patch imported from
129926         Akim Demaille's patch to Bison; see
129927         <http://mail.gnu.org/r/bison-patches/2003-03/msg00057.html>.
129929 2003-04-14  Bruno Haible  <bruno@clisp.org>
129931         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
129933 2003-04-11  Jim Meyering  <jim@meyering.net>
129935         Merge changes from Coreutils.
129937         2003-03-22  Jim Meyering  <jim@meyering.net>
129939         * lib/strftime.c (widen): Cast alloca return value to proper type.
129941         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
129943         From GNU libc.
129944         * lib/strftime.c (my_strftime): Handle very large width
129945         specifications for numeric values correctly.  Improve checks for
129946         overflow.
129948         2003-01-19  Jim Meyering  <jim@meyering.net>
129950         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
129951         definitions.
129952         (nl_get_alt_digit) [! defined my_strftime]: Define.
129953         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
129954         _nl_get_alt_digit and _nl_get_walt_digit.
129956         * lib/strftime.c (my_strftime): Merge in locale-related changes from
129957         libc. These changes have no effect outside of _LIBC.
129959 2003-04-10  Bruno Haible  <bruno@clisp.org>
129961         * modules/findprog: New file.
129962         * MODULES.html.sh (func_all_modules): Add it.
129964 2003-04-10  Bruno Haible  <bruno@clisp.org>
129966         * m4/findprog.m4: New file.
129967         * m4/eaccess.m4: New file.
129969 2003-04-10  Bruno Haible  <bruno@clisp.org>
129971         * lib/findprog.h: New file, from GNU gettext.
129972         * lib/findprog.c: New file, from GNU gettext.
129974 2003-04-05  Jim Meyering  <jim@meyering.net>
129976         Merge changes from Coreutils.
129978         * lib/exclude.h (PARAMS): Remove definition and uses.
129979         * lib/exclude.c: Remove uses of `PARAMS'.
129981         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
129982         Add test-cases for DOS filenames. Declare program_name.
129983         (main): Set up program_name.  Patch by Rich Dawe.
129985         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
129986         error from mntctl.
129987         Use mntctl's return value to drive the entry-processing loop, since
129988         we can't rely on the value of the vmt_length member in the last
129989         entry.  On some systems doing so could result in exhausting
129990         virtual memory.  Based in part on a patch from Mike Jetzer.
129992 2003-04-04  Bruno Haible  <bruno@clisp.org>
129994         * modules/linebreak: New file.
129995         * MODULES.html.sh (func_all_modules): Add it.
129997 2003-04-04  Bruno Haible  <bruno@clisp.org>
129999         * m4/linebreak.m4: New file.
130001 2003-04-04  Bruno Haible  <bruno@clisp.org>
130003         * lib/linebreak.h: New file, from GNU gettext.
130004         * lib/linebreak.c: New file, from GNU gettext with slight
130005         modifications.
130006         * lib/lbrkprop.h: New file, from GNU gettext.
130008 2003-04-03  Bruno Haible  <bruno@clisp.org>
130010         * modules/utf8-ucs4: New file.
130011         * modules/utf16-ucs4: New file.
130012         * modules/ucs4-utf8: New file.
130013         * modules/ucs4-utf16: New file.
130014         * MODULES.html.sh (func_all_modules): Add them.
130016 2003-04-03  Bruno Haible  <bruno@clisp.org>
130018         * m4/utf-ucs4.m4: New file.
130019         * m4/ucs4-utf.m4: New file.
130021 2003-04-03  Bruno Haible  <bruno@clisp.org>
130023         * lib/utf8-ucs4.h: New file, from GNU gettext.
130024         * lib/utf16-ucs4.h: New file, from GNU gettext.
130025         * lib/ucs4-utf8.h: New file, from GNU gettext.
130026         * lib/ucs4-utf16.h: New file, from GNU gettext.
130028 2003-04-02  Bruno Haible  <bruno@clisp.org>
130030         * modules/binary-io: New file.
130031         * MODULES.html.sh (func_all_modules): Add it.
130033 2003-04-02  Bruno Haible  <bruno@clisp.org>
130035         * lib/binary-io.h: New file, from GNU gettext.
130037 2003-04-01  Bruno Haible  <bruno@clisp.org>
130039         * modules/pathname: New file.
130040         * MODULES.html.sh (func_all_modules): Add it.
130042 2003-04-01  Bruno Haible  <bruno@clisp.org>
130044         * lib/pathname.h: New file, from GNU gettext.
130045         * lib/concatpath.c: New file, from GNU gettext.
130047 2003-03-30  Bruno Haible  <bruno@clisp.org>
130049         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
130051 2003-03-30  Bruno Haible  <bruno@clisp.org>
130053         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
130054         function chown() doesn't exist.
130056 2003-03-28  Bruno Haible  <bruno@clisp.org>
130058         * modules/copy-file: New file.
130059         * MODULES.html.sh (func_all_modules): Add it.
130061 2003-03-28  Bruno Haible  <bruno@clisp.org>
130063         * m4/copy-file.m4: New file.
130065 2003-03-28  Bruno Haible  <bruno@clisp.org>
130067         * lib/copy-file.h: New file, from GNU gettext.
130068         * lib/copy-file.c: New file, from GNU gettext.
130070 2003-03-18  Jim Meyering  <jim@meyering.net>
130072         * lib/quote.c (quote_n): Fix typo in comment.
130074 2003-03-18  Bruno Haible  <bruno@clisp.org>
130076         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
130077         checking.
130078         * m4/onceonly_2_57.m4: Likewise.
130080 2003-03-17  Bruno Haible  <bruno@clisp.org>
130082         * m4/onceonly.m4: Require autoconf 2.54 or newer.
130083         (m4_quote): Remove macro.
130084         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
130086 2003-03-14  Jim Meyering  <jim@meyering.net>
130088         Merge changes from Coreutils.
130089         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
130090         to be const, in order to avoid warnings.
130091         (obstack_room): Likewise.
130092         (obstack_empty_p): Likewise.
130094 2003-03-14  Bruno Haible  <bruno@clisp.org>
130096         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
130097         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
130099 2003-03-13  Paul Eggert  <eggert@twinsun.com>
130101         Merge changes from Bison.
130102         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
130103         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
130104         when compiling Bison 1.875's `bitset bset = obstack_alloc
130105         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
130106         * lib/hash.c: Include <stdbool.h> unconditionally.
130108 2003-03-13  Paul Eggert  <eggert@twinsun.com>
130110         * m4/onceonly.m4 (m4_quote): New macro.
130111         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
130112         Quote AC_FOREACH variable-expansions properly.
130114 2003-03-13  Paul Eggert  <eggert@twinsun.com>
130116         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
130118 2003-03-09  Paul Eggert  <eggert@twinsun.com>
130120         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
130121         Reported by Bruce Becker; see:
130122         http://mail.gnu.org/r/bug-bison/2003-03/msg00017.html
130124 2003-03-03  Paul Eggert  <eggert@twinsun.com>
130125             Bruno Haible  <bruno@clisp.org>
130127         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
130128         Reported by John Hughes, see
130129         http://mail.gnu.org/r/bug-bison/2003-02/msg00030.html
130131 2003-02-20  Bruno Haible  <bruno@clisp.org>
130133         * MODULES.html.sh (func_all_modules): Add poll.
130135 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
130137         * modules/poll: New file.
130139 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
130141         * lib/poll_.h: New file.
130142         * lib/poll.c: New file.
130144 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
130146         * m4/poll.m4: New file.
130148 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
130150         * modules/mathl: New file.
130152 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
130154         * lib/mathl.h: New file.
130155         * lib/acosl.c: New file.
130156         * lib/asinl.c: New file.
130157         * lib/atanl.c: New file.
130158         * lib/ceill.c: New file.
130159         * lib/cosl.c: New file.
130160         * lib/expl.c: New file.
130161         * lib/floorl.c: New file.
130162         * lib/frexpl.c: New file.
130163         * lib/ldexpl.c: New file.
130164         * lib/logl.c: New file.
130165         * lib/sincosl.c: New file.
130166         * lib/sinl.c: New file.
130167         * lib/sqrtl.c: New file.
130168         * lib/tanl.c: New file.
130169         * lib/trigl.c: New file.
130170         * lib/trigl.h: New file.
130172 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
130174         * m4/mathl.m4: New file.
130176 2003-02-18  Bruno Haible  <bruno@clisp.org>
130178         * MODULES.html.sh (func_all_modules): Add mathl.
130180 2003-02-17  Bruno Haible  <bruno@clisp.org>
130182         * modules/mkdtemp: New module.
130183         * MODULES.html.sh (func_all_modules): Add it.
130185 2003-02-17  Bruno Haible  <bruno@clisp.org>
130187         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
130189 2003-02-17  Bruno Haible  <bruno@clisp.org>
130191         * lib/mkdtemp.h: New file, from GNU gettext.
130192         * lib/mkdtemp.c: New file, from GNU gettext.
130194 2003-02-02  Jim Meyering  <jim@meyering.net>
130196         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
130197         e.g. glibc-2.2.93.
130199 2003-01-31  Bruno Haible  <bruno@clisp.org>
130201         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
130202         'rpl_rename'.
130203         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
130204         'rpl_strnlen'.
130205         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
130206         'rpl_strtod'.
130207         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
130208         'rpl_utime'.
130210 2003-01-31  Bruno Haible  <bruno@clisp.org>
130212         * lib/rename.c: #undef rename before defining rpl_rename.
130213         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
130215 2003-01-30  Bruno Haible  <bruno@clisp.org>
130217         * modules/vasnprintf, modules/vasprintf: New modules.
130218         * MODULES.html.sh (func_all_modules): Add them.
130220 2003-01-30  Bruno Haible  <bruno@clisp.org>
130222         * m4/signed.m4: New file, from GNU gettext.
130223         * m4/longdouble.m4: New file, from GNU gettext.
130224         * m4/wchar_t.m4: New file, from GNU gettext.
130225         * m4/wint_t.m4: New file, from GNU gettext.
130226         * m4/vasnprintf.m4: New file.
130227         * m4/vasprintf.m4: New file.
130229 2003-01-30  Bruno Haible  <bruno@clisp.org>
130231         * lib/printf-args.h: New file, from GNU gettext.
130232         * lib/printf-args.c: New file, from GNU gettext.
130233         * lib/printf-parse.h: New file, from GNU gettext.
130234         * lib/printf-parse.c: New file, from GNU gettext.
130235         * lib/vasnprintf.h: New file, from GNU gettext.
130236         * lib/vasnprintf.c: New file, from GNU gettext.
130237         * lib/asnprintf.c: New file, from GNU gettext.
130238         * lib/vasprintf.h: New file, from GNU gettext with modifications.
130239         * lib/vasprintf.c: New file, from GNU gettext.
130240         * lib/asprintf.c: New file, from GNU gettext.
130242 2003-01-29  Bruno Haible  <bruno@clisp.org>
130244         * modules/stpncpy: New module.
130245         * MODULES.html.sh (func_all_modules): Add it.
130247 2003-01-29  Bruno Haible  <bruno@clisp.org>
130249         * m4/stpncpy.m4: New file.
130251 2003-01-29  Bruno Haible  <bruno@clisp.org>
130253         * lib/stpncpy.h: New file, from GNU gettext with modifications.
130254         * lib/stpncpy.c: New file, from GNU gettext with modifications.
130256 2003-01-28  Bruno Haible  <bruno@clisp.org>
130258         * modules/c-ctype: New module.
130259         * MODULES.html.sh (func_all_modules): Add it.
130261 2003-01-28  Bruno Haible  <bruno@clisp.org>
130263         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
130264         Paul Eggert.
130265         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
130266         Paul Eggert.
130268 2003-01-27  Bruno Haible  <bruno@clisp.org>
130270         * modules/xsetenv: New module.
130271         * MODULES.html.sh (func_all_modules): Add it.
130273 2003-01-27  Bruno Haible  <bruno@clisp.org>
130275         * lib/xsetenv.h: New file, from GNU gettext.
130276         * lib/xsetenv.c: New file, from GNU gettext.
130278 2003-01-23  Jim Meyering  <jim@meyering.net>
130280         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
130281         from working on systems without dirfd (at least Irix and OSF1/Tru64).
130283 2003-01-23  Bruno Haible  <bruno@clisp.org>
130285         * modules/minmax: New module.
130286         * MODULES.html.sh (func_all_modules): Add it.
130288 2003-01-23  Bruno Haible  <bruno@clisp.org>
130290         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
130291         Eggert.
130293 2003-01-22  Bruno Haible  <bruno@clisp.org>
130295         * modules/exit: New module.
130296         * MODULES.html.sh (func_all_modules): Add it.
130298 2003-01-22  Bruno Haible  <bruno@clisp.org>
130300         * lib/exit.h: New file, from GNU gettext.
130302 2003-01-19  Bruno Haible  <bruno@clisp.org>
130304         * gnulib-tool: Recognize option --extract-maintainer.
130305         (func_get_maintainer): New function.
130306         * modules/*: Add Maintainer entry.
130308 2003-01-16  Jim Meyering  <jim@meyering.net>
130310         * m4/regex.m4: The `regex' struct is both input and output.
130311         Initialize it before each use.  Patch by Tim Waugh.
130313 2003-01-16  Bruno Haible  <bruno@clisp.org>
130315         * MODULES.html.sh: Add a table of contents. Add the module name as
130316         leftmost column. Add hyperlinks.
130318 2003-01-15  Bruno Haible  <bruno@clisp.org>
130320         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
130322 2003-01-15  Bruno Haible  <bruno@clisp.org>
130324         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
130325         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
130326         suffix.
130328 2003-01-15  Bruno Haible  <bruno@clisp.org>
130330         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
130332 2003-01-15  Bruno Haible  <bruno@clisp.org>
130334         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
130335         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
130337 2003-01-14  Jim Meyering  <jim@meyering.net>
130339         * lib/same.c (same_name): Tweak a comment.
130341 2003-01-14  Bruno Haible  <bruno@clisp.org>
130343         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
130344         when a string comparison is sufficient.
130346 2003-01-14  Bruno Haible  <bruno@clisp.org>
130348         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
130349         'unsigned int'.
130351 2003-01-14  Bruno Haible  <bruno@clisp.org>
130353         * lib/hash-pjw.c: Add comment about low quality of this function.
130355 2003-01-13  Bruno Haible  <bruno@clisp.org>
130357         * modules/stpcpy: Distribute lib/stpcpy.h.
130358         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
130360 2003-01-13  Bruno Haible  <bruno@clisp.org>
130362         * modules/*: Add a description.
130363         * modules/strpbrk: Fix Makefile.am snippet.
130364         * modules/strtoimax: Fix dependencies.
130365         * modules/strtoumax: Likewise.
130367 2003-01-13  Bruno Haible  <bruno@clisp.org>
130369         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
130370         * modules/alloca (Makefile.am): All object files depend on alloca.h.
130371         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
130373 2003-01-13  Bruno Haible  <bruno@clisp.org>
130375         * gnulib-tool (func_create_testdir): Store config/* files in the main
130376         directory.
130377         * config.rpath: Move to ...
130378         * config/config.rpath: ... here.
130379         * modules/gettext: Contains config/config.rpath, not config.rpath.
130380         * modules/iconv: Likewise.
130382 2003-01-12  Paul Eggert  <eggert@twinsun.com>
130384         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
130385         to avoid collisions with libcurses and libreadline.
130387         * m4/getstr.m4: Remove.
130388         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
130390 2003-01-12  Paul Eggert  <eggert@twinsun.com>
130392         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
130393         to avoid collisions with libcurses and libreadline.
130395         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
130396         * lib/getstr.h, getstr.c: Remove.
130397         * lib/getline.c: Include "getline.h", to check interface.
130398         Move body of old getstr.c here: this defines MIN_CHUNK and
130399         declares getdelim2, which is renamed from getstr.
130400         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
130402         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
130403         All uses changed.
130404         * lib/linebuffer.h: Likewise.
130405         (readline): Remove backward-compatibility macro.
130407 2003-01-12  Paul Eggert  <eggert@twinsun.com>
130409         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
130410         to avoid collisions with libcurses and libreadline.
130411         * getstr: Remove.
130412         * MODULES.html.sh: Remove getstr.
130413         * modules/getline: Depend on unlocked-io, not getstr.
130415 2003-01-12  Jim Meyering  <jim@meyering.net>
130417         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
130419 2003-01-10  Bruno Haible  <bruno@clisp.org>
130421         * modules/alloca: Change Makefile.am requirements. Simplify Include
130422         requirements. Add lib/alloca_.h to file list.
130424 2003-01-10  Bruno Haible  <bruno@clisp.org>
130426         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
130428 2003-01-10  Bruno Haible  <bruno@clisp.org>
130430         * lib/alloca_.h: New file.
130431         * lib/getdate.y: Unconditionally include alloca.h.
130432         * lib/makepath.c: Likewise.
130433         * lib/setenv.c: Likewise.
130434         * lib/userspec.c: Likewise.
130436 2003-01-09  Karl Berry  <karl@gnu.org>
130438         * MODULES.html.sh: include `dirname $0` in PATH, to find
130439         gnulib-tool.
130441 2003-01-09  Bruno Haible  <bruno@clisp.org>
130443         * modules/stdbool: Change configure.ac, Makefile.am requirements.
130444         Simplify Include requirements. Add lib/stdbool.h.in to file list.
130446 2003-01-09  Bruno Haible  <bruno@clisp.org>
130448         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
130450 2003-01-09  Bruno Haible  <bruno@clisp.org>
130452         * lib/stdbool.h.in: New file.
130454 2003-01-09  Bruno Haible  <bruno@clisp.org>
130456         * gnulib-tool (func_all_modules): Ignore files ending in ~.
130457         * MODULES.html.sh: Likewise.
130459 2003-01-08  Jim Meyering  <jim@meyering.net>
130461         * lib/full-write.c: Undefine and define-away `const' after inclusion
130462         of errno.h, not before.  Suggestion from Bruno Haible.
130464 2003-01-08  Bruno Haible  <bruno@clisp.org>
130466         * modules/full-read: Depend on full-write.
130468 2003-01-08  Bruno Haible  <bruno@clisp.org>
130470         * lib/safe-read.c: Include specification header first, to ensure its
130471         selfcontainedness.
130472         * lib/full-write.c: Likewise.
130474 2003-01-07  Jim Meyering  <jim@meyering.net>
130476         * lib/full-write.c: Rework so that it may serve to define full_read,
130477         too.
130478         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
130480 2003-01-07  Bruno Haible  <bruno@clisp.org>
130482         * lib/strtoimax.c: Include <stdint.h> as an alternative to
130483         <inttypes.h>.
130484         * lib/xstrtol.h: Likewise.
130485         * lib/xstrtoimax.c: Likewise.
130486         * lib/xstrtoumax.c: Likewise.
130487         * lib/human.h: Likewise.
130489         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
130490         on systems that have <inttypes.h> but not <stdint.h>.
130492 2003-01-07  Bruno Haible  <bruno@clisp.org>
130494         * MODULES.html.sh: Add copyright notice.
130495         (missed_files): Omit CVS directory entries.
130496         (func_module): Make it work with sed-3.02.
130497         * MODULES.txt: Remove file.
130499 2003-01-06  Jim Meyering  <jim@meyering.net>
130501         * lib/version-etc.c: Update year in translatable copyright string.
130503 2003-01-03  Karl Berry  <karl@gnu.org>
130505         * config/config.{guess,sub}: update from prep.
130507 2003-01-02  Karl Berry  <karl@gnu.org>
130509         * doc/COPYING.DOC: belatedly updated to 1.2.
130511 2003-01-01  Karl Berry  <karl@gnu.org>
130513         * gnulib-tool (func_verify_module): report module name $module in
130514         error message, not $1.
130515         * gnulib-tool (create-testdir): don't complain if destdir couldn't
130516         be created, only if it doesn't exist.
130517         * gnulib-tool (last_checkin_date): don't expand the $Date here.
130519 2002-12-31  Paul Eggert  <eggert@twinsun.com>
130521         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
130523 2002-12-31  Paul Eggert  <eggert@twinsun.com>
130525         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
130526         memcmp if strcoll doesn't work.
130528 2002-12-31  Bruno Haible  <bruno@clisp.org>
130530         * lib/utime.c (utime_null): No need to call ftruncate if the file was
130531         nonempty.
130533 2002-12-31  Bruno Haible  <bruno@clisp.org>
130535         * lib/memcoll.c (STRCOLL): New macro.
130536         (memcoll): Use it.
130538 2002-12-31  Bruno Haible  <bruno@clisp.org>
130540         * lib/localcharset.h: New file.
130541         * lib/localcharset.c: Include it.
130542         * lib/unicodeio.c: Likewise.
130544 2002-12-31  Bruno Haible  <bruno@clisp.org>
130546         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
130547         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
130549 2002-12-31  Bruno Haible  <bruno@clisp.org>
130551         * lib/getline.h: Include <stddef.h>, for size_t.
130553         * lib/unicodeio.h: Include <stddef.h>, for size_t.
130554         * lib/unicodeio.c: Don't include <stddef.h>.
130556 2002-12-31  Bruno Haible  <bruno@clisp.org>
130558         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
130559         HAVE_TM_ZONE.
130561 2002-12-24  Karl Berry  <karl@gnu.org>
130563         * config/config.guess: update from prep.
130565 2002-12-24  Bruno Haible  <bruno@clisp.org>
130567         General infrasructure.
130568         * m4/README: Rewritten.
130569         * m4/onceonly.m4: New file.
130570         * m4/onceonly_2_57.m4: New file.
130572         Module atexit.
130573         * m4/atexit.m4: New file.
130575         Module strtod.
130576         * m4/strtod.m4: New file.
130578         Module strtol.
130579         * m4/strtol.m4: New file.
130581         Module strtoul.
130582         * m4/strtoul.m4: New file.
130584         Module memchr.
130585         * m4/memchr.m4: New file.
130587         Module memcmp.
130588         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
130589         (jm_FUNC_MEMCMP): Invoke it.
130591         Module memcpy.
130592         * m4/memcpy.m4: New file.
130594         Module memmove.
130595         * m4/memmove.m4: New file.
130597         Module memset.
130598         * m4/memset.m4: New file.
130600         Module strcspn.
130601         * m4/strcspn.m4: New file.
130603         Module strpbrk.
130604         * m4/strpbrk.m4: New file.
130606         Module strstr.
130607         * m4/strstr.m4: New file.
130609         Module strerror.
130610         * m4/strerror.m4: New file.
130612         Module mktime.
130613         * m4/mktime.m4: Renamed from jm-mktime.m4.
130614         (gl_PREREQ_MKTIME): New macro.
130615         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
130617         Module malloc.
130618         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
130619         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
130620         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
130622         Module realloc.
130623         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
130624         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
130625         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
130627         Module strftime.
130628         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
130629         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
130630         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
130631         gl_TM_GMTOFF.
130632         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
130634         Module xalloc.
130635         * m4/xalloc.m4: New file.
130637         Module alloca.
130638         * m4/alloca.m4: New file.
130640         Module putenv.
130641         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
130642         (jm_FUNC_PUTENV): Invoke it.
130644         Module setenv.
130645         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
130646         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
130647         when invoked twice.
130648         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
130649         gt_FUNC_SETENV.
130651         Module memrchr.
130652         * m4/memrchr.m4: New file.
130654         Module stpcpy.
130655         * m4/stpcpy.m4: New file.
130657         Module strcase.
130658         * m4/strcase.m4: New file.
130660         Module strdup.
130661         * m4/strdup.m4: New file.
130663         Module strnlen.
130664         * m4/strnlen.m4: New file.
130666         Module strndup.
130667         * m4/strndup.m4: New file.
130669         Module xstrtod.
130670         * m4/xstrtod.m4: New file.
130672         Module xstrtol.
130673         * m4/xstrtol.m4: New file.
130675         Module getdate.
130676         * m4/getdate.m4: New file.
130678         Module unlocked-io.
130679         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
130680         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
130681         * m4/jm-glibc-io.m4n: Remove file.
130683         Module long-options.
130684         * m4/long-options.m4: New file.
130686         Module md5.
130687         * m4/md5.m4: New file.
130689         Module sha.
130690         * m4/sha.m4: New file.
130692         Module getstr.
130693         * m4/getstr.m4: New file.
130695         Module getline.
130696         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
130697         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
130698         <sys/types.h>, for size_t. Use the function name gnu_getline, not
130699         simply getline. Infoke gl_PREREQ_GETLINE.
130701         Module obstack.
130702         * m4/obstack.m4: New file.
130704         Module hash.
130705         * m4/hash.m4: New file.
130707         Module readtokens.
130708         * m4/readtokens.m4: New file.
130710         Module strverscmp.
130711         * m4/strverscmp.m4: New file.
130713         Module stdbool.
130714         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
130715         OSF/1.
130717         Module strtoll.
130718         * m4/strtoll.m4: New file.
130720         Module strtoull.
130721         * m4/strtoull.m4: New file.
130723         Module strtoimax.
130724         * m4/strtoimax.m4: New file.
130726         Module strtoumax.
130727         * m4/strtoumax.m4: New file.
130729         Module xstrtoimax.
130730         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
130731         jm_AC_PREREQ_XSTRTOIMAX.
130732         Moved the strtol prerequisites to strtol.m4.
130733         Moved the strtoll prerequisites to strtoll.m4.
130734         Moved the strtoimax prerequisites to strtoimax.m4.
130736         Module xstrtoumax.
130737         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
130738         jm_AC_PREREQ_XSTRTOUMAX.
130739         Moved the strtoul prerequisites to strtoul.m4.
130740         Moved the strtoull prerequisites to strtoull.m4.
130741         Moved the strtoumax prerequisites to strtoumax.m4.
130743         Module chown.
130744         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
130745         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
130747         Module dup2.
130748         * m4/dup2.m4: New file.
130750         Module ftruncate.
130751         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
130752         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
130754         Module getgroups.
130755         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
130756         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
130758         Module gettimeofday.
130759         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
130760         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
130761         gl_PREREQ_GETTIMEOFDAY.
130763         Module mkdir.
130764         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
130765         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
130767         Module mkstemp.
130768         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
130769         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
130770         jm_AC_TYPE_UINTMAX_T.
130771         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
130773         Module stat.
130774         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
130775         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
130777         Module lstat.
130778         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
130779         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
130781         Module timespec.
130782         * m4/timespec.m4 (gl_TIMESPEC): New macro.
130783         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
130784         * m4/st_mtim.m4: Indentation.
130786         Module nanosleep.
130787         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
130788         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
130789         gl_PREREQ_NANOSLEEP.
130791         Module regex.
130792         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
130793         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
130794         (gl_REGEX): New macro.
130796         Module rename.
130797         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
130798         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
130800         Module rmdir.
130801         * m4/rmdir.m4: New file.
130803         Module utime.
130804         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
130805         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
130806         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
130808         Module dirname.
130809         * m4/dirname.m4: New file.
130811         Module getopt.
130812         * m4/getopt.m4: New file.
130814         Module unistd-safer.
130815         * m4/unistd-safer.m4: New file.
130817         Module fnmatch.
130818         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
130819         declaration.
130820         (gl_PREREQ_FNMATCH_EXTRA): New macro.
130821         (gl_FUNC_FNMATCH_POSIX): New macro.
130822         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
130823         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
130824         simply fnmatch.
130826         Module exclude.
130827         * m4/exclude.m4: New file.
130829         Module human.
130830         * m4/human.m4: New file.
130832         Module acl.
130833         * m4/acl.m4: Nop.
130835         Module backupfile.
130836         * m4/backupfile.m4: New file.
130837         * m4/d-ino.m4: Indentation.
130839         Module fsusage.
130840         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
130841         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
130842         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
130844         Module dirfd.
130845         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
130846         requirements.
130848         Module euidaccess.
130849         * m4/euidaccess.m4: New file.
130851         Module file-type.
130852         * m4/file-type.m4: New file.
130854         Module fileblocks.
130855         * m4/fileblocks.m4: New file.
130857         Module filemode.
130858         * m4/filemode.m4: New file.
130860         Module isdir.
130861         * m4/isdir.m4: New file.
130863         Module lchown.
130864         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
130865         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
130867         Module makepath.
130868         * m4/makepath.m4: New file.
130870         Module modechange.
130871         * m4/modechange.m4: New file.
130873         Module mountlist.
130874         * m4/mountlist.m4: New file.
130875         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
130876         Indentation.
130878         Module path-concat.
130879         * m4/path-concat.m4: New file.
130881         Module pathmax.
130882         * m4/pathmax.m4: New file.
130884         Module same.
130885         * m4/same.m4: New file.
130887         Module save-cwd.
130888         * m4/save-cwd.m4: New file.
130890         Module savedir.
130891         * m4/savedir.m4: New file.
130893         Module xgetcwd.
130894         * m4/xgetcwd.m4: New file.
130895         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
130897         Module xreadlink.
130898         * m4/xreadlink.m4: New file.
130900         Module safe-read.
130901         * m4/safe-read.m4: New file.
130903         Module safe-write.
130904         * m4/safe-write.m4: New file.
130906         Module closeout.
130907         * m4/closeout.m4: New file.
130909         Module stdio-safer.
130910         * m4/stdio-safer.m4: New file.
130912         Module getpass.
130913         * m4/getpass.m4: New file.
130915         Module getugroups.
130916         * m4/getugroups.m4: New file.
130918         Module group-member.
130919         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
130920         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
130922         Module idcache.
130923         * m4/idcache.m4: New file.
130925         Module userspec.
130926         * m4/userspec.m4: New file.
130928         Module gettime.
130929         * m4/clock_time.m4: New file.
130930         * m4/gettime.m4: New file.
130932         Module settime.
130933         * m4/settime.m4: New file.
130935         Module posixtm.
130936         * m4/posixtm.m4: New file.
130938         Module gethostname.
130939         * m4/gethostname.m4: New file.
130941         Module canon-host.
130942         * m4/canon-host.m4: New file.
130944         Module gettext.
130945         * m4/codeset.m4: New file, from gettext-0.11.5.
130946         * m4/gettext.m4: New file, from gettext-0.11.5.
130947         * m4/glibc21.m4: New file, from gettext-0.11.5.
130948         * m4/iconv.m4: New file, from gettext-0.11.5.
130949         * m4/intdiv0.m4: New file, from gettext-0.11.5.
130950         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
130951         * m4/inttypes.m4: New file, from gettext-0.11.5.
130952         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
130953         * m4/isc-posix.m4: New file, from gettext-0.11.5.
130954         * m4/lcmessage.m4: New file, from gettext-0.11.5.
130955         * m4/lib-ld.m4: New file, from gettext-0.11.5.
130956         * m4/lib-link.m4: New file, from gettext-0.11.5.
130957         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
130958         * m4/progtest.m4: New file, from gettext-0.11.5.
130959         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
130960         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
130961         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
130963         Module localcharset.
130964         * m4/localcharset.m4: New file.
130966         Module hard-locale.
130967         * m4/hard-locale.m4: New file.
130969         Module mbswidth.
130970         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
130971         onceonly macros.
130972         * m4/mbrtowc.m4: Add comment.
130974         Module memcasecmp.
130975         * m4/memcasecmp.m4: New file.
130977         Module memcoll.
130978         * m4/memcoll.m4: New file.
130980         Module unicodeio.
130981         * m4/unicodeio.m4: New file.
130983         Module rpmatch.
130984         * m4/rpmatch.m4: New file.
130986         Module yesno.
130987         * m4/yesno.m4: New file.
130989         Module exitfail.
130990         * m4/exitfail.m4: New file.
130992         Module c-stack.
130993         * m4/c-stack.m4 (gl_C_STACK): New macro.
130994         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
130996         Module error.
130997         * m4/error.m4 (gl_ERROR): New macro.
130998         (jm_PREREQ_ERROR): Use onceonly macros.
131000         Module fatal.
131001         * m4/fatal.m4: New file.
131003         Module getloadavg.
131004         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
131005         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
131007         Module getpagesize.
131008         * m4/getpagesize.m4: New file.
131010         Module getusershell.
131011         * m4/getusershell.m4: New file.
131013         Module physmem.
131014         * m4/physmem.m4: New file.
131016         Module posixver.
131017         * m4/posixver.m4: New file.
131019         Module quotearg.
131020         * m4/quotearg.m4: New file.
131022         Module quote.
131023         * m4/quote.m4: New file.
131025         Module readutmp.
131026         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
131028         Module sig2str.
131029         * m4/sig2str.m4: New file.
131031         Other.
131032         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
131033         ulonglong.m4.
131034         * m4/intmax_t.m4: New file.
131035         * m4/d-type.m4: Indentation.
131036         * m4/jm-macros.m4: Update.
131037         * m4/prereq.m4 (jm_PREREQ): Update.
131038         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
131039         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
131040         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
131041         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
131042         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
131043         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
131044         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
131045         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
131046         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
131047         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
131048         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
131049         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
131050         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
131051         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
131052         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
131053         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
131054         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
131055         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
131056         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
131058 2002-12-24  Bruno Haible  <bruno@clisp.org>
131060         * MODULES.txt: Update according to m4/ changes.
131062         Module gettext.
131063         * config.rpath: New file, from gettext-0.11.5.
131065         * modules/*: New module descriptions.
131066         * gnulib-tool: New file.
131067         * MODULES.html.sh: New file.
131069 2002-12-21  Karl Berry  <karl@gnu.org>
131071         * doc/fdl.texi: update to version 1.2.
131073 2002-12-19  Karl Berry  <karl@gnu.org>
131075         * config/config.guess: update from prep.
131077 2002-12-18  Bruno Haible  <bruno@clisp.org>
131079         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
131080         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
131082 2002-12-17  Bruno Haible  <bruno@clisp.org>
131084         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
131085         stdlib.h, string.h.
131087 2002-12-17  Bruno Haible  <bruno@clisp.org>
131089         * lib/canon-host.c (strdup): Remove unused declaration.
131091         * lib/fsusage.c: Include full_read.h.
131092         (get_fs_usage): Use full_read instead of safe_read.
131094         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
131096 2002-12-12  Karl Berry  <karl@gnu.org>
131098         * config/config.guess: update from prep.
131100 2002-12-11  Bruno Haible  <bruno@clisp.org>
131102         * m4/setenv.m4: New file, from gettext-0.11.5.
131104 2002-12-11  Bruno Haible  <bruno@clisp.org>
131106         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
131107         not unsetenv().
131108         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
131109         modifications:
131111         2002-12-11  Bruno Haible  <bruno@clisp.org>
131113                 * setenv.c (alloca): Fall back to malloc.
131114                 (freea): New macro.
131115                 (setenv): Use freea() to free memory allocated with alloca().
131117         2002-11-13  Bruno Haible  <bruno@clisp.org>
131119                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
131120                 function declarations.
131121                 * unsetenv.c (unsetenv): Likewise.
131123         2002-03-04  Bruno Haible  <bruno@clisp.org>
131125                 Portability to AIX 4.3.3.
131126                 * unsetenv.c: New file, extracted from setenv.c.
131127                 * setenv.c: Move the unsetenv() function to unsetenv.c.
131129         2001-12-20  Bruno Haible  <bruno@clisp.org>
131131                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
131132                 use malloc instead. For SunOS 4.
131134         2001-12-11  Bruno Haible  <bruno@clisp.org>
131136                 * setenv.c: Declare alloca.
131137                 (compar_fn_t): New typedef.
131138                 (KNOWN_VALUE, STORE_VALUE): Use it.
131140         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
131141         setenv.h.
131143 2002-12-10  Paul Eggert  <eggert@twinsun.com>
131145         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
131146         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
131147         Choose values that are less likely to collide with system fnmatch
131148         options.
131149         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
131150         defined (e.g., a pure POSIX system).
131151         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
131152         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
131154 2002-12-06  Paul Eggert  <eggert@twinsun.com>
131156         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
131157         a pain in practice to deal with generated m4 files.  This change
131158         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
131160         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
131161         and jm-glibc-io.m4, as they are no longer a special case.
131162         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
131163         kludge and the auto-generation stuff.  Check only whether the
131164         functions are declared, not whether they exist, since older hosts
131165         that don't declare the functions can't use the optimization anyway.
131167 2002-12-06  Jim Meyering  <jim@meyering.net>
131169         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
131171         Merge in changes from libc's misc/error.c, in preparation
131172         for the merge of gnulib's changes back into libc.
131174         * lib/error.c (_): Define only if not already defined.
131175         Move definition to follow all #include directives.
131176         Include unlocked-io.h only if !_LIBC.
131177         [_LIBC]: Include <libio/libioP.h>.
131178         [USE_IN_LIBIO]: Include <libio/iolibio.h>
131179         (fflush): Tweak definition to use INTUSE.
131180         (putc): Define.
131182 2002-12-05  Paul Eggert  <eggert@twinsun.com>
131184         * lib/alloca.c [defined emacs]: Include "lisp.h".
131185         (xalloc_die) [defined emacs]: New macro.
131186         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
131187         [! defined emacs]: Include <xalloc.h>.
131188         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
131189         (pointer): Typedef to POINTER_TYPE *.
131190         (malloc): Remove decl; we now always use xmalloc.
131191         (alloca): Use old-style definition, since Emacs needs this.
131192         Check for arithmetic overflow when computing combined size.
131194 2002-12-04  Paul Eggert  <eggert@twinsun.com>
131196         Do not generate unlocked-io.h automatically, since it's easier to
131197         maintain it by hand.
131199         * lib/unlocked-io.h: New file, from GNU diffutils,
131200         but with proper copyright notice and attribution.
131201         * lib/gen-uio: Remove.
131202         * lib/Makefile.am: Add copyright notice.
131203         (libfetish_a_SOURCES): Add unlocked-io.h.
131204         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
131205         (DISTCLEANFILES, io_functions): Remove macros.
131206         (EXTRA_DIST): Remove gen_uio.
131207         (unlocked-io.h): Remove rule.
131209 2002-12-04  Jim Meyering  <jim@meyering.net>
131211         Reflect the fact that stat.c and lstat.c are no longer generated.
131212         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
131213         (DISTCLEANFILES): Likewise.
131214         (EXTRA_DIST): Likewise.
131215         (all_local): Don't depend on stat.c or lstat.c.
131216         (stat.c, lstat.c): Remove rules.
131217         (EXTRA_DIST): Remove xstat.in.
131219         * lib/xstat.in: Remove file.  Contents moved into stat.c.
131220         * lib/stat.c: New file.  Contents mostly from xstat.in.
131221         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
131222         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
131224         * lib/safe-read.c: Rework so that it may serve to define safe_write,
131225         too.
131226         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
131228 2002-12-03  Jim Meyering  <jim@meyering.net>
131230         * lib/safe-read.c, safe-write.c: Change variable names and comments,
131231         but not semantics, to minimize the differences between these two files.
131232         (safe_read): Change comment to mention SAFE_READ_ERROR.
131234         * lib/safe-read.c (IS_EINTR): Define.
131235         (safe_read): Use IS_EINTR in place of in-function cpp directives.
131237 2002-12-02  Jim Meyering  <jim@meyering.net>
131239         * lib/safe-read.c (EINTR): Define.
131240         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
131241         (INT_MAX): Provide fallback.
131242         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
131244         * lib/safe-read.h (SAFE_READ_ERROR): Define.
131246 2002-12-02  Bruno Haible  <bruno@clisp.org>
131248         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
131249         Define, taken from safe-read.c.
131250         (INT_MAX): Provide fallback.
131251         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
131252         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
131254         * lib/safe-read.c (EINTR): Remove definition.
131255         (safe_read): Don't use EINTR if it is absent.
131257 2002-12-01  Jim Meyering  <jim@meyering.net>
131259         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
131260         zero.
131261         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
131263 2002-11-27  Paul Eggert  <eggert@twinsun.com>
131265         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
131266         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
131267         with `if (! (value < limit)) abort ();', for readability.
131269 2002-11-26  Karl Berry  <karl@gnu.org>
131271         * lib/strdup.c: copy from libc again, with jim's ok.
131272         * lib/.cppi-disable: re-add strdup.c
131274 2002-11-25  Karl Berry  <karl@gnu.org>
131276         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
131277         instead of "strtol.c".
131279 2002-11-25  Karl Berry  <karl@gnu.org>
131281         * config/install-sh: update from automake for variable quoting, $0 in
131282         error msgs, etc.
131284         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
131285         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
131286         entry.
131288 2002-11-25  Jim Meyering  <jim@meyering.net>
131290         * lib/mktime.c: Sync from libc, now that it has the latest fix.
131292 2002-11-24  Karl Berry  <karl@gnu.org>
131294         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
131295         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
131297 2002-11-24  Jim Meyering  <jim@meyering.net>
131299         Update from coreutils:
131301         * lib/mktime.c: Merge in changes from libc.
131303         Avoid a link-time failure on some Linux systems.
131304         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
131305         (otherwise).
131306         (__mon_yday): Declare with the STATIC attribute.
131307         (__mktime_internal): Likewise.
131308         Based on a report from Greg Schafer.
131310 2002-11-23  Jim Meyering  <jim@meyering.net>
131312         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
131313         Use `unsigned', not `int', as type of index.
131315         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
131317         * lib/fsusage.c: Remove unneeded parentheses around operands of
131318         `defined'.
131320 2002-11-22  Paul Eggert  <eggert@twinsun.com>
131322         * lib/quotearg.h: Allow multiple inclusion by surrounding with
131323         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
131324         so that we can be included first.
131325         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
131326         * lib/quotearg.c: Include quotearg.h immediately after config.h.
131327         No need to include stddef.h or sys/types.h any more.
131328         Surround local include files with "", not "<>".
131329         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
131330         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
131331         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
131332         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
131333         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
131334         (ISPRINT): Remove; no longer needed now that we assume C89.
131336         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
131337         Preserve errno.
131339         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
131340         quotearg_char): Use SIZE_MAX rather than
131341         (size_t) -1 when we are talking about "infinity".
131343         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
131345 2002-11-22  Paul Eggert  <eggert@twinsun.com>
131347         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
131348         hint that one should use `if (! x) abort ();' rather than `assert
131349         (x);', and anyway it's one less thing to worry about configuring.
131350         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
131351         hash_rehash, hash_insert): Use abort rather than assert.
131353 2002-11-22  Bruno Haible  <bruno@clisp.org>
131355         * lib/safe-read.h: Assume C89. Add comments.
131356         (safe_read): Change return type to size_t.
131357         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
131358         byte counts > SSIZE_MAX correctly.
131359         * lib/safe-write.h: New file.
131360         * lib/safe-write.c: New file.
131361         * lib/full-read.h: New file.
131362         * lib/full-read.c: New file.
131363         * lib/full-write.h: Assume C89. Add comments.
131364         * lib/full-write.c: Include safe-write.h.
131365         (full_write): Rewritten to use safe_write.
131366         Suggested by Jim Meyering and Paul Eggert.
131368 2002-11-21  Jim Meyering  <jim@meyering.net>
131370         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
131372         Merge in changes from the coreutils.
131374         2002-09-25  Paul Eggert  <eggert@twinsun.com>
131375         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
131376         <stdint.h>.
131377         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
131378         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
131379         int.  Work more efficiently if X is the same width as uintmax_t.
131380         Do not compare X to -1, to avoid bogus compiler warning.
131381         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
131382         Don't assume that f_frsize and f_bsize are the same type.
131384         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
131385         warning on FreeBSD.
131387         * lib/makepath.c (make_path): Restore umask *before* creating the final
131388         component.
131389         (make_path): Minor reformatting.
131391         * lib/xmalloc.c: Adjust to work with new autoconf macros,
131392         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
131393         HAVE_MALLOC/HAVE_REALLOC.
131395         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
131396         dummy ones.  At least on GNU/Linux systems, `auto' means something
131397         else.
131398         From Michael Stone.
131400 2002-11-21  Bruno Haible  <bruno@clisp.org>
131402         Remove case insensitive option matching.
131403         * lib/argmatch.h (argcasematch): Remove declaration.
131404         (ARGCASEMATCH): Remove macro.
131405         (__xargmatch_internal): Remove case_sensitive argument.
131406         (XARGMATCH): Update.
131407         (XARGCASEMATCH): Remove macro.
131408         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
131409         case_sensitive argument.
131410         (argcasematch): Remove function.
131411         (__xargmatch_internal): Remove case_sensitive argument.
131412         (main): Use XARGMATCH instead of XARGCASEMATCH.
131414         * lib/xmalloc.c: Change compile-time error message. Add comment about
131415         required autoconf version.
131417 2002-11-20  Paul Eggert  <eggert@twinsun.com>
131419         Merge argmatch cleanups from Bison.  Assume C89.
131421         * lib/argmatch.c: Include config.h here, not in argmatch.h.
131422         Include stdlib.h, for EXIT_FAILURE.
131423         Always include <string.h>, since we assume C89.
131424         (EXIT_FAILURE): Remove pre-C89 bug workaround.
131425         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
131426         Include <stddef.h> instead, since it's all we need for size_t.
131427         (PARAMS): Remove.  All uses removed.
131428         (ARRAY_CARDINALITY): Do not bother to #undef.
131429         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
131430         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
131431         Remove unnecessary parentheses.
131432         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
131433         Insert necessary parentheses.
131434         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
131435         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
131437 2002-11-19  Bruno Haible  <bruno@clisp.org>
131439         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
131440         * lib/mbswidth.h: Include <stddef.h>, for size_t.
131442         * lib/mbswidth.h (PARAMS): Remove macro.
131443         (mbswidth, mbsnwidth): Use ANSI C function declarations.
131444         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
131446         * lib/gcd.h (PARAMS): Remove macro.
131447         (gcd): Use ANSI C function declarations.
131448         * lib/gcd.c (gcd): Likewise.
131450 2002-11-15  Bruno Haible  <bruno@clisp.org>
131452         * lib/strcspn.c: Include <stddef.h>.
131453         (strcspn): Use ANSI C function declaration. Change return type to
131454         size_t. Use NULL.
131455         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
131456         (strpbrk): Use NULL.
131457         * lib/strpbrk.h (PARAMS): Remove macro.
131458         (strpbrk): Use ANSI C function declaration.
131459         * lib/strstr.c: Don't include <sys/types.h>.
131460         * lib/strstr.h (PARAMS): Remove macro.
131461         (strstr): Use ANSI C function declarations.
131463 2002-11-14  Karl Berry  <karl@gnu.org>
131465         * config/mkinstalldirs: `do' on separate line, instead of
131466         `for var; do'.
131468 2002-11-06  Bruno Haible  <bruno@clisp.org>
131470         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
131471         * lib/gcd.c (gcd): Likewise.
131473 2002-11-05  Bruno Haible  <bruno@clisp.org>
131475         * lib/gcd.h: New file, from gettext-0.11.5.
131476         * lib/gcd.c: New file, from gettext-0.11.5.
131478 2002-11-05  Bruno Haible  <bruno@clisp.org>
131480         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
131481         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
131482         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
131483         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
131485         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
131486         <libintl.h>.
131487         * lib/makepath.c: Include gettext.h instead of <locale.h> and
131488         <libintl.h>.
131490         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
131491         * lib/human.c: Include gettext.h instead of <libintl.h>.
131492         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
131493         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
131494         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
131495         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
131496         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
131497         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
131498         (textdomain): Remove definition.
131499         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
131501         * lib/long-options.c: Remove include of <libintl.h> and definition of
131502         _.
131503         * lib/same.c: Remove include of <libintl.h> and definition of _.
131505 2002-11-04  Owen Taylor  <otaylor@redhat.com>
131507         * lib/config.charset: A few additions for Solaris.
131509 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
131511         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
131512         * lib/localcharset.c (locale_charset): Declare as extern "C".
131514 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
131516         * lib/config.charset: msdos in uk_UA uses CP1125.
131518 2002-11-04  Bruno Haible  <bruno@clisp.org>
131520         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
131521         * lib/strcase.h: New file, from GNU gettext-0.11.5.
131522         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
131523         * lib/strstr.h: New file, from GNU gettext-0.11.5.
131524         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
131526 2002-11-04  Bruno Haible  <bruno@clisp.org>
131528         * lib/localcharset.c (locale_charset): Don't return an empty string.
131530 2002-11-04  Bruno Haible  <bruno@clisp.org>
131532         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
131533         aliases.
131535 2002-11-04  Bruno Haible  <bruno@clisp.org>
131537         * lib/config.charset: Update for newest glibc. Add canonical names
131538         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
131540 2002-11-04  Bruno Haible  <bruno@clisp.org>
131542         * lib/config.charset: Add support for NetBSD.
131544 2002-11-04  Bruno Haible  <bruno@clisp.org>
131546         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
131548 2002-11-01  Bruno Haible  <bruno@clisp.org>
131550         * configure.in: Add AC_CONFIG_AUX_DIR call.
131551         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
131552         test/Makefile.
131553         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
131555 2002-09-28  Karl Berry  <karl@gnu.org>
131557         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
131558         installed automake until the next release, since changes have been
131559         made.
131561 2002-09-25  Karl Berry  <karl@gnu.org>
131563         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
131564         * lib/getopt*: copy from libc/posix.
131565         * lib/gettext.h: copy from gettext.
131566         * lib/.cppi-disable: add strdup.c, gettext.h.
131568 2002-09-25  Karl Berry  <karl@gnu.org>
131570         * config/srclist.txt: enable gettext.h check.
131571         * config/config.{guess,sub}: update from prep.
131572         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
131573                 from automake 1.6.3.
131574         See srclist*.
131576 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
131578         * regex.c (PATFETCH): Remove the translating fetch.
131579         (PATFETCH_RAW): Rename to PATFETCH.
131580         (set_image_of_range): New fun.
131581         (SET_RANGE_TABLE_WORK_AREA): Use it.
131582         (regex_compile): Don't translate the pattern chars so eagerly.
131583         Only do it when inserting an `exactn' bytecode or when handling
131584         a char-range.
131585         (mutually_exclusive_p): Avoid empty statement.
131587 2002-07-06  Jim Meyering  <meyering@lucent.com>
131589         * m4/README: Don't mention Makefile.am.in.
131590         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
131592 2002-07-01  Jim Meyering  <meyering@lucent.com>
131594         * lib/c-stack.c: Include sys/time.h.
131595         From Volker Borchert.
131597 2002-06-26  Paul Eggert  <eggert@twinsun.com>
131599         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
131601 2002-06-26  Paul Eggert  <eggert@twinsun.com>
131603         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
131604         New macro.  Use it uniformly instead of
131605         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
131606         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
131607         reported by Vin Shelton.
131609 2002-06-22  Paul Eggert  <eggert@twinsun.com>
131611         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
131612         Do not assume SA_SIGINFO behavior.
131613         Bug reported by Jim Meyering on NetBSD 1.5.2.
131615 2002-06-22  Jim Meyering  <meyering@lucent.com>
131617         * m4/c-stack.m4: New file, from diffutils-2.8.2.
131618         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
131620         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
131621         now that configure.ac uses AC_GNU_SOURCE.
131622         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
131623         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
131625         Update to latest tools.  Suggestions from Paul Eggert.
131626         * m4/stdbool.m4: New file, from diffutils-2.8.2.
131627         * m4/gnu-source.m4: Update from diffutils-2.8.2.
131628         * m4/fnmatch.m4: Likewise.
131629         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
131630         to AC_HEADER_STDBOOL
131632 2002-06-22  Jim Meyering  <meyering@lucent.com>
131634         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
131635         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
131637 2002-06-22  Jim Meyering  <meyering@lucent.com>
131639         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
131641         * lib/exitfail.c, exitfail.h: Likewise.
131642         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
131644         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
131645         of fnmatch.h.
131646         (EXTRA_DIST): Add fnmatch_loop.c.
131647         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
131649         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
131650         * lib/fnmatch.c: Update from diffutils-2.8.2.
131651         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
131652         * lib/fnmatch.h: Remove file.
131654 2002-06-21  Jim Meyering  <meyering@lucent.com>
131656         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
131657         * m4/mbrtowc.m4: Likewise.
131659         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
131660         * m4/mbswidth.m4: Reflect name change:
131661         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
131662         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
131664         * m4/lib-link.m4: Update from gettext-0.11.2.
131665         * m4/gettext.m4: Likewise.
131667         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
131668         From Alfred M. Szmidt.
131670 2002-06-18  Paul Eggert  <eggert@twinsun.com>
131672         * lib/file-type.h: Report an error if neither S_ISREG nor
131673         S_IFREG is defined, instead of using a test specific to glibc
131674         2.2.  This should be safe, since POSIX requires S_ISREG and
131675         Unix Version 7 had S_IFREG.  We don't need to check for
131676         <sys/types.h> since we don't use any symbols that it defines.
131678 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
131680         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
131681         $@-t, so that each temporary file name is unique and valid in the first
131682         8 characters, for operation under DOS.
131684 2002-06-15  Paul Eggert  <eggert@twinsun.com>
131686         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
131688 2002-06-15  Jim Meyering  <meyering@lucent.com>
131690         Work even with DJGPP 2.03, which lacks support for symlinks.
131691         From Richard Dawe.
131692         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
131693         is defined.
131694         * lib/lchown.c (S_ISLNK): Likewise.
131696 2002-06-15  Jim Meyering  <meyering@lucent.com>
131698         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
131699         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
131700         have been included before this file.
131702 2002-06-14  Jim Meyering  <meyering@lucent.com>
131704         * lib/file-type.h: Use the version from diffutils-2.8.2.
131705         * lib/file-type.c: Likewise.
131707 2002-06-07  Jim Meyering  <meyering@lucent.com>
131709         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
131710         They're needed at least for NetBSD 1.5.2.
131711         ($statxfs_includes): Include those same headers.
131712         ($statxfs_includes): Include sys/vfs.h if available.
131713         ($statxfs_includes): Likewise for sys/statvfs.h.
131714         Check for the following members in both structs statfs and statvfs:
131715         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
131717 2002-06-01  Jim Meyering  <meyering@lucent.com>
131719         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
131720         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
131722 2002-05-28  Jim Meyering  <meyering@lucent.com>
131724         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
131725         Reported by Volker Borchert.
131727 2002-05-27  Jim Meyering  <meyering@lucent.com>
131729         Fix a problem seen only on nonconforming systems whereby ls.c's
131730         use of localtime, and then of gettimeofday would cause trouble:
131731         the localtime call used to initialize rpl_gettimeofday's save
131732         mechanism would clobber ls's current local time information so
131733         that in any long listing the first file would always be listed
131734         with date 1970-01-01.  Analysis by Volker Borchert.
131736         * lib/gettimeofday.c (localtime): Undefine.
131737         (rpl_localtime): New function.
131739 2002-05-27  Jim Meyering  <meyering@lucent.com>
131741         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
131742         localtime.
131744         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
131745         use the replacement function; it wouldn't resolve at link time.
131746         Reported by Volker Borchert.
131748 2002-05-22  Jim Meyering  <meyering@lucent.com>
131750         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
131751         file-type.h.
131752         * lib/file-type.h: New file.
131753         * lib/file-type.c (file_type): New file/function.  Extracted from
131754         diffutils.
131756 2002-04-30  Jim Meyering  <meyering@lucent.com>
131758         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
131760 2002-04-29  Paul Eggert  <eggert@twinsun.com>
131762         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
131764 2002-04-29  Paul Eggert  <eggert@twinsun.com>
131766         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
131767         Do not check for alloca.h (no longer used) or stdbool.h (was never
131768         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
131770 2002-04-29  Paul Eggert  <eggert@twinsun.com>
131772         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
131774 2002-04-29  Jim Meyering  <meyering@lucent.com>
131776         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
131777         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
131778         Use AC_FUNC_STRNLEN here instead.
131780         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
131781         With autoconf-2.53a, it's part of AC_PROG_CC.
131783 2002-04-28  Paul Eggert  <eggert@twinsun.com>
131785         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
131786         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
131788 2002-04-28  Paul Eggert  <eggert@twinsun.com>
131790         * lib/sig2str.h, lib/sig2str.c: New files.
131791         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
131793 2002-04-28  Paul Eggert  <eggert@twinsun.com>
131795         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
131796         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
131797         of 127, since 64 is the largest conceivable number for ancient
131798         nonstandard hosts.
131799         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
131801 2002-04-28  Jim Meyering  <meyering@lucent.com>
131803         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
131805 2002-04-24  Jim Meyering  <meyering@lucent.com>
131807         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
131808         (jm_PREREQ): Use it.
131810         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
131811         mach/mach.h fcntl.h.
131812         Check for this function: setlocale.
131814 2002-04-24  Jim Meyering  <meyering@lucent.com>
131816         * lib/gettext.h: New file, from Gettext.
131817         * lib/Makefile.am (INCLUDES): Remove -I../intl.
131818         (libfetish_a_SOURCES): Add gettext.h.
131820 2002-04-16  Jim Meyering  <meyering@lucent.com>
131822         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
131823         ut_pid, ut_id, ut_exit.
131825 2002-04-16  Jim Meyering  <meyering@lucent.com>
131827         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
131828         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
131829         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
131831 2002-04-12  Jim Meyering  <meyering@lucent.com>
131833         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
131834         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
131835         existence of the getmntinfo function.  Needed for Darwin 5.3.
131837         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
131838         This is necessary at least on Darwin 5.3.
131840         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
131841         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
131842         strnlen.o in the library, and that makes some versions of ranlib
131843         object.
131845 2002-04-12  Jim Meyering  <meyering@lucent.com>
131847         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
131849 2002-04-09  Jim Meyering  <meyering@lucent.com>
131851         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
131852         to be more precise.  Rather than saying we're checking whether the
131853         function `works', say what we're testing.
131854         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
131855         Reported by Bruno Haible.
131857 2002-03-10  Jim Meyering  <meyering@lucent.com>
131859         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
131860         Suggestion from Santiago Vila.
131862 2002-03-08  Jim Meyering  <meyering@lucent.com>
131864         * lib/rename.c: Mention that this wrapper is needed also on
131865         mips-dec-ultrix4.4 systems.
131867 2002-03-02  Jim Meyering  <meyering@lucent.com>
131869         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
131870         not HAVE_CLOCK_SETTIME.
131872 2002-02-27  Paul Eggert  <eggert@twinsun.com>
131874         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
131875         Check for clock_settime.
131877 2002-02-27  Paul Eggert  <eggert@twinsun.com>
131879         * lib/nanosleep.h: Rename to....
131880         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
131882         * lib/gettime.c: New file.
131883         * lib/settime.c: New file.
131884         * lib/stime.c: Remove.
131886         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
131887         timespec.h.  Remove nanosleep.h.
131889 2002-02-25  Paul Eggert  <eggert@twinsun.com>
131891         * m4/acl.m4: New file.
131892         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
131893         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
131895 2002-02-25  Paul Eggert  <eggert@twinsun.com>
131897         * lib/acl.c, lib/acl.h: New files.
131898         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
131900 2002-02-24  Jim Meyering  <meyering@lucent.com>
131902         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
131903         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
131904         cause trouble.  Reported by Nelson Beebe.
131906 2002-02-23  Paul Eggert  <eggert@twinsun.com>
131908         * lib/path-concat.c (xpath_concat): Reorder code to pacify
131909         compilers that don't know that xalloc_die never returns.
131911 2002-02-20  Jim Meyering  <meyering@lucent.com>
131913         * lib/getdate.c: Regenerate using bison-1.33.
131915 2002-02-17  Jim Meyering  <meyering@lucent.com>
131917         * config/config.guess (main): Don't use `head -1'; it's no longer
131918         portable. Use `sed 1q' instead.
131920 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
131922         * m4/codeset.m4: Upgrade to gettext-0.11.
131923         * m4/gettext.m4: Upgrade to gettext-0.11.
131924         * m4/glibc21.m4: Upgrade to gettext-0.11.
131925         * m4/iconv.m4: Upgrade to gettext-0.11.
131926         * m4/isc-posix.m4: Upgrade to gettext-0.11.
131927         * m4/lcmessage.m4: Upgrade to gettext-0.11.
131928         * m4/lib-ld.m4: New file, from gettext-0.11.
131929         * m4/lib-link.m4: New file, from gettext-0.11.
131930         * m4/lib-prefix.m4: New file, from gettext-0.11.
131931         * m4/progtest.m4: Upgrade to gettext-0.11.
131933 2002-02-15  Paul Eggert  <eggert@twinsun.com>
131935         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
131936         (jm_PREREQ): Use it.
131938 2002-02-15  Paul Eggert  <eggert@twinsun.com>
131940         * lib/posixver.c, lib/posixver.h: New files.
131941         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
131943 2002-02-02  Paul Eggert  <eggert@twinsun.com>
131944             Bruno Haible  <bruno@clisp.org>
131946         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
131947         (fwrite_success_callback): New declaration.
131948         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
131949         print_unicode_char. Call failure callback instead of error.
131950         (fwrite_success_callback): New function.
131951         (exit_failure_callback): New function.
131952         (fallback_failure_callback): New function.
131953         (print_unicode_char): Call unicode_to_mb.
131955 2002-01-26  Jim Meyering  <meyering@lucent.com>
131957         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
131958         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
131960 2002-01-26  Jim Meyering  <meyering@lucent.com>
131962         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
131964 2002-01-22  Paul Eggert  <eggert@twinsun.com>
131966         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
131968 2002-01-22  Jim Meyering  <meyering@lucent.com>
131970         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
131971         Otherwise, some versions of automake would omit the rule that makes
131972         Makefile from Makefile.in.
131974 2002-01-21  Paul Eggert  <eggert@twinsun.com>
131976         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
131977         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
131978         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
131979         (memcoll): Set errno to zero if there is no error.
131981         * lib/quotearg.c (quotearg_buffer_restyled):
131982         Fix bug with quoting buffers containing NUL when backslashing escapes.
131983         This bug was exposed by the other changes in this patch.
131984         (quotearg_n_options): New arg ARGSIZE.
131985         All callers changed.
131986         (quoting_options_from_style): New function.
131987         (quotearg_n_style): Use it.
131988         (quotearg_n_style_mem): New function.
131990         * lib/quotearg.h (quotearg_n_style_mem): New function.
131992 2002-01-19  Jim Meyering  <meyering@lucent.com>
131994         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
131995         Remove useless quotes: DF_PROG="df".
131996         * m4/strnlen.m4: New file.
131998 2002-01-16  Paul Eggert  <eggert@twinsun.com>
132000         * lib/backupfile.c (ISDIGIT): Comment fix.
132001         * lib/getdate.y (ISDIGIT): Likewise.
132002         * lib/posixtm.c (ISDIGIT, year): Likewise.
132003         * lib/strverscmp.c (ISDIGIT): Likewise.
132004         * lib/userspec.c (ISDIGIT): Likewise.
132006 2002-01-16  Jim Meyering  <meyering@lucent.com>
132008         * lib/getdate.y: Add three semicolons, each just before a closing
132009         brace. Bison (as of version 1.31) no longer papers over that mistake.
132011 2002-01-05  Jim Meyering  <meyering@lucent.com>
132013         * lib/version-etc.c (version_etc_copyright): Update copyright year.
132015 2001-12-19  Paul Eggert  <eggert@twinsun.com>
132017         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
132018         not silently exit merely because the output buffer happens to
132019         have nothing pending.
132021 2001-12-18  Paul Eggert  <eggert@twinsun.com>
132023         See the big note in ../ChangeLog.
132024         * lib/human.c (suffixes): Prefer K to k for 1024.
132025         (generate_suffix_backwards): New function.
132026         (human_readable_inexact): Use it.
132027         * lib/xstrtol.c (__xstrtol): If there is no number but there
132028         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
132029         Accept 'K' as well as 'k'.
132031 2001-12-15  Jim Meyering  <meyering@lucent.com>
132033         * lib/regex.h (__restrict_arr): Update from libc.
132035         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
132036         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
132037         (STREQ): Define.
132039 2001-12-14  Jim Meyering  <meyering@lucent.com>
132041         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
132042         Suggestion from Bruno Haible.
132044 2001-12-10  Jim Meyering  <meyering@lucent.com>
132046         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
132047         xrealloc, Instead, include "xalloc.h".
132048         (initbuffer): Don't cast xmalloc return value to char*.
132049         (readline): Reword comment.
132050         Don't cast xrealloc return value to char*
132051         Return NULL, not 0.
132053 2001-12-09  Jim Meyering  <meyering@lucent.com>
132055         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
132056         about `signed and unsigned type in conditional expression'.
132057         * lib/posixtm.c (posix_time_parse): Likewise.
132059         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
132061         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
132062         to avoid a pedantic warning.
132064         * lib/getstr.c: Don't include assert.h.
132065         (getstr): Remove warning-evoking assertions.
132066         Return -1 if offset parameter is out of bounds.
132067         Change the type of a local from int to size_t.
132069         * lib/strftime.c (my_strftime_localtime_r): Include this function
132070         definition in the `#if ! HAVE_TM_GMTOFF' block.
132072         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
132073         Include xalloc.h instead.
132075 2001-12-02  Jim Meyering  <meyering@lucent.com>
132077         * lib/tempname.c: Don't declare getenv, thus reverting the change of
132078         2001-11-18.  It's no longer necessary, now that stdlib.h is always
132079         included.
132081         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
132082         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
132084 2001-11-30  Akim Demaille  <akim@epita.fr>
132086         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
132087         before being defined.
132089 2001-11-27  Paul Eggert  <eggert@twinsun.com>
132091         * lib/quotearg.h (quotearg_n, quotearg_n_style):
132092         First arg is int, not unsigned.
132093         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
132094         (SIZE_MAX, UINT_MAX): New macros.
132095         (quotearg_n_options): Abort if N is negative.
132096         Avoid overflow check on hosts where size_t is 64 bits and int
132097         is 32 bits, as overflow is impossible there.
132098         Fix off-by-one typo that caused unnecessary reallocation.
132100 2001-11-27  Jim Meyering  <meyering@lucent.com>
132102         * lib/tempname.c: Merge with version from libc.
132103         * lib/regex.c: Likewise.
132105         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
132106         systems for which STDC_HEADERS is 0, it was not included, resulting in
132107         a warning about an integer-to-pointer conversion problem with getenv.
132108         Reported by Volker Borchert.
132110 2001-11-26  Jim Meyering  <meyering@lucent.com>
132112         * lib/gtod.h: Remove file.
132113         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
132114         * lib/gettimeofday.c: Don't include gtod.h.
132115         (GTOD_init): Remove function.
132116         (rpl_gettimeofday): Do its job here instead, rather than aborting.
132117         Suggestion from Volker Borchert.
132119 2001-11-23  Jim Meyering  <meyering@lucent.com>
132121         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
132122         it.
132123         * lib/hash.c (struct hash_table): Define it here instead.
132125 2001-11-22  Jim Meyering  <meyering@lucent.com>
132127         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
132129 2001-11-20  Jim Meyering  <meyering@lucent.com>
132131         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
132132         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
132134 2001-11-19  Jim Meyering  <meyering@lucent.com>
132136         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
132137         directory.  Use "conftestXXXXXX" as the template.
132138         Suggestion from Paul Eggert.
132140         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
132141         immediately, so the test doesn't mistakenly hit the max-open-files
132142         limit.
132144 2001-11-18  Paul Eggert  <eggert@twinsun.com>
132146         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
132147         (TEMPORARIES): New macro.
132148         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
132149         removes an artificial limitation (e.g. HP-UX 10.20, where
132150         TMP_MAX is 17576).
132152 2001-11-18  Jim Meyering  <meyering@lucent.com>
132154         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
132156 2001-11-18  Jim Meyering  <meyering@lucent.com>
132158         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
132159         on SunOS 4.
132161         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
132162         files will be created before anything else.
132164 2001-11-17  Paul Eggert  <eggert@twinsun.com>
132166         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
132167         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
132169 2001-11-17  Jim Meyering  <meyering@lucent.com>
132171         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
132172         Prompted by a report from Bob Proulx.
132174         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
132175         Instead, require UTILS_FUNC_MKSTEMP.
132177 2001-11-17  Jim Meyering  <meyering@lucent.com>
132179         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
132180         Now, that's done as part of AC_FUNC_STRTOD.
132182 2001-11-17  Jim Meyering  <meyering@lucent.com>
132184         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
132185         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
132186         rather than group writable.  Patch by Juan F. Codagnone.
132188         * lib/readtokens.c: Remove explicit declarations of xmalloc and
132189         xrealloc, Instead, include "xalloc.h".
132191         * lib/mountlist.c: Include unlocked-io.h after all system headers.
132192         Remove explicit declarations of xmalloc, xrealloc,
132193         and xstrdup.  Instead, include "xalloc.h".
132195         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
132196         unlocked-io.h.
132197         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
132198         Likewise.
132199         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
132201         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
132202         Reported by Padraig Brady.
132204         * lib/mkstemp.c: #undef mkstemp.
132205         Include config.h.
132206         (rpl_mkstemp): Rename from mkstemp.
132207         Protoize.
132209 2001-11-16  Jim Meyering  <meyering@lucent.com>
132211         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
132212         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
132213         determine the amount of total physical memory, use pstat_getstatic.
132214         HPUX-11 doesn't define _SC_PHYS_PAGES.
132215         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
132216         If sysconf couldn't be used to determine the amount of available
132217         physical memory, use both pstat_getstatic and pstat_getdynamic.
132218         Based on a patch from Bob Proulx.
132220 2001-11-10  Jim Meyering  <meyering@lucent.com>
132222         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
132223         (jm_PREREQ): Use it.
132225 2001-11-09  Jim Meyering  <meyering@lucent.com>
132227         * m4/jm-macros.m4: Require autoconf-2.52f.
132228         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
132229         Use these AC_-prefixed names, not the AM_-prefixed ones.
132231         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
132233 2001-11-05  Jim Meyering  <meyering@lucent.com>
132235         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
132237 2001-11-04  Jim Meyering  <meyering@lucent.com>
132239         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
132240         $DEFS.
132242 2001-11-03  Jim Meyering  <meyering@lucent.com>
132244         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
132245         of AC_DEFUN.
132247         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
132248         know the name of the variable in the macro definition.
132250 2001-11-03  Jim Meyering  <meyering@lucent.com>
132252         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
132253         in argmatch_to_argument call.
132255         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
132256         argument.
132258         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
132259         e.g., a fault due to an attempt to free a NULL pointer.
132261 2001-11-01  Jim Meyering  <meyering@lucent.com>
132263         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
132264         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
132266 2001-11-01  Jim Meyering  <meyering@lucent.com>
132268         * lib/dirfd.c, lib/dirfd.h: New files.
132269         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
132271         * lib/hash.c (hash_print) [TESTING]: Clean up.
132273 2001-10-22  Paul Eggert  <eggert@twinsun.com>
132275         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
132276         to avoid a warning if -Wall.
132278 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
132280         * README: New file
132281         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
132282         (per RMS's instructions, this is now the canonical source)
132283         * lgpl/, gpl/: New directories.
132285 2001-10-21  Paul Eggert  <eggert@twinsun.com>
132287         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
132289 2001-10-21  Jim Meyering  <meyering@lucent.com>
132291         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
132292         this code would end up calling gettext even in packages built
132293         with --disable-nls.
132294         * lib/getopt.c (_): Likewise.
132295         * lib/regex.c (_): Likewise.
132297 2001-10-20  Paul Eggert  <eggert@twinsun.com>
132299         * m4/error.m4 (jm_PREREQ_ERROR):
132300         Do not invoke AC_CHECK_FUNCS with strerror_r, as
132301         AC_FUNC_STRERROR_R does that.
132302         Check for strerror declaration.
132304         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
132305         are supposed to have them these days.
132306         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
132307         Merge changes from latest Autoconf CVS.
132308         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
132309         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
132310         POSIX decided to standardize on the int flavor of strerror_r.
132312 2001-10-20  Paul Eggert  <eggert@twinsun.com>
132314         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
132315         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
132316         Use strerror_r that is only a macro, even if it is not a function.
132317         (strerror): Check for HAVE_DECL_STRERROR before declaring.
132318         (private_strerror): Use prototypes, not old-style function definition.
132319         (print_errno_message): New function.
132320         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
132321         char*-flavored one.
132322         (error_tail, error, error_at_line): Use it.
132324 2001-10-11  Jim Meyering  <meyering@lucent.com>
132326         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
132327         and quote_n (1, ... to avoid clobbering a buffer.
132329 2001-10-05  Jim Meyering  <meyering@lucent.com>
132331         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
132332         hash-pjw.h.
132333         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
132334         * lib/hash-pjw.h: New file.
132336 2001-09-30  Jim Meyering  <meyering@lucent.com>
132338         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
132339         `struct fsstat' has the `f_fstypename' member.
132340         Use that to define FS_TYPE, which is now used to make
132341         the getfsstat link test tighter.
132343 2001-09-30  Jim Meyering  <meyering@lucent.com>
132345         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
132346         Include <sys/ucred.h>, for Apple Darwin.
132347         Include sys/mount.h and sys/fs_types.h only if available.
132348         (FS_TYPE): Define.
132349         (read_filesystem_list): Use FS_TYPE.
132351 2001-09-29  Paul Eggert  <eggert@twinsun.com>
132353         * lib/exclude.c (excluded_filename): 0 -> false, since it's
132354         a boolean context.
132356 2001-09-29  Jim Meyering  <meyering@lucent.com>
132358         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
132359         [one-argument getmntent function]): Include stdio.h before mntent.h.
132360         SunOS 4.1.x needs it for the declaration of `FILE'.
132361         Patch by Volker Borchert.
132363         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
132364         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
132365         sys/fs_types.h, and make the link-test for getfsstat guard #include
132366         directives with appropriate #if HAVE_*_H tests so that we can
132367         detect getfsstat on Apple Darwin1.3.7 systems.
132368         Reported by Nelson Beebe.
132369         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
132371 2001-09-28  Paul Eggert  <eggert@twinsun.com>
132373         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
132374         #defines strtoimax.  Also treat the other strto* functions
132375         like strtoimax.
132377         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
132378         Check for strtoul and strtoumax,
132379         as those declarations are made even in the signed case.
132380         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
132381         Likewise, for strtol and strtoimax.
132383 2001-09-28  Paul Eggert  <eggert@twinsun.com>
132385         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
132386         #defines strtoimax.  Also treat the other strto* functions
132387         like strtoimax.
132389         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
132390         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
132391         (strtoimax, strtoumax): Do not declare if already defined as a macro.
132393 2001-09-26  Jim Meyering  <meyering@lucent.com>
132395         Most macros in unlocked-io.h had the wrong number of arguments.
132396         * lib/gen-uio: New script.
132397         (USE_UNLOCKED_IO): Define to 1 if not already defined.
132398         * lib/unlocked-io.hin: Remove file.
132399         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
132400         rather than trying to embed it here.
132401         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
132402         Reported by Padraig Brady.
132404 2001-09-25  Volker Borchert  <bt@teknon.de>
132406         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
132407         `result'.
132409 2001-09-24  Jim Meyering  <meyering@lucent.com>
132411         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
132413 2001-09-23  Jim Meyering  <meyering@lucent.com>
132415         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
132416         instead of the mere test for existence of mntent.h.  The latter
132417         would get a false-positive on AIX 3.4 systems.
132418         In the outer getmntent if-block, don't die if neither of the getmntent
132419         tests succeeds.  Instead, just fall through and continue with the
132420         remaining tests.
132422 2001-09-23  Jim Meyering  <meyering@lucent.com>
132424         * lib/mountlist.c: Remove useless parentheses in #if directives.
132425         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
132426         the deprecated MOUNTED symbol is no longer defined in mntent.h.
132428 2001-09-22  Jim Meyering  <meyering@lucent.com>
132430         * m4/gettext.m4: New file.  From gettext.
132431         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
132432         * m4/progtest.m4: Likewise
132433         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
132434         * m4/glibc21.m4: Likewise.
132436         * m4/libintl.m4: Remove.  No longer used.
132438 2001-09-22  Jim Meyering  <meyering@lucent.com>
132440         * lib/localcharset.c: Update from latest gettext.
132441         * lib/config.charset: Likewise.
132443 2001-09-20  Jim Meyering  <meyering@lucent.com>
132445         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
132446         strtoimax.
132447         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
132448         strtoumax.
132450 2001-09-20  Jim Meyering  <meyering@lucent.com>
132452         * lib/xstrtol.c (strtoimax): Guard declaration with
132453         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
132454         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
132455         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
132456         (strtoumax): Likewise, for completeness (it wasn't necessary).
132458 2001-09-17  Paul Eggert  <eggert@twinsun.com>
132460         * lib/strtoimax.c (HAVE_LONG_LONG):
132461         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
132462         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
132463         to work around bug in IBM C compiler.
132465 2001-09-17  Jim Meyering  <meyering@lucent.com>
132467         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
132468         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
132469         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
132470         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
132471         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
132472         whenever the right hand side need not be expanded by the shell.
132474 2001-09-16  Paul Eggert  <eggert@twinsun.com>
132476         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
132477         library.  It's not correct, as some older glibcs are buggy.
132478         fnmatch wasn't fixed until glibc 2.2.
132480         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
132481         special shell magic here.
132483 2001-09-16  Jim Meyering  <meyering@lucent.com>
132485         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
132486         * m4/jm-macros.m4: Require it.
132488 2001-09-16  Jim Meyering  <meyering@lucent.com>
132490         * lib/mkdir.c: New file.
132492 2001-09-15  Jim Meyering  <meyering@lucent.com>
132494         * m4/jm-macros.m4: Check for help2man.
132496 2001-09-11  Jim Meyering  <meyering@lucent.com>
132498         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
132499         The body, by Paul Eggert, was moved here from configure.in.
132500         * m4/jm-macros.m4: Require UTILS_HOST_OS.
132502 2001-09-04  Paul Eggert  <eggert@twinsun.com>
132504         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
132505         (jm_PREREQ): Use it.
132507 2001-09-04  Paul Eggert  <eggert@twinsun.com>
132509         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
132510         Use ssize_t, not int, to store result of readlink.
132511         Check for ssize_t overflow as well as size_t overflow,
132512         as POSIX says the result of readlink is implementation-defined
132513         when ssize_t overflows.
132514         Remove unnecessary cast to char*.
132515         Use free+malloc instead of realloc, as the storage doesn't need
132516         to be preserved and it's clearer and can be more efficient that way.
132517         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
132518         * lib/xreadlink.h (xreadlink): Update prototype.
132520 2001-09-04  Paul Eggert  <eggert@twinsun.com>
132522         * lib/xgetcwd.c: Revert some of the previous change; intead,
132523         fix the HAVE_GETCWD_NULL code to behave more like the
132524         !HAVE_GETCWD_NULL code used to.
132526         Include "xalloc.h".
132527         (xgetcwd): Do not return NULL when memory is exhausted; instead,
132528         invoke xalloc_die.
132530 2001-09-03  Paul Eggert  <eggert@twinsun.com>
132532         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
132533         sys/param.h, as pathmax.h includes them.
132535 2001-09-03  Paul Eggert  <eggert@twinsun.com>
132537         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
132538         (jm_PREREQ_XGETCWD): New macro.
132540         * m4/getcwd.m4: New file.
132542 2001-09-03  Paul Eggert  <eggert@twinsun.com>
132544         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
132545         like the HAVE_GETCWD_NULL code.
132546         Include pathmax.h if not HAVE_GETCWD.
132547         Do not include xalloc.h.
132548         (INITIAL_BUFFER_SIZE): New symbol.
132549         Do not use xmalloc / xrealloc, since the caller is responsible for
132550         handling errors.  Preserve errno around `free' during failure.
132551         Do not overrun buffer when using getwd.
132553 2001-09-03  Paul Eggert  <eggert@twinsun.com>
132555         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
132556         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
132557         getcwd (NULL, 0).
132559 2001-09-03  Paul Eggert  <eggert@twinsun.com>
132561         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
132562         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
132563         spotted by Jim Meyering.
132565 2001-09-03  Jim Meyering  <meyering@lucent.com>
132567         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
132568         failure.
132570 2001-09-02  Jim Meyering  <meyering@lucent.com>
132572         * lib/error.c: Update from GNU libc.
132574 2001-09-01  Jim Meyering  <meyering@lucent.com>
132576         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
132577         Used by df.
132579 2001-09-01  Jim Meyering  <meyering@lucent.com>
132581         * lib/xreadlink.c: New file.
132582         * lib/xreadlink.h: New file.
132583         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
132584         xreadlink.h.
132586         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
132587         doesn't conflict with sparc Solaris 7's definition in
132588         /usr/include/sys/int_types.h.
132590         * lib/exclude.c: Use `""', not `<>' to #include non-system header
132591         files.
132592         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
132593         and strncasecmp as r-values.  Unixware didn't have declarations.
132595 2001-08-31  Paul Eggert  <eggert@twinsun.com>
132597         * lib/xstrtol.h: Add copyright notice.
132598         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
132599         LONGINT_INVALID_SUFFIX_CHAR.
132601 2001-08-31  Paul Eggert  <eggert@twinsun.com>
132603         * lib/xstrtol.c (strtoimax): New decl.
132605 2001-08-31  Paul Eggert  <eggert@twinsun.com>
132607         * lib/xgetcwd.c: Don't include pathmax.h.
132608         Include stdlib.h and unistd.h if available.
132609         Include xalloc.h.
132610         (xmalloc, xstrdup, free): Remove decls.
132611         (xgetcwd): Don't assume sizes fit in unsigned.
132612         Check for overflow when computing sizes.
132613         Simplify reallocation code.
132615 2001-08-31  Paul Eggert  <eggert@twinsun.com>
132617         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
132618         a directory's st_size can have an arbitrary value, so the old
132619         usage could waste an arbitrary amount of memory.  All uses
132620         changed.
132621         * lib/savedir.h: Update prototype.
132623 2001-08-31  Paul Eggert  <eggert@twinsun.com>
132625         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
132627         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
132628         old strtoimax.c.
132630         Also, make the following further changes to make this file's
132631         configuration more similar to that of strtol.c:
132632         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
132633         (strtoumax, uintmax_t, strtoull, strtol): Remove.
132634         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
132635         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
132636         changed to signed values.
132638         And make the following changes as well:
132639         Fix copyright notice, as 1999 was missing.
132640         (verify): New macro.
132641         (strtoimax): Check sizes at compile-time, not run-time.
132642         Prefer strtol to strtoll if both work.
132643         (main): Remove; it was not that useful and was a pain to maintain.
132645         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
132647 2001-08-31  Jim Meyering  <meyering@lucent.com>
132649         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
132650         Use an initial, malloc'd, buffer of length 128 rather than
132651         a statically allocated one of length 1024.
132653 2001-08-30  Paul Eggert  <eggert@twinsun.com>
132655         Simplify code, partly by assuming autoconf 2.52 semantics.
132657         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
132659         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
132660         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
132661         All uses removed.
132662         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
132663         Move AC_REQUIRE to next-to-top level, to avoid confusion.
132664         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
132665         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
132666         jm_AC_HEADER_INTTYPES_H.
132667         * m4/jm-macros.m4 (jm_MACROS): Likewise.
132669         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
132671         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
132672         Quote first arg of AC_DEFUN.
132673         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
132674         since they are needed to parse the include file even if we need
132675         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
132676         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
132677         but with opposite signedness.
132679 2001-08-30  Paul Eggert  <eggert@twinsun.com>
132681         Merge 'exclude' changes from tar 1.13.22.
132682         This fixes one or two unlikely storage allocation overflow bugs,
132683         but doesn't change user-visible behavior otherwise.
132685 2001-08-30  Paul Eggert  <eggert@twinsun.com>
132687         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
132688         (jm_PREREQ_EXCLUDE): New macro.
132690 2001-08-30  Paul Eggert  <eggert@twinsun.com>
132692         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
132693         tm to be declared.
132695 2001-08-30  Paul Eggert  <eggert@twinsun.com>
132697         * lib/hash.c: Remove '2001' from copyright notice.
132699 2001-08-30  Paul Eggert  <eggert@twinsun.com>
132701         * lib/full-write.h: New file.
132702         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
132703         * lib/full-write.c: Correct credits, as cccp.c no longer
132704         exists and anyway it was so heavily changed from the old cccp
132705         code as to be unrecognizable.  Include full-write.h.
132706         (full_write): Return size_t, with short writes meaning failure.
132707         All callers changed.  This fixes a bug with large buffers
132708         on 64-bit hosts.
132709         * lib/utime.c: Include full-write.h.
132711 2001-08-30  Paul Eggert  <eggert@twinsun.com>
132713         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
132714         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
132715         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
132716         Include if available.
132717         (<xalloc.h>): Include
132718         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
132719         (verify): New macro.  Use it to verify that EXCLUDE macros do not
132720         collide with FNM macros.
132721         (struct patopts): New struct.
132722         (struct exclude): Use it, as exclude patterns now come with options.
132723         (new_exclude): Support above changes.
132724         (new_exclude, add_exclude_file):
132725         Initial size must now be a power of two to simplify overflow checking.
132726         (free_exclude, fnmatch_no_wildcards): New function.
132727         (excluded_filename): No longer requires options arg, as the options
132728         are determined by add_exclude.  Now returns bool, not int.
132729         (excluded_filename, add_exclude):
132730         Add support for the fancy new exclusion options.
132731         (add_exclude, add_exclude_file): Now takes int options arg.
132732         Check for arithmetic overflow when computing sizes.
132733         (add_exclude_file): xrealloc might modify errno, so don't
132734         realloc until after errno might be used.
132736         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
132737         New macros.
132738         (free_exclude): New decl.
132739         (add_exclude, add_exclude_file): Now takes int options arg.
132740         (excluded_filename): No longer requires options arg, as the options
132741         are determined by add_exclude.  Now returns bool, not int.
132743 2001-08-30  Paul Eggert  <eggert@twinsun.com>
132745         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
132747 2001-08-27  Jim Meyering  <meyering@lucent.com>
132749         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
132751         * lib/version-etc.c (N_): Remove definition.
132752         Revert most of last change.
132753         Instead, simply don't mark the `Copyright...' string for translation.
132754         Based on advice from Paul Eggert.
132756         * lib/strtoxmax.c: Tweak comment.
132758 2001-08-26  Jim Meyering  <meyering@lucent.com>
132760         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
132762         * m4/xstrtoimax.m4: New file.
132763         * m4/xstrtoumax.m4: Add comments explaining why we
132764         AC_REPLACE_FUNCS(strtol).
132766 2001-08-26  Jim Meyering  <meyering@lucent.com>
132768         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
132769         of copyright with `%s' so translators don't get an untranslated
132770         message in 2002.
132771         (COPYRIGHT_YEAR): Define.
132772         (version_etc): Use fprintf rather than fputs.
132773         Suggestion from Ulrich Drepper.
132775         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
132777         * lib/strtoll.c: New file, from GNU libc.
132778         * lib/xstrtoimax.c: New file.
132780         * lib/xstrtol.h: Add xstrtoimax.
132781         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
132782         * lib/strtoimax.c: New file.  Likewise, but first define
132783         STRTOUXMAX_SIGNED.
132785         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
132786         ...
132787         * lib/strtoxmax.c: ... then renamed to this.
132789 2001-08-18  Paul Eggert  <eggert@twinsun.com>
132791         * m4/inttypes.m4: Add AC_PREREQ(2.13).
132792         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
132793         (jm_AC_TYPE_INTMAX_T): New macro.
132794         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
132796         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
132798         * m4/longlong.m4: Renamed from ulonglong.m4.
132799         * m4/inttypes.m4: Renamed from inttypes_h.m4.
132800         * m4/uintmax_t.m4: Removed.
132802 2001-08-13  Paul Eggert  <eggert@twinsun.com>
132804         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
132805         Port to Solaris 8, where 'sed' requires a space after the 'r'
132806         command, and where sh dislikes "$/".  Clean up the spacing a bit.
132807         Redirect output to $tmp just once.
132809 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
132811         * lib/addext.c (<errno.h>): Include.
132812         (errno): Declare if not defined.
132813         (addext): Work correctly when pathconf returns -1 and leaves
132814         errno alone because there is no limit.  Also, work even if
132815         pathconf returns a value greater than SIZE_MAX.
132817 2001-08-12  Jim Meyering  <meyering@lucent.com>
132819         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
132820         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
132821         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
132822         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
132823         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
132824         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
132825         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
132826         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
132827         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
132828         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
132829         utime.m4, utimes.m4, xstrtoumax.m4:
132830         Quote the first argument in each use of AC_DEFUN.
132832 2001-08-12  Jim Meyering  <meyering@lucent.com>
132834         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
132835         Simply `return getcwd (NULL, 0);'.
132836         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
132837         Use 1300 as initial value for length, not PATH_MAX.
132839         * lib/pathmax.h: Clean up cpp syntax.
132841 2001-08-12  Jim Meyering  <meyering@lucent.com>
132843         * lib/gettimeofday.c: New file.
132844         * lib/gtod.h: New file.
132845         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
132847 2001-08-05  Jim Meyering  <meyering@lucent.com>
132849         * m4/jm-macros.m4: Require autoconf-2.52.
132851 2001-08-04  Jim Meyering  <meyering@lucent.com>
132853         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
132854         stmt, to get in sync with glibc.
132856 2001-08-03  Paul Eggert  <eggert@twinsun.com>
132858         The following changes are from gettext 0.10.39 as maintained by
132859         Bruno Haible.
132861         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
132862         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
132863         with inverted sense.  All uses changed.
132865         * lib/mbswidth.c: Don't include <limits.h>.
132866         Include <stdlib.h> and <string.h> unconditionally.
132867         (iswcntrl, mbsinit, ISCNTRL): New macros.
132868         (mbsnwidth): Use K&R style function declarations.
132869         Don't bother checking for MB_LEN_MAX == 1, since the compiler
132870         can optimize it when MB_CUR_MAX == 1.
132871         The width of control characters is zero, not 1.
132873 2001-08-03  Paul Eggert  <eggert@twinsun.com>
132875         The following changes are from gettext 0.10.39 as maintained by
132876         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
132878         * m4/codeset.m4: Upgrade to serial AM1.
132879         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
132880         all uses changed.  Quote first arg of AC_DEFUN.
132881         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
132883         * m4/iconv.m4: Upgrade to serial AM2.
132884         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
132885         Add --with-libconv-prefix.
132886         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
132887         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
132888         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
132889         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
132890         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
132892         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
132893         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
132894         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
132895         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
132896         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
132897         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
132898         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
132899         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
132900         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
132902         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
132903         string.h any more.
132905         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
132906         not the default value.
132908         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
132909         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
132910         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
132911         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
132912         Also check for iswcntrl, used for wcwidth fallback.
132913         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
132914         to Autoconf 2.13.
132916 2001-08-03  Jim Meyering  <meyering@lucent.com>
132918         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
132919         as it was in the original.  Reported by Paul Eggert.
132921 2001-07-16  Jim Meyering  <meyering@lucent.com>
132923         * m4/gettimeofday.m4: New file.
132924         Prompted by a report from Bernhard Baehr.
132926 2001-07-15  Jim Meyering  <meyering@lucent.com>
132928         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
132929         stuff. Now it's in ../Makefile.cfg.
132931 2001-07-15  Jim Meyering  <meyering@lucent.com>
132933         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
132934         (BUILT_SOURCES): Add unlocked-io.h.
132935         (io_functions): Define.
132936         (unlocked-io.h): New rule.
132937         (DISTCLEANFILES): Add unlocked-io.h.
132938         (all-local): Depend on unlocked-io.h, to ensure it is created.
132940         * lib/unlocked-io.hin: New file
132942         * lib/regex.c: Update from glibc.
132944 2001-07-05  Jim Meyering  <meyering@lucent.com>
132946         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
132947         recommendation.
132948         (libfetish_a_SOURCES): Put all .h files here instead.
132949         Remove a thus-exposed (better checks in automake) duplicate and
132950         two unnecessary .h files.
132952 2001-07-04  Jim Meyering  <meyering@lucent.com>
132954         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
132955         that generates jm-glibc-io.m4 so that it doesn't trigger any make
132956         distcheck failure.
132958 2001-07-02  Jim Meyering  <meyering@lucent.com>
132960         The following changes were prompted by suggestions from Bruno Haible.
132962         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
132963         is now generated.
132964         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
132965         definition of EXTRA_DIST.
132966         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
132967         ensure that the generated file is created/updated whenever the list
132968         of $(unlocked_functions) is changed.
132969         (jm-glibc-io.m4): New rule.
132970         (unlocked-io.h): New rule -- currently unused.
132972 2001-06-24  Jim Meyering  <meyering@lucent.com>
132974         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
132975         unmatched right bracket, rather than kludging it with an extra,
132976         falsely-matching quote in a comment.  Patch by Akim Demaille.
132978 2001-06-11  Jim Meyering  <meyering@lucent.com>
132980         * lib/regex.c: Update from GNU libc.
132982 2001-05-27  Jim Meyering  <meyering@lucent.com>
132984         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
132985         Check for ut_type in struct utmp.
132987 2001-05-27  Jim Meyering  <meyering@lucent.com>
132989         * lib/readutmp.h (UT_TYPE): Define.
132991 2001-05-24  Jim Meyering  <meyering@lucent.com>
132993         * lib/argmatch.c: Include "quote.h".
132994         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
132995         quote function.  Reported by Göran Uddeborg.
132997 2001-05-22  Jim Meyering  <meyering@lucent.com>
132999         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
133000         now that we use the package-supplied version unconditionally.
133001         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
133003 2001-05-21  Jim Meyering  <meyering@lucent.com>
133005         * m4/regex.m4: Change a couple backticks to single quotes to avoid
133006         shell syntax errors.
133008 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
133010         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
133012 2001-05-20  Paul Eggert  <eggert@twinsun.com>
133014         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
133015         Don't bother to check library strftime, since
133016         we'll be using our own my_strftime function anyway.
133017         Define my_strftime instead of strftime.
133019 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
133021         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
133022         which is not yet declared.
133024 2001-05-15  Jim Meyering  <meyering@lucent.com>
133026         * m4/regex.m4: Use proper quoting so brackets appear in the test
133027         program.
133028         Reported by, and with help from, Bruno Haible.
133030 2001-05-13  Jim Meyering  <meyering@lucent.com>
133032         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
133033         undefined.
133035 2001-05-11  Paul Eggert  <eggert@twinsun.com>
133037         dirname code cleanup.  base_name now behaves more compatibly
133038         with POSIX basename when given file names that have trailing
133039         slashes, and similarly for dir_name.  Add new primitives
133040         base_len and dir_len.  Put the directory-name-related decls
133041         into dirname.h.
133043         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
133044         * lib/backupfile.c (base_name): Likewise.
133045         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
133046         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
133047         * lib/makepath.c (strip_trailing_slashes): Likewise.
133048         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
133049         ISSLASH): Likewise.
133050         * lib/rename.c (strip_trailing_slashes): Likewise.
133051         * lib/same.c (base_name): Likewise.
133052         * lib/stripslash.c (ISSLASH): Likewise.
133054         * lib/addext.c: Include <dirname.h> after size_t is defined.
133055         * lib/backupfile.c: Likewise.
133057         * lib/addext.c (addext): Use base_len to trim redundant
133058         trailing slashes instead of doing it ourselves.
133059         But do not trim the last slash if it is not redundant.
133061         * lib/backupfile.c (find_backup_file_name,
133062         max_backup_version): Use base_len instead of rolling it ourselves.
133063         Handle the case of "" and (on DOS) "C:" correctly.
133065         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
133066         needed. Include <string.h>, <dirname.h>.
133067         (base_name): Allow file names ending in slashes, other than names
133068         that are all slashes.  In this case, return the basename followed
133069         by the slashes.  This is more general, and can be used in places
133070         where the original base_name purposely had an assertion failure.
133071         (base_len): New function.
133073         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
133074         Do not include <assert.h>; no longer needed.
133075         Include xalloc.h.
133076         (memrchr): Remove decl.
133077         (dir_name_r): Remove.
133078         (dir_len): Renamed from dirlen.  All callers changed.
133079         Rewrite in terms of base_name, for simplicity and consistency.
133080         (dir_name): Never return NULL.  All callers changed.
133081         Do not include <stdlib.h> in test program; no longer needed.
133082         return 0; is fine for test program.
133084         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
133085         New macros.
133086         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
133088         * lib/path-concat.c (path_concat): Use base_len to compute
133089         base length, not strlen; this means we cannot rely on memcpy
133090         to null-terminate.
133092         * lib/same.c (STREQ): Remove.
133093         (same_name): Handle the case where the basename ends in trailing '/'.
133095         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
133096         a slash was stripped.  Do not strip the last slash after a
133097         file system prefix.
133099 2001-05-11  Paul Eggert  <eggert@twinsun.com>
133101         * lib/Makefile.am (libfetish_a_SOURCES):
133102         Add strftime.c, since we now compile it on all hosts.
133104         * lib/strftime.c (my_strftime):
133105         Define to nstrftime if emacs, but only if my_strftime is not defined.
133106         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
133107         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
133108         Add one more extra argument: a nanoseconds value.
133109         All uses changed.
133110         (ns): New macro.
133111         (my_strftime function): Add %N format.
133112         (emacs_strftimeu): Renamed from emacs_strftime,
133113         with extra ut argument.
133115 2001-05-09  Paul Eggert  <eggert@twinsun.com>
133117         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
133119 2001-04-21  Jim Meyering  <meyering@lucent.com>
133121         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
133122         doesn't interfere.
133124 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
133126         * m4/ftruncate.m4: Check for chsize.
133127         Link with ftruncate.o unconditionally if ftruncate is missing.
133128         This was required when cross-compiling to i586-mingw32msvc.
133130 2001-04-08  Jim Meyering  <meyering@lucent.com>
133132         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
133133         recomputed; that's necessary when the offset spans a DST transition.
133134         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
133136 2001-04-02  Jim Meyering  <meyering@lucent.com>
133138         * lib/regex.h, regex.c: Update from GNU libc.
133140 2001-03-24  Jim Meyering  <meyering@lucent.com>
133142         * m4/jm-macros.m4: Require autoconf-2.49d.
133144 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
133146         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
133148 2001-03-19  Paul Eggert  <eggert@twinsun.com>
133150         * lib/version-etc.c (version_etc_copyright): Update to 2001.
133152 2001-03-17  Jim Meyering  <meyering@lucent.com>
133154         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
133155         now that the version in autoconf is equivalent.
133156         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
133158         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
133159         Suggestion from Akim Demaille.
133161         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
133162         (jm_PREREQ_TEMPNAME): New function.
133164 2001-03-16  Paul Eggert  <eggert@twinsun.com>
133166         * lib/tempname.c (uint64_t): Define to uintmax_t if
133167         not defined, and if UINT64_MAX is not defined.
133168         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
133169         Reported by John David Anglin.
133171 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
133173         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
133174         resolve alias if codeset is empty.
133175         * lib/config.charset (BeOS): Use wildcard syntax.
133177 2001-03-13  Jim Meyering  <meyering@lucent.com>
133179         * lib/path-concat.c (path_concat)
133180         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
133181         concatenating e.g., `C:' and `foo'.
133182         From Bruno Haible.
133184 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
133186         * lib/localcharset.c (locale_charset): Don't use
133187         setlocale(LC_CTYPE,NULL). Don't return NULL.
133188         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
133190 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
133192         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
133193         support for DOS/DJGPP.
133195 2001-03-01  Paul Eggert  <eggert@twinsun.com>
133197         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
133198         lacks mkstemp.  Compile our own tempname.c if we compile our own
133199         mkstemp.c, as mkstemp relies on tempname.
133201 2001-03-01  Jim Meyering  <meyering@lucent.com>
133203         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
133204         AH_VERBATIM really does output its argument verbatim.
133206 2001-02-28  Paul Eggert  <eggert@twinsun.com>
133208         * lib/Makefile.am (libfetish_a_SOURCES):
133209         Add dup-safer.c, fopen-safer.c.
133210         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
133212         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
133213         * lib/unistd-safer.h: New files.
133215 2001-02-25  Paul Eggert  <eggert@twinsun.com>
133217         The mkstemp replacement is taken from glibc 2.2.2, with some
133218         portability fixes for use outside glibc, as follows:
133220         * lib/tempname.c (struct_stat64): New macro.
133221         (direxists, __gen_tempname): Use it.
133222         This avoids a portability problem with Solaris 8.
133224         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
133225         (<stddef.h>, <stdint.h>, <string.h>):
133226         Include only if STDC_HEADERS || _LIBC.
133227         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
133228         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
133229         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
133230         (__set_errno): Define this macro if <errno.h> doesn't.
133231         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
133232         Define these macros if <stdio.h> doesn't.
133233         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
133234         Define these macros if <sys/stat.h>
133235         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
133236         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
133237         __xstat64): Define if not _LIBC.
133238         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
133239         (__gen_tempname): Invoke gettimeofday only if
133240         HAVE_GETTIMEOFDAY || _LIBC;
133241         otherwise, fall back on plain "time".
133242         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
133244         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
133246         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
133248 2001-02-18  Paul Eggert  <eggert@twinsun.com>
133250         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
133252 2001-02-17  Paul Eggert  <eggert@twinsun.com>
133254         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
133255         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
133256         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
133257         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
133259 2001-02-17  Paul Eggert  <eggert@twinsun.com>
133261         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
133262         Remove workaround macros for hosts that have mbrtowc but not
133263         mbstate_t, as we now insist on proper declarations for both
133264         before using mbrtowc.
133266 2001-02-17  Jim Meyering  <meyering@lucent.com>
133268         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
133269         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
133270         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
133271         UnixWare 7.1.1.
133273         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
133274         rather than AC_CACHE_VAL.
133276 2001-02-17  Jim Meyering  <meyering@lucent.com>
133278         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
133279         around included file name.
133281         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
133283         * lib/strftime.c: Update from GNU libc (the only changes were to
133284         comments).
133286 2001-02-17  Jim Meyering  <meyering@lucent.com>
133288         * lib/regex.c: Update from libc.
133290 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
133292         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
133293         clash.
133295 2001-02-16  Paul Eggert  <eggert@twinsun.com>
133297         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
133298         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
133299         Reported by Mark Hounschell via Paul Eggert.
133301 2001-02-07  Jim Meyering  <meyering@lucent.com>
133303         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
133305 2001-02-05  Jim Meyering  <meyering@lucent.com>
133307         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
133308         it includes the patch required for `large file' support with at least
133309         HP-UX's 10.20 /bin/cc.
133311 2001-02-03  Jim Meyering  <meyering@lucent.com>
133313         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
133314         AS_IF, now that it works once again (mysteriously).
133315         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
133317 2001-01-30  Jim Meyering  <meyering@lucent.com>
133319         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
133320         * m4/chown.m4: Rename conftestchown to conftest.chown.
133321         * m4/rename.m4: s/conftestdir/conftest.d1/ and
133322         s/conftestdir2/conftest.d2/.
133323         * m4/utimes.m4: s/conftestdata/conftest.data/
133324         Inspired by Pavel Roskin's change in autoconf.
133326 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
133328         * lib/config.charset: Update for FreeBSD 4.2.
133330 2001-01-27  Jim Meyering  <meyering@lucent.com>
133332         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
133333         a use of AS_IF.
133334         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
133336 2001-01-26  Jim Meyering  <meyering@lucent.com>
133338         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
133339         quotearg.c includes it.
133341 2001-01-26  Jim Meyering  <meyering@lucent.com>
133343         * lib/quotearg.c: Include stddef.h.
133344         * lib/quote.c: Include stddef.h.
133345         Reported by Axel Kittenberger.
133347         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
133348         line in double quotes so that it evokes a better diagnostic.
133349         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
133350         Reported by Axel Kittenberger.
133352 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
133354         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
133355         as if it was a `charset'.
133357 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
133359         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
133360         has const.
133362 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
133364         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
133365         to avoid a warning.  Add back 'const' to inptr.
133367 2001-01-20  Jim Meyering  <meyering@lucent.com>
133369         Be sure that headers are checked before used in code compiled
133370         for the type checks.
133371         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
133372         In place of that, invoke jm_CHECK_ALL_TYPES.
133373         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
133374         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
133375         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
133376         The check for ssize_t was mistakenly run before the test for unistd.h.
133378         The configure-time check for stdbool.h was missing.
133379         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
133380         (jm_PREREQ_HASH): New function.
133382 2001-01-17  Jim Meyering  <meyering@lucent.com>
133384         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
133385         for autoconf-2.49c.
133386         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
133388 2001-01-16  Jim Meyering  <meyering@lucent.com>
133390         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
133391         From Bruno Haible.
133393 2001-01-14  Jim Meyering  <meyering@lucent.com>
133395         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
133396         foo and bar.  Create conftestdir/ in the script, not in the C code.
133397         Remove directories in the script, not in the C code.
133398         Remove conftestdir{,2} before trying to create the directory.
133399         Make the entire configure script fail if the mkdir fails.
133401 2001-01-14  Jim Meyering  <meyering@lucent.com>
133403         * lib/rename.c: New file.  From Volker Borchert.
133404         Include stdlib.h, string.h or strings.h, and xalloc.h.
133405         Use strip_trailing_slashes rather than open-coding it.
133407 2001-01-03  Paul Eggert  <eggert@twinsun.com>
133409         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
133411 2001-01-03  Jim Meyering  <meyering@lucent.com>
133413         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
133414         of local `inptr' to avoid warning with some system declarations of
133415         iconv.
133417 2001-01-02  Volker Borchert  <bt@teknon.de>
133419         * m4/rename.m4: New file.
133420         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
133422 2001-01-01  Jim Meyering  <meyering@lucent.com>
133424         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
133425         even on systems with utmpx.h.  It's necessary for the declaration of
133426         utmp's ut_user member.  Reported by Andreas Jaeger.
133428         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
133429         available. They are required for the declarations of getgrgid and
133430         getpwuid resp.
133431         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
133432         Reported by Andreas Jaeger.
133434 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
133436         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
133437         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
133438         so `make install' also works in VPATH builds.
133440 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
133442         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
133443         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
133444         can be used in subdirectories.
133446 2000-12-29  Paul Eggert  <eggert@twinsun.com>
133448         * lib/modechange.c: Do not assume that mode_t uses the
133449         traditional octal encoding.  E.g. "chmod 1 FOO" should set
133450         the other-execute bit of FOO even if S_IXOTH != 1.
133452         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
133453         WOTH, XOTH, ALLM): New macros.
133454         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
133455          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
133456         Use them.
133457         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
133458         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
133459         (mode_compile):
133460         No need to use uintmax_t; unsigned long is long enough.
133461         Don't bother to get suffix since we don't use it.
133463 2000-12-26  Jim Meyering  <meyering@lucent.com>
133465         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
133466         better with autoheader.
133468 2000-12-24  Jim Meyering  <meyering@lucent.com>
133470         * lib/hash.c (is_prime): Return explicit boolean values.
133471         (hash_get_first): Return NULL to appease Irix5.6's 89.
133472         Reported by Nelson Beebe.
133474 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
133476         * lib/localcharset.c (locale_charset): Add support for Win32.
133478 2000-12-18  Paul Eggert  <eggert@twinsun.com>
133480         * lib/physmem.h, lib/physmem.c: New files.
133482         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
133483         (noinst_HEADERS): Add physmem.h.
133485         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
133486         't' for compatibility with Solaris 8 sort.
133488 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
133490         * lib/config.charset: Add support for BeOS.
133492 2000-12-17  Jim Meyering  <meyering@lucent.com>
133494         * m4/dos.m4 (jm_AC_DOS): New file and macro.
133495         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
133497 2000-12-16  Jim Meyering  <meyering@lucent.com>
133499         This bug had a serious impact on chown: `chown N:M FILE' (for integer
133500         N and M) would have treated it like `chown N:N FILE'.
133502         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
133504 2000-12-16  Jim Meyering  <meyering@lucent.com>
133506         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
133507         SHELLS_FILE to a file name that's useful on djgpp systems.
133508         Include stdlib.h.
133509         (ADDITIONAL_DEFAULT_SHELLS): Define.
133510         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
133511         Based mostly on a patch from Prashant TR.
133513 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
133515         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
133516         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
133517         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
133519 2000-12-08  Andreas Schwab  <schwab@suse.de>
133521         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
133522         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
133524 2000-12-07  Jim Meyering  <meyering@lucent.com>
133526         * lib/stripslash.c (ISSLASH): Define.
133527         (strip_trailing_slashes): Use ISSLASH rather than comparing against
133528         `/'.
133529         From Prashant TR.
133531         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
133532         (dir_name_r): Declare this function as static.
133533         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
133534         manifest itself on a name containing a mix of slashes and
133535         backslashes.
133536         Make this function work with names starting with a DOS-style
133537         drive letter and colon prefix.
133538         (dir_name): Append `.' if necessary.
133539         Based mostly on patches from Prashant TR and Eli Zaretskii.
133541         * lib/dirname.h (dir_name_r): Remove prototype.
133543 2000-12-06  Paul Eggert  <eggert@twinsun.com>
133545         * m4/off_t-format.m4: Remove this file.
133546         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
133548 2000-12-06  Jim Meyering  <meyering@lucent.com>
133550         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
133551         replacement strtoull, we may well need the replacement strtoul, too.
133552         Check for declarations of strtoul and strtoull.
133553         Check for strtol.  Mainly as a cue to cause automake to include
133554         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
133555         Check for limits.h -- strtol.c needs it.
133557 2000-12-05  Jim Meyering  <meyering@lucent.com>
133559         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
133561 2000-12-04  Jim Meyering  <meyering@lucent.com>
133563         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
133564         Also include memory.h, stdlib.h, unistd.h if appropriate.
133565         Reported by Andreas Jaeger (conflicting declaration of malloc).
133567 2000-12-02  Jim Meyering  <meyering@lucent.com>
133569         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
133570         * m4/jm-macros.m4 (jm_MACROS): require it.
133572 2000-12-02  Jim Meyering  <meyering@lucent.com>
133574         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
133576 2000-12-01  Paul Eggert  <eggert@twinsun.com>
133578         * lib/memrchr.c: Include <config.h> before any system include file.
133580 2000-11-30  Jim Meyering  <meyering@lucent.com>
133582         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
133584 2000-11-30  Jim Meyering  <meyering@lucent.com>
133586         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
133588 2000-11-29  Paul Eggert  <eggert@twinsun.com>
133590         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
133592 2000-11-26  Jim Meyering  <meyering@lucent.com>
133594         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
133596 2000-11-22  Paul Eggert  <eggert@twinsun.com>
133598         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
133599         size of (size_t) -1; it's not portable.
133601 2000-11-17  Jim Meyering  <meyering@lucent.com>
133603         * lib/strstr.c: Update from GNU libc.
133605 2000-11-17  Akim Demaille  <akim@epita.fr>
133607         * lib/obstack.h: Formatting changes.
133608         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
133609         prevent type checking.
133610         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
133611         cast the value to (void *): assigning a `foo *' to a `void *'
133612         variable is valid.
133613         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
133615 2000-11-16  Jim Meyering  <meyering@lucent.com>
133617         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
133619 2000-11-11  Jim Meyering  <meyering@lucent.com>
133621         * lib/error.c: Add a couple #includes, merging from GNU libc version.
133623 2000-11-10  Jim Meyering  <meyering@lucent.com>
133625         * lib/obstack.h: Update from GNU libc.
133626         * lib/obstack.c: Likewise.
133628 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
133630         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
133632 2000-11-06  Paul Eggert  <eggert@twinsun.com>
133634         * lib/getusershell.c (setusershell): Use rewind rather than
133635         fseek/fseeko, to avoid configuration hassles with fseeko.
133636         Don't bother opening SHELLS_FILE if shellstream is NULL;
133637         it's not necessary.
133639 2000-11-05  Jim Meyering  <meyering@lucent.com>
133641         * lib/makepath.h (make_dir): Declare.
133642         * lib/makepath.c (make_dir): Remove `static' attribute.
133643         Tweak a comment.
133645 2000-11-04  Jim Meyering  <meyering@lucent.com>
133647         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
133649 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
133651         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
133652         last one in a bucket, advance to the next bucket.
133654 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
133656         * lib/fnmatch.c: Do not comment out all the code if we are using
133657         the GNU C library, because in some cases we are replacing buggy
133658         code in the GNU C library itself.
133660 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
133662         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
133663         (regex_compile): Catch bogus \(\1\).
133665 2000-10-30  Paul Eggert  <eggert@twinsun.com>
133667         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
133668         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
133669         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
133671 2000-10-30  Paul Eggert  <eggert@twinsun.com>
133673         * lib/error.h, getline.h, modechange.h:
133674         Remove "2000" from Copyright line, as the file hasn't been
133675         changed this year other than in the copyright notice.
133677         * lib/xalloc.h: Add "2000" to Copyright line, as this file
133678         was changed this year.
133680 2000-10-29  Jim Meyering  <meyering@lucent.com>
133682         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
133683         renaming.
133684         * m4/ls-mntd-fs.m4: Likewise
133686 2000-10-29  Jim Meyering  <meyering@lucent.com>
133688         * lib/xstat.in: Fix grammar in comment.
133690 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
133692         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
133693         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
133694         doesn't define __restrict_arr.
133696 2000-10-28  Jim Meyering  <meyering@lucent.com>
133698         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
133699         (jm_PREREQ_MEMCHR): New function.
133701 2000-10-28  Jim Meyering  <meyering@lucent.com>
133703         * lib/memchr.c: Update from libc.
133704         Adjust for portability:
133705         [HAVE_STDLIB_H]: Include stdlib.h.
133706         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
133707         Undef __memchr, too.
133708         [!weak_alias]: Define __memchr to memchr.
133710         * lib/regex.c: Update from libc.
133711         * lib/regex.h: Likewise.
133712         * lib/getopt1.c: Likewise.
133713         * lib/memcmp.c: Likewise.
133715         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
133716         Avoid using fseek, when possible -- it's broken by design.
133717         Patch by Ulrich Drepper.
133719 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
133721         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
133722         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
133723         Giving in to popular pressure to shut up the compiler with casts.
133725 2000-10-26  Jim Meyering  <meyering@lucent.com>
133727         * lib/strftime.c: Update from libc.
133729 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
133731         * regex.c: More `unsigned char' -> `re_char' changes.
133732         Also change several `int' into `re_wchar_t'.
133733         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
133734         (PUSH_FAILURE_POINTER): Don't cast any more.
133735         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
133736         We want GCC to complain, since this piece of code makes
133737         re_match non-reentrant, which *should* be fixed.
133738         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
133739         (EXTEND_BUFFER): Use RETALLOC.
133740         (SET_LIST_BIT): Don't cast.
133741         (re_wchar_t): New type.
133742         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
133743         that those two functions will always properly return.
133744         (IMMEDIATE_QUIT_CHECK): Cast to void.
133745         (analyse_first): Use recursion rather than an explicit stack.
133746         (re_compile_fastmap): Can't fail anymore.
133747         (re_search_2): Don't check re_compile_fastmap for failure.
133748         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
133749         Now also sets the new value (passed in a new argument).
133750         (re_match_2_internal): Use it.
133751         Also, use a new var `reg' of type size_t when looping through regs
133752         rather than reuse the inappropriate `mcnt'.
133754 2000-10-25  Jim Meyering  <meyering@lucent.com>
133756         * lib/obstack.c: Update from libc.
133758 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
133760         * regex.c (regex_compile): Change the way of handling a range from
133761         a char less than 256 to a char not less than 256.
133763 2000-10-24  Andrew Innes  <andrewi@gnu.org>
133765         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
133766         NT-Emacs only.
133767         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
133768         so that re_search functions only quit when callers expect them to.
133770 2000-10-23  Jim Meyering  <meyering@lucent.com>
133772         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
133773         wrong.  That set_locale call must not have any side effects.
133774         From Paul Eggert.
133776 2000-10-22  Jim Meyering  <meyering@lucent.com>
133778         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
133779         [CYCLIC]: Remove now-unused definition.
133781         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
133782         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
133783         Suggestion from Ulrich Drepper.
133785 2000-10-21  Jim Meyering  <meyering@lucent.com>
133787         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
133788         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
133789         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
133791 2000-10-21  Jim Meyering  <meyering@lucent.com>
133793         * lib/dirname.c (memrchr): Declare if necessary.
133794         (dir_name): Remove the restriction that there be no
133795         trailing slashes.  Now, this code skips past them, effectively
133796         ignoring them.
133797         [TEST_DIRNAME] (main): New unit tests.
133799         * lib/memrchr.c: New file from GNU libc.
133800         Undef __memrchr, too.
133801         [!weak_alias]: Define __memrchr to memrchr.
133802         Guard weak_alias use with `#ifdef weak_alias'.
133804 2000-10-21  Jim Meyering  <meyering@lucent.com>
133806         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
133807         (dir_name): Use dir_name_r.
133808         * lib/dirname.h (dir_name_r): Declare it.
133810 2000-10-17  Jim Meyering  <meyering@lucent.com>
133812         * lib/quote.h (PARAMS): Define and use.
133813         Reported by Akim Demaille.
133815         * lib/getopt.c: Update from libc.
133817 2000-10-16  Jim Meyering  <meyering@lucent.com>
133819         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
133820         setlocale.
133821         From Jan Fedak.
133823 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
133825         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
133827 2000-09-25  Jim Meyering  <meyering@lucent.com>
133829         * lib/md5.h (rol): Define (from GnuPG).
133831         * lib/sha.c: Give credit (GnuPG) where due.
133832         (M): Use rol rather than open-coding it.
133833         Add a FIXME comment.
133835 2000-09-21  Jim Meyering  <meyering@lucent.com>
133837         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
133838         Reported by Michael Stone.
133840 2000-09-20  Jim Meyering  <meyering@lucent.com>
133842         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
133843         (noinst_HEADERS): Add sha.h.
133844         Based on code from Scott G. Miller and from GnuPG.
133846 2000-09-18  Jim Meyering  <meyering@lucent.com>
133848         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
133849         LIBS. Otherwise, everyone ends up linking with -lelf for some
133850         configurations.
133851         Reported by Mike Stone.
133853 2000-09-15  Jim Meyering  <meyering@lucent.com>
133855         * lib/regex.c: Update from libc.
133857 2000-09-10  Jim Meyering  <meyering@lucent.com>
133859         * lib/getopt.c (_getopt_internal): Update from glibc.
133861 2000-09-09  Jim Meyering  <meyering@lucent.com>
133863         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
133864         think it should be used as a general replacement for isascii.
133865         * lib/fnmatch.c: Likewise.
133866         * lib/mbswidth.c: Likewise
133867         * lib/regex.c: Likewise.
133869         Don't use atoi.
133870         * lib/userspec.c: Include sys/param.h and limits.h.
133871         Include xstrtol.h.
133872         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
133873         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
133874         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
133875         UID, GID.  Check range.
133877 2000-09-06  Jim Meyering  <meyering@lucent.com>
133879         * lib/getopt.c (_getopt_internal): Update from glibc.
133881 2000-08-30  Jim Meyering  <meyering@lucent.com>
133883         * lib/strftime.c: Merge in changes from GNU libc.
133885 2000-08-26  Jim Meyering  <meyering@lucent.com>
133887         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
133888         * m4/fpending.m4: New file.
133890 2000-08-26  Jim Meyering  <meyering@lucent.com>
133892         * lib/closeout.c: Include "__fpending.h".
133893         (close_stdout_status): Return right away if there's nothing to flush.
133895         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
133896         * lib/__fpending.c: New file.
133897         * lib/__fpending.h: New file.
133899 2000-08-20  Jim Meyering  <meyering@lucent.com>
133901         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
133902         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
133903         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
133905 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
133907         Improve fileutils installation on systems where running
133908         programs (like install) can't be unlinked.
133909         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
133910         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
133912 2000-08-07  Paul Eggert  <eggert@twinsun.com>
133914         Standardize on "memory exhausted" instead of "Memory exhausted"
133915         or "virtual memory exhausted".
133916         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
133917         "virtual memory exhausted".
133918         * lib/same.c (same_name): Invoke xalloc_die instead of printing
133919         our own message.
133920         * lib/userspec.c (parse_user_spec): Likewise.
133921         * lib/bumpalloc.h: comment fix
133922         * lib/same.c, userspec.c: Include xalloc.h.
133924         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
133925         not char *const and pointing to a constant array.
133926         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
133927         (xrealloc): Comment fix.
133929         * lib/userspec.c (parse_user_spec):
133930         Don't translate a message until just before returning,
133931         to avoid unnecessary translation.
133933 2000-08-07  Jim Meyering  <meyering@lucent.com>
133935         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
133936         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
133937         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
133938         getgroups.c, gethostname.c, getopt.h, group-member.c,
133939         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
133940         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
133941         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
133942         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
133943         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
133944         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
133945         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
133946         yesno.c: Back out Copyright date changes for each file with no change
133947         this year.  This eases coordination with other programs using the same
133948         source code modules.  From Paul Eggert.
133950 2000-08-06  Paul Eggert  <eggert@twinsun.com>
133952         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
133953         not char, for compatibility with glibc 2.1.3 strftime.c.
133955 2000-08-03  Greg McGary  <greg@mcgary.org>
133957         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
133958         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
133959         (EXTEND_BUFFER): Use them.
133961 2000-08-01  Jim Meyering  <meyering@lucent.com>
133963         * lib/dirname.c (ISSLASH): Define.
133964         (BACKSLASH_IS_PATH_SEPARATOR): Define.
133965         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
133966         both `\' and `/' may be use as path separators.
133967         Based on a patch from Prashant TR.
133969 2000-07-31  Paul Eggert  <eggert@twinsun.com>
133971         * lib/quotearg.c (quotearg_n_options): Don't make the initial
133972         slot vector a constant, since it might get modified.
133974 2000-07-31  Jim Meyering  <meyering@lucent.com>
133976         * lib/xmalloc.c: Use `virtual memory exhausted', not
133977         `Memory exhausted'.
133978         * lib/obstack.c (print_and_abort): Likewise.
133980 2000-07-30  Paul Eggert  <eggert@twinsun.com>
133982         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
133983         buffer, so that the caller can always quote one small
133984         component of a "memory exhausted" message in slot 0.
133985         From a suggestion by Jim Meyering.
133987 2000-07-30  Jim Meyering  <meyering@lucent.com>
133989         * lib/makepath.c (make_path): Quote the other instance, too.
133991         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
133992         (STATIC_BUF_SIZE): Define.
133993         (quotearg_n_options): Use only statically allocated storage when
133994         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
133995         than STATIC_BUF_SIZE.
133997 2000-07-29  Jim Meyering  <meyering@lucent.com>
133999         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
134000         * lib/dirname.c (dir_name): Likewise.
134002         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
134003         `/'.
134005         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
134006         (dir_name): Assert that there are no trailing slashes.
134008 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
134010         * lib/mbswidth.h (mbswidth): Add a flags argument.
134011         (mbswidth): New declaration.
134012         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
134013         * lib/mbswidth.c (mbswidth): Add a flags argument.
134014         (mbsnwidth): New function.
134016 2000-07-24  Jim Meyering  <meyering@lucent.com>
134018         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
134020 2000-07-23  Paul Eggert  <eggert@twinsun.com>
134022         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
134024 2000-07-23  Paul Eggert  <eggert@twinsun.com>
134026         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
134027         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
134028         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
134029         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
134030         invoke multibyte primitives.
134032 2000-07-23  Paul Eggert  <eggert@twinsun.com>
134034         * lib/quotearg.c:
134035         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
134036         so that mbstate_t is always defined.
134038         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
134039         be 1 in at least one GCC installation, and this configuration
134040         error is likely to be common.  Ignoring MB_LEN_MAX hurts
134041         performance on hosts that have mbrtowc but have only unibyte
134042         locales, but I assume these hosts are rare.
134044 2000-07-23  Paul Eggert  <eggert@twinsun.com>
134046         * lib/mbswidth.c (_XOPEN_SOURCE):
134047         Don't define; this causes problems on Solaris 7.
134048         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
134050 2000-07-23  Jim Meyering  <meyering@lucent.com>
134052         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
134053         too: getgrgid, getpwuid, getuid.
134055 2000-07-23  Jim Meyering  <meyering@lucent.com>
134057         * lib/basename.c (base_name): Add an assertion.
134059 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
134061         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
134062         shadow its mbsinit function.
134064 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
134066         * lib/mbswidth.h: New file.
134067         * lib/mbswidth.c: New file.
134068         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
134069         (noinst_HEADERS): Add mbswidth.h.
134071 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
134073         * lib/config.charset: Add support for FreeBSD. Improve support for
134074         HP-UX and IRIX 6.
134076 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
134078         * m4/mbswidth.m4: New file.
134079         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
134081 2000-07-15  Jim Meyering  <meyering@lucent.com>
134083         * lib/makepath.c: Include quote.h.
134084         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
134085         corresponding argument in a `quote (...)' call.
134086         Give better diagnostics.
134088         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
134089         (noinst_HEADERS): Add quote.h.
134091         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
134092         from tar's src/misc.c.
134093         * lib/quote.h: New file.  Prototypes for same.
134095 2000-07-14  Paul Eggert  <eggert@twinsun.com>
134097         From a suggestion by Bruno Haible.
134098         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
134099         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
134100         to decide whether to define the BeOS workaround macro;
134101         this adjusts to the change to AC_MBSTATE_T.
134103 2000-07-14  Jim Meyering  <meyering@lucent.com>
134105         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
134106         jm_AC_TYPE_UINTMAX_T.
134108 2000-07-13  Paul Eggert  <eggert@twinsun.com>
134110         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
134112         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
134113         quotearg_buffer_restyled): Add support for
134114         clocale_quoting_style.  Undo previous change to
134115         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
134116         and "{RIGHT QUOTATION MARK}" msgids.
134118 2000-07-10  Paul Eggert  <eggert@twinsun.com>
134120         From a suggestion by Bruno Haible.
134121         * m4/mbstate_t.m4 (AC_MBSTATE_T):
134122         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
134123         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
134124         and mbstate_t, to a single-part test that simply defines mbstate_t.
134125         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
134126         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
134128 2000-07-10  Jim Meyering  <meyering@lucent.com>
134130         * m4/strerror_r.m4: Mirror the correction made in autoconf.
134132         * m4/gnu-source.m4: Output to confdefs.h directly.
134133         Suggestion from Akim Demaille.
134135 2000-07-09  Paul Eggert  <eggert@twinsun.com>
134137         The old behavior of quoting `like this' doesn't look good with
134138         newer, ISO-style fonts.  See:
134139         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
134141         Instead, quote "like this" by default.  Let the translator
134142         tailor the locale-specific quoting behavior by providing
134143         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
134145         * lib/quotearg.c (N_): New macro.
134146         (gettext_default): New function.
134147         (quotearg_buffer_restyled): Use
134148         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
134149         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
134151 2000-07-09  Jim Meyering  <meyering@lucent.com>
134153         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
134154         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
134156         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
134157         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
134159 2000-07-09  Jim Meyering  <meyering@lucent.com>
134161         * lib/Most files: Update copyright dates to include 2000.
134163 2000-07-08  Jim Meyering  <meyering@lucent.com>
134165         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
134166         if not defined.
134167         (xgethostname): Remove now-unnecessary #ifdef.
134168         Move declaration of `err' into loop where it's used.
134170 2000-07-05  Paul Eggert  <eggert@twinsun.com>
134171         and Bruno Haible  <haible@clisp.cons.org>
134173         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
134174         only if the test for an object-type mbstate_t fails.  This
134175         prevents us from mistakenly reporting that mbstate_t is a
134176         system object type after we "#define mbstate_t int" to work
134177         around its lack.
134179 2000-07-05  Paul Eggert  <eggert@twinsun.com>
134180         and Bruno Haible  <haible@clisp.cons.org>
134182         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
134184 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
134186         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
134187         to strerror_r.
134188         Include <ctype.h> for use of isalpha.
134190 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
134192         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
134193         by allocating a larger buffer. Test the gethostname return value for
134194         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
134195         returns an error and ENAMETOOLONG isn't defined.
134197 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
134199         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
134200         dimension.
134202 2000-07-04  Jim Meyering  <meyering@lucent.com>
134204         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
134205         of the deprecated AC_CHECKING.
134207 2000-07-04  Jim Meyering  <meyering@lucent.com>
134209         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
134210         Reported by Bruno Haible.
134212 2000-07-04  Jim Meyering  <meyering@lucent.com>
134214         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
134215         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
134216         lacks mbrtowc.
134218 2000-07-03  Paul Eggert  <eggert@twinsun.com>
134220         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
134221         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
134223 2000-07-03  Paul Eggert  <eggert@twinsun.com>
134224         and Bruno Haible  <haible@clisp.cons.org>
134226         * lib/quotearg.c (mbrtowc):
134227         Assign to *pwc, and return 1 only if result is nonzero.
134228         (iswprint): Use ISPRINT when substituting our own mbrtowc.
134230 2000-07-03  Jim Meyering  <meyering@lucent.com>
134232         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
134234 2000-07-03  Jim Meyering  <meyering@lucent.com>
134236         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
134237         This is necessary to get a definition of e.g., UTMP_FILE on
134238         HP-UX 10.20.
134239         From Bob Proulx.
134241 2000-07-02  Jim Meyering  <meyering@lucent.com>
134243         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
134245         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
134246         AC_LIBOBJ(function_name).
134247         * m4/chown.m4: Likewise.
134248         * m4/fnmatch.m4: Likewise.
134249         * m4/ftruncate.m4: Likewise.
134250         * m4/getgroups.m4: Likewise.
134251         * m4/getline.m4: Likewise.
134252         * m4/group-member.m4: Likewise.
134253         * m4/jm-macros.m4: Likewise.
134254         * m4/lstat.m4: Likewise.
134255         * m4/malloc.m4: Likewise.
134256         * m4/memcmp.m4: Likewise.
134257         * m4/nanosleep.m4: Likewise.
134258         * m4/putenv.m4: Likewise.
134259         * m4/realloc.m4: Likewise.
134260         * m4/regex.m4: Likewise.
134261         * m4/stat.m4: Likewise.
134262         * m4/strftime.m4: Likewise.
134264 2000-07-02  Jim Meyering  <meyering@lucent.com>
134266         * lib/quotearg.c (mbstate_t): Don't define here.
134268 2000-07-02  Jim Meyering  <meyering@lucent.com>
134270         * lib/nanosleep.c (SIGCONT): Define if not already defined.
134272 2000-07-01  Jim Meyering  <meyering@lucent.com>
134274         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
134276 2000-07-01  Jim Meyering  <meyering@lucent.com>
134278         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
134279         problem.
134281 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
134283         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
134284         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
134286 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
134288         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
134289         per change in ../m4/ls-mntd-fs.m4.
134290         (read_filesystem_list): Ignore symbolic links.
134292 2000-06-29  Jim Meyering  <meyering@lucent.com>
134294         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
134295         for declaration of strcmp.
134297         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
134299         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
134300         Avoid warning by casting result to `char *' to remove `const'.
134302 2000-06-28  Jim Meyering  <meyering@lucent.com>
134304         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
134305         included by quotearg.c, for which we perform this test.  From
134306         Bruno Haible.
134308 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
134310         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
134311         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
134312         <utmpx.h> exists, put readutmp.o into LIBOBJS.
134314 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
134316         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
134318 2000-06-26  Paul Eggert  <eggert@twinsun.com>
134320         savedir now sets errno on failure and invokes xmalloc to get memory.
134321         Fix a couple of other minor bugs while we're at it.
134323         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
134324         (NAMLEN): Remove macro.
134325         (malloc, realloc): Remove decls.
134326         (stpcpy): Likewise.
134327         ("xalloc.h"): Include.
134328         (NAME_SIZE_DEFAULT): New macro.
134329         (savedir): Use xmalloc / xrealloc to allocate memory.
134330         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
134331         Skip "" directory entries.
134332         Use strlen to calculate directory entry length, since the old method
134333         is rarely used these days and isn't worth supporting.
134334         Don't use a pointer after freeing it.
134335         Check for integer overflow when calculating allocation size.
134336         Use memcpy to copy entries, instead of stpcpy.
134337         Set errno properly when returning NULL.
134338         Check for readdir error.
134340 2000-06-26  Jim Meyering  <meyering@lucent.com>
134342         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
134344 2000-06-25  Jim Meyering  <meyering@lucent.com>
134346         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
134347         Linux header bug when _XOPEN_SOURCE is defined to 500.
134349 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
134351         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
134352         deficiency.
134354 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
134356         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
134357         Include xalloc.h.
134358         Don't include <stdlib.h>.  Don't declare malloc, realloc.
134360 2000-06-24  Jim Meyering  <meyering@lucent.com>
134362         * m4/strerror_r.m4: Revive this file -- to try out an experimental
134363         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
134364         for which strerror does return char*, but which lacks a conveniently
134365         accessible declaration of the function.  If the compile-test says
134366         strerror_r doesn't work, then resort to a `run'-test that works on
134367         BeOS and segfaults on DEC Unix.
134369 2000-06-24  Jim Meyering  <meyering@lucent.com>
134371         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
134373 2000-06-23  Paul Eggert  <eggert@twinsun.com>
134375         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
134376         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
134378 2000-06-23  Paul Eggert  <eggert@twinsun.com>
134380         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
134381         (mbrtowc, mbstate_t): Define substitutes if
134382         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
134383         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
134384         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
134386 2000-06-23  Jim Meyering  <meyering@lucent.com>
134388         * m4/afs.m4: Add missing AC_MSG_RESULT.
134389         Reported by Bruno Haible.
134391         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
134392         Suggestion from Bruno Haible.
134394 2000-06-23  Jim Meyering  <meyering@lucent.com>
134396         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
134398 2000-06-21  Jim Meyering  <meyering@lucent.com>
134400         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
134402 2000-06-21  Jim Meyering  <meyering@lucent.com>
134404         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
134405         (noinst_HEADERS): Add getstr.h.
134407         * lib/getline.c (getstr): Move into a separate file.
134408         * lib/getstr.c (getstr): New file, extracted from getline.c, with
134409         the following changes: new parameter, delim2; both delim[12]
134410         parameters have type `int', not `char'.  The latter would lose
134411         with 8-bit delimiters.
134412         * lib/getstr.h: New file.
134414 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
134416         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
134417         than 1024, return a memory chunk of least possible size, instead
134418         of size PATH_MAX + 2. In the loop, increment the size proportionally.
134419         Use free/xmalloc instead of xrealloc to avoid copying for very long
134420         paths.
134422 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
134424         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
134425         the empty string.
134427 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
134429         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
134430         address, not strdup.  Include <stdlib.h> and don't declare free().
134432 2000-06-19  Jim Meyering  <meyering@lucent.com>
134434         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
134436 2000-06-18  Jim Meyering  <meyering@lucent.com>
134438         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
134440         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
134441         `checking whether...' message to be consistent with that of the
134442         lstat test.
134444 2000-06-18  Jim Meyering  <meyering@lucent.com>
134446         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
134447         Besides, these days every porting target provides a mkdir function.
134449         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
134450         needed. (this snippet comes from src/system.h).
134452 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
134454         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
134456 2000-06-15  Paul Eggert  <eggert@twinsun.com>
134458         * lib/human.c (adjust_value): New function.
134459         (human_readable_inexact): Apply rounding style even when
134460         printing approximate values.
134462 2000-06-14  Paul Eggert  <eggert@twinsun.com>
134464         * lib/human.c (human_readable_inexact): Allow an input block
134465         size that is not a multiple of the output block size, and vice versa.
134466         Reported by Piergiorgio Sartor.
134468 2000-06-14  Paul Eggert  <eggert@twinsun.com>
134470         * lib/getdate.y (get_date): Apply relative times after time
134471         zone indicator, not before.  Reported by Todd A. Jacobs.
134473 2000-06-13  Jim Meyering  <meyering@lucent.com>
134475         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
134477         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
134479 2000-06-12  Paul Eggert  <eggert@twinsun.com>
134481         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
134483 2000-06-12  Jim Meyering  <meyering@lucent.com>
134485         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
134486         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
134487         optional argument.
134488         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
134489         the optional argument, `lib'.
134491 2000-06-08  Jim Meyering  <meyering@lucent.com>
134493         * m4/largefile.m4: Remove file (now that it's part of autoconf).
134495 2000-06-04  Paul Eggert  <eggert@twinsun.com>
134497         Rewrite largefile configuration so that we don't need to run
134498         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
134499         AC_CANONICAL_HOST in configure.in -- jmm]
134501         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
134502         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
134503         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
134504         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
134505         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
134506         All uses changed.
134507         Instead of inspecting the output of getconf, try to compile the
134508         test program without and with the macro definition.
134509         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
134510         for getconf.  Instead, check for the needed flags by compiling
134511         test programs.
134513 2000-06-04  Paul Eggert  <eggert@twinsun.com>
134515         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
134517 2000-06-04  Jim Meyering  <meyering@lucent.com>
134519         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
134520         SunOS 4.1.4 for which gid_t is an unsigned type.
134522 2000-06-03  Jim Meyering  <meyering@lucent.com>
134524         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
134525         now that autoconf requires that.
134527         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
134528         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
134529         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
134531 2000-06-03  Jim Meyering  <meyering@lucent.com>
134533         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
134535 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
134537         * m4/glibc21.m4: New file.
134538         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
134540 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
134542         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
134543         newer, don't install charset.alias.
134544         * lib/config.charset: Change the Linux/glibc rules so they become empty
134545         on glibc-2.1 or newer.
134547 2000-06-02  Jim Meyering  <meyering@lucent.com>
134549         * lib/mountlist.c: Back out last change.  Instead, do this...
134550         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
134551         me_dummy member using the same `ignore'-testing code.
134552         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
134553         fs_type strings.
134554         From Mark D. Roth.
134556 2000-05-29  Jim Meyering  <meyering@lucent.com>
134558         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
134559         mounts with the `ignore' attribute.  Based on a patch from
134560         Mark D. Roth.
134562 2000-05-28  Jim Meyering  <meyering@lucent.com>
134564         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
134565         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
134566         * m4/stat.m4: Likewise.
134567         * m4/lstat.m4: Likewise.
134568         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
134570         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
134571         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
134573 2000-05-26  Jim Meyering  <meyering@lucent.com>
134575         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
134577 2000-05-24  Jim Meyering  <meyering@lucent.com>
134579         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
134580         autoconf requires that.
134581         * m4/lib-check.m4: Likewise.
134582         * m4/jm-macros.m4: Likewise.
134583         * m4/strftime.m4: Likewise.
134585         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
134586         AC_CHECK_DECLS, now that autoconf requires that.
134588 2000-05-22  Jim Meyering  <meyering@lucent.com>
134590         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
134591         * m4/lstat.m4: Likewise.
134593 2000-05-22  Jim Meyering  <meyering@lucent.com>
134595         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
134597 2000-05-20  Jim Meyering  <meyering@lucent.com>
134599         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
134600         (jm_PREREQ): Use it.
134602 2000-05-18  Jim Meyering  <meyering@lucent.com>
134604         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
134605         back, too, since it may have been modified by allocate_entry.
134606         (hash_delete): Rewrite to use neither the assignment operator
134607         nor the comma operator in an if-expression.
134609 2000-05-15  Paul Eggert  <eggert@twinsun.com>
134611         * lib/closeout.c:
134612         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
134613         Remove; no longer needed.
134614         "quotearg.h": Add include.
134615         (file_name): Do not bother to explicitly initialize to NULL; it's less
134616         efficient on some hosts.
134617         (close_stdout_status): Remove test as to whether stdout was already
134618         closed; it breaks for the case "echo x | sort >&-".
134619         Quote file name colons.
134620         Do not assume that _("write error") lacks format strings.
134622 2000-05-15  Jim Meyering  <meyering@lucent.com>
134624         * lib/version-etc.c (version_etc_copyright): Update the copyright
134625         string used in all --version output.
134627 2000-05-14  Jim Meyering  <meyering@lucent.com>
134629         * lib/closeout.c (close_stdout_set_file_name): New function.
134630         (close_stdout_status): Use new file-scoped global.
134631         Return right away if fstat says the stdout file descriptor is invalid.
134632         * lib/closeout.h (close_stdout_set_file_name): Declare.
134634 2000-05-10  Jim Meyering  <meyering@lucent.com>
134636         * lib/closeout.c [default_exit_status]: New file-scoped variable.
134637         (close_stdout_set_status): New function.
134638         * lib/closeout.h (close_stdout_set_status): Declare.
134640 2000-05-09  Jim Meyering  <meyering@lucent.com>
134642         * m4/gettext.m4: Rename this...
134643         * m4/libintl.m4: ...to this.
134645 2000-05-08  Jim Meyering  <meyering@lucent.com>
134647         * lib/long-options.c: Don't include closeout.h.
134648         (parse_long_options): Don't call close_stdout for --version.
134650 2000-05-06  Paul Eggert  <eggert@twinsun.com>
134652         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
134653         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
134654         2.1.3 bug.  This avoids a clash when files like regex.c define
134655         _GNU_SOURCE.
134657 2000-05-06  Jim Meyering  <meyering@lucent.com>
134659         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
134660         (AC_REPLACE_FUNCS): Add strnlen.
134662         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
134663         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
134665         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
134666         AC_SEARCH_LIBS call for nanosleep.
134667         (LIB_NANOSLEEP): Set and AC_SUBST.
134669 2000-05-06  Jim Meyering  <meyering@lucent.com>
134671         * lib/strnlen.c: Undefine __strnlen and strnlen.
134672         [!weak_alias]: Define __strnlen to strnlen.
134674         * lib/atexit.c: New file, from libiberty.
134676 2000-05-06  Jim Meyering  <meyering@lucent.com>
134678         * lib/closeout.c (close_stdout_status): Also check for errors on the
134679         stderr stream.
134681 2000-05-05  Jim Meyering  <meyering@lucent.com>
134683         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
134684         AC_SEARCH_LIBS call for clock_gettime.
134685         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
134687         * m4/search-libs.m4: Update from autoconf.
134689         su doesn't work on Solaris 2.6.
134690         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
134691         <shadow.h>.  Reported by Dragos Harabor.
134693 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
134695         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
134696         memcpy instead of xmalloc, xrealloc, path_concat.
134697         (locale_charset): Treat empty environment variables as absent.
134698         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
134700 2000-05-04  Jim Meyering  <meyering@lucent.com>
134702         * lib/getopt.c: Update from glibc.
134703         * lib/obstack.c: Likewise.
134704         * lib/obstack.h: Likewise.
134705         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
134706         file
134708         * lib/regex.h: Likewise.
134709         * lib/strndup.c: Likewise.
134710         * lib/strnlen.c: New file, from glibc.
134712 2000-05-03  Jim Meyering  <meyering@lucent.com>
134714         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
134716 2000-05-02  Paul Eggert  <eggert@twinsun.com>
134718         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
134719         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
134720         compile-time test, rather than inspecting host and OS, to
134721         decide whether to define _LARGEFILE_SOURCE.
134723 2000-05-01  Jim Meyering  <meyering@lucent.com>
134725         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
134727         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
134728         Based on a patch from Bruno Haible.
134730 2000-05-01  Jim Meyering  <meyering@lucent.com>
134732         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
134734 2000-04-29  Jim Meyering  <meyering@lucent.com>
134736         * lib/path-concat.c: Declare strdup only if it's not defined.
134737         * lib/canon-host.c: Likewise.
134739 2000-04-28  Jim Meyering  <meyering@lucent.com>
134741         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
134742         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
134743         is included first, then limits.h is included by locale.h by libintl.h.
134744         From John David Anglin.
134746 2000-04-25  Jim Meyering  <meyering@lucent.com>
134748         * lib/makepath.c (S_IRWXUGO): Define.
134749         (make_path): Always perform explicit chmod if MODE specifies any
134750         of the `special' permission bits.  Prompted by a bug report against
134751         install from Mate Wierdl and Joost van Baal.
134753 2000-04-18  Jim Meyering  <meyering@lucent.com>
134755         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
134756         (jm_PREREQ): Use it.
134758 2000-04-18  Jim Meyering  <meyering@lucent.com>
134760         * lib/README: New file.
134762         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
134763         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
134765 2000-04-17  Jim Meyering  <meyering@lucent.com>
134767         Get it right :-)
134768         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
134769         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
134770         Suggestion from Akim Demaille.
134772 2000-04-17  Jim Meyering  <meyering@lucent.com>
134774         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
134775         the definition of it to rpl_strftime also defined-away the system's
134776         declaration.
134778 2000-04-15  Jim Meyering  <meyering@lucent.com>
134780         Use `C' to denote so-called `contiguous' files, the same way
134781         that tar does.
134782         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
134783         (ftypelet): Use S_ISCTG.
134784         From Michael Deutschmann.
134786 2000-04-14  Jim Meyering  <meyering@lucent.com>
134788         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
134789         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
134790         clobbered.
134792 2000-04-14  Jim Meyering  <meyering@lucent.com>
134794         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
134796 2000-04-13  Jim Meyering  <meyering@lucent.com>
134798         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
134799         AH_VERBATIM to insert required #ifndef into config.h.in.
134800         Suggestion from Akim Demaille.
134802 2000-04-12  Jim Meyering  <meyering@lucent.com>
134804         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
134805         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
134806         Christian Krackowizer.
134808         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
134809         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
134810         (AC_SYS_LARGEFILE): Require.
134811         (AM_C_PROTOTYPES): Require.
134813 2000-04-08  Jim Meyering  <meyering@lucent.com>
134815         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
134816         names don't conflict.  Reported by Eli Zaretskii.
134818 2000-04-07  Jim Meyering  <meyering@lucent.com>
134820         * lib/putenv.c: Move inclusion of errno.h so it follows that of
134821         sys/types.h, to work around system header problems on AIX 3.2.5.
134822         From Bruno Haible.
134824 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
134826         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
134827         bug.  Deal with the different error behavior of Irix iconv.
134829 2000-04-05  Paul Eggert  <eggert@twinsun.com>
134831         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
134832         IRIX if the installer said otherwise.
134834 2000-04-05  Jim Meyering  <meyering@lucent.com>
134836         Portability tweaks required for ultrix4.3.
134837         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
134838         (jm_CHECK_DECLS): Add getutent to the list of functions.
134839         (_jm_DECL_HEADERS): Add utmpx.h.
134840         From John David Anglin.
134842         * m4/strftime.m4: Back out the 2000-04-02 change.
134843         Instead of that change, simply undefine putenv in the test program.
134845 2000-04-05  Jim Meyering  <meyering@lucent.com>
134847         Portability tweaks required for ultrix4.3.
134848         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
134849         getutent.
134850         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
134851         * lib/canon-host.c: Declare strdup.
134852         * lib/path-concat.c: Likewise.
134853         From John David Anglin.
134855 2000-04-04  Jim Meyering  <meyering@lucent.com>
134857         Be more DOS 8.3-friendly.
134858         * lib/ref-add.sin: Renamed from ref-add.sed.in.
134859         * lib/ref-del.sin: Renamed from ref-del.sed.in.
134860         * lib/Makefile.am: Reflect renaming.
134861         Reported by Eli Zaretskii.
134863         Use a temporary file name that won't clash with `charset.alias'
134864         in the DOS 8.3 name space.
134865         * lib/Makefile.am (charset_tmp): Define.
134866         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
134867         (uninstall-local): Likewise.
134868         Reported by Eli Zaretskii.
134870 2000-04-03  Jim Meyering  <meyering@lucent.com>
134872         * m4/gettext.m4: Fix typo in comment.
134874         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
134875         textutils/configure.in).  Suggestion from Paul Eggert.
134876         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
134878 2000-04-02  Paul Eggert  <eggert@twinsun.com>
134880         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
134881         variable in the shell rather than using putenv, which isn't
134882         portable.  This avoids the configure-time inter-test dependency
134883         on the potentially-renamed putenv function.
134885 2000-03-30  Paul Eggert  <eggert@twinsun.com>
134887         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
134888         before checking struct stat.st_blksize, so that
134889         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
134891 2000-03-29  Paul Eggert  <eggert@twinsun.com>
134893         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
134894         since strftime.c uses HAVE_STRFTIME to decide whether to use
134895         the underlying strftime.
134897 2000-03-29  Paul Eggert  <eggert@twinsun.com>
134899         * lib/time/strftime.c (my_strftime): Make sure we call the system
134900         strftime, not ourselves, when invoking the underlying strftime.
134902 2000-03-24  Jim Meyering  <meyering@lucent.com>
134904         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
134905         (charset_alias): Define.
134906         (install-exec-local): Factor out common code.
134907         (uninstall-local): Split lines longer than 80.
134908         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
134909         (SUFFIXES): Define.
134910         (.sed.in.sed): New rule.  Don't redirect directly to $@.
134911         (CLEANFILES): Add ref-add.sed and ref-del.sed.
134913 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
134915         * lib/config.charset: Output a line containing "Packages using this
134916         file".
134917         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
134918         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
134919         ref-del.sed): New rules.
134921 2000-03-17  Jim Meyering  <meyering@lucent.com>
134923         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
134924         Otherwise, include <strings.h>
134926 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
134928         * lib/unicodeio.c (utf8_wctomb): New function.
134929         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
134930         format instead of in UCS-4 with platform dependent endianness.
134932 2000-03-10  Jim Meyering  <meyering@lucent.com>
134934         * m4/lib-check.m4: Look for getspnam in -lgen, too.
134935         From Marco Franzen.
134937 2000-03-07  Paul Eggert  <eggert@twinsun.com>
134939         * lib/savedir.c (savedir): Work even if directory size is
134940         negative; this can happen with some screwy NFS configurations.
134942 2000-03-06  Jim Meyering  <meyering@lucent.com>
134944         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
134945         if it's NULL (because we ran out of memory).  From Bruno Haible.
134947 2000-03-05  Jim Meyering  <meyering@lucent.com>
134949         * lib/localcharset.c ("path-concat.h"): Include.
134950         (get_charset_aliases): Use path_concat instead of ANSI string
134951         concatenation.
134953         * lib/unicodeio.h (PARAMS): Define.
134954         Use it to guard prototype.
134956 2000-03-04  Jim Meyering  <meyering@lucent.com>
134958         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
134959         for lib/localcharset.c.
134961 2000-03-04  Jim Meyering  <meyering@lucent.com>
134963         * lib/Makefile.am (install-exec-local): Create $(libdir) before
134964         installing into it.
134965         (uninstall-local): Uncomment this rule so `make distcheck' works
134966         once again.
134968         * lib/unicodeio.c (<errno.h>): Include it.
134969         (errno): Declare if not defined.
134971         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
134973         * lib/config.charset: New version, incorporating remarks from a linux
134974         i18n mailing list.  From Bruno Haible.
134976 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
134978         * m4/codeset.m4: New file.
134979         * m4/iconv.m4: New file.
134980         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
134982 2000-03-03  Jim Meyering  <meyering@lucent.com>
134984         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
134986 2000-03-02  Jim Meyering  <meyering@lucent.com>
134988         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
134989         the messages come out on separate lines.
134991         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
134992         rather than jm_CHECK_DECLARATIONS.
134993         * m4/decl.m4: Remove now-unused file.
134995         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
134996         geteuid.
134998 2000-03-02  Jim Meyering  <meyering@lucent.com>
135000         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
135002 2000-03-01  Jim Meyering  <meyering@lucent.com>
135004         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
135005         * lib/unicodeio.c: Likewise.
135007 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
135009         * lib/config.charset: New file.
135010         * lib/localcharset.c: New file.
135011         * lib/unicodeio.h, lib/unicodeio.c: New files.
135012         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
135013         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
135014         (noinst_HEADERS): Add unicodeio.h.
135015         (all-local, install-exec-local, charset.alias): New targets.
135017 2000-02-28  Paul Eggert  <eggert@twinsun.com>
135019         * lib/quotearg.c (ALERT_CHAR): New macro.
135020         (quotearg_buffer_restyled): Use it.
135022 2000-02-27  Jim Meyering  <meyering@lucent.com>
135024         * m4/check-decl.m4: Add getenv to the list.
135026 2000-02-27  Jim Meyering  <meyering@lucent.com>
135028         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
135029         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
135031         * lib/backupfile.c: Guard inclusion of stdlib.h with
135032         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
135033         Declare malloc if needed.
135035         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
135036         `#ifndef HAVE_DECL..'
135037         now that autoconf always defines the HAVE_DECL_ symbols.
135038         * lib/human.c: Likewise.
135039         * lib/same.c: Likewise.
135040         * lib/strtoumax.c: Likewise.
135042         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
135043         declaration check was not run.
135044         * lib/hash.c: Likewise.
135045         * lib/human.c: Likewise.
135046         * lib/same.c: Likewise.
135047         * lib/strtoumax.c: Likewise.
135049         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
135050         `.', then first look up the entire `.'-containing string as a login
135051         name.
135053 2000-02-23  Jim Meyering  <meyering@lucent.com>
135055         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
135056         in place of my hack.
135058 2000-02-18  Paul Eggert  <eggert@twinsun.com>
135060         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
135061         (textint): New typedef.
135062         (parser_control): Member year changed from int to textint.
135063         All uses changed.
135064         (YYSTYPE): Removed; replaced by %union with int and textint members.
135065         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
135066         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
135067         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
135068         (tSNUMBER, tUNUMBER): Now of type <textintval>.
135069         (date, number, to_year): Use width of number in digits, not its value,
135070         to determine whether it's a 2-digit year, or a 2-digit time.
135071         (yylex): Store number of digits of numeric tokens.
135072         Reported by John Kendall.
135074         (parser_control): Changed from struct parser_control to typedef (for
135075         consistency).  All uses changed.
135077         (tID): Removed; not used.
135078         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
135080 2000-02-14  Paul Eggert  <eggert@twinsun.com>
135082         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
135083         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
135085 2000-02-12  Jim Meyering  <meyering@lucent.com>
135087         * lib/userspec.c (ISDIGIT): Define it.
135088         (isdigit): Remove definition.
135089         (is_number): Use ISDIGIT, not isdigit.
135090         <libintl.h>: Include.
135091         (_ and N_): Define.
135092         (parse_user_spec): Mark translatable strings.
135094 2000-02-10  Jim Meyering  <meyering@lucent.com>
135096         With these changes, nanosleep.[ch] are finally enough like the other
135097         lib/* replacement files to compile on a few more losing systems.
135099         * lib/nanosleep.h: Don't include config.h.
135100         Remove prototype from declaration of nanosleep.
135101         (PARAMS): Remove now-unneeded definition.
135102         * lib/nanosleep.c: #undef nanosleep.
135103         (rpl_nanosleep): Rename from nanosleep.
135105 2000-02-10  Jim Meyering  <meyering@lucent.com>
135107         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
135108         gnu_nanosleep to rpl_nanosleep.
135110 2000-02-09  Jim Meyering  <meyering@lucent.com>
135112         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
135113         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
135115 2000-02-08  Akim Demaille  <akim@epita.fr>
135117         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
135118         `[' and `]' and remove uses of `changequote'.
135119         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
135120         (AC_SYS_LARGEFILE): Likewise.
135121         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
135122         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
135123         of changequote.
135124         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
135125         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
135126         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
135127         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
135129 2000-02-05  Jim Meyering  <meyering@lucent.com>
135131         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
135132         Remove explicit use of AC_HEADER_TIME.  It is required by
135133         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
135134         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
135135         in autoconf whereby the expansion of the latter ended up preceding
135136         the expansion of its prerequisite, AC_HEADER_TIME.
135137         Reported by Volker Borchert.
135139 2000-02-03  Jim Meyering  <meyering@lucent.com>
135141         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
135143 2000-02-03  Jim Meyering  <meyering@lucent.com>
135145         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
135146         rather than with `#if HAVE_UTMPNAME'.
135148 2000-02-02  Jim Meyering  <meyering@lucent.com>
135150         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
135151         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
135152         Reported by Eli Zaretskii.
135154 2000-02-01  Jim Meyering  <meyering@lucent.com>
135156         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
135158 2000-01-31  Jim Meyering  <meyering@lucent.com>
135160         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
135161         functions.  Add the time.h and sys/time.h headers along with the
135162         AC_REQUIRE'ment of AC_HEADER_TIME.
135164 2000-01-31  Jim Meyering  <meyering@lucent.com>
135166         * lib/nanosleep.h (nanosleep): Guard declaration with
135167         `#if ! HAVE_DECL_NANOSLEEP'.
135168         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
135169         the declaration in that vendor's sys/timers.h.
135170         Reported by Christian Krackowizer.
135172         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
135173         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
135174         (ISPRINT): Likewise.
135175         Reported by Tom Tromey.
135177 2000-01-30  Jim Meyering  <meyering@lucent.com>
135179         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
135181         * m4/prereq.m4 (utmp_includes): Define.
135182         Check for ut_user and ut_name members in both struct utmpx
135183         and struct utmp.
135185 2000-01-30  Jim Meyering  <meyering@lucent.com>
135187         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
135188         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
135189         header files where only utmpx.ut_user is declared.
135191         * lib/readutmp.h (UT_USER): Define.
135193 2000-01-29  Jim Meyering  <meyering@lucent.com>
135195         * m4/lib-check.m4: New file containing library-related checks from
135196         fileutils and sh-utils (textutils had none).
135198 2000-01-28  Jim Meyering  <meyering@lucent.com>
135200         * m4/perl.m4: Change format of warning message to look more like that
135201         from the missing script.  Suggestion from François Pinard.
135203 2000-01-25  Jim Meyering  <meyering@lucent.com>
135205         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
135206         well as time.h in the compile check.
135207         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
135208         Fix typo in cross-compiling case: s/yes/no/.
135210 2000-01-23  Jim Meyering  <meyering@lucent.com>
135212         * m4/jm-macros.m4: Move df-related tests here from
135213         fileutils/configure.in
135215         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
135216         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
135218         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
135219         s/space/ac_fsusage_space/.
135220         (jm_FILE_SYSTEM_USAGE): Take two parameters.
135222         * m4/ftruncate.m4: New file (derived from part of
135223         fileutils/configure.in).
135224         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
135225         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
135227         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
135228         AC_SUBST these here, rather than just in sh-util/configure.in, so
135229         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
135230         all the same.
135231         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
135232         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
135233         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
135234         (AC_SUBST(POW_LIBM)): Likewise.
135235         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
135237 2000-01-23  Jim Meyering  <meyering@lucent.com>
135239         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
135240         obstack.c.
135242 2000-01-22  Jim Meyering  <meyering@lucent.com>
135244         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
135246         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
135248         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
135249         configure.in
135250         (AC_CHECK_HEADERS): Likewise for sh-utils.
135251         (AC_CHECK_HEADERS): Likewise for textutils.
135252         Merge the three lists of headers.
135254         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
135255         from fileutils' configure.in.
135257         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
135258         code. Moved tests into their own function (_jm_DECL_HEADERS) in
135259         check-decl.m4.
135261         * m4/check-decl.m4: Use #if rather than #ifdef.
135262         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
135263         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
135264         (_jm_DECL_HEADERS): Define new function.
135265         (jm_CHECK_DECLARATIONS): Require it.
135267 2000-01-22  Jim Meyering  <meyering@lucent.com>
135269         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
135270         [! HAVE_DECL_STRTOULL]: Declare strtoull.
135271         Required for some AIX systems.  Reported by Christian Krackowizer.
135272         [TESTING] (main): New function.
135274         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
135275         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
135276         letters.
135278         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
135279         iswprint.
135281         * lib/strverscmp.c (ISDIGIT): Define.
135282         (strverscmp): Use ISDIGIT, not isdigit.
135284 2000-01-19  Jim Meyering  <meyering@lucent.com>
135286         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
135287         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
135288         defines `struct timespec' in <sys/time.h>
135290         * m4/c-bs-a.m4: Remove uses of changequote altogether.
135291         Thanks to Akim for explaining.
135293 2000-01-17  Paul Eggert  <eggert@twinsun.com>
135295         * lib/nanosleep.c (nanosleep):
135296         Don't use SA_INTERRUPT to decide whether to call sigaction, as
135297         POSIX.1 doesn't require SA_INTERRUPT and some systems
135298         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
135299         it's been part of POSIX.1 since day 1 (in 1988).
135301 2000-01-17  Jim Meyering  <meyering@lucent.com>
135303         * lib/interlock: Remove unused file.  Reported by François Pinard.
135305 2000-01-16  Paul Eggert  <eggert@twinsun.com>
135307         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
135308         alert, backslash, formfeed, and vertical tab unnecessarily in
135309         shell quoting style.
135311 2000-01-16  Jim Meyering  <meyering@lucent.com>
135313         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
135314         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
135315         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
135316         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
135318 2000-01-16  Jim Meyering  <meyering@lucent.com>
135320         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
135321         because the latter didn't work.
135323 2000-01-15  Jim Meyering  <meyering@lucent.com>
135325         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
135326         (AC_REPLACE_FUNCS): Add memcpy and memset.
135327         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
135328         Add strpbrk.
135329         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
135331 2000-01-12  Jim Meyering  <meyering@lucent.com>
135333         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
135334         (jm_PREREQ): Use it.
135335         (jm_PREREQ_READUTMP): New macro.
135336         (jm_PREREQ): Use it.
135338 2000-01-11  Paul Eggert  <eggert@twinsun.com>
135340         Quote multibyte characters correctly.
135341         * m4/c-bs-a.m4: New file.
135342         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
135343         (jm_PREREQ): Use it.
135345 2000-01-11  Paul Eggert  <eggert@twinsun.com>
135347         * m4/uintmax_t.m4: Port to autoconf 2.13.
135349 2000-01-08  Jim Meyering  <meyering@ascend.com>
135351         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
135352         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
135354 2000-01-04  Jim Meyering  <meyering@ascend.com>
135356         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
135357         jm_STRUCT_DIRENT_D_TYPE.
135358         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
135359         jm_STRUCT_DIRENT_D_INO.
135360         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
135361         jm_STRUCT_UTIMBUF.
135362         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
135363         renamings.
135364         * m4/utime.m4: Likewise.
135366         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
135367         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
135369 2000-01-03  Paul Eggert  <eggert@twinsun.com>
135371         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
135372         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
135374 2000-01-02  Jim Meyering  <meyering@ascend.com>
135376         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
135377         remember if this is necessary.
135379 1999-12-26  Jim Meyering  <meyering@ascend.com>
135381         * m4/jm-macros.m4: Use it here.
135382         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
135384 1999-12-23  Jim Meyering  <meyering@ascend.com>
135386         * m4/jm-macros.m4: Check for clock_gettime (moved from
135387         fileutils/configure.in)
135388         Check for gettimeofday.
135390 1999-12-20  Jim Meyering  <meyering@ascend.com>
135392         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
135393         autoconf-2.14a-1999-12-20.
135395 1999-12-19  Jim Meyering  <meyering@ascend.com>
135397         * m4/lstat-slash.m4: New file.
135398         * m4/jm-macros.m4: Use the new macro:
135399         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
135401 1999-12-07  Jim Meyering  <meyering@ascend.com>
135403         * m4/perl.m4: Require that File::Compare be available, too.
135404         Too many systems seem to lack it.
135406         * m4/strftime.m4: Add checks for most of the cpp macros tested in
135407         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
135409 1999-11-18  Paul Eggert  <eggert@twinsun.com>
135411         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
135412         problem with the QNX 4.25 shell, which doesn't propagate exit
135413         status of failed commands inside shell assignments.
135415 1999-11-17  Jim Meyering  <meyering@ascend.com>
135417         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
135419 1999-11-07  Jim Meyering  <meyering@ascend.com>
135421         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
135423 1999-11-06  Jim Meyering  <meyering@ascend.com>
135425         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
135426         * m4/jm-macros.m4 (jm_MACROS): Use it here.
135428 1999-11-05  Jim Meyering  <meyering@ascend.com>
135430         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
135431         configure.in of textutils, fileutils, and sh-utils into this one
135432         (shared between those packages) file.
135433         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
135434         AC_STRUCT_ST_BLKSIZE.
135436 1999-11-03  Jim Meyering  <meyering@ascend.com>
135438         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
135439         of AC_CHECK_TYPE checks includes unistd.h.
135440         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
135441         Suggestion from Akim Demaille.
135443 1999-10-30  Jim Meyering  <meyering@ascend.com>
135445         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
135446         m4-quoted string.
135447         * m4/ls-mntd-fs.m4: Likewise.
135448         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
135449         * m4/jm-winsz1.m4: Likewise.
135451         * m4/const.m4: Remove file, since the fix made it into the experimental
135452         version of autoconf.
135453         * m4/mktime.m4: Likewise.
135455         * m4/check-type.m4: Remove file, now that the latest version of
135456         AC_CHECK_TYPE takes a third arg to specify additional #includes.
135458         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
135459         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
135460         AC_CHECK_TYPE.
135462 1999-10-04  Jim Meyering  <meyering@ascend.com>
135464         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
135466 1999-09-22  Paul Eggert  <eggert@twinsun.com>
135468         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
135469         2.95.1 bug with HP-UX 10.20.
135471 1999-09-17  Jim Meyering  <meyering@ascend.com>
135473         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
135474         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
135475         due to missing strdup (against sh-utils-2.0).
135477 1999-08-29  Jim Meyering  <meyering@ascend.com>
135479         * m4/jm-macros.m4: Require jm_BISON.
135480         * m4/bison.m4: New file.
135482 1999-08-17  Paul Eggert  <eggert@twinsun.com>
135484         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
135485         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
135487 1999-08-05  Jim Meyering  <meyering@ascend.com>
135489         * m4/getline.m4: Rename test file from conftestdata to conftest.data
135490         to avoid conflicts with `conftest' on 8+3 filesystems.
135491         Suggestion from Eli Zaretskii.
135493 1999-08-04  Jim Meyering  <meyering@ascend.com>
135495         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
135496         fileutils and sh-utils (textutils's getline test was inadequate).
135497         (AM_FUNC_GETLINE): Run this test.
135498         (AC_CHECK_FUNCS): Check for getdelim.
135499         Reported by Bob Proulx.
135501 1999-08-02  Jim Meyering  <meyering@ascend.com>
135503         * m4/jm-macros.m4: Add a comment.
135505 1999-08-01  Paul Eggert  <eggert@twinsun.com>
135507         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
135508         <inttypes.h> defines strtoumax as a macro (and not as a
135509         function).
135511 1999-08-01  Paul Eggert  <eggert@twinsun.com>
135513         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
135514         that we can shift, multiply and divide unsigned long long
135515         values; Ultrix cc can't do it.
135517 1999-08-01  Paul Eggert  <eggert@twinsun.com>
135519         * m4/mktime.m4: New file, which is a preview of what should appear
135520         in the next public autoconf release.
135522 1999-08-01  Paul Eggert  <eggert@twinsun.com>
135524         * m4/lfs.m4: Remove this file.
135525         * m4/largefile.m4: New file.  It contains the old contents of
135526         lfs.m4, except that all names with prefix AC_LFS have been
135527         changed to use the prefix AC_SYS_LARGEFILE instead, to be
135528         compatible with future autoconf versions.  Also, some minor m4
135529         quoting problems have been fixed.
135531 1999-08-01  Paul Eggert  <eggert@twinsun.com>
135533         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
135534         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
135535         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
135536         and simplify the shell code.
135538 1999-08-01  Jim Meyering  <meyering@ascend.com>
135540         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
135541         m4.
135543 1999-07-20  Jim Meyering  <meyering@ascend.com>
135545         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
135547 1999-07-15  Jim Meyering  <meyering@ascend.com>
135549         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
135551 1999-05-22  Jim Meyering  <meyering@ascend.com>
135553         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
135555 1999-05-20  Jim Meyering  <meyering@ascend.com>
135557         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
135558         Add a colon after each `then' in case $4 is empty.
135560 1999-05-16  Jim Meyering  <meyering@ascend.com>
135562         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
135564 1999-05-10  Jim Meyering  <meyering@ascend.com>
135566         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
135568         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
135569         AC_FUNC_MKTIME.
135571 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
135573         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
135575 1999-05-04  Paul Eggert  <eggert@twinsun.com>
135577         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
135578         not CPPFLAGS, so that linking works correctly in IRIX.
135580 1999-04-30  Paul Eggert  <eggert@twinsun.com>
135582         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
135584 1999-04-20  Paul Eggert  <eggert@twinsun.com>
135586         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
135587         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
135588         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
135589         jm_AC_TYPE_UNSIGNED_LONG_LONG.
135590         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
135592         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
135594 1999-04-20  Jim Meyering  <meyering@ascend.com>
135596         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
135597         AC_REPLACE xstroull if necessary.  From Paul Eggert.
135598         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
135600 1999-04-18  Jim Meyering  <meyering@ascend.com>
135602         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
135603         * m4/jm-macros.m4: Use it.
135605 1999-04-06  Jim Meyering  <meyering@ascend.com>
135607         * m4/strftime.m4: Remove test for %f.
135609 1999-03-29  Jim Meyering  <meyering@ascend.com>
135611         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
135612         superset of the AC_TYPE_* checks in the textutils, fileutils,
135613         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
135614         AC_TYPE_PID_T.
135616 1999-03-28  Jim Meyering  <meyering@ascend.com>
135618         * m4/jm-macros.m4: Define GNU_PACKAGE here.
135619         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
135620         replaced e.g., in the *.sh files of the sh-utils.
135622 1999-03-20  Jim Meyering  <meyering@ascend.com>
135624         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
135625         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
135626         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
135628 1999-03-19  Jim Meyering  <meyering@ascend.com>
135630         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
135632 1999-03-12  Jim Meyering  <meyering@ascend.com>
135634         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
135636 1999-03-07  Jim Meyering  <meyering@ascend.com>
135638         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
135639         declared.
135641 1999-02-17  Jim Meyering  <meyering@ascend.com>
135643         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
135644         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
135646 1999-02-07  Jim Meyering  <meyering@ascend.com>
135648         * m4/group-member.m4: New file -- extracted from sh-utils'
135649         configure.in.
135651         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
135652         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
135654 1999-02-06  Jim Meyering  <meyering@ascend.com>
135656         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
135657         * m4/fnmatch.m4: Likewise.
135658         * m4/getgroups.m4: Likewise.
135659         * m4/lstat.m4: Likewise.
135660         * m4/malloc.m4: Likewise.
135661         * m4/putenv.m4: Likewise.
135662         * m4/realloc.m4: Likewise.
135663         * m4/regex.m4: Likewise.
135664         * m4/stat.m4: Likewise.
135665         * m4/strftime.m4: Likewise.
135666         Suggestion from Alain Magloire.
135668         * m4/chown.m4: Use `.$ac_objext', not `.o'.
135669         * m4/fnmatch.m4: Likewise.
135670         * m4/getgroups.m4: Likewise.
135671         * m4/getline.m4: Likewise.
135672         * m4/lstat.m4: Likewise.
135673         * m4/malloc.m4: Likewise.
135674         * m4/memcmp.m4: Likewise.
135675         * m4/putenv.m4: Likewise.
135676         * m4/realloc.m4: Likewise.
135677         * m4/regex.m4: Likewise.
135678         * m4/stat.m4: Likewise.
135679         * m4/strftime.m4: Likewise.
135680         Suggestion from Alain Magloire.
135682         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
135683         an argument.
135685         * m4/regex.m4: Add a run-time Test for proper operation of
135686         re_compile_pattern.
135688 1999-01-31  Jim Meyering  <meyering@ascend.com>
135690         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
135692 1999-01-30  Jim Meyering  <meyering@ascend.com>
135694         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
135696         * m4/jm-mktime.m4: Make this a wrapper around the official
135697         AM_FUNC_MKTIME rather than my private copy, now that the official one
135698         is up to date.
135699         * m4/mktime.m4: Remove file.
135701         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
135702         * m4/uptime.m4: Likewise.
135703         * m4/uintmax_t.m4: Likewise.
135705 1999-01-28  Jim Meyering  <meyering@ascend.com>
135707         * m4/jm-macros.m4: Use jm_AFS.
135708         * m4/afs.m4: New file (from fileutils' configure.in).
135710         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
135711         * m4/chown.m4: Likewise.
135712         * m4/d-ino.m4: Likewise.
135713         * m4/d-type.m4: Likewise.
135714         * m4/fnmatch.m4: Likewise.
135715         * m4/getgroups.m4: Likewise.
135716         * m4/gettext.m4: Likewise.
135717         * m4/jm-mktime.m4: Likewise.
135718         * m4/jm-winsz2.m4: Likewise.
135719         * m4/lcmessage.m4: Likewise.
135720         * m4/ls-mntd-fs.m4: Likewise.
135721         * m4/malloc.m4: Likewise.
135722         * m4/memcmp.m4: Likewise.
135723         * m4/putenv.m4: Likewise.
135724         * m4/realloc.m4: Likewise.
135725         * m4/st_mtim.m4: Likewise.
135726         * m4/strftime.m4: Likewise.
135728 1999-01-16  Jim Meyering  <meyering@ascend.com>
135730         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
135731         (ARGMATCH_DIE_DECL): Define.
135733 1999-01-12  Jim Meyering  <meyering@ascend.com>
135735         * m4/Makefile.am.in: Rewrite to avoid using fmt.
135736         Reported by Lars Hecking.
135738 1999-01-10  Jim Meyering  <meyering@ascend.com>
135740         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
135741         gross kludge.
135742         * m4/inttypes_h.m4: Likewise.
135743         * m4/lstat.m4: Likewise.
135744         * m4/malloc.m4: Likewise.
135745         * m4/readdir.m4: Likewise.
135746         * m4/realloc.m4: Likewise.
135747         * m4/st_dm_mode.m4: Likewise.
135748         * m4/stat.m4: Likewise.
135749         * m4/utimbuf.m4: Likewise.
135750         * m4/utimes.m4: Likewise.
135752         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
135753         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
135754         comments in config.h.in are meaningful.
135756         * m4/jm-macros.m4: Require autoconf-2.13 here.
135758         * m4/regex.m4: By default, don't use the included regex.c on systems
135759         with glibc 2.  Suggestion from Uli Drepper.
135761 1999-01-02  Jim Meyering  <meyering@ascend.com>
135763         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
135765 1998-12-18  Jim Meyering  <meyering@ascend.com>
135767         * m4/Makefile.am.in (Makefile.am): Simplify rule.
135768         Based on a suggestion from Lars Hecking.
135770 1998-11-16  Paul Eggert  <eggert@twinsun.com>
135772         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
135774 1998-11-16  Jim Meyering  <meyering@ascend.com>
135776         * m4/lfs.m4: Double-quote the `uname...` expression.
135778 1998-11-14  Jim Meyering  <meyering@ascend.com>
135780         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
135781         * m4/stat.m4: Likewise.
135783 1998-11-03  Jim Meyering  <meyering@ascend.com>
135785         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
135786         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
135788 1998-10-18  Jim Meyering  <meyering@ascend.com>
135790         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
135792 1998-10-17  Jim Meyering  <meyering@ascend.com>
135794         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
135795         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
135796         calls for those previously hard-coded headers.  Instead, take a new
135797         parameter.
135798         (jm_CHECK_DECLARATIONS): Reflect interface change.
135799         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
135800         (jm_CHECK_DECL_LOCALTIME_R): New macro.
135802         * m4/mktime.m4: Test for spring-forward gap before long-running test.
135804 1998-10-14  Jim Meyering  <meyering@ascend.com>
135806         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
135807         instead of "TZ=America/Vancouver".  From Paul Eggert.
135809 1998-10-11  Jim Meyering  <meyering@ascend.com>
135811         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
135812         This adds a test for a recently added compatibility fix for mktime.c.
135813         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
135815 1998-09-27  Jim Meyering  <meyering@ascend.com>
135817         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
135819         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
135820         ../configure.in, including a change from Gordon Matzigkeit to allow
135821         cross-compiling for the Hurd.
135823         * m4/glibc.m4: New file/macro to test for the GNU C Library
135824         versions 1 and 2.  From Gordon Matzigkeit.
135825         Indent.
135827 1998-09-21  Jim Meyering  <meyering@ascend.com>
135829         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
135831 1998-08-18  Paul Eggert  <eggert@twinsun.com>
135833         Port nanosecond-resolution times to UnixWare 2.1.2 and
135834         pedantic Solaris 2.6.
135836         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
135837         AC_STRUCT_ST_MTIM.
135838         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
135839         Generate name of ns member, instead of just 1 or undef.
135840         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
135842 1998-08-15  Jim Meyering  <meyering@ascend.com>
135844         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
135845         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
135846         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
135847         instead of jm_TYPE_SSIZE_T.
135849 1998-08-12  Jim Meyering  <meyering@ascend.com>
135851         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
135853 1998-08-02  Jim Meyering  <meyering@ascend.com>
135855         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
135856         in acconfig.h manually.
135858 1998-07-31  Paul Eggert  <eggert@twinsun.com>
135860         * m4/st_mtim.m4: New file.
135862 1998-07-28  Jim Meyering  <meyering@ascend.com>
135864         * m4/utimes.m4: Undef stat.
135866 1998-07-25  Jim Meyering  <meyering@ascend.com>
135868         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
135869         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
135871 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
135873         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
135874         uid and gid actually remain unchanged.
135876 1998-07-07  Jim Meyering  <meyering@ascend.com>
135878         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
135880 1998-07-04  Jim Meyering  <meyering@ascend.com>
135882         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
135883         to prove that this macro can be used in packages without regex.c.
135885 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
135887         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
135888         is to be used.
135890 1998-07-03  Jim Meyering  <meyering@ascend.com>
135892         * m4/gettext.m4: Add -lintl if it's found to be necessary.
135894         * m4/gettext.m4: New file -- from gettext-0.10.35.
135895         * m4/lcmessage.m4: Likewise.
135896         * m4/progtest.m4: Likewise.
135898         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
135899         * m4/jm-macros.m4: Require the new macro.
135901 1998-06-29  Jim Meyering  <meyering@ascend.com>
135903         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
135904         for the definition of NGROUPS (used in a system header included
135905         by sys/mount.h).
135907 1998-06-28  Jim Meyering  <meyering@ascend.com>
135909         * m4/ls-mntd-fs.m4: New file.
135910         * m4/fstypename.m4: New file.
135912         * m4/jm-macros.m4: Require the new macro.
135913         * m4/jm-glibc-io.m4: New file.
135915 1998-05-19  Jim Meyering  <meyering@ascend.com>
135917         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
135918         * m4/lchown.m4: New file.
135920         * m4/Makefile.am.in: New file.
135921         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
135923 1998-05-14  Jim Meyering  <meyering@ascend.com>
135925         * m4/Makefile.am (EXTRA_DIST): Add them.
135926         * m4/jm-macros.m4: New file.
135927         * m4/utimbuf.m4: New file.
135929 1998-05-12  Jim Meyering  <meyering@ascend.com>
135931         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
135933 1998-05-11  Jim Meyering  <meyering@ascend.com>
135935         * m4/isc-posix.m4: New file.
135937 1998-05-10  Jim Meyering  <meyering@ascend.com>
135939         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
135941 1998-05-09  Jim Meyering  <meyering@ascend.com>
135943         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
135944         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
135945         with automake.
135947         * m4/ssize_t.m4: New file.
135948         * m4/mktime.m4: Remove file -- the new automake has this now.
135950 1998-04-26  Jim Meyering  <meyering@ascend.com>
135952         * m4/assert.m4: New file.
135953         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
135955 1998-04-05  Jim Meyering  <meyering@ascend.com>
135957         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
135958         (jm_PREREQ): Use it here.
135960 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
135962         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
135963         in acconfig.h.
135965 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
135967         * m4/prereq.m4: New file.
135968         * m4/error.m4: New file.
135969         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
135971 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
135973         * m4/getline.m4: Don't set am_cv_func_working_getline before the
135974         cache-check for the same variable -- that defeated the purpose of
135975         the test; the test program was never run.  This was a problem only
135976         on systems with losing getline functions -- HP-UX 10.20 is one.
135977         Reported by Bjorn Helgaas.
135979 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
135981         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
135983 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
135985         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
135987         * m4/const.m4: New file.  Use an initializer in this declaration
135988         typedef int charset[2]; const charset x;
135989         Reported by Bob Glickstein.
135991 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
135993         * m4/chown.m4: Fix reversed types on -1 args to chown.
135994         From Kaveh Ghazi.
135996 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
135998         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
135999         Add lseek and memchr.
136001         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
136002         T.E.Dickey <dickey@clark.net> said that some older preprocessors
136003         have a 20-character limit on names.
136005 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
136007         * m4/inttypes_h.m4: New file.
136008         * m4/uintmax_t.m4: New file.
136009         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
136012         -----
136014         Local Variables:
136015         coding: utf-8
136016         End:
136018         Copyright (C) 1997-2021 Free Software Foundation, Inc.
136020         Copying and distribution of this file, with or without
136021         modification, are permitted provided the copyright notice
136022         and this notice are preserved.